信息安全案例教程:技術(shù)與應(yīng)用 第2版 課件 第9章 數(shù)據(jù)可視化_第1頁
信息安全案例教程:技術(shù)與應(yīng)用 第2版 課件 第9章 數(shù)據(jù)可視化_第2頁
信息安全案例教程:技術(shù)與應(yīng)用 第2版 課件 第9章 數(shù)據(jù)可視化_第3頁
信息安全案例教程:技術(shù)與應(yīng)用 第2版 課件 第9章 數(shù)據(jù)可視化_第4頁
信息安全案例教程:技術(shù)與應(yīng)用 第2版 課件 第9章 數(shù)據(jù)可視化_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第9章數(shù)據(jù)可視化信息學(xué)院2024目錄9.1案例:金融數(shù)據(jù)可視化9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置9.3Python中其他常見繪圖工具9.4編程實(shí)踐9.5本章小結(jié)9.6習(xí)題學(xué)習(xí)目標(biāo)了解Python中用于數(shù)據(jù)可視化的主要工具掌握Matplotlib的函數(shù)與方法具備使用Python進(jìn)行數(shù)據(jù)可視化的能力9.1案例:金融數(shù)據(jù)可視化本章以金融數(shù)據(jù)分析為例介紹Python數(shù)據(jù)可視化的主要方法與工具,本章主要的分析問題為:投資組合收益分析股票的K線圖Plot提供了線條顏色、線型、標(biāo)記等參數(shù)的設(shè)置,兩種格式設(shè)置語句如下:關(guān)鍵字參數(shù):plt.plot(x,y,linestyle='',color='',marker='')fmt參數(shù):plt.plot(x,y,fmt),其中fmt='marker[color]'9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置表9-1線條顏?顏色描述顏色描述b藍(lán)色m品紅色g綠色y黃色r紅色k黑色c青色w白色Plot提供了線條顏色、線型、標(biāo)記等參數(shù)的設(shè)置,兩種格式設(shè)置語句如下:關(guān)鍵字參數(shù):plt.plot(x,y,linestyle='',color='',marker='')fmt參數(shù):plt.plot(x,y,fmt),其中fmt='marker[color]'9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置表9-2線條風(fēng)格線條風(fēng)格描述線條風(fēng)格描述'-'實(shí)線':'虛線'--'虛線'-.'破折號(hào)線9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置表9-3線條標(biāo)記線條標(biāo)記描述線條標(biāo)記描述.點(diǎn)p五角形,像素點(diǎn)P加號(hào)(填充)o實(shí)心圓s正方形v下三角<左三角^上三角>右三角*星號(hào)h六邊形1+加號(hào)H六邊形21下三叉x乘號(hào)x2上三叉X乘號(hào)x(填充)3左三叉D菱形4右三叉d瘦菱形8八角形|豎線v三角形_下_橫線s正方形

【例9-1】修改蘋果公司股票收盤價(jià)格波動(dòng)趨勢圖的線條格式9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置importmatplotlib.pyplotaspltimportpandasaspd#讀取csv文件中的數(shù)據(jù)到列表中withopen('data/dow30_origin.csv','r')asf:

ls=[]forlineinf:

line=line.replace("\n","")

ls.append(line.split(","))#去除第一行表頭數(shù)據(jù)ls=ls[1:]#讀取數(shù)據(jù)x=pd.to_datetime([i[1]foriinlsifi[7]=='AAPL'])#將日期數(shù)據(jù)設(shè)置為時(shí)間戳格式y(tǒng)=[float(i[5])foriinlsifi[7]=='AAPL']#圖片繪制plt.plot(x,y,color='red',linewidth=0.5,linestyle='--',marker='*')plt.show()【例9-1】修改蘋果公司股票收盤價(jià)格波動(dòng)趨勢圖的線條格式9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置【例9-2】添加蘋果公司股票收盤價(jià)格波動(dòng)趨勢圖的坐標(biāo)軸、圖例等Matplotlib除了plot方法之外,還提供了其他的方法用以設(shè)置圖形的圖例、坐標(biāo)軸等,常用的標(biāo)簽方法如表9-4和表9-5所示。9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置表9-4常用標(biāo)簽函數(shù)函數(shù)描述函數(shù)描述title()為當(dāng)前繪圖添加標(biāo)題legend()為當(dāng)前繪圖放置圖注xlabel()設(shè)置x軸標(biāo)簽xlticks()設(shè)置x軸刻度位置和標(biāo)簽ylabel()設(shè)置y軸標(biāo)簽ylticks()設(shè)置y軸刻度位置和標(biāo)簽xlim(xmin,xmax)設(shè)置當(dāng)前x軸取值范圍annotate()為指定數(shù)據(jù)點(diǎn)創(chuàng)建注釋ylim(ymin,ymax)設(shè)置當(dāng)前y軸取值范圍

