gpt4 book ai didi

Matplotlib:确保完整的破折号模式出现在图例中

转载 作者:行者123 更新时间:2023-12-04 10:25:01 24 4
gpt4 key购买 nike

考虑这个简单的例子:

#setup figure
import matplotlib.pyplot as plt
import pylab
import math
import numpy as np
#output control
fig_width_pt = 345.0 # Get this from LaTeX using \showthe\columnwidth
inches_per_pt = 1.0/72.27 # Convert pt to inch
golden_mean = (math.sqrt(5)-1.0)/2.0 # Aesthetic ratio
fig_width = fig_width_pt*inches_per_pt # width in inches
fig_height = fig_width*golden_mean # height in inches
fig_size = [fig_width,fig_height]
params = {'backend': 'ps',
'axes.labelsize': 10,
'text.fontsize': 10,
'legend.fontsize': 8,
'xtick.labelsize': 8,
'ytick.labelsize': 8,
'text.usetex': True,
'figure.figsize': fig_size,
'figure.dpi': 1000,
'savefig.dpi': 1000}
pylab.rcParams.update(params)

plt.figure().add_subplot(1,1,1)
#plot some lines
dashes = [(None, None), [2, 2], [7, 4, 3, 4]]
titles = ["really long title one", "long title the second", "an even longer title, am I right?"]

for i in range(3):
x = np.arange(i, i + np.pi/2.0, 0.01)
y = np.sin(x) + i
line,= plt.plot(x, y, label = titles[i])
line.set_dashes(dashes[i])

plt.legend()
plt.show()

使用'legend.fontsize':运行这个简单的程序:8产生了。请注意,点划线的虚线样式(图例中的第三个)很难解释。如果放大,您会看到一个细小的黑点表明它与该图相对应,但这并不理想。

我可以通过将图例字体大小更改为10来解决此问题,结果是,但这对于我的实际数字来说太大了。

关于如何确保显示完整的线型/破折号有任何想法吗?

最佳答案

您可以通过设置handlelength关键字来更改图例中的行长(无需更改字体)。尝试

plt.legend(handlelength=3)

关于Matplotlib:确保完整的破折号模式出现在图例中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24271373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com