【发布时间】:2017-01-18 00:07:32
【问题描述】:
当我生成一组数据并尝试在 python 中为绘图线着色时,我被卡住了。
例如我想在这里将线条颜色从蓝色更改为黑色。
这是我拥有的,返回的是我从 pandas 获得的数据集。
ax=plt.gca()
ax.set_axis_bgcolor('#cccccc')
returns.plot()
【问题讨论】:
标签: python matplotlib
当我生成一组数据并尝试在 python 中为绘图线着色时,我被卡住了。
例如我想在这里将线条颜色从蓝色更改为黑色。
这是我拥有的,返回的是我从 pandas 获得的数据集。
ax=plt.gca()
ax.set_axis_bgcolor('#cccccc')
returns.plot()
【问题讨论】:
标签: python matplotlib
在 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")
如果你有更多的行,你也可以循环它们。
【讨论】:
arch,此答案也有效。
如果您在创建后获取对象(例如在“seasonal_decompose”之后),您始终可以访问和编辑绘图的属性;例如,将第一个子图的颜色从蓝色更改为黑色:
plt.axes[0].get_lines()[0].set_color('black')
【讨论】:
如果您有多个绘图线,并且您想为每条线设置不同的颜色, 在你的 plot() 中使用下面的属性,其中每个索引代表一列的线条颜色。
color=['color1','color2']
【讨论】: