我刚刚了解了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.1
与32-bit Python 2.7.6
一起使用。
我做错了吗?
答案 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)
答案 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"])