版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章
數(shù)據(jù)可視化后起之秀——pyecharts·繪制常用圖表·繪制組合圖表·定制圖表主題·整合Web框架了解熟悉掌握掌握
學(xué)習(xí)目標(biāo)了解安裝pyecharts12掌握?qǐng)D表類,配置項(xiàng),渲染圖表掌握常用圖表、組合圖表34熟悉定制圖表主題,整合Web框架目錄頁(yè)9.5定制圖表主題9.1pyecharts概述9.2pyecharts基礎(chǔ)知識(shí)9.3繪制常用圖表9.4繪制組合圖表目錄頁(yè)9.6整合Web框架9.7實(shí)例:虎撲社區(qū)分析9.8本章小結(jié)目錄頁(yè)9.5定制圖表主題9.1pyecharts概述9.2pyecharts基礎(chǔ)知識(shí)9.3繪制常用圖表9.4繪制組合圖表9.1pyecharts概述matplotlib作為Python中著名的基礎(chǔ)繪圖庫(kù),它擁有著極其豐富的可視化功能,但其仍存在諸多不足,比如圖表無(wú)法與用戶交互、API過(guò)于復(fù)雜等。為此,Python中引入了可視化神器——pyecharts庫(kù),使用pyecharts可以快速地生成效果驚艷的Echarts圖表。自2013年6月百度EFE數(shù)據(jù)可視化團(tuán)隊(duì)研發(fā)的Echarts1.0發(fā)布到GitHub網(wǎng)站以來(lái),一直備受業(yè)界權(quán)威的關(guān)注并獲得廣泛好評(píng),成為目前成熟且流行的可視化圖表工具,被應(yīng)用到諸多數(shù)據(jù)可視化的開(kāi)發(fā)領(lǐng)域。Python作為數(shù)據(jù)分析領(lǐng)域最受歡迎的語(yǔ)言,也加入到Echarts的使用行列,并研發(fā)出方便Python開(kāi)發(fā)者使用的數(shù)據(jù)可視化工具,自此便誕生了pyecharts庫(kù)。9.1pyecharts概述與matplotlib相比,pyecharts庫(kù)具有以下優(yōu)勢(shì):9.1pyecharts概述簡(jiǎn)潔的API使開(kāi)發(fā)者使用起來(lái)非常便捷,且支持鏈?zhǔn)秸{(diào)用。程序可在主流的JupyterNotebook或JupyterLab工具上運(yùn)行。程序可以輕松地集成至Flask、Sanic、Django等主流的Web框架中。靈活的配置項(xiàng)可以輕松搭配出精美的圖表。詳細(xì)的文檔和示例可以幫助開(kāi)發(fā)者快速地上手。400多個(gè)地圖文件、原生百度地圖為地理數(shù)據(jù)可視化提供強(qiáng)有力的支撐。9.1pyecharts概述在使用pyecharts進(jìn)行開(kāi)發(fā)之前,開(kāi)發(fā)者需要先在本地計(jì)算機(jī)中安裝pyecharts。pyecharts官方支持
v0.5.x和v1兩個(gè)版本,兩個(gè)版本之間互不兼容,其中v0.5.x是較早的版本,且已經(jīng)停止維護(hù);v1是一個(gè)全新的版本,它支持Python3.6以上的開(kāi)發(fā)環(huán)境。截止到本書(shū)完稿時(shí),pyecharts的最新版本為1.5.1。9.1pyecharts概述打開(kāi)AnacondaPrompt工具,在提示符的后面輸入如下命令:condainstallpyecharts命令安裝完成后,在命令提示符后面輸入python,之后輸入如下導(dǎo)入語(yǔ)句:frompyecharts.chartsimportBar示例執(zhí)行以上語(yǔ)句后,若AnacondaPrompt窗口沒(méi)有出現(xiàn)任何錯(cuò)誤信息,說(shuō)明pyecharts安裝成功,否則說(shuō)明安裝失敗。Echarts(EnterpriseCharts,商業(yè)產(chǎn)品圖表庫(kù)),是一個(gè)使用JavaScript編寫(xiě)的、開(kāi)源的可視化圖表庫(kù),它提供了一系列直觀且生動(dòng)的、可交互的、可高度個(gè)性化定制的圖表,可以流暢地運(yùn)行在PC和移動(dòng)設(shè)備上,并且兼容當(dāng)前絕大部分瀏覽器(IE8/9/10/11、Chrome、Firefox、Safari等)。多學(xué)一招:EchartsEcharts的底層基于ZRender(二維繪圖引擎,支持Canvas、SVG、VML等多種渲染方法)創(chuàng)建了坐標(biāo)系、圖例、提示框等基礎(chǔ)組件,并基于這些組件創(chuàng)建了豐富的圖表,包括常見(jiàn)的折線圖、柱形圖、散點(diǎn)圖、餅圖等;用于地理數(shù)據(jù)可視化的統(tǒng)計(jì)地圖、熱力圖等;用于關(guān)系數(shù)據(jù)可視化的樹(shù)狀圖、旭日?qǐng)D;用于多維數(shù)據(jù)可視化的平行坐標(biāo);用于BI的漏斗圖、儀表盤(pán),還有任意混搭展現(xiàn)的組合圖表。多學(xué)一招:Echarts多學(xué)一招:Echarts標(biāo)題組件:包括主標(biāo)題和副標(biāo)題,位于圖表的左上角。圖例組件:位于圖表的頂部中心位置,用戶通過(guò)單擊可顯示或隱藏圖例項(xiàng)對(duì)應(yīng)的圖形。提示框組件:用于顯示鼠標(biāo)懸浮在圖形上方的提示內(nèi)容。數(shù)據(jù)區(qū)域縮放組件:用于供用戶選擇關(guān)注細(xì)節(jié)的數(shù)據(jù)信息、概覽圖形數(shù)據(jù)的整體或去除離群點(diǎn)的影響。視覺(jué)映射組件:標(biāo)識(shí)某一數(shù)值范圍內(nèi)數(shù)值及顏色對(duì)應(yīng)關(guān)系的控件,可細(xì)分為分段型視覺(jué)映射組件和連續(xù)型視覺(jué)映射組件。Echarts生成的氣泡圖多學(xué)一招:Echarts除了這些公共組件,還有很多其他可供用戶交互的組件,例如時(shí)間線等,大家可到pyecharts官網(wǎng)進(jìn)行深入學(xué)習(xí),此處不再贅述。目錄頁(yè)9.5定制圖表主題9.1pyecharts概述9.2pyecharts基礎(chǔ)知識(shí)9.3繪制常用圖表9.4繪制組合圖表9.2.1快速繪制圖表#創(chuàng)建Bar類的對(duì)象,并指定畫(huà)布的大小bar=Bar(init_opts=opts.InitOpts(
width='600px',height='300px'))#添加x軸和y軸的數(shù)據(jù)bar.add_xaxis(["襯衫","羊毛衫","雪紡衫",
"褲子","高跟鞋","襪子"])bar.add_yaxis("商家A",[5,20,36,10,75,90])#設(shè)置標(biāo)題、y軸標(biāo)簽bar.set_global_opts(title_opts=opts.TitleOpts(title="柱形圖示例"),yaxis_opts=opts.AxisOpts(name="銷售額(萬(wàn)元)",name_location="center",name_gap=30))bar.render_notebook()示例9.2.1快速繪制圖表與matplotlib相比,pyecharts通過(guò)更少的代碼便繪制了帶有標(biāo)題、圖例、注釋文本的柱形圖。pyecharts在v1版本增加了鏈?zhǔn)秸{(diào)用的功能。鏈?zhǔn)秸{(diào)用是指簡(jiǎn)化同一對(duì)象多次訪問(wèn)屬性或調(diào)用方法的編碼方式,以避免多次重復(fù)使用同一個(gè)對(duì)象變量,使代碼變得簡(jiǎn)潔、易懂。多學(xué)一招:鏈?zhǔn)秸{(diào)用bar=(Bar(init_opts=opts.InitOpts(width='600px',height='300px')).add_xaxis(["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]).add_yaxis("商家A",[5,20,36,10,75,90]).set_global_opts(title_opts=opts.TitleOpts(title="柱形圖示例")))bar.render_notebook()示例9.2.2認(rèn)識(shí)圖表類pyecharts庫(kù)支持繪制30余種豐富的Echarts
圖表,針對(duì)每種圖表均提供了相應(yīng)的類,并將這些圖表類封裝到pyecharts.charts模塊中。常用圖表類前面介紹的圖表類均繼承自Base基類,它們都可以使用與類同名的構(gòu)造方法創(chuàng)建相應(yīng)的圖表實(shí)例。例如,Bar類的構(gòu)造方法的語(yǔ)法格式如下:9.2.2認(rèn)識(shí)圖表類Bar(init_opts=opts.InitOpts())語(yǔ)法以上方法的init_opts參數(shù)表示初始化配置項(xiàng),該參數(shù)需要接收一個(gè)InitOpts類的對(duì)象,通過(guò)構(gòu)建的InitOpts類對(duì)象為圖表指定一些通用的屬性,比如畫(huà)布大小等。bar=Bar(init_opts=opts.InitOpts(width='600px',height='300px'))
示例pyecharts遵循“先配置后使用”的基本原則。pyecharts.options模塊中包含眾多關(guān)于定制圖表組件及樣式的配置項(xiàng)。按照配置內(nèi)容的不同,配置項(xiàng)可以分為全局配置項(xiàng)和系列配置項(xiàng)。9.2.3認(rèn)識(shí)配置項(xiàng)全局配置項(xiàng)是一些針對(duì)圖表通用屬性的配置項(xiàng),包括初始化屬性、標(biāo)題組件、圖例組件、工具箱組件、視覺(jué)映射組件、提示框組件、數(shù)據(jù)區(qū)域縮放組件,其中每個(gè)配置項(xiàng)都對(duì)應(yīng)一個(gè)類。9.2.3認(rèn)識(shí)配置項(xiàng)全局配置項(xiàng)pyecharts的全局配置項(xiàng)9.2.3認(rèn)識(shí)配置項(xiàng)若pyecharts需要為圖表設(shè)置全局配置項(xiàng)(InitOpts除外),則需要將全局配置項(xiàng)傳入set_global_options()方法。set_global_options()方法的語(yǔ)法格式如下:set_global_opts(self,title_opts=opts.TitleOpts(),legend_opts=opts.LegendOpts(),…,axispointer_opts=None)語(yǔ)法title_opts:表示標(biāo)題組件的配置項(xiàng)。legend_opts:表示圖例組件的配置項(xiàng)。tooltip_opts:表示提示框組件的配置項(xiàng)。toolbox_opts:表示工具箱組件的配置項(xiàng)。brush_opts:表示區(qū)域選擇組件的配置項(xiàng)。9.2.3認(rèn)識(shí)配置項(xiàng)若pyecharts需要為圖表設(shè)置全局配置項(xiàng)(InitOpts除外),則需要將全局配置項(xiàng)傳入set_global_options()方法。set_global_options()方法的語(yǔ)法格式如下:set_global_opts(self,title_opts=opts.TitleOpts(),legend_opts=opts.LegendOpts(),…,axispointer_opts=None)語(yǔ)法xaxis_opts,yaxis_opts:表示x、y軸的配置項(xiàng)。visualmap_opts:表示視覺(jué)映射組件的配置項(xiàng)。datazoom_opts:表示數(shù)據(jù)區(qū)域縮放組件的配置項(xiàng)。graphic_opts:表示原生圖形元素組件的配置項(xiàng)。axispointer_opts:表示坐標(biāo)軸指示器組件的配置項(xiàng)。9.2.3認(rèn)識(shí)配置項(xiàng)系列配置項(xiàng)是一些針對(duì)圖表特定元素屬性的配置項(xiàng),包括圖元樣式、文本樣式、標(biāo)簽、線條樣式、標(biāo)記樣式、填充樣式等,其中每個(gè)配置項(xiàng)都對(duì)應(yīng)一個(gè)類。系列配置項(xiàng)pyecharts的系列配置項(xiàng)9.2.3認(rèn)識(shí)配置項(xiàng)前面介紹的系列配置項(xiàng)類都可以通過(guò)與之同名的構(gòu)造方法創(chuàng)建實(shí)例。創(chuàng)建一個(gè)標(biāo)簽配置項(xiàng):label_opts=opts.LabelOpts(is_show=True,position='right',color='gray',font_size=14,rotate=10)示例以上示例中,LabelOpts()方法的參數(shù)is_show設(shè)為True,表示顯示標(biāo)簽;參數(shù)position設(shè)為'right',表示標(biāo)注于圖形右方;參數(shù)color設(shè)為'gray',表示標(biāo)簽文本的顏色為灰色;參數(shù)font_size設(shè)為14,說(shuō)明標(biāo)簽文本的字體大小為14號(hào);參數(shù)rotate設(shè)為10,說(shuō)明標(biāo)簽?zāi)鏁r(shí)針旋轉(zhuǎn)10度。9.2.3認(rèn)識(shí)配置項(xiàng)若pyecharts需要為圖表設(shè)置系列配置項(xiàng),則需要將系列配置項(xiàng)傳入add()或add_xx()方法(直角坐標(biāo)系圖表一般使用add_yaxis()方法)中。bar.add_yaxis(“商家A”,[5,20,36,10,75,90],
label_opts=opts.LabelOpts(is_show=False))示例多學(xué)一招:創(chuàng)建配置項(xiàng)pyecharts可以通過(guò)構(gòu)造方法或字典兩種方式創(chuàng)建配置項(xiàng),兩者是等價(jià)的。示例bar=Bar(init_opts=opts.InitOpts(width="600px",height="300px"))示例bar=Bar(dict(width="600px",height="300px"))#或者bar=Bar({"width":"600px","height":"300px"})9.2.4渲染圖表圖表基類Base主要提供了兩個(gè)渲染圖表的方法:render()和render_notebook()
。9.2.4渲染圖表render()方法用于將圖表渲染到HTML文件,默認(rèn)為位于程序根目錄的render.html文件。render()方法render(self,path="render.html",template_name="simple_chart.html",env=None,**kwargs)語(yǔ)法path:表示生成文件的路徑,默認(rèn)為“render.html”。template_name:表示模板的路徑。render()方法會(huì)返回HTML文件的路徑字符串。9.2.4渲染圖表render_notebook()方法用于將圖表渲染到JupyterNotebook工具中,它無(wú)需接收任何參數(shù)。render_notebook()方法bar.render_notebook()示例目錄頁(yè)9.5定制圖表主題9.1pyecharts概述9.2pyecharts基礎(chǔ)知識(shí)9.3繪制常用圖表9.4繪制組合圖表9.3.1繪制折線圖pyecharts繪制各種圖表的過(guò)程大致相同,可以分為以下幾步:(1)創(chuàng)建與圖表對(duì)應(yīng)類的對(duì)象。(2)添加圖表數(shù)據(jù)。(3)添加圖表系列配置項(xiàng)。(4)添加圖表全局配置項(xiàng)。(5)渲染圖表。9.3.1繪制折線圖pyecharts的Line類表示折線圖,該類中提供了一個(gè)add_yaxis()方法,使用add_yaxis()方法可以為折線圖添加數(shù)據(jù)和配置項(xiàng)。add_yaxis(self,series_name,y_axis,is_selected=True,is_connect_nones=False,xaxis_index=None,…itemstyle_opts=None)語(yǔ)法series_name:表示系列的名稱,顯示于提示框和圖例中。y_axis:表示系列數(shù)據(jù)。color:表示系列的注釋文本的顏色。is_symbol_show:表示是否顯示標(biāo)記及注釋文本,默認(rèn)為True。9.3.1繪制折線圖symbol:表示標(biāo)記的圖形,可以為'circle'(圓形)、'rect'(矩形)、'roundRect'(圓角矩形)、'triangle'(三角形)、'diamond'(菱形)、'pin'(大頭針)、'arrow'(箭頭)、'none'(無(wú))。symbol_size:表示標(biāo)記的大小,可以接收單一數(shù)值,也可以接收諸如[width,height]的數(shù)組。stack:表示將軸上同一類目的數(shù)據(jù)堆疊放置。pyecharts的Line類表示折線圖,該類中提供了一個(gè)add_yaxis()方法,使用add_yaxis()方法可以為折線圖添加數(shù)據(jù)和配置項(xiàng)。add_yaxis(self,series_name,y_axis,is_selected=True,is_connect_nones=False,xaxis_index=None,…itemstyle_opts=None)語(yǔ)法9.3.2繪制餅圖或圓環(huán)圖pyecharts的Pie類表示餅圖,該類中提供了一個(gè)add()方法,使用add()方法可以為餅圖添加數(shù)據(jù)和配置項(xiàng)。add(self,series_name,data_pair,color=None,radius=None,center=None,rosetype=None,is_clockwise=True,…,itemstyle_opts=None)語(yǔ)法series_name:表示系列的名稱,顯示于提示框和圖例中。data_pair:表示系列數(shù)據(jù)幀。radius:表示餅圖的半徑,可以接收一個(gè)包含兩個(gè)元素的數(shù)組,其中數(shù)組的第一項(xiàng)為內(nèi)半徑,第二項(xiàng)為外半徑。center:表示餅圖的中心坐標(biāo)。is_clockwise:表示餅圖的扇區(qū)是否按順時(shí)針排布。9.3.3繪制散點(diǎn)圖pyecharts的Scatter類表示散點(diǎn)圖,EffectScatter類表示帶有漣漪特效的散點(diǎn)圖,這兩個(gè)類中均提供了一個(gè)add_yaxis()方法,使用add_yaxis()方法可以為散點(diǎn)圖添加數(shù)據(jù)和配置項(xiàng)。add_yaxis(self,series_name,y_axis,is_selected=True,xaxis_index=None,yaxis_index=None,color=None,…,itemstyle_opts=None)語(yǔ)法series_name:表示系列的名稱,顯示于提示框和圖例中。y_axis:表示系列數(shù)據(jù)。is_selected:表示是否選中圖例。symbol:表示標(biāo)記的圖形。symbol_size:表示標(biāo)記的大小。9.3.4繪制3D柱形圖pyecharts的Bar3D類表示3D柱形圖,該類中提供了一個(gè)add()方法,使用add()方法可以為3D柱形圖添加數(shù)據(jù)和配置項(xiàng)。add(self,series_name,data,shading=None,itemstyle_opts=None,,…,grid3d_opts=opts.Grid3DOpts())語(yǔ)法series_name:表示系列的名稱。data:表示數(shù)據(jù)。shading:表示陰影。xaxis3d_opts:表示x軸的配置項(xiàng)。yaxis3d_opts:表示y軸的配置項(xiàng)。zaxis3d_opts:表示z軸的配置項(xiàng)。9.3.5繪制統(tǒng)計(jì)地圖pyecharts的Map類表示統(tǒng)計(jì)地圖,該類中提供了一個(gè)add()方法,使用add()方法可以為統(tǒng)計(jì)地圖添加數(shù)據(jù)和配置項(xiàng)。add(self,series_name,data_pair,maptype="china",is_selected=True,is_roam=True,center=None,…,emphasis_itemstyle_opts=None)
語(yǔ)法series_name:表示系列的名稱。data_pair:表示數(shù)據(jù)項(xiàng),可以為諸如(坐標(biāo)點(diǎn)名稱,坐標(biāo)點(diǎn)值)形式的值。maptype:表示地圖的類型。zoom:表示當(dāng)前視角的縮放比例,默認(rèn)值為1。is_map_symbol_show:表示是否顯示標(biāo)記圖形。9.3.6繪制漏斗圖pyecharts的Funnel類表示漏斗圖,該類中提供了一個(gè)add()方法,使用add()方法可以為漏斗圖添加數(shù)據(jù)和配置項(xiàng)。add(self,series_name,data_pair,is_selected=True,color=None,sort_="descending",gap=0,
,itemstyle_opts=None)
語(yǔ)法series_name:表示系列的名稱。data_pair:表示系列數(shù)據(jù)項(xiàng)。is_selected:表示是否選中圖例。sort_:表示數(shù)據(jù)排序,可以取值為'ascending'、'descending'或'none'。gap:表示數(shù)據(jù)圖形的間距,默認(rèn)為0。9.3.7繪制?;鶊Dpyecharts的Saneky類表示桑基圖,該類中提供了一個(gè)add()方法,使用add()方法可以為?;鶊D添加數(shù)據(jù)和配置項(xiàng)。add(self,series_name,nodes,links,is_selected=True,node_width=20,node_gap=8,…,tooltip_opts=None)
語(yǔ)法series_name:表示系列的名稱。nodes:表示分支的序列。links:表示鏈接的序列。node_width:表示分支的寬度。node_gap:表示分支的間隔。目錄頁(yè)9.5定制圖表主題9.1pyecharts概述9.2pyecharts基礎(chǔ)知識(shí)9.3繪制常用圖表9.4繪制組合圖表9.4繪制組合圖表除了前面介紹的單圖表,pyecharts也支持繪制組合圖表,即同一畫(huà)布顯示的多個(gè)圖表。多個(gè)圖表按照不同的組合方式,可以分為并行多圖、順序多圖、選項(xiàng)卡多圖和時(shí)間輪播多圖。pyecharts.charts的Grid類表示并行排列的組合圖表,它可以采用左右布局或上下布局的方式顯示多個(gè)圖表。Grid類中包含一個(gè)add()方法,使用add()方法可以為組合圖表添加圖表或配置項(xiàng)。9.4.1并行多圖add(self,chart,grid_opts,grid_index=0,is_control_axis_index=False)語(yǔ)法chart:表示圖表。grid_opts:表示直角坐標(biāo)系配置項(xiàng)。grid_index:表示直角坐標(biāo)系網(wǎng)格索引,默認(rèn)為0。is_control_axis_index:表示是否由自己控制坐標(biāo)軸索引,默認(rèn)為False。9.4.2順序多圖pyecharts.charts的Page類表示順序顯示的組合圖表,它可以在同一網(wǎng)頁(yè)中按順序渲染多個(gè)圖表。Page
類的構(gòu)造方法的語(yǔ)法格式如下所示:Page(page_title="Awesome-pyecharts",js_host="",interval=1,layout=PageLayoutOpts())語(yǔ)法page_title:表示HTML網(wǎng)頁(yè)的標(biāo)題。js_host:表示遠(yuǎn)程的主機(jī)地址,默認(rèn)為"/assets/"。interval:表示每個(gè)圖例之間的間隔,默認(rèn)為1。layout:表示布局配置項(xiàng)。9.4.2順序多圖Grid類提供了一個(gè)add()方法,使用add()方法可以為組合圖表添加多個(gè)圖表實(shí)例。add(*charts)語(yǔ)法charts:任意圖表實(shí)例9.4.3選項(xiàng)卡多圖pyecharts.charts的Tab類表示以選項(xiàng)卡形式顯示的組合圖表,它可以點(diǎn)擊不同的選項(xiàng)卡來(lái)切換顯示多個(gè)圖表。Tab類的構(gòu)造方法的語(yǔ)法格式如下所示:Tab(page_title="Awesome-pyecharts",js_host="")語(yǔ)法以上方法的參數(shù)與Page()方法的參數(shù)相同,此處不再贅述。9.4.3選項(xiàng)卡多圖Tab類提供了一個(gè)add()方法,使用add()方法可以為組合圖表添加圖表。add()方法的語(yǔ)法格式如下所示:add(self,chart,tab_name)語(yǔ)法以上方法的參數(shù)chart表示任意圖表,tab_name表示選項(xiàng)卡標(biāo)簽的名稱。9.4.4時(shí)間線輪播多圖pyecharts.charts的Timeline類表示時(shí)間線輪播的組合圖表,它可以通過(guò)點(diǎn)擊時(shí)間線的時(shí)間節(jié)點(diǎn)來(lái)切換顯示多個(gè)圖表。Timeline類中提供兩個(gè)重要的方法add_schema()和add()
。9.4.4時(shí)間線輪播多圖add_schema()方法用于為圖表添加指定樣式的時(shí)間線。add_schema()方法add_schema(self,axis_type="category",orient="horizontal",symbol=None,symbol_size=None,…,itemstyle_opts=None)
語(yǔ)法axis_type:表示坐標(biāo)軸的類型,可以取值為'value'(數(shù)值軸)、'category'(類目軸)、'time'(時(shí)間軸)、'log'(對(duì)數(shù)軸)。orient:表示時(shí)間線的類型,可以取值為'horizontal'(水平)和'vertical'(垂直)。play_interval:表示播放的速度,單位為ms。9.4.4時(shí)間線輪播多圖add_schema()方法用于為圖表添加指定樣式的時(shí)間線。add_schema()方法add_schema(self,axis_type="category",orient="horizontal",symbol=None,symbol_size=None,…,itemstyle_opts=None)
語(yǔ)法is_auto_play:表示是否自動(dòng)播放,默認(rèn)為False。is_loop_play:表示是否循環(huán)播放,默認(rèn)為True。is_rewind_play:表示是否反向播放,默認(rèn)為False。is_timeline_show:表示是否顯示時(shí)間線組件。width:表示時(shí)間線區(qū)域的寬度。height:表示時(shí)間線區(qū)域的高度。9.4.4時(shí)間線輪播多圖add()方法用于添加圖表和時(shí)間點(diǎn)。add()方法add(self,chart,time_point)語(yǔ)法chart:表示圖表。time_point:表示時(shí)間點(diǎn)。多學(xué)一招:pyecharts.faker包pyecharts.faker是一個(gè)pyecharts官方提供的測(cè)試數(shù)據(jù)包,它包含一個(gè)_Faker類的對(duì)象Faker,通過(guò)Faker對(duì)象訪問(wèn)屬性來(lái)獲取一些測(cè)試數(shù)據(jù)。Faker對(duì)象的常用屬性及其對(duì)應(yīng)的測(cè)試數(shù)據(jù)除此之外,F(xiàn)aker對(duì)象還包含兩個(gè)比較常用的方法:choose()和values(),其中choose()是一個(gè)實(shí)例方法,用于從前面表格的前7組測(cè)試數(shù)據(jù)中隨機(jī)獲取一組測(cè)試數(shù)據(jù);values()是一個(gè)靜態(tài)方法,用于生成一個(gè)包含7個(gè)隨機(jī)整數(shù)n(20<=n<=150)的列表。多學(xué)一招:pyecharts.faker包目錄頁(yè)9.5定制圖表主題9.1pyecharts概述9.2pyecharts基礎(chǔ)知識(shí)9.3繪制常用圖表9.4繪制組合圖表9.5定制圖表主題pyecharts內(nèi)置了十多種不同風(fēng)格的圖表主題,包括LIGHT、DARK、CHALK等,并將這些圖表主題封裝為全局變量ThemeType引用類的屬性中。ThemeType引用類的屬性及說(shuō)明9.5定制圖表主題前表中列舉的屬性可以傳入InitOpts()方法的theme參數(shù),之后在初始化圖表類時(shí)將InitOpts類對(duì)象傳給init_opts參數(shù),如此便修改了圖表默認(rèn)的主題風(fēng)格。示例bar=(#創(chuàng)建Bar類對(duì)象,將圖表主題替換為ThemeType.ROMABar(init_opts=opts.InitOpts(theme=ThemeType.ROMA)).add_xaxis(x_data).add_yaxis("商家A",y_a).add_yaxis("商家B",y_b).set_global_opts(title_opts=opts.TitleOpts(title="柱形圖")))目錄頁(yè)9.6整合Web框架9.7實(shí)例:虎撲社區(qū)分析9.8本章小結(jié)pyecharts可以輕松地整合Web框架,包括主流的
Django
和Flask框架等,實(shí)現(xiàn)在Web項(xiàng)目中繪制圖表的功能。不同的框架和使用場(chǎng)景需要有不同的整合方法。9.6整合Web框架9.6整合Web框架打開(kāi)命令行工具,在命令提示符的后面輸入如下命令:新建Django項(xiàng)目django-adminstartprojectpyecharts_django_demo以上命令執(zhí)行后會(huì)在根目錄中創(chuàng)建一個(gè)名稱為pyecharts_django_demo的Django項(xiàng)目。9.6整合Web框架新建Django項(xiàng)目創(chuàng)建完項(xiàng)目之后,繼續(xù)在命令行中輸入如下命令創(chuàng)建一個(gè)應(yīng)用程序:pythonmanage.pystartappdemo9.6整合Web框架新建Django項(xiàng)目#pyecharts_django_demo/settings.pyINSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','demo'#注冊(cè)的應(yīng)用程序]打開(kāi)pyecharts_django_demo/settings.py文件,在該文件中注冊(cè)應(yīng)用程序demo,注冊(cè)完的代碼如下所示:9.6整合Web框架新建Django項(xiàng)目fromdjango.conf.urlsimporturlfrom.importviewsurlpatterns=[url(r'^$',views.index,name='index'),]由于創(chuàng)建的demo應(yīng)用中歐不包含urls.py文件,需要手動(dòng)創(chuàng)建urls.py文件。編輯demo/urls.py文件,代碼如下:9.6整合Web框架新建Django項(xiàng)目pyecharts_django_demo/urls.pyfromdjango.conf.urlsimportinclude,urlfromdjango.contribimportadminurlpatterns=[url(r'^admin/',admin.site.urls),
url(r'demo/',include('demo.urls'))]在pyecharts_django_demo/urls.py文件中增加'demo.urls',代碼如下:9.6整合Web框架2.復(fù)制pyecharts模板__init__.py__pycache__admin.pyapps.pymigrationsmodels.pytemplatestests.pyurls.pyviews.py示例在demo目錄下新建templates
文件夾,此時(shí)demo的目錄如下所示:將位于pyecharts.render.templates目錄下的pyecharts
模板中的macro和simple_chart.html文件復(fù)制到新建的templates
文件夾中。9.6整合Web框架3.
渲染圖表defindex(request):c=(Bar().add_xaxis(["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]).add_yaxis("商家A",[5,20,36,10,75,90]).add_yaxis("商家B",[15,25,16,55,48,8]).set_global_opts(title_opts=opts.TitleOpts(title=“柱形圖示例",subtitle="我是副標(biāo)題"),
yaxis_opts=opts.AxisOpts(name="銷售額(萬(wàn)元)",name_location="center
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版工業(yè)地皮購(gòu)置與交易全程稅務(wù)籌劃合同3篇
- 二零二五年教育培訓(xùn)機(jī)構(gòu)兼職教師雇傭協(xié)議書(shū)3篇
- 蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院《電液控制工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五版生態(tài)環(huán)保型建筑材料銷售合同3篇
- 二零二五年度定制化餐盒包裝解決方案合同3篇
- 2025年度高新技術(shù)企業(yè)研發(fā)項(xiàng)目財(cái)務(wù)擔(dān)保合同會(huì)計(jì)處理細(xì)則3篇
- 2024版茶樓活動(dòng)策劃合同2篇
- 二零二五年服裝店導(dǎo)購(gòu)員培訓(xùn)與激勵(lì)合同范本3篇
- 山西鐵道職業(yè)技術(shù)學(xué)院《矯正社會(huì)工作》2023-2024學(xué)年第一學(xué)期期末試卷
- 廈門海洋職業(yè)技術(shù)學(xué)院《創(chuàng)意表現(xiàn)圖案》2023-2024學(xué)年第一學(xué)期期末試卷
- 公路工程施工現(xiàn)場(chǎng)安全檢查手冊(cè)
- 公司組織架構(gòu)圖(可編輯模版)
- 1汽輪機(jī)跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 禮品(禮金)上交登記臺(tái)賬
- 北師大版七年級(jí)數(shù)學(xué)上冊(cè)教案(全冊(cè)完整版)教學(xué)設(shè)計(jì)含教學(xué)反思
- 2023高中物理步步高大一輪 第五章 第1講 萬(wàn)有引力定律及應(yīng)用
- 青少年軟件編程(Scratch)練習(xí)題及答案
- 浙江省公務(wù)員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內(nèi)科學(xué)
- 全統(tǒng)定額工程量計(jì)算規(guī)則1994
評(píng)論
0/150
提交評(píng)論