首页 > 解决方案 > Matplotlib - 绘制超过 10 种颜色的线条

问题描述

我正在尝试使用 matplotlib 在一个折线图中从一个数据框中绘制 13 个不同的列,我真的很难理解 matplotlib 如何处理颜色。在 10 种独特的颜色之后,托盘开始循环。

似乎有无数关于如何在 SO 上执行此操作的示例,但是,我对工具的有限理解使得诸如这些安静的修辞示例无法访问。如果我的数据不是任意行集合怎么办?

更好的是,无论如何我可以永久更改我的 matplotlib 配置以根据需要无限地创建新颜色吗?

我已经为此苦苦挣扎了一段时间,并且可以使用您可以提供的任何建议。

标签: pythonmatplotlib

解决方案


如果您正在使用 Pandas 数据框,则可以将 a 传递cmapplot

df.plot(cmap='tab20')

更新:使用 matplotlib:

cmap=plt.get_cmap('tab20')
for i,col in enumerate(df.columns):
    plt.plot(df[col], color=cmap(i), label=col)
    
plt.legend()

推荐阅读