python - 修正经典风格的 Matplotlib 数学字体大小

标签 python css matplotlib fonts

我已经看到很多关于这个问题的线索,但我似乎无法解决这个问题。如果您在绘图的任何位置添加任何数学方程式,它会比普通文本和希腊字母(尤其是当您有分数时)小很多。我试图修改 matplotlibrc 以使标准字体更大(标准似乎是 10 pts。),但它说,我必须将它移动到一个特殊的位置才能永久生效,我找不到。有没有办法动态更改数学公式的字体大小(即当我创建新图时)?我需要你的帮助。我目前正在运行 matplotlib 的 2.1.0 版,总体而言,我在 anaconda 上运行 python(在 Mac 上)。这是输出:

output 请注意,我正在使用 style.use('classic') 以适应所需的情节整体风格。如果我不使用这种风格,输出就很好。是否有任何解决方案仍然允许我使用这种风格?

我会在下面给你一个示例代码,所以你可以自己看看希腊字母(左轴)的字体有多小

import matplotlib
from matplotlib import pyplot as plt
from matplotlib import style
style.use('classic')
x = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
y = [4140,3980,3820,3660,3500,3340,3180,3030,2870,2720,2562,2408,2266,2114,1962,1812,1668,1522,1386,1254,1138,1145,1188,1273,1358,1454,1547,1639,1732,1818,1904]
plt.plot(x,y,'g',label='Salzsäure',linewidth=3)
plt.ylabel(r'Elektrische Leitfähigkeit $\sigma$ in $\frac{\mu S}{cm}$')
plt.xlabel('Volumen 0.1M NaOH in mL')
plt.title('Titration einer Salzsäure unbekannter Konzentration')
plt.annotate('Äquivalenzpunkt', xy=(20,1138), xytext=(20,2300),
arrowprops=dict(facecolor='black',shrink=0.05),
)
plt.legend()
plt.grid(True,color='k')
plt.show()

最佳答案

如果你添加行

plt.rcParams["mathtext.fontset"] =  "dejavusans"

设置样式后,您应该会得到所需的输出。请注意,分数总是较小,对此您无能为力。

enter image description here

关于python - 修正经典风格的 Matplotlib 数学字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48572750/

相关文章:

python - 更改子图中的绘图大小

python - Scrapy 自定义导出器

python - 用python解析excel文档

html - 从mysql数据库中给出图像地址以html显示

asp.net - GridView 中的页码太远

python - 使用日期 slider 创建 map 以显示值的进展

python - 向图中添加多条 hline

python - 简化函数

python - 更新窗口标题并同时使用pygame播放声音

html - 嵌入 span 元素中的 FlexBox 对齐问题