我如何在一个图中分组多个时间点并让它们落在 python 中的 1 个 x 轴下

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

我有这个数据集,例如每小时都有多个日期和时间(本例中只给出了 19-01,但想象一下它上升到 23-01)

[{date: 19-01-2023 09:00:00, allowedRequests: 1200, blockedRequests: 10},{date: 19-01-2023 10:00:00, allowedRequests: 900, blockedRequests: 20}, {date: 19-01-2023 11:00:00, allowedRequests: 1000, blockedRequests: 0}]

我想在同一个图中阻止和允许请求,但我想让 x 轴只有日期(19-01-2023、20-01-2023、21-01-2023 等)但仍然让情节显示不同时间的点。

现在我的情节看起来像这样 current plot

知道如何修复它以使其看起来更好吗?我正在以上面给出的格式获取数据。

任何建议都会有帮助!

这是我现在的代码:

COLOR_Allowed = "#69b3a2"
COLOR_Blocked = "#3399e6"


fig, ax1 = plt.subplots(figsize=(8, 8))
ax2 = ax1.twinx()

ax1.bar(date_time, allowed_requests, color=COLOR_Allowed, edgecolor="black", alpha=0.4, width=1.0)
ax2.plot(date_time, blocked_requests, color=COLOR_Blocked, lw=4)

ax1.set_xlabel("Date")
ax1.set_ylabel("Allowed requests", color=COLOR_Allowed, fontsize=14)
ax1.tick_params(axis="y", labelcolor=COLOR_Allowed)

ax2.set_ylabel("Blocked requests", color=COLOR_Blocked, fontsize=14)
ax2.tick_params(axis="y", labelcolor=COLOR_Blocked)

fig.autofmt_xdate()
fig.suptitle("Network traffic packages", fontsize=20)
plt.xticks(date_time, date)

plt.show()
# ax1.plot(date_tim
python matplotlib bar-chart linegraph
© www.soinside.com 2019 - 2024. All rights reserved.