我有一个Pandas Dataframe,其中每一列代表一个不同的数据集,我想将它们全部绘制在一起。我可以简单地调用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
,但是有什么会产生相同的效果的吗?也就是说,预定义在多线图中使用的所有可能的线型?
答案 0 :(得分:0)
查看文档中的Styling with 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()