【问题标题】:Generate BarGraph from DataFrame从 DataFrame 生成 BarGraph
【发布时间】:2020-08-21 18:05:25
【问题描述】:

所以我生成了一个 Disease_Data 数据框,它有 2 列,位置和数据(见下文)。

Location    Data
Alabama     30.675
Alaska      27.3917
Arizona     25.825
Arkansas    29.2
California  29.117
Colorado    35.65

我想生成如下条形图:

但是,当我尝试下面的代码时,一切都不起作用并给出了错误:KeyError: 'Location'

fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
Disease_Data_Loc = Disease_Data['Location']
Disease_Data_Value = Disease_Data['Data']
ax.bar(Disease_Data_Loc ,Disease_Data_Value )
plt.show()

请帮忙,谢谢

【问题讨论】:

  • Location 可能是您数据的索引,您可以这样做:Disease_Data.plot.bar()
  • @QuangHoang 类似: fig = plt.figure() ax = fig.add_axes([0,0,1,1]) Disease_Data_Loc = Disease_Data['Location'] Disease_Data_Value = Disease_Data['数据'] Disease_Data.plot.bar(Disease_Data_Loc ,Disease_Data_Value ) plt.show() ??
  • 不,只是fig,ax=plt.subplots(), Disease_Data.plot.bar(ax=ax)
  • @QuangHoang 当我运行该代码时,我得到 ---> fig,ax=plt.subplots(), Disease_Data.plot.bar(ax=ax) NameError: name 'fig' is not defined
  • 抱歉,请将subplots 后面的, 替换为;。或者您可以删除, 并将Disease_Data.plot... 移动到新行。

标签: python python-3.x pandas matplotlib graph


【解决方案1】:
  • 只需绘制数据框
import pandas as pd
import matplotlib.pyplot as plt

data = {'Location': ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado'],
        'Data': [30.675, 27.3917, 25.825, 29.2, 29.116999999999997, 35.65]}

df = pd.DataFrame(data)

# plot
df.plot('Location', 'Data', kind='bar', legend=False)
plt.ylabel('Cases')
plt.title('Cases of Disease by State')
plt.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-14
    • 2019-03-26
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多