Title: unexpected behavior of font.family seleciton · Issue #18808 · matplotlib/matplotlib · GitHub
Open Graph Title: unexpected behavior of font.family seleciton · Issue #18808 · matplotlib/matplotlib
X Title: unexpected behavior of font.family seleciton · Issue #18808 · matplotlib/matplotlib
Description: It seems that matplotlib.rcParams['font.family'] does not work as expected. Here is the source #!/usr/bin/env python3 # -*- coding:utf-8 -*- import matplotlib as mpl import matplotlib.pyplot as plt # setup matplotlib to use xelatex as te...
Open Graph Description: It seems that matplotlib.rcParams['font.family'] does not work as expected. Here is the source #!/usr/bin/env python3 # -*- coding:utf-8 -*- import matplotlib as mpl import matplotlib.pyplot as plt...
X Description: It seems that matplotlib.rcParams['font.family'] does not work as expected. Here is the source #!/usr/bin/env python3 # -*- coding:utf-8 -*- import matplotlib as mpl import matplotlib.pyplo...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/18808
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"unexpected behavior of font.family seleciton","articleBody":"It seems that matplotlib.rcParams['font.family'] does not work as expected. Here is the source\r\n\r\n```\r\n#!/usr/bin/env python3\r\n# -*- coding:utf-8 -*-\r\nimport matplotlib as mpl\r\nimport matplotlib.pyplot as plt\r\n# setup matplotlib to use xelatex as text engine\r\nmpl.use(\"pgf\")\r\nmpl.rcParams['text.usetex'] = True\r\nmpl.rcParams['pgf.rcfonts'] = False\r\nmpl.rcParams['pgf.texsystem'] = 'xelatex'\r\nmpl.rcParams['pgf.preamble'] = \\\r\n r'\\usepackage{mathspec}'+\\\r\n r'\\setmainfont{Helvetica}'+\\\r\n r'\\setmathsfont(Digits,Latin,Greek)[]{Helvetica}'\r\ndef draw_some_text(ff):\r\n plt.figure(figsize=(4.5, 2.5))\r\n plt.xlim(0,4.5)\r\n plt.ylim(0,2.5)\r\n plt.text(0,0.1,r'normal: abcdefghijklmnopqrstuvwxyz0123456789')\r\n plt.text(0,0.6,r'$math:~abcdefghijklmnopqrstuvwxyz0123456789$')\r\n plt.savefig('font_family_%s.pdf'%ff)\r\n plt.close()\r\n# normal font does not changed\r\nmpl.rcParams['font.family'] = 'sans-serif'\r\ndraw_some_text('sans-serif')\r\n# normal font is changed to helvetica\r\nmpl.rcParams['font.family'] = 'serif'\r\ndraw_some_text('serif')\r\n# also works\r\nmpl.rcParams['font.family'] = '---'\r\ndraw_some_text('---')\r\n```\r\n\r\nWhat i tried to do is to redirect all the text processing to xelatex to be able to select both math and normal fonts manually. It works, but there are two strange things:\r\n1) If i use the font family 'sans-serif', then the normal font does not changed to helvetica (in this case), while if i select 'serif' family, everything works just fine.\r\n2) Everything works fine even if i use 'font.family' = '---' (or any other string), while documentation suggests that only five specific values can be used, see https://matplotlib.org/3.3.2/tutorials/introductory/customizing.html#customizing-with-matplotlibrc-files.\r\n\r\nFor this example i use python: 3.6.9 [GCC 8.4.0] and matplotlib: 3.3.2.","author":{"url":"https://github.com/IvanAvdeevGth","@type":"Person","name":"IvanAvdeevGth"},"datePublished":"2020-10-25T11:24:17.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/18808/matplotlib/issues/18808"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:4d801876-a22b-9746-f813-3a54dc58811d |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8216:1BECEB:BB40E:F314B:6A52EACC |
| html-safe-nonce | 8b8cee43ef744edbad8f40cb02f16e16b626e9751cf25b8382a87f36ab46392a |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MjE2OjFCRUNFQjpCQjQwRTpGMzE0Qjo2QTUyRUFDQyIsInZpc2l0b3JfaWQiOiI2Mjk5ODc4Mzg1NDA2NjM0NzAwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | a5c66b5cc5432f5815e0e7d8931af6a89b4a106fec385d1d6c9a4268f3acc2c8 |
| hovercard-subject-tag | issue:728998773 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/matplotlib/matplotlib/18808/issue_layout |
| twitter:image | https://opengraph.githubassets.com/2256eaf991315cf6cbbc71d32e791a28f75fb2ef85cc69b72ab5af654f719145/matplotlib/matplotlib/issues/18808 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/2256eaf991315cf6cbbc71d32e791a28f75fb2ef85cc69b72ab5af654f719145/matplotlib/matplotlib/issues/18808 |
| og:image:alt | It seems that matplotlib.rcParams['font.family'] does not work as expected. Here is the source #!/usr/bin/env python3 # -*- coding:utf-8 -*- import matplotlib as mpl import matplotlib.pyplot as plt... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | IvanAvdeevGth |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width