我有一个pandas数据框架,其中每列代表一个不同的数据集,我想将它们全部绘制在一起。我可以简单地调用plt.plot(df)
,它做得很好。我有两个问题:
- 如何更改图的默认颜色?也就是说,我该如何强制其他菌落?
- 可以说,有什么方法可以一口气吗?
我知道我可以分别定义每列的情节样式,例如:
plt.plot(df['col1'],'ro-',df['col2'],'b*--',df['col3'],'go-.')
,但我希望沿着:
的方式更简洁。plt.plot(df,colors=colors, styles=styles, markers=markers)
以前已经定义了变量colors
,styles
和markers
。或者也许是类似的东西:
plt.colors = <something that defines colors>
plt.styles = ...
plt.markers = ...
plt.plot(df)
我知道没有plt.styles
,但是是否有相同效果的东西:也就是说,在多行图中使用了所有可能使用的线样式?
文档中使用Cycler教程检查样式。
from cycler import cycler
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
mycycler = (cycler(color=['r', 'g', 'b', 'y']) +
cycler(linestyle=['-', '--', ':', '-.']) +
cycler(marker=['s', 'o', 'd', '^']))
plt.rc('axes', prop_cycle=mycycler)
plt.plot(pd.DataFrame(np.random.rand(10,4)))
plt.show()