Matplotlib 字体大小和线宽不一致
Posted
技术标签:
【中文标题】Matplotlib 字体大小和线宽不一致【英文标题】:Matplotlib font size and line width inconsistent 【发布时间】:2021-10-15 10:21:24 【问题描述】:我注意到这个问题经常出现在几个不同的情节中。我以标准方式设置字体、线宽和标记大小(示例):
plt.title('My Title', fontsize = 12)
plt.plot(x, y, linewidth = 2)
plt.scatter(x, y, s = 300)
plt.xticks(fontsize = 12)
我的问题是字体、线条和散点大小最终在程序的不同运行之间变化很大。似乎没有押韵或理由。这是什么原因造成的?这使得格式化绘图变得非常困难,因为我不知道我的代码会发生什么。
我在同一台计算机上使用 Spyder 和 Python 3.8 (Anaconda)。我没有切换屏幕分辨率或使用外接显示器。
【问题讨论】:
可能会发生这种情况似乎的一件事是,如果由于您的后端是 displayibg 且 bbox_inches=“tight” 开启,并且您有一些艺术家在制作这个数字比你开始时大。 如果对您有用,请考虑投票并接受我的回答 【参考方案1】:嗯,我看到有两种方法可以简化代码:
1.使用python的常用习语
design =
'fontsize' : 12
plt.title('My Title', **design)
plt.xticks(**design)
如果您不知道 **
的工作原理和方式,请点击此链接:
What does ** (double star/asterisk) and * (star/asterisk) do for parameters?
当函数共享相同的参数时,此方法有效。
2。使用 matplotlib 库的内置 rcParams
设置默认设计
params =
'axes.labelsize': 6,
'axes.titlesize':6,
'xtick.labelsize':6,
'ytick.labelsize':6,
'axes.titlepad': 1,
'axes.labelpad': 1,
'font.size': 12
plt.rcParams.update(params)
plt.title('My Title')
plt.plot(x, y)
plt.scatter(x, y)
【讨论】:
以上是关于Matplotlib 字体大小和线宽不一致的主要内容,如果未能解决你的问题,请参考以下文章
ggplot2 可以在一个图例中分别控制点大小和线宽(线宽)吗?
matplotlib 画图的相关设置:坐标轴刻度字体、大小等