matplotlib 如何将地块线颜色从蓝色更改为黑色

9udxz4iz  于 2023-10-24  发布在  其他
关注(0)|答案(3)|浏览(129)

当我生成一组数据并试图用python给曲线上色时,我被卡住了。
例如,我想将这里的线条颜色从蓝色改为黑色。
这就是我所拥有的,返回的是我从pandas获得的数据集。

ax=plt.gca()
ax.set_axis_bgcolor('#cccccc')
returns.plot()

wvmv3b1j

wvmv3b1j1#

在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命令的文档。
如果你已经有了一条特定颜色的线,你可以用lines2D.set_color()方法来改变它。

line, = plt.plot([1,2,3], [4,5,3], color="blue")
line.set_color("black")

设置pandas图中线条的颜色也最好在创建图时完成:

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")

如果你有更多的线,你也可以在它们上面循环。

4ktjp1zp

4ktjp1zp2#

如果您有多条绘图线,并且要为每条线设置不同的颜色,请在plot()中使用下面的属性,其中每个索引表示列的线条颜色。

color=['color1','color2']
xxls0lw8

xxls0lw83#

如果你在创建后获得对象(例如在“seasonal_decompose”之后),你总是可以访问和编辑图的属性;例如,将第一个子图的颜色从蓝色更改为黑色:
plt.axes[0].get_lines()[0].set_color('black')

相关问题