首页 > 解决方案 > 使用 cdv 文件中的 matplotlib 和 pandas 绘图

问题描述

我知道这是一个普遍的问题,但我刚开始学习 python,所以我很抱歉!

我有一个 csv 文件,我想将它绘制在堆积条形图中(类似于图像中的这张图片bar_stacked_image控件、IAC 数据和混合,等于我的数据集:S1、S2、S3)。

该文件具有如下数据:

# any comment
sp     S1    S2   S3
name_1  9    15   18
name_2  3    11   9
name_3  12    5   7
name_4  5     9   10
name_x  15    3   1

所以

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
import pandas as pd

data = pd.read_csv(my_file.csv, sep='\t', skiprows=1)

data.set_index('sp', inplace=True)

xdata = data.columns.values

plt.ylabel('Y legend')
plt.xlabel('X legend')
plt.title('Scores of any data')

plt.plot(data[xdata])

plt.show()

它给了我一个线图,我想要一个堆积条,所以我想将 x 轴定义为与列对应的数据:s1 s2 s3 和 y 轴,其值为:name_1 name_2 name_3 name_4 name_x

标签: pythonpandasmatplotlib

解决方案


所以你想要这样的东西:

df.set_index('sp').T.plot(kind='bar',stacked=True, figsize=(16,9))
plt.show()

输出:

在此处输入图像描述


推荐阅读