条形图崩溃(?)和数据重叠

问题描述 投票:1回答:1

我正在尝试将一些数据绘制成条形图

我用于第一个绘图的代码:

df = df.resample("15T").sum()
plt.plot(df['01/13/2020'].between_time('8:00', '21:00').index,
        df['01/13/2020'].between_time('8:00', '21:00').Id,'-*')
plt.xticks(rotation=70)

enter image description here

但是当我尝试绘制条形图时,它像这样“崩溃”:

enter image description here

我用于第二个情节的代码

df = df.resample("15T").sum()
plt.bar(df['01/13/2020'].between_time('8:00', '21:00').index,
        df['01/13/2020'].between_time('8:00', '21:00').Id,0.3)
plt.xticks(rotation=70)

示例数据:

start,avg,Dur,Count,Id,sha
2020-01-13 08:27:00,-47,1.0,3,138,33e14001e28fc686a941883eccc1a11ae21bd674
2020-01-13 08:29:00,-64,1.0,2,138,551c0e0227caab736b7c0f543607c963480d6d5b
2020-01-13 08:41:00,-64,1.0,2,138,217facc447cb65a6d89f76af28f2253d35365b0e
2020-01-13 08:49:00,-63,1.0,2,138,95508650da38675a15603698e75d281e3d0147c7
2020-01-13 08:57:00,-61,6.0,2,138,904bd41142c7a38e516c41158182db70910b5947
2020-01-13 09:03:00,-64,1.0,2,138,1fb351252ec6854741d62ae5778ef2b32d31a538
2020-01-13 09:16:00,-63,1.0,2,138,9f5d81319d119ba6b421c842d8d3af7c0db95b1c
2020-01-13 09:16:00,-60,1.0,3,138,a565bd30ee4bb9c9d2a6dbf77df7220a5e9d1566
2020-01-13 09:16:00,-64,3.0,2,138,96ce9e32ba054b90857dc18693daac0b4af72cd8
2020-01-13 09:18:00,-59,2.0,3,138,01c6640ddc2ffa8b1ccf56867c38eb8dd6e33ff4
2020-01-13 09:24:00,-60,2.0,4,138,ddeb61ae2466cfc24da950dc95a3b38e74644603
2020-01-13 09:28:00,-63,1.0,3,138,2822bc994a9497f542909964f4955dca0f046f10
2020-01-13 09:29:00,-44,1.0,2,138,5627f760b0f2fe410fc1bf53aacee77bc2e4832f
2020-01-13 09:34:00,-64,1.0,2,138,a72205d4d10051619d8bb3599db1811e399846fa
2020-01-13 09:38:00,-60,8.0,4,138,481340c1055c7295a25ad5971da961c70568f4ca
2020-01-13 09:41:00,-56,4.0,2,138,adf538d8ea48e90f732551882a06c15e2b4577dd
2020-01-13 09:41:00,-55,9.0,7,138,478bee50cdff42239521759405341378ddab2ca9
2020-01-13 09:46:00,-61,1.0,2,138,756b84ea142fb95ecf721e6fcaaf28deee3dceed
2020-01-13 09:47:00,-59,1.0,3,138,e5151ad6d67b76c07a90be30f8686761cf07f4c3
2020-01-13 09:47:00,-64,6.0,2,138,c4e50438d6009913814018f96b3823f272491eb7
2020-01-13 09:55:00,-62,1.0,2,138,8990a10c105095fc23b96a877e5bd4fcc0012422
2020-01-13 09:58:00,-63,3.0,4,138,b20ce5297050fbfd89cc3e4ed2b69b894385dbf8
2020-01-13 10:00:00,-61,3.0,3,138,c5fee52b641278c0dc03c3c9c9d1b476ab0a5792
2020-01-13 10:01:00,-58,1.0,3,138,f2ded3c373844f0a619a5ce7b4db6850a59de0e8
2020-01-13 10:02:00,-62,8.0,6,138,e972a12d119b2fe2ebbc7cdb39f0ccf1f81fa432
2020-01-13 10:03:00,-63,1.0,2,138,3bdd90a0b57c215076df250f91d9fadaf6433d5d
2020-01-13 10:04:00,-64,2.0,4,138,78f450530598d1f498d7d835ca936fccafa1babf
2020-01-13 10:04:00,-62,1.0,3,138,7ebf3e59cda781e53dee6b8e364a55095e476a64
2020-01-13 10:04:00,-60,1.0,12,138,c28183a2fff047d47bb1535090b839216f0f6e09
2020-01-13 10:08:00,-62,1.0,2,138,f77d48306bf379cdea4174a63ee74066ef3e5f1a
2020-01-13 10:19:00,-64,1.0,2,138,338236a6791cbd567f1c40f5f83f6a02dab83bf9
2020-01-13 10:19:00,-63,1.0,3,138,51cf9880ffc5b4cbe332c1a7418a170723a12b40
2020-01-13 10:26:00,-46,40.0,5,138,78f450530598d1f498d7d835ca936fccafa1babf
2020-01-13 10:28:00,-62,1.0,2,138,f13989accea0ffebc71994752d4091bc5d8a52c2
2020-01-13 10:35:00,-61,1.0,3,138,6320dd92be576ae08bf6b6bda054d52eb155f605
2020-01-13 10:37:00,-63,6.0,2,138,3dcca20a96e66d06f70d18d83be601d9e57b63fd
2020-01-13 10:44:00,-60,1.0,4,138,f2ded3c373844f0a619a5ce7b4db6850a59de0e8
2020-01-13 10:47:00,-62,1.0,2,138,2ddf40b0f93ecfbe84a5a9fd15eb7b5dc29916bb
2020-01-13 10:50:00,-62,1.0,2,138,17190fc1dd9f5f07aa90292093073310290ab149
2020-01-13 10:50:00,-60,7.0,4,138,0a255e8ed3a3522a22e01ed92f2a4c1055beffe7
2020-01-13 10:54:00,-64,1.0,2,138,1b1f81928bb42ed32afa9c8d1a14287292618474

感谢您的任何建议。

python pandas seaborn
1个回答
1
投票

使用熊猫创建条形图,并且x轴的dtypedatatime时,条的宽度以天为单位表示。您可以将宽度更改为大约10分钟:

day_to_min = 1/24/60

df = df.resample("15T").sum()
plt.bar(df['01/13/2020'].between_time('8:00', '21:00').index,
        df['01/13/2020'].between_time('8:00', '21:00').Id, width=day_to_min*10)
plt.xticks(rotation=70)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.