Python ggplot 没有给出正确的 y 轴值?
Python ggplot not giving correct y-axis values?
我的 ggplot 图有一些问题,因为我似乎有很好的数据,但绘图没有采用值。
这是数据:
In[127]: ts_top10_stk
Out[127]:
type value
unit
R084 entriesn_hourly 1868674
R084 exitsn_hourly 1467338
R022 entriesn_hourly 1773372
R022 exitsn_hourly 1483494
R012 entriesn_hourly 1618262
R012 exitsn_hourly 1084521
R046 entriesn_hourly 1555117
R046 exitsn_hourly 968557
R055 entriesn_hourly 1554806
R055 exitsn_hourly 1174953
R033 entriesn_hourly 1534652
R033 exitsn_hourly 843390
R018 entriesn_hourly 1444569
R018 exitsn_hourly 1200120
R011 entriesn_hourly 1355492
R011 exitsn_hourly 484352
R029 entriesn_hourly 1347727
R029 exitsn_hourly 771924
R179 entriesn_hourly 1270579
R179 exitsn_hourly 415908
这是我用它做的情节:
plot_top10 = ggplot(aes(x = 'unit',y='value',fill='type'),data=ts_top10_stk) + geom_bar()
获取此异常:
Exception: Could not evaluate the 'x' mapping: 'unit' (original error: name 'unit' is not defined)
很明显,我正在尝试创建一个堆叠条形图,其单位位于 x 轴上,条形图在入口和出口之间分开。我觉得我只是缺少 ggplot 的概念 - 因为我根本无法工作。
这是一些其他信息:
In[202]: ts_top10_stk.columns
Out[202]: Index([u'type', u'value'], dtype='object')
In[203]: ts_top10_stk.index
Out[203]:
Index([u'R084', u'R084', u'R022', u'R022', u'R012', u'R012', u'R046', u'R046',
u'R055', u'R055', u'R033', u'R033', u'R018', u'R018', u'R011', u'R011',
u'R029', u'R029', u'R179', u'R179'],
dtype='object', name=u'unit')
更新:为单位值创建了一个新列:
ts_top10_stk['unit2'] = ts_top10_stk.index
plot_top10 = ggplot(aes(x = 'unit2',y='value',fill='type'),data=ts_top10_stk) + geom_bar()
这是我得到的 - 仍然没有考虑实际值......看起来它只是计算并绘制它(每种 1 个,总共 2 个类型):
我没有在 Python 中使用过 ggplot,但这条消息让我觉得它只是不知道在哪里可以找到 'unit' 因为它不是一个列 - 它是 pandas 索引(这是一个 pandas 对象,对吗?)尝试创建一个不同的 'unit' 列并再次执行此操作?
我的 ggplot 图有一些问题,因为我似乎有很好的数据,但绘图没有采用值。
这是数据:
In[127]: ts_top10_stk
Out[127]:
type value
unit
R084 entriesn_hourly 1868674
R084 exitsn_hourly 1467338
R022 entriesn_hourly 1773372
R022 exitsn_hourly 1483494
R012 entriesn_hourly 1618262
R012 exitsn_hourly 1084521
R046 entriesn_hourly 1555117
R046 exitsn_hourly 968557
R055 entriesn_hourly 1554806
R055 exitsn_hourly 1174953
R033 entriesn_hourly 1534652
R033 exitsn_hourly 843390
R018 entriesn_hourly 1444569
R018 exitsn_hourly 1200120
R011 entriesn_hourly 1355492
R011 exitsn_hourly 484352
R029 entriesn_hourly 1347727
R029 exitsn_hourly 771924
R179 entriesn_hourly 1270579
R179 exitsn_hourly 415908
这是我用它做的情节:
plot_top10 = ggplot(aes(x = 'unit',y='value',fill='type'),data=ts_top10_stk) + geom_bar()
获取此异常:
Exception: Could not evaluate the 'x' mapping: 'unit' (original error: name 'unit' is not defined)
很明显,我正在尝试创建一个堆叠条形图,其单位位于 x 轴上,条形图在入口和出口之间分开。我觉得我只是缺少 ggplot 的概念 - 因为我根本无法工作。
这是一些其他信息:
In[202]: ts_top10_stk.columns
Out[202]: Index([u'type', u'value'], dtype='object')
In[203]: ts_top10_stk.index
Out[203]:
Index([u'R084', u'R084', u'R022', u'R022', u'R012', u'R012', u'R046', u'R046',
u'R055', u'R055', u'R033', u'R033', u'R018', u'R018', u'R011', u'R011',
u'R029', u'R029', u'R179', u'R179'],
dtype='object', name=u'unit')
更新:为单位值创建了一个新列:
ts_top10_stk['unit2'] = ts_top10_stk.index
plot_top10 = ggplot(aes(x = 'unit2',y='value',fill='type'),data=ts_top10_stk) + geom_bar()
这是我得到的 - 仍然没有考虑实际值......看起来它只是计算并绘制它(每种 1 个,总共 2 个类型):
我没有在 Python 中使用过 ggplot,但这条消息让我觉得它只是不知道在哪里可以找到 'unit' 因为它不是一个列 - 它是 pandas 索引(这是一个 pandas 对象,对吗?)尝试创建一个不同的 'unit' 列并再次执行此操作?