【问题标题】:How to graph CSV files using mathplotlib?如何使用 matplotlib 绘制 CSV 文件?
【发布时间】:2020-10-11 03:27:02
【问题描述】:

我需要一些帮助,将this .csv 文件中的这些数据点绘制成折线图。

我正在尝试绘制 2005、2010、2015 和 2016 年美国和越南的卫生人员数量。因此,x 值为 2005、2010、2015、2016,y 值为是#人员。

问题是,我不知道从哪里开始!当 .csv 文件如此庞大时,我不太确定如何指定要提取的数据点。我通常习惯于 .csv 文件包含非常简单的数据:

 0, 1
 1, 1
 2, 3
 3, 5
 4, 7
 5, 8

我正在尝试使用的实际 .csv 文件可以通过 here 访问。

任何帮助将不胜感激!

【问题讨论】:

  • plt.plot 取 x 和 y 点画一条线
  • 该文件不太适合从中提取数据

标签: python csv graph


【解决方案1】:
url = "http://data.un.org/_Docs/SYB/CSV/SYB62_154_201906_Health%20Personnel.csv"

import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv(url, skiprows=1)

# Some data tidying
data['Value'] = data['Value'].str.replace(',', "").astype(float)
data = data.rename(columns={'Unnamed: 1': "Country"})

def plot_country_occupation(country, occupation):
    data[
        ~data['Series'].str.contains('(per 1000 population)')
        & (data['Country'] == country)
        & (data['Series'].str.contains(occupation))
    ].plot(x='Year', y='Value', title=" - ".join([country, occupation]))

通过该功能,您可以指定国家和职业。

plot_country_occupation('Viet Nam', 'Physicians')

plot_country_occupation('United States of America', 'Pharmacists')

【讨论】:

  • 这真是太棒了!问题是,我正在运行 VS 代码,并且我想在运行脚本的文件夹中生成这些文件。当我尝试这个时,我在任何地方都找不到图表——有什么建议吗?
  • 您的意思是,您要将绘图图像保存为文件吗?可能你必须使用savefig
  • 理想情况下,图像应该出现在程序中——就像 plt.show() 会做的那样。此外,如果我只是想显示一个特定的图表——没有这个功能,你有什么建议可以给我吗?
  • 假设我运行程序,应该会出现越南和美国的图形在一个折线图上出现在窗口上。感谢您抽出时间来帮助我!
  • > 理想情况下,图像应该出现在程序中——就像 plt.show() 会做的那样。 --- 我会建议使用plt.show。它有什么问题?
猜你喜欢
  • 1970-01-01
  • 2012-11-12
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多