首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过分隔一列绘制多列条形图

通过分隔一列绘制多列条形图
EN

Stack Overflow用户
提问于 2020-08-12 17:24:16
回答 2查看 65关注 0票数 1

我这里有一个相同的数据帧。

代码语言:javascript
复制
type    c1  c2  c3  c4  c5  c6
A       0   20  14  4   100 0
B       10  30  23  9   12  0
C       20  10  0   20  24  34

我想要绘图条形图相同的图像。matplotlib python

EN

回答 2

Stack Overflow用户

发布于 2020-08-12 17:45:18

我转换了数据的格式,使用'type‘作为索引,并以一行、三列的格式输出,并绘制了一个'pandas’图。

代码语言:javascript
复制
import matplotlib.pyplot as plt
import pandas as pd
import io

data = '''
type c1 c2 c3 c4 c5 c6
A 0 20 14 4 100 0
B 10 30 23 9 12 0
C 20 10 0 20 24 34
'''

df = pd.read_csv(io.StringIO(data), sep='\s+', index_col=0)
df = df.T
df.plot(kind='bar', subplots=True, layout=(1,3))

plt.show()

票数 0
EN

Stack Overflow用户

发布于 2020-08-12 17:51:01

只需要使用show()来保存每个图

代码语言:javascript
复制
import matplotlib.pyplot as plt
data = """type    c1  c2  c3  c4  c5  c6
A       0   20  14  4   100 0
B       10  30  23  9   12  0
C       20  10  0   20  24  34"""
a = [[t for t in l.split(" ") if t!=""] for l in data.split("\n")]

df = pd.DataFrame(a[1:], columns=a[0])
df = df.astype({c:"int64" for c in df.columns if "c" in c})


for i, r in df.iterrows():
    df.iloc[i, 1:].T.plot.bar(title=df.loc[i, "type"])   
    plt.show()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63373604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档