使用Matplotlib为每行数据绘制多个条形图

2024-09-30 10:40:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个如下所示的数据帧:

PNO,SID,SIZE,N3IC,S4IC,N4TC,KPAC,NAAC,ECTC
SJV026,VIDAIC,FINE,0.0926,0.0446,0.0333,0.0185,0.005,0.0516
SJV028,CHCRUC,FINE,0,0.1472,0.0076,0.0001,0.0025,0.0301
SJV051,AMSUL,FINE,0,0.727,0.273,0,0,0
SJV035,MOVES1,FINE,0.02,0.04092,0,0,0,0.45404

我希望用matplotlib或seaborn来绘制这个图,其中每行数据有'n'个子时隙(即每行数据有一个条形图)。在

^{pr2}$

上面的代码输出不是我想要的。有没有办法在上面的“图”和“轴”中绘制每一行数据?在


Tags: 数据size绘制sidfinepnos4icnaac
1条回答
网友
1楼 · 发布于 2024-09-30 10:40:33

原则上这种方法是正确的。您的代码中只有几个错误,这些错误在更正后会得到所需的结果。在

import io
import matplotlib.pyplot as plt
import pandas as pd

u = u"""PNO,SID,SIZE,N3IC,S4IC,N4TC,KPAC,NAAC,ECTC
SJV026,VIDAIC,FINE,0.0926,0.0446,0.0333,0.0185,0.005,0.0516
SJV028,CHCRUC,FINE,0,0.1472,0.0076,0.0001,0.0025,0.0301
SJV051,AMSUL,FINE,0,0.727,0.273,0,0,0
SJV035,MOVES1,FINE,0.02,0.04092,0,0,0,0.45404"""

df = pd.read_csv(io.StringIO(u))
rows, columns = df.shape
fig, axes = plt.subplots(rows, 1, sharex=True, sharey=True)


for i, r in df.iterrows():
    row = df.iloc[i,3:]
    row.plot(kind='bar', ax=axes[i])

plt.show()

enter image description here

相关问题 更多 >

    热门问题