【发布时间】:2018-10-03 01:36:02
【问题描述】:
我想绘制多年的日相关数据,其中年份应该在 x 轴上(例如 2016、2017、2018)。有什么好的方法可以做到这一点?
对于每一年,我都有一个日期列表,我会在 x 轴上绘制,但当然 python 会保留这个轴并将不同年份的所有数据绘制在彼此之上。
有什么建议吗?
代码:
我的字典 L_B_1_mean 的缩短版如下所示:
2016018 5.68701407589
2016002 4.72437644462
2017018 3.39389424822
2018034 7.01093439059
2018002 8.79958946488
2017002 3.55897852367
代码:
data_plot = {"x":[], "y":[], "label":[]}
for label, coord in L_B_1_mean.items():
data_plot["x"].append(int(label[-3:]))
data_plot["y"].append(coord)
data_plot["label"].append(label)
# add labels
for label, x, y in zip(data_plot["label"], data_plot["x"], data_plot["y"]):
axes[1].annotate(label, xy = (x, y+0.02), ha= "left")
# 1 channel different years Plot
plt_data = axes[1].scatter(data_plot["x"], data_plot["y"])
我在这里构造我的 x 值:data_plot["x"].append(int(label[-3:])) 我在其中读取名称标签,例如:2016002 并仅获取日期值:002
最后我一年有 365 天,现在我想将 2016 年、2017 年和 2018 年的数据依次绘制,而不是彼此重叠
【问题讨论】:
-
嗨@Shaun,你能把你到目前为止尝试过的东西贴出来吗?您能否将示例数据添加到您的代码中,以便人们更容易帮助您?您的问题现在看起来有点过于宽泛,无法得到一个好的答案......
-
@toti08 嗯好的...我认为如果有办法重复 x 轴并为其分配数据,这更像是一个概念性问题。但我会在问题中添加一些代码
标签: python matplotlib