2016-04-06 172 views
-1

是否可以使用dictionary創建一個line chart?我已經管理如何創建柱狀圖,但我希望線路能夠在那裏而不是支柱。從字典創建折線圖 - Matplotlib

這裏是我的代碼:

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

回答

0

爲什麼不使用plt.plot( x,y)爲x =範圍(len(D))和y = d的標準線圖。

+0

我不知道matplotlib所以它可能是一個好方法,但我想在底部而不是數字日期... –

0

我不認爲你可以有一個直接出字典線條。你必須提取鍵和值,然後做一個線條圖。

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