字典列表可能是一个很好的解决方案(defaultdict
如果您不想指定颜色和线宽,甚至可以使用a来默认它,请在此阅读更多信息)
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mysignals = [{'name': 'Signal1', 'x': np.arange(10,20,1),
'y': np.random.rand(10), 'color':'r', 'linewidth':1},
{'name': 'Signal2', 'x': np.arange(10,20,1),
'y': np.random.rand(10), 'color':'b', 'linewidth':3},
{'name': 'Signal3', 'x': np.arange(10,20,1),
'y': np.random.rand(10), 'color':'k', 'linewidth':2}]
fig, ax = plt.subplots()
for signal in mysignals:
ax.plot(signal['x'], signal['y'],
color=signal['color'],
linewidth=signal['linewidth'],
label=signal['name'])
# Enable legend
ax.legend()
ax.set_title("My graph")
plt.show()