gpt4 book ai didi

python - 使用 Matplotlib 从字典中绘制日期和关联值

转载 作者:太空宇宙 更新时间:2023-11-04 00:46:08 25 4
gpt4 key购买 nike

我有一个字典,其中包含 Python 的 datetime.date 实例和关联的数值(整数)。像这样,但当然要大得多:

{datetime.date(2016, 5, 31): 27, datetime.date(2016, 9, 1): 87}

我正在尝试使用 Matplotlib 来构建一个折线图,该折线图将按时间顺序显示这些数值 (y) 与这些日期 (x) 的关系。

像这样:

[Example line graph][1] (I can't embed images.)

我是 Matplotlib 的新手,也是 Python 的新手。我尝试了一些解决方案,但它们不会为问题添加任何有意义的内容。

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

仅使用matplotlib:

In [1]: import matplotlib.pyplot as plt

In [2]: time_dict = {datetime.date(2016, 5, 31): 27, datetime.date(2016, 8, 1): 88, datetime.date(2016, 2, 5): 42, datetime.date(2016, 9, 1): 87}

In [3]: x,y = zip(*sorted(time_dict.items()))

In [4]: plt.plot(x,y)
Out[4]: [<matplotlib.lines.Line2D at 0x7f460689ee48>]

这是情节:

enter image description here

如果你可以使用pandas,这个任务也很容易:相对简单:

In [6]: import pandas as pd

In [7]: df = pd.DataFrame.from_items([(k,[v]) for k,v in time_dict.items()], orient='index', columns=['values'])

In [8]: df
Out[8]:
values
2016-05-31 27
2016-09-01 87
2016-02-05 42
2016-08-01 88

In [9]: df.sort_index(inplace=True)

In [10]: df
Out[10]:
values
2016-02-05 42
2016-05-31 27
2016-08-01 88
2016-09-01 87

In [11]: df.plot()
Out[11]: <matplotlib.axes._subplots.AxesSubplot at 0x7f4611879160>

enter image description here

关于python - 使用 Matplotlib 从字典中绘制日期和关联值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39520366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com