【例9-2】添加蘋果公司股票收盤價(jià)格波動(dòng)趨勢圖的坐標(biāo)軸、圖例等Matplotlib除了plot方法之外,還提供了其他的方法用以設(shè)置圖形的圖例、坐標(biāo)軸等,常用的標(biāo)簽方法如表9-4和表9-5所示。9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置表9-5legend參數(shù)值位置標(biāo)簽位置編碼位置標(biāo)簽位置編碼best0centerleft6upperright1centerright7upperleft2lowercenter8lowerleft3uppercenter9lowerright4center10right5

【例9-2】添加蘋果公司股票收盤價(jià)格波動(dòng)趨勢圖的坐標(biāo)軸、圖例等9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置#圖片繪制(請?zhí)鎿Q之前圖片繪制對應(yīng)的代碼)plt.plot(x,y,color='red',linewidth=1.5,linestyle='--',label='ClosePrice')#用label設(shè)置圖例plt.legend(loc='upperright')#設(shè)置圖例右上plt.xlabel('Year')#x軸設(shè)置Yearplt.ylabel('Price')#y軸設(shè)置為Priceplt.title('TrendofApplestockclosingprice')#設(shè)置圖形題目plt.show()在matplotlib中默認(rèn)字體不支持中文,如果設(shè)置中文會(huì)顯示為方塊。為了顯示中文,我們可以通過fontproperties參數(shù)設(shè)置中文字體。注意Window系統(tǒng)下字體可以設(shè)置為SimHei、FangSong等,Mac系統(tǒng)下使用HeitiTC、SongtiSC或ArialUnicodeMS。9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置#圖片繪制plt.plot(x,y,color='red',linewidth=1.5,linestyle='--',label='ClosePrice')plt.legend(loc='upperright')plt.xlabel('年份',fontproperties='SimSun')#設(shè)置中文plt.ylabel('價(jià)格',fontproperties='SimSun')#設(shè)置中文plt.title('蘋果股票收盤價(jià)格變化趨勢',fontproperties='SimSun')#設(shè)置中文plt.show()【例9-3】添加蘋果公司股票收盤價(jià)格波動(dòng)趨勢圖中的水平線9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置plt.plot(x,y,color='red',linewidth=1.5,linestyle='--',label='ClosePrice')plt.legend(loc='upperright')plt.xlabel('年份',fontproperties='SimSun')#設(shè)置中文plt.ylabel('價(jià)格',fontproperties='SimSun')#設(shè)置中文plt.title('蘋果股票收盤價(jià)格變化趨勢',fontproperties='SimSun')#設(shè)置中文#添加水平線plt.axhline(100,linestyle='--',color='b',linewidth=1)plt.show()如果我們需要高亮顯示部分區(qū)域,可以通過axhspan()和axvspace()函數(shù)設(shè)置圖形中特定區(qū)域的填充9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置plt.plot(x,y,color='red',linewidth=1.5,linestyle='--',label='ClosePrice')plt.legend(loc='upperright')plt.xlabel('年份',fontproperties='SimSun')#設(shè)置中文plt.ylabel('價(jià)格',fontproperties='SimSun')#設(shè)置中文plt.title('蘋果股票收盤價(jià)格變化趨勢',fontproperties='SimSun')#設(shè)置中文#設(shè)置填充區(qū)域plt.axhspan(20,30,0,0.5,color='green',alpha=0.5)plt.show()修改水平填充后,相關(guān)代碼及結(jié)果如下:9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置plt.plot(x,y,color='red',linewidth=1.5,linestyle='--',label='ClosePrice')plt.legend(loc='upperright')plt.xlabel('年份',fontproperties='SimSun')#設(shè)置中文plt.ylabel('價(jià)格',fontproperties='SimSun')#設(shè)置中文plt.title('蘋果股票收盤價(jià)格變化趨勢',fontproperties='SimSun')#設(shè)置中文#設(shè)置填充區(qū)域plt.axhspan(100,110,color='green',alpha=0.5)plt.show()如需保存圖片文件,可使用savefig(‘文件名’)函數(shù),該函數(shù)可以保存繪制的圖像,但必須置于繪制完成之后和show()之前9.2Matplotlib進(jìn)階:繪圖格式的基本設(shè)置plt.plot(x,y,color='red',linewidth=1.5,linestyle='--',label='ClosePrice')plt.legend(loc='upperright')plt.xlabel('年份',fontproperties='SimSun')#設(shè)置中文plt.ylabel('價(jià)格',fontproperties='SimSun')#設(shè)置中文plt.title('蘋果股票收盤價(jià)格變化趨勢',fontproperties='SimSun')#設(shè)置中文#保存圖片plt.savefig('9.2.3price.jpg')plt.show()9.3.1Pandas繪圖通過第三方庫pandas_datareader下載所需的股票數(shù)據(jù)使用此第三方庫同樣需要先使用pip進(jìn)行安裝,代碼為:pipinstallpandas_datareader9.3Python中其他常見繪圖工具importpandas_datareader.dataaswebdf_b=web.DataReader('AAPL','stooq',start="2022-01-01",end="2023-01-01")df_b.head()1.Pandas繪圖基本操作DataFrame.plot(x=None,y=None,kind='line',ax=None,subplots=False,sharex=None,sharey=False,layout=None,figsize=None,use_index=True,title=None,grid=None,legend=True,style=None,logx=False,logy=False,loglog=False,xticks=None,yticks=None,xlim=None,ylim=None,rot=None,fontsize=None,colormap=None,table=False,yerr=None,xerr=None,secondary_y=False,sort_columns=False,**kwds)其中,可以通過修改kind參數(shù)值為“l(fā)ine”、“bar”、“barh”、“hist”、“box”、“kde”、“density”、“area”、“pie”、“scatter”或“hexbin”繪制折線圖、垂直柱狀圖、水平柱狀圖、直方圖、波譜圖、核心密度估計(jì)圖、面積圖、餅狀圖、散點(diǎn)圖、六邊形圖。9.3Python中其他常見繪圖工具2.Pandas繪制投資組合收益圖案例分析:投資組合優(yōu)化是在金融領(lǐng)域中的一個(gè)熱點(diǎn)話題,無論是在學(xué)術(shù)界還是業(yè)界都展開了熱烈的討論。投資組合優(yōu)化是指合理配置投資人的財(cái)富,實(shí)現(xiàn)收益與風(fēng)險(xiǎn)之間的均衡,以實(shí)現(xiàn)高收益的目標(biāo)。量化投資是計(jì)量優(yōu)化投資方案的方法之一,其主要是利用計(jì)算機(jī)科學(xué)模擬投資策略,從而尋找股票收益的主要影響因素。本節(jié)將介紹通過可視化的方法展示投資收益變化的情況,以及不同投資策略下的累積收益對比分析,從而尋找最優(yōu)的投資組合方案。9.3Python中其他常見繪圖工具2.Pandas繪制投資組合收益圖案例分析:本節(jié)中假設(shè)投資人選取了三支股票:阿里巴巴(BABA)、蘋果(APPL)和微軟(MSFT),并選定了三種投資組合方案,現(xiàn)在想要通過數(shù)據(jù)可視化的方式比較不同投資組合方案的收益變化,以選擇最優(yōu)的投資組合方案9.3Python中其他常見繪圖工具【例9-4】投資組合的收益計(jì)算9.3Python中其他常見繪圖工具DataFrame.pct_change(periods=1,fill_method=‘pad’,limit=None,freq=None,**kwargs)收益計(jì)算代碼如下:importmatplotlib.pyplotaspltimportpandasaspdimportpandas_datareader.dataas

