首页 > 解决方案 > 如何在 python 中绘制 CSV 文件的单个柱形图?

问题描述

我正在尝试使用我从该网站获得的火车数据绘制图表。火车数据由多列多行数据组成,但我想逐列绘制图表。

我设法找出一个只打印一列的工作代码,但是我不知道如何为该特定列绘制图形。对于我下面的代码,最后两行是我尝试绘制单柱形图的尝试,但它不起作用。谁能帮助我如何成功绘制该列的图表?

https://archive.ics.uci.edu/ml/datasets/Parkinson+Speech+Dataset+with++Multiple+Types+of+Sound+Recordings

import csv

import matplotlib.pyplot as plt

with open("C://Users/RichardStone/Pycharm/Projects/train_data.csv", "r") as csv_file:

    csv_reader = csv.reader(csv_file, delimiter=',')

    for lines in csv_reader:

        print(lines[1])

        plt.plot(lines[1])

        plt.show()

标签: pythonpython-3.xpython-2.7

解决方案


为什么不将数据读入 pandas 数据框,然后使用 matplotlib 绘制呢?

像这样的东西应该工作:

import pandas as pd
import matplotlib.pyplot as plt 

file_path = "path\to\file"
df = pd.read_csv(file_path)

for column in df.columns:
    print(df[column])
    plt.figure()
    plt.title(column)
    plt.plot(df[column])
    plt.show()

推荐阅读