You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib绘制一年多数据点图表 2021年三次选举数据拆分方案

问题原因

你当前使用纯整数年份作为x轴数值,2021年的三场选举x轴数值完全一致,matplotlib会将其渲染在同一横坐标位置,导致数据重叠。你可以通过给每场选举分配唯一x坐标、自定义x轴刻度标签的方式解决问题。

解决方案代码

import matplotlib.pyplot as plt
# 给每场选举分配唯一x坐标:2021年三场用带小数的年份表示时间间隔
x = [2009, 2013, 2014, 2017, 2021.25, 2021.5, 2021.83]
voters = [1678641, 1081605, 1072491, 1147283, 837671, 642165, 596456]
# 定义x轴显示的标签,对应每个数据点的实际选举时间
x_labels = ["2009", "2013", "2014", "2017", "2021-04", "2021-07", "2021-11"]

plt.plot(x, voters, marker='o') # 加标记点更清晰展示每个独立数据
plt.xticks(x, x_labels) # 将x轴刻度替换为自定义的时间标签
plt.xlabel("选举时间")
plt.ylabel("投票数")
plt.show()

补充说明

  • 如果你不需要严格保持年份之间的时间间隔比例,也可以直接用序号作为x坐标:x = list(range(len(voters))),再替换为对应的x_labels即可,这样不同选举之间的间隔会完全均匀
  • 可以根据展示需求选择柱状图、散点图等其他图表类型,视觉上更易区分同一年的多组数据

内容的提问来源于stack exchange,提问作者kurrkabin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:36:00