webimportnumpyasnp

tic_list=['BABA','AAPL','MSFT']Prices=pd.DataFrame()#創(chuàng)建空的DataFrame變量,存儲(chǔ)股票數(shù)據(jù)market_value_list=[]#存儲(chǔ)每支股票的平均市值#獲取每只股票的數(shù)據(jù)forticintic_list:

stock_data=web.DataReader(tic,'stooq',start="2022-01-01",end="2022-12-31")

Prices[tic]=stock_data['Close']

stock_data['Market_value']=(stock_data['Open']+stock_data['High']+stock_data['Low']+stock_data['Close'])/4

【例9-4】投資組合的收益計(jì)算9.3Python中其他常見繪圖工具market_value_list.append(stock_data['Market_value'].mean())#日期為索引列Prices.='Date'#計(jì)算每日收益率,并丟棄缺失值Returns=Prices.pct_change().dropna()stock_return=Returns.copy()#設(shè)置權(quán)重weights=np.array([0.3,0.3,0.4])#計(jì)算賦權(quán)重之后的收益WeightedReturns=stock_return.mul(weights,axis=1)Returns['Portfolio']=WeightedReturns.sum(axis=1)#繪制組合收益隨時(shí)間變化的圖Returns.Portfolio.plot()plt.show()

【例9-5】最優(yōu)投資組合的選擇(1)等權(quán)重投資組合的累積收益曲線9.3Python中其他常見繪圖工具#方案一:平均分配權(quán)重stock_num=3#平均分配每一項(xiàng)的權(quán)重portfolio_weights=np.repeat(1/stock_num,stock_num)#計(jì)算等權(quán)重組合的收益Returns['Portfolio_A']=stock_return.mul(portfolio_weights,axis=1).sum(axis=1)#計(jì)算累計(jì)收益fornamein['Portfolio_A']:C_Returns=((1+Returns[name]).cumprod()-1)C_Returns.plot(label=name)

