這篇文章主要介紹了Python matplotlib以日期為x軸作圖代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
效果圖如下
代碼如下
from datetime import datetime, date, timedeltaimport matplotlib.pyplot as pltimport tushare as tsplt.rcParams['font.sans-serif'] = ['SimHei'] #顯示中文plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號def get_riqi(): count = 30 i = 0 today = date.today() #今天日期 riqi_list=[] riqi_list.append(str(today)) while(i<=count): i+=1 riqi_list.append(str((today + timedelta(days=-i)))) return riqi_listdef count(Data): data_list = [] sum_list = [] for data in Data: sum = 0 list = [] for jiage in data: sum+=jiage list.append(jiage) sum_list.append(round(sum,2)) data_list.append(list) return sum_list,data_listdef get_juedui(Data): sum = 0 data = [] for i in Data[::-1]: sum += i data.append(sum) return datatechnology = { '海康威視':'002415', '中興通訊':'000063', '科大訊飛':'002230', '立訊精密':'002475', '藍思科技':'300433', '歌爾股份':'002241'}store = [technology]technology = []def get_data(store,riqi_list): count = 0 for Stock_pool in store: count +=1 for stock in Stock_pool.values(): data = ts.get_hist_data(stock,start=riqi_list[-1]) if (count == 1): technology.append(data.loc[:, 'p_change'])riqi_list = get_riqi()get_data(store,riqi_list)riqi_list = technology[0].indexrili = []for riqi in riqi_list: rili.append(riqi[5:])sum2,data2 = count(technology)riqi_list = [datetime.strptime(d, '%m-%d').date() for d in rili]count = 0for i in data2: count+=1 data = get_juedui(i) if(count==1): plt.plot(rili[::-1], data,label = '海康威視' ) if(count==2): plt.plot(rili[::-1], data,label = '中興通訊' ) if(count==3): plt.plot(rili[::-1], data,label = '科大訊飛' ) if(count==4): plt.plot(rili[::-1], data,label = '立訊精密' ) if (count == 5): plt.plot(rili[::-1], data, label='藍思科技') if (count == 6): plt.plot(rili[::-1], data, label='歌爾股份')plt.legend()plt.show()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。
|
新聞熱點
疑難解答