matplotlib用rcParams改变线条颜色

时间:2014-10-22 12:31:15

标签: python matplotlib

我刚刚了解了matplotlib.rcParams功能,因此我尝试绘制一个非常简单的图表。

import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y = [5,3,7,9,2]

plt.rcParams['lines.color'] = 'r'
plt.rcParams['lines.linewidth'] = 3.0

plt.plot(x, y)
plt.show()

结果图增加了线宽但颜色保持不变。这条线仍然是蓝色的。 当我检查plt.rcParams['lines.color']值时,会打印'r'。 我将matplotlib version 1.3.132-bit Python 2.7.6一起使用。

我做错了吗?

3 个答案:

答案 0 :(得分:3)

http://matplotlib.org/users/customizing.html中所述,它对plot()

没有影响

#lines.color:blue#对plot()没有影响;请参阅axes.color_cycle

相反,这有效:

plt.rcParams['axes.color_cycle']='r'
plt.rcParams['lines.linewidth'] = 3.0

plt.plot(x, y)
plt.show()

答案 1 :(得分:2)

我不确定何时使用line.color。但是,当您进行绘图时,线条的颜色取自axes.color_cycle设置。这可以是单一颜色,但通常(默认情况下)是多种颜色的列表。

x = [1,2,3,4,5]
y = [5,3,7,9,2]

plt.rcParams['lines.linewidth'] = 3.0
plt.rcParams['axes.color_cycle'] = ['r', 'grey']

# default cycle is: `['b', 'g', 'r', 'c', 'm', 'y', 'k']`

plt.plot(x, y)
plt.plot(y, x)

enter image description here

答案 2 :(得分:1)

从matplotlib 1.5开始,不推荐使用mpl.rcParams ['axes.color_cycle']。你应该使用axes.prop_cycle:

import matplotlib as mpl
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "#e94cdc", "0.7"])