从字典创建折线图 - Matplotlib

时间:2016-04-06 17:50:48

标签: python matplotlib

是否可以使用line chart创建dictionary?我已经设法创建了支柱图表,但我想要在线而不是支柱。

这是我的代码:

from datetime import datetime, timedelta
from db import get_min_prices_and_dates
from matplotlib.backends.backend_pdf import PdfPages
import numpy as np
import matplotlib.pyplot as plt
plt.style.use(plt.style.available[4])

date_from = (datetime.now()-timedelta(days=0)).date()
date_to = (datetime.now()+timedelta(days=+30)).date()
D = get_min_prices_and_dates(date_from,date_to,4,7,'AMS') # THIS IS A DICTIONARY - DATES:PRICES

plt.bar(range(len(D)), D.values(), align='center')
plt.xticks(range(len(D)), D.keys())

plt.show()

我想要这种情节:

enter image description here

而不是: enter image description here

2 个答案:

答案 0 :(得分:0)

为什么不将plt.plot(x,y)用于x = range(len(D))和y = D.values的标准线图?

答案 1 :(得分:0)

我认为你不能直接用dict表示线条。您必须提取键和值,然后制作线图。

dates = list(D.keys())           # list() needed for python 3.x
prices = list(D.values())        # ditto
ax.plot_date(dates, prices, '-') # this will show date at the x-axis