首页 > 解决方案 > 熊猫在数据框中的图中绘制多个标记

问题描述

我目前正在使用matplotlibJupyter 绘制具有 5 列(即 5 行)的时间序列观察数据框。我正在使用的代码如下:

df.plot(kind='line', markersize=10, marker='o')

我希望每一行都有不同的标记。因此,我尝试了以下方法:

df.plot(kind='line', markersize=10, marker={'s','o', 'D', 'P', '^'})

但它返回一个错误TypeError: unhashable type: 'set'

如何确保每个数据框的列在上述代码中都有不同的标记?我是 Matplotlib 的新手,很抱歉这个愚蠢的问题。

谢谢。

标签: pythonpandasmatplotlib

解决方案


y = []
for i in range(5):
    y.append(np.random.rand(10))    
marker = ['s','o', 'D', 'P', '^']
df = pd.DataFrame()

for i in range(5):
    df[f'y{i}'] = y[i]
ax = df.plot.line()
for i, line in enumerate(ax.get_lines()):
    line.set_marker(marker[i])

输出是:

在此处输入图像描述

我可以想到使用matplotlib绘图而不是绘图的更好做法pandas......


推荐阅读