【问题标题】:.plot() method doesn't return what I expected.plot() 方法没有返回我所期望的
【发布时间】:2017-05-11 11:02:36
【问题描述】:

我有一个包含销售数据的数据框,我想计算特定列中的值并在条形图中显示前 5 个结果。我在 PyCharm Edu 3.5.1 中对此进行了编码:

df['Province'].value_counts(sort=True)[:5].plot(kind ='barh')

但我得到了这个:

Axes(0.125,0.11;0.775x0.77) 

通过删除 .plot() 代码按预期返回结果:

Ontario             1826
British Columbia    1126
Saskachewan          913
Alberta              865
Manitoba             793

我知道绘制前 5 名的另一种方法,但想知道为什么我一开始尝试的 .plot() 不起作用?

【问题讨论】:

  • 如文档所述,它返回一个 Axes 对象。有什么意外?
  • 什么不起作用?如果你没有调用.plot就得到了预期的结果,你为什么还要打电话呢?
  • 问题是我希望得到一个水平条形图!
  • 根据什么?你在哪里的代码?终端?木星?空闲?
  • 对不起,忘了说。在 PyCharm 教育中

标签: python pandas matplotlib plot


【解决方案1】:

您需要实际展示情节,而不仅仅是创建它。

import pandas as pd
import matplotlib.pyplot as plt

df = ... # dataframe creation
df['Province'].value_counts(sort=True)[:5].plot(kind ='barh')

plt.show()

【讨论】:

    猜你喜欢
    • 2021-05-30
    • 1970-01-01
    • 2012-11-19
    • 2021-12-11
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多