我使用Matplotlib和Pandas来绘制按z分组的x与y的图表。因此,我有以下内容:
我也想强调将绘制的所有值中的两个特定值。
这个很好用。我的图例中只有两个值,但实际上所有的值都被绘制了出来。我想要的是能够指定上述 2 个值的颜色,例如红色和蓝色,并将来自 C 列的所有其他值显示为一个颜色。目标是突出显示 Value 1 和 2 相对于其他所有值的表现。
x = df['ColumnA']
y = df['ColumnB']
fig, ax = plt.subplots(figsize=(20, 10))
for key, grp in df.groupby(['ColumnC']):
plt.plot(grp['ColumnA'], grp['ColumnB'].rolling(window=30).mean(), label=key)
我也想强调将绘制的所有值中的两个特定值。
ax.legend(('Value1', 'Value2'))
plt.show()
这个很好用。我的图例中只有两个值,但实际上所有的值都被绘制了出来。我想要的是能够指定上述 2 个值的颜色,例如红色和蓝色,并将来自 C 列的所有其他值显示为一个颜色。目标是突出显示 Value 1 和 2 相对于其他所有值的表现。
ax.legend(('Value1','Value2'))
的行为不是我们所期望的,并且错误的线条被标记。您可能需要在代码中进行调整。 不过,我不确定这是否是导致整个图形变灰的原因。也许尝试对要突出显示的线条使用ax.plot(...,zorder = 2)
,对于不关心的线条使用zorder = 1
? - Emerson Harkin