繁体   English   中英

正确使用经典样式的Matplotlib数学字体大小

[英]Correct Matplotlib math font size in classic style

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

产量 请注意,我正在使用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"

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM