mathplotlib 条形图中的索引错误
如果我像这样设置条形图,则索引会正确重置为秒(set_index
,第 1 行)。
但不知何故,通过创建堆积条形图(第 4 行),不使用该索引(以秒为单位),该索引是用记录数绘制的。
在第 5 行,使用了正确的索引(秒)。
如何将条形图索引修复为“秒”?
df = pd.DataFrame(data)
df = df[['seconds', 'marker', 'data1', 'data2', 'data3']]
df = df.set_index('seconds')
ax = df.plot(kind='bar', stacked=True, alpha=set_alpha)
plt.plot(df.index, df['data1'], linestyle='solid', color='blue', alpha=0.4, label='data1')
plt.show()
数据示例:
seconds,marker,data1,data2,data3,data4
0,B,0,0,0,0
59,C,42,8,369000,0
74,B,42,8,369000,283041
121,B,42,8,369000,283041
179,B,42,8,369000,283041
239,B,42,8,369000,283041
304,B,42,8,369000,283041
360,B,42,8,369000,283041
377,A,42,8,369000,283041
420,B,42,8,369000,283041
493,B,42,8,369000,283041
540,B,42,8,369000,283041
600,B,42,8,369000,283041
659,B,42,8,369000,283041
719,B,64,8,412000,283041
780,B,64,8,412000,283041
840,B,64,8,412000,283041
880,A,64,8,412000,283041
900,B,64,8,412000,283041
961,B,64,8,412000,283041
1020,B,64,8,412000,283041
1079,B,64,8,412000,283041
1141,B,64,8,412000,283041
1200,B,64,8,412000,283041
1260,B,64,8,412000,283041
1320,B,64,8,412000,283041
1365,A,64,8,412000,283041
1382,B,64,8,412000,283041
1440,B,64,8,412000,283041
1498,B,64,8,412000,283041
1559,B,64,8,412000,283041
1621,B,64,8,412000,283041
1679,B,64,8,412000,283041
1740,B,64,8,412000,283041
1800,B,42,8,369000,283041
1830,A,42,8,369000,283041
1867,B,42,8,369000,283041
1921,B,42,8,369000,283041
1979,B,42,8,369000,283041
2040,B,42,8,369000,283041
2099,B,42,8,369000,283041
2159,B,42,8,369000,283041
2220,B,42,8,369000,283041
2272,A,42,8,369000,283041
2288,B,42,8,369000,283041
2341,B,42,8,369000,283041
2400,B,42,8,369000,283041
2460,B,42,8,369000,283041
2520,B,42,8,369000,283041
2579,B,42,8,369000,283041
2640,B,42,8,369000,283041
2700,B,42,8,369000,283041
2720,A,42,8,369000,283041
2759,B,42,8,369000,283041
2833,B,28,14,248000,260096
2880,B,28,14,248000,247808
2940,B,14,28,124000,123904
3000,B,0,42,0,0
3060,B,0,42,0,0
3120,B,0,42,0,0
3136,A,0,42,0,0
3180,B,0,42,0,0
3251,B,0,42,0,0
3267,D,0,42,0,0
3300,B,0,42,0,0
3359,B,0,42,0,0
3419,B,0,42,0,0
3538,B,0,0,0,0
3599,B,0,0,0,0
3643,C,140,4,1260000,0
If i setup my bar plot like this, the index is correct reset to seconds (set_index
, line 1).
But somehow by creating the stacked bar plot (line 4), this index (by seconds) is not used, the index is plotted with number of records.
At line 5, the correct index (seconds) is used.
How can I repair the bar plot index to 'seconds'?
df = pd.DataFrame(data)
df = df[['seconds', 'marker', 'data1', 'data2', 'data3']]
df = df.set_index('seconds')
ax = df.plot(kind='bar', stacked=True, alpha=set_alpha)
plt.plot(df.index, df['data1'], linestyle='solid', color='blue', alpha=0.4, label='data1')
plt.show()
Data example:
seconds,marker,data1,data2,data3,data4
0,B,0,0,0,0
59,C,42,8,369000,0
74,B,42,8,369000,283041
121,B,42,8,369000,283041
179,B,42,8,369000,283041
239,B,42,8,369000,283041
304,B,42,8,369000,283041
360,B,42,8,369000,283041
377,A,42,8,369000,283041
420,B,42,8,369000,283041
493,B,42,8,369000,283041
540,B,42,8,369000,283041
600,B,42,8,369000,283041
659,B,42,8,369000,283041
719,B,64,8,412000,283041
780,B,64,8,412000,283041
840,B,64,8,412000,283041
880,A,64,8,412000,283041
900,B,64,8,412000,283041
961,B,64,8,412000,283041
1020,B,64,8,412000,283041
1079,B,64,8,412000,283041
1141,B,64,8,412000,283041
1200,B,64,8,412000,283041
1260,B,64,8,412000,283041
1320,B,64,8,412000,283041
1365,A,64,8,412000,283041
1382,B,64,8,412000,283041
1440,B,64,8,412000,283041
1498,B,64,8,412000,283041
1559,B,64,8,412000,283041
1621,B,64,8,412000,283041
1679,B,64,8,412000,283041
1740,B,64,8,412000,283041
1800,B,42,8,369000,283041
1830,A,42,8,369000,283041
1867,B,42,8,369000,283041
1921,B,42,8,369000,283041
1979,B,42,8,369000,283041
2040,B,42,8,369000,283041
2099,B,42,8,369000,283041
2159,B,42,8,369000,283041
2220,B,42,8,369000,283041
2272,A,42,8,369000,283041
2288,B,42,8,369000,283041
2341,B,42,8,369000,283041
2400,B,42,8,369000,283041
2460,B,42,8,369000,283041
2520,B,42,8,369000,283041
2579,B,42,8,369000,283041
2640,B,42,8,369000,283041
2700,B,42,8,369000,283041
2720,A,42,8,369000,283041
2759,B,42,8,369000,283041
2833,B,28,14,248000,260096
2880,B,28,14,248000,247808
2940,B,14,28,124000,123904
3000,B,0,42,0,0
3060,B,0,42,0,0
3120,B,0,42,0,0
3136,A,0,42,0,0
3180,B,0,42,0,0
3251,B,0,42,0,0
3267,D,0,42,0,0
3300,B,0,42,0,0
3359,B,0,42,0,0
3419,B,0,42,0,0
3538,B,0,0,0,0
3599,B,0,0,0,0
3643,C,140,4,1260000,0
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论