Rozważmy prosty przykład:matplotlib: zapewnienie pełnej dash pojawia się w legendzie
#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()
Bieganie to prosty program z 'legend.fontsize': 8 produkuje . Zauważ, że styl kreski dla linii kropkowanej (trzecia w legendzie) jest bardzo trudny do zinterpretowania. Jeśli powiększysz, zobaczysz maleńką czarną kropkę, która pokazuje, że odpowiada ona figurze, ale nie jest to idealne.
Udało mi się to naprawić, zmieniając rozmiar czcionki legendy na dziesięć, w wyniku czego , ale jest to zbyt duża dla mojej rzeczywistej liczby.
Jakieś przemyślenia na temat tego, w jaki sposób mogę zapewnić, że wyświetlany jest pełny styl linii/dashstyle?
Działa jak urok. Dzięki! – arghdos