1
我有這樣一本字典:使用散景繪製時間序列圖?
dic = {'2017-08-11': {'Yes': 157, 'Not sure': 2, 'No': 1}, '2017-08-22': {'Yes': 142, 'Not sure': 12}, '2017-08-01': {'Yes': 112, 'Others': 10, 'Not sure': 4, 'No': 9}, '2017-08-17': {'Yes': 117, 'No': 12, 'Not sure': 11, 'Others': 2}, '2017-08-25': {'Yes': 61, 'Not sure': 9}, '2017-08-23': {'Yes': 268, 'Not sure': 20, 'No': 1}, '2017-07-10': {'Yes': 123, 'Not sure': 4, 'No': 1}, '2017-08-10': {'Yes': 343, 'Not sure': 20}, '2017-07-13': {'Yes': 116, 'Others': 1, 'Not sure': 14, 'No': 2}, '2017-07-14': {'Yes': 255, 'Not sure': 22, 'No': 6}, '2017-08-07': {'Yes': 73, 'Others': 3, 'Not sure': 4, 'No': 5}, '2017-08-04': {'Not sure': 11, 'Others': 8, 'Yes': 178, 'No': 10}, '2017-08-16': {'Not sure': 10, 'Yes': 219}, '2017-07-18': {'Yes': 1, 'No': 1}, '2017-08-15': {'Yes': 301, 'Others': 4, 'Not sure': 37, 'No': 31}, '2017-08-08': {'Yes': 38, 'No': 2, 'Others': 1}, '2017-08-09': {'Yes': 120, 'Not sure': 3}, '2017-08-28': {'Yes': 206, 'Others': 2, 'Not sure': 18, 'No': 24}, '2017-08-14': {'Yes': 46, 'No': 3, 'Not sure': 5, 'Others': 7}}
然後我用字典來生成使用散景一時間序列圖:
from bokeh.charts import TimeSeries
from bokeh.io import output_file, show
from bokeh.io import output_notebook
from dateutil.parser import parse
output_notebook()
list_x = []
list_y = []
for i in dic:
list_x.append(i)
list_y.append(round(float(dic[i]['Yes'])/float(sum(dic[i].values()))*100, 2))
df_date = pd.DataFrame(columns=['Date', 'Precision'])
df_date['Date'] = list_x
df_date['Precision'] = list_y
df_date.sort_values('Date', ascending=True, inplace=True)
x = df_date['Date'].tolist()
y = df_date['Precision'].tolist()
data = dict(Precision = y, Date = [parse(s) for s in x])
p = TimeSeries(data, ylabel='Precision(%)')
output_file("timeseries.html")
show(p)
的result不顯示在x軸的日期,如果有人能幫助我,我會很高興,謝謝!
圖書館像散景通常支持多種不同的輸入格式。使用小型「模擬」示例嘗試一下。然後,嘗試以最少的步驟從原始數據中獲取數據(將數據轉換爲5次!)。另外,考慮使用Python3,Python2的死亡時鐘正在滴答滴答! –
@感謝您的投入! –