【例9-5】最優(yōu)投資組合的選擇(2)給定投資比例的累積收益曲線9.3Python中其他常見繪圖工具#方案二:給定權(quán)重weights=np.array([0.15,0.55,0.3])WeightedReturns=stock_return.mul(weights,axis=1)Returns['Portfolio_B']=WeightedReturns.sum(axis=1)#累積收益曲線繪制函數(shù)defc_returns_plot(name_list):fornameinname_list:C_Returns=((1+Returns[name]).cumprod()-1)C_Returns.plot(label=name)plt.legend()c_returns_plot(['Portfolio_A','Portfolio_B'])【例9-5】最優(yōu)投資組合的選擇(3)市值加權(quán)投資組合的累積收益曲線9.3Python中其他常見繪圖工具#方案三:市值權(quán)重market_values=np.array(market_value_list)market_weights=market_values/np.sum(market_values)Returns['Portfolio_C']=stock_return.mul(market_weights,axis=1).sum(axis=1)#累積收益曲線繪制函數(shù)defc_returns_plot(name_list):fornameinname_list:C_Returns=((1+Returns[name]).cumprod()-1)C_Returns.plot(label=name)plt.legend()c_returns_plot(['Portfolio_A','Portfolio_B','Portfolio_C'])9.3.2Seaborn庫seaborn.heatmap(data,vmin=None,vmax=None,cmap=None,center=None,robust=False,annot=None,fmt='.2g',annotkws=None,linewidths=0,linecolor='white',cbar=True,cbarkws=None,cbar_ax=None,square=False,ax=None,xticklabels=True,yticklabels=True,mask=None,**kwargs)其中:data:矩陣數(shù)據(jù)集,可以使用numpy的數(shù)組(array),如果是pandas的dataframe,則df的index/column信息會(huì)分別對應(yīng)到heatmap的columns和rowslinewidths:熱力圖矩陣之間的間隔大小vmax,vmin:圖例中最大值和最小值的顯示值,沒有該參數(shù)時(shí)默認(rèn)不顯示9.3Python中其他常見繪圖工具【例9-6】投資組合的相關(guān)性分析9.3Python中其他常見繪圖工具importseabornassns#計(jì)算相關(guān)矩陣correlation_matrix=stock_return.corr()#創(chuàng)建熱圖sns.heatmap(correlation_matrix,annot=True,linewidths=1.0,annot_kws={'size':8})plt.xticks(rotation=0)plt.yticks(rotation=75)plt.show()9.4.1股票K線圖繪制K線圖也稱為蠟燭圖,由每個(gè)分析周期的開盤價(jià)、最高價(jià)、最低價(jià)和收盤價(jià)繪制而成,普遍用于分析期貨、股票、外匯等。K線是由許多的蠟燭線組合而成的,K線上的每根蠟燭線代表著在單位時(shí)間內(nèi)的價(jià)格波動(dòng)。在所有的交易軟件中默認(rèn)的是日K線,一根蠟燭線代表的是一日內(nèi)價(jià)格從開盤到收盤的波動(dòng)。9.4編程實(shí)踐9.4.1股票K線圖繪制Mplfinance是一個(gè)基于Matplotlib的、專用于金融數(shù)據(jù)的可視化分析模塊。通過mplfinance進(jìn)行金融數(shù)據(jù)可視化非常便捷,其提供了方法可以自動(dòng)剔除空白的停盤時(shí)間段,可以自動(dòng)識(shí)別時(shí)間坐標(biāo),并提供了繪制均線的方法,只需要設(shè)置簡單的參數(shù)即可完成繪制等操作關(guān)于Mplfinance中函數(shù)的詳細(xì)使用方法,可以在其官網(wǎng)獲得,官方網(wǎng)址為:/matplotlib/mplfinance。使用mplfinance需要安裝matplotlib和pandas使用mplfinance之前需要通過pip命令進(jìn)行安裝:pipinstallmplfinance9.4編程實(shí)踐【例9-7】使用Mplfinance繪制蘋果股票的K線圖9.4編程實(shí)踐importmplfinanceasmpfimportpandas_datareader.dataaswebimportnumpyasnp

