如何在matplotlib.pyplot.plot中重用预定义的线条样式?

时间:2017-11-22 10:31:17

标签: python matplotlib plot

首先,我通过matplotlib.lines.Line2D定义了一行:

import matplotlib.lines as mlines
newLine = mlines.Line2D([], [], color="blue", linestyle='-',linewidth=2)

(为简单起见)在同一个脚本文件中,我希望尽可能通过以下方式调用这些行设置:matplotlib.pyplot.plot 而不重复kwargs ,例如:

import matplotlib.pyplot as plt
import numpy as np

dataXaxis=np.arange(0,10)
dataYaxis=np.arange(5,15)

plt.plot(dataXaxis, dataYaxis, <CALL newLine PROPERTIES>)

而不是:

plt.plot(dataXaxis, dataYaxis, color="blue", linestyle='-',linewidth=2)

上下文

我可能会对上述功能感到困惑。但我想使用与预定义概念相关联的预定义线型设置。例如,每当我绘制输入与时间的关系时,我想使用特定的线条样式。关系,和另一种特定的风格来绘制输出与时间的关系&#39;关系。

2 个答案:

答案 0 :(得分:1)

您可以使用每次要使用的关键字参数来定义字典,例如

newlinestyle = {'color': 'blue', 'linestyle': '-', 'linewidth': 2}

plt.plot(dataXaxis, dataYaxis, **newlinestyle)

答案 1 :(得分:0)

根据Matt Pitkin的答案,我尝试将该方法概括为MWE:

import numpy as np
import matplotlib.pyplot as plt

newlinestyles = {'dict1': {'color': 'blue', 'linestyle': '-', 'linewidth': 2},
                 'dict2': {'color': 'red' , 'linestyle': '-', 'linewidth': 2} }

dataXaxis=np.arange(0,10)
dataYaxis=np.arange(5,15)

plt.plot(dataXaxis, dataYaxis, **newlinestyles['dict1'])
plt.show()

plt.plot(dataXaxis, dataYaxis, **newlinestyles['dict2'])

plt.close()