繁体   English   中英

使用matplotlib将特定的列值与另一列作为类别绘制

[英]Plot specific columns values with another column as category with matplotlib

我想从数据集中绘制特定列的线图,每个类别一行,该类别是另一列。

1)让我们开始生成一个伪数据集

import pandas

import random

df = pandas.DataFrame(np.random.randn(100, 7), columns=list('ABCDEFG'))
df['Z'] = np.random.choice(range(1, 6), df.shape[0])

df

(想发布输出图片,但我没有任何声誉,所以请告诉我该如何解决)

2)我的问题是我想要一个x轴为1到100的图,我的y轴显示变量B,C和D的值,并且每个Z变量类别(在1和6之间)都有一行,并带有图例。

非常感谢你

编辑:我找到了一个解决方案,但我认为它不是很优雅

我首先将行换为列

df.set_index('Z').T

然后我用

df[['B','C','D']].plot(figsize=(10,5))

但是我认为这不是一个优雅的解决方案? (我真的是Python新手)。 因此,如果任何人都有一个很好的答案可以从原始数据框中进行绘制,我将很高兴看到它!

如我的编辑所述,以下是解决方案:

1)首先将我的行转置为列

df.set_index('Z').T

2)然后使用

df[['B','C','D']].plot(figsize=(10,5))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM