当我生成一组数据并尝试在python中为绘图线着色时,我陷入困境。
例如,我想在这里将线条颜色从蓝色更改为黑色。
这就是我所拥有的,并且返回的是我从pandas获得的数据集。
ax=plt.gca()
ax.set_axis_bgcolor('#cccccc')
returns.plot()
答案 0 :(得分:33)
在matplotlib中设置线条颜色的常用方法是在plot命令中指定它。这可以通过数据之后的字符串来完成,例如, "r-"
表示红线,或明确说明color
参数。
import matplotlib.pyplot as plt
plt.plot([1,2,3], [2,3,1], "r-") # red line
plt.plot([1,2,3], [5,5,3], color="blue") # blue line
plt.show()
另请参阅plot command's documentation。
如果您已经拥有某种颜色的线条,则可以使用lines2D.set_color()
方法进行更改。
line, = plt.plot([1,2,3], [4,5,3], color="blue")
line.set_color("black")
<小时/> 在创建绘图时,最好在大熊猫图中设置线条的颜色:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({ "x" : [1,2,3,5], "y" : [3,5,2,6]})
df.plot("x", "y", color="r") #plot red line
plt.show()
如果您想稍后更改此颜色,可以通过
执行此操作plt.gca().get_lines()[0].set_color("black")
这将为您提供当前活动轴的第一行(可能是唯一的) 如果你在图中有更多的轴,你可以循环它们
for ax in plt.gcf().axes:
ax.get_lines()[0].set_color("black")
如果你有更多行,你也可以遍历它们。
答案 1 :(得分:0)
如果您在创建后获得对象(例如在“seasonal_decompose”之后),您始终可以访问和编辑绘图的属性;例如,将第一个子图的颜色从蓝色更改为黑色:
plt.axes[0].get_lines()[0].set_color('black')