Python:绘制多个数据集;预定义所有颜色和标记?

时间:2019-06-27 05:16:45

标签: python pandas dataframe matplotlib

我有一个Pandas Dataframe,其中每一列代表一个不同的数据集,我想将它们全部绘制在一起。我可以简单地调用plt.plot(df),它做得很好。我有两个问题:

  1. 如何更改绘图的默认颜色?也就是说,如何强制使用其他颜色图?
  2. 可以这么说,有没有办法一次性给出所有绘图符号?

我知道我可以为每列分别定义打印样式,例如:

plt.plot(df['col1'],'ro-',df['col2'],'b*--',df['col3'],'go-.')

但是我希望有一些简洁的方法,

plt.plot(df,colors=colors, styles=styles, markers=markers)

其中变量colorsstylesmarkers先前已定义。或者也许是这样的:

plt.colors = <something that defines colors>
plt.styles = ...
plt.markers = ...
plt.plot(df)

我知道没有plt.styles,但是有什么会产生相同的效果的吗?也就是说,预定义在多线图中使用的所有可能的线型?

1 个答案:

答案 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()