微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 更改DataFrame中的子图颜色?

我想改变个别子情节的颜色:
1.手动指定所需的颜色
2.使用随机颜色

基本代码(摘自1)

 df = DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD'))
 df = df.cumsum()

 df.plot(subplots=True)
 plt.legend(loc='best') 
 plt.show()

我试过这个:

 colors = ['r','g','b','r']                   #first option
 colors = list(['r','g','b','r'])             #second option
 colors = plt.cm.Paired(np.linspace(0,1,4))   #third option

 df.plot(subplots=True, color=colors)

但他们所有人都没有工作.我找到了2,但我不知道如何改变这个:

 plots=df.plot(subplots=True)
 for color in plots:
   ??????

解决方法:

您可以通过为style参数提供颜色缩写列表来轻松实现此目的:

from pandas import Series, DataFrame, date_range
import matplotlib.pyplot as plt
import numpy as np

ts = Series(np.random.randn(1000), index=date_range('1/1/2000', periods=1000))
ts = ts.cumsum()

df = DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD'))
df = df.cumsum()

ax = df.plot(subplots=True, style=['r','g','b','r'], sharex=True)
plt.legend(loc='best')
plt.tight_layout()
plt.show()

来自“标准”颜色的随机颜色

如果您只想使用“标准”颜色(蓝色,绿色,红色,青色,品红色,黄色,黑色,白色),您可以定义一个包含颜色缩写的数组,并将这些颜色的随机序列作为参数传递给样式参数:

colors = np.array(list('bgrcmykw'))

...

ax = df.plot(subplots=True,
             style=colors[np.random.randint(0, len(colors), df.shape[1])],
             sharex=True) 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