#獲取蘋果2022-01-01至2022-03-31三個(gè)月的股票數(shù)據(jù)df_b_th=web.DataReader('AAPL','stooq',start="2022-01-01",end="2022-03-31")

#繪制K線圖#設(shè)置mplfinance的蠟燭顏色,up為陽線顏色,down為陰線顏色my_color=mpf.make_marketcolors(up='r',down='g',edge='inherit',wick='inherit',volume='inherit')

#設(shè)置圖表的背景色my_style=mpf.make_mpf_style(marketcolors=my_color,figcolor='(0.82,0.83,0.85)',gridcolor='(0.82,0.83,0.85)')【例9-7】使用Mplfinance繪制蘋果股票的K線圖9.4編程實(shí)踐#創(chuàng)建圖形的figure對象,通過調(diào)用圖標(biāo)Axes和文字Text對象,修改圖片的布局fig=mpf.figure(style=my_style,figsize=(12,8),facecolor=(0.82,0.83,0.85))ax1=fig.add_axes([0.06,0.25,0.88,0.60])ax2=fig.add_axes([0.06,0.15,0.88,0.10],sharex=ax1)ax1.set_ylabel('Price')ax2.set_ylabel('Volume')#圖形繪制mpf.plot(df_b_th,ax=ax1,volume=ax2,style=my_style,datetime_format='%Y-%m-%d',xrotation=0,mav=(5,10,20),type='candle')fig.show()【例9-7】使用Mplfinance繪制蘋果股票的K線圖9.4編程實(shí)踐【例9-7】使用Mplfinance繪制蘋果股票的K線圖在mplfinance中添加多個(gè)子圖在一個(gè)圖片中的方法有兩種Panels方法ExternalAxes方法9.4編程實(shí)踐【例9-7】使用Mplfinance繪制蘋果股票的K線圖9.4編程實(shí)踐importmplfinanceasmpfimportpandas_datareader.dataaswebimportnumpyas

np

#獲取蘋果2022-01-01至2022-03-32三個(gè)月的股票數(shù)據(jù)df_b_th=web.DataReader('AAPL','stooq',start="2022-01-01",end="2022-03-31").iloc[::-1]

#設(shè)置mplfinance的蠟燭顏色,up為陽線顏色,down為陰線顏色my_color=mpf.make_marketcolors(up='r',down='g',edge='inherit',wick='inherit',volume='inherit')

#設(shè)置圖表的背景色my_style=mpf.make_mpf_style(marketcolors=my_color,figcolor='(0.82,0.83,0.85)',gridcolor='(0.82,0.83,0.85)')【例9-7】使用Mplfinance繪制蘋果股票的K線圖9.4編程實(shí)踐#創(chuàng)建圖形的figure對象,通過調(diào)用圖標(biāo)Axes和文字Text對象,修改圖片的布局fig=mpf.figure(style=my_style,figsize=(12,8),facecolor=(0.82,0.83,0.85))ax1=fig.add_axes([0.06,0.25,0.88,0.60])ax2=fig.add_axes([0.06,0.15,0.88,0.10],sharex=ax1)ax3=fig.add_axes([0.06,0.05,0.88,0.10],sharex=ax1)

ax1.set_ylabel('Price')ax2.set_ylabel('Volume')ax3.set_ylabel('MACD')#計(jì)算股票基本信息last_data=df_b_th.iloc[-1]last_2nd_data=df_b_th.iloc[-2]change=last_data['Close']-last_2nd_data['Close']pct_change=change/last_data['Close']*100average=sum(last_data[:4])/4upper_lim=last_2nd_data['High']*1.1lower_lim=last_2nd_data['Low']*0.9【例9-7】使用Mplfinance繪制蘋果股票的K線圖9.4編程實(shí)踐#設(shè)置股票基本信息格式#標(biāo)題格式,字體為中文字體,顏色為黑色,粗體,水平中心對齊title_font={'fontname':'SimSun','size':'16','color':'black','weight':'bold','va':'bottom','ha':'center'}#紅色數(shù)字格式(顯示開盤收盤價(jià))粗體紅色24號(hào)字large_red_font={'fontname':'Arial','size':'24','color':'red','weight':'bold','va':'bottom'}#綠色數(shù)字格式(顯示開盤收盤價(jià))粗體綠色24號(hào)字large_green_font={'fontname':'Arial','size':'24','color':'green','weight':'bold','va':'bottom'}#小數(shù)字格式(顯示其他價(jià)格信息)粗體紅色12號(hào)字small_red_font={'fontname':'Arial','size':'12','color':'r','weight':'bold','va':'bottom'}#小數(shù)字格式(顯示其他價(jià)格信息)粗體綠色12號(hào)字small_green_font={'fontname':'Arial','size':'12','color':'g','weight':'bold','va':'bottom'}#標(biāo)簽格式,可以顯示中文,普通黑色12號(hào)字normal_label_font={'fontname':'SimSun','size':'12','color':'black','va':'bottom','ha':'right'}#普通文本格式,普通黑色12號(hào)字normal_font={'fontname':'Arial','size':'12','color':'black','va':'bottom','ha':'left'}【例9-7】使用Mplfinance繪制蘋果股票的K線圖9.4編程實(shí)踐#設(shè)置格式fig.text(0.50,0.94,'蘋果-[AAPL]',**title_font)fig.text(0.12,0.90,'開/收:',**normal_label_font)fig.text(0.14,0.89,f'{np.round(last_data["Open"],3)}/{np.round(last_data["Close"],3)}',**large_red_font)fig.text(0.14,0.86,f'{np.round(change,3)}',**small_red_font)fig.text(0.22,0.86,f'[{np.round(pct_change,2)}%]',**small_red_font)fig.text(0.12,0.86,f'{last_.date()}',**normal_label_font)fig.text(0.40,0.90,'高:',**normal_label_font)fig.text(0.40,0.90,f'{last_data["High"]}')fig.text(0.40,0.86,'低:',**normal_label_font)fig.text(0.40,0.86,f'{last_data["Low"]}')fig.text(0.55,0.90,'量(萬手):',**normal_label_font)fig.text(0.55,0.90,f'{np.round(last_data["Volume"]/10000,3)}')fig.text(0.55,0.86,'額(億元):',**normal_label_font)fig.text(0.55,0.86,f'{np.round(average*last_data["Volume"]/1000000,3)}')fig.text(0.70,0.90,'漲停:',**normal_label_font)fig.text(0.70,0.90,f'{np.round(upper_lim,3)}',**small_red_font)fig.text(0.70,0.86,'跌停:',**normal_label_font)fig.text(0.70,0.86,f'{lower_lim}',**small_green_font)fig.text(0.85,0.90,'均價(jià):',**normal_label_font)fig.text(0.85,0.90,f'{np.round(average,3)}')fig.text(0.85,0.86,'昨收:',**normal_label_font)fig.text(0.85,0.86,f'{last_2nd_data["Close"]}')【例9-7】使用Mplfinance繪制蘋果股票的K線圖9.4編程實(shí)踐#計(jì)算MACD值exp12=df_b_th['Close'].ewm(span=12,adjust=False).mean()exp26=df_b_th['Close'].ewm(span=26,adjust=False).mean()macd=exp12-exp26signal=macd.ewm(span=9,adjust=False).mean()histogram=macd-signal#添加MACD圖形add_plot=[mpf.make_addplot(histogram,type='bar',width=0.7,color='dimgray',alpha=1,secondary_y=False,ax=ax3),mpf.make_addplot(macd,color='fuchsia',secondary_y=True,ax=ax3),mpf.make_addplot(signal,color='b',secondary_y=True,ax=ax3)]#修改x軸mpf.plot(df_b_th,ax=ax1,volume=ax2,addplot=add_plot,style=my_style,datetime_format='%Y-%m-%d',mav=(5,10,20),type='candle')fig.show()【例9-7】使用Mplfinance繪制蘋果股票的K線圖9.4編程實(shí)踐【例9-8】蘋果公司新聞文本詞云分析9.4編程實(shí)踐importstringfromwordcloudimportWordCloudimportmatplotlib.pyplotasplt#讀取文件defreadtext(filename):txt=open(filename,'r',encoding='utf-8').read().strip()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論