Python數(shù)據(jù)可視化 課件 08章Pyecharts交互可視化庫_第1頁
Python數(shù)據(jù)可視化 課件 08章Pyecharts交互可視化庫_第2頁
Python數(shù)據(jù)可視化 課件 08章Pyecharts交互可視化庫_第3頁
Python數(shù)據(jù)可視化 課件 08章Pyecharts交互可視化庫_第4頁
Python數(shù)據(jù)可視化 課件 08章Pyecharts交互可視化庫_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python數(shù)據(jù)可視化第8章Pyecharts交互可視化庫教師:xxx2024.07第1節(jié)Pyecharts簡介第8章Pyecharts交互可視化庫第2節(jié)常見圖形類型第3節(jié)新穎的圖形一第4節(jié)新穎的圖形二第5節(jié)地圖第6節(jié)圖形組合前面章節(jié)介紹的都是靜態(tài)圖片,本章介紹動態(tài)交互圖形。動態(tài)交互圖形能隨著鼠標(biāo)點(diǎn)擊和移動而交互變化,這些變換效果實(shí)際上是由JavaScript腳本實(shí)現(xiàn)的。Echarts是百度開源的JavaScript可視化庫,官網(wǎng)為。直接使用Echarts對用戶要求較高,用戶需掌握網(wǎng)頁制作和JS技術(shù)。Python適合數(shù)據(jù)處理,Echarts適合交互可視化,兩者結(jié)合就產(chǎn)生了Pyecharts庫。使用該庫時(shí),不要求用戶必須掌握網(wǎng)頁和JS技術(shù),所有效果都可由純python代碼實(shí)現(xiàn)。本章代碼在1.9.1(2021.11月)和2.0.3(2023.04月)版下均測試通過,兩個(gè)版本在默認(rèn)顏色及某些數(shù)據(jù)格式和圖形

外觀上有差異。其最新的2.0.3版是為配合新版的Echarts5.0而推出的。教材送審付印時(shí)的版本為1.9.1,本ppt和代碼文件按2.0.3版做了調(diào)整。命令行上執(zhí)行pipinstallpyecharts==2.0.3安裝本書適配的2.0.3版本。官網(wǎng)為/#/zh-cn/intro,代碼示例網(wǎng)址/#/README。第1節(jié)Pyecharts簡介一、Pyecharts概述(一)

繪圖原理Pyecharts的繪圖原理及命令完全不同于Matplotlib。Python代碼主要用于數(shù)據(jù)處理和圖形參數(shù)設(shè)置,這些設(shè)置最終被轉(zhuǎn)換為Echarts的參數(shù),由Echarts和瀏覽器呈現(xiàn)繪圖效果,因此圖形必須在瀏覽器或jupyternotebook這類支持瀏覽器的開發(fā)環(huán)境中才能查看。本節(jié)代碼見"08.1.ipynb"文件。下面看一個(gè)簡單的柱狀圖示例,展示兩個(gè)商家的銷售對比。frompyecharts.chartsimportBar #引入Barx=["襯衫","羊毛衫","西褲"]y1=[65,50,66];y2=[75,80,56]bar=Bar() #創(chuàng)建柱狀圖對象barbar.add_xaxis(x) #添加x軸數(shù)據(jù)bar.add_yaxis("商家A",y1) #第一組y值,"商家A"序列名(圖例),序列名即便為空串也不可省略bar.add_yaxis("商家B",y2) #第二組y值bar.render_notebook() #指定在notebook中渲染顯示一、Pyecharts概述點(diǎn)擊圖例或移動鼠標(biāo)可觀察到圖形變換。右圖只顯示了“商家A”,隱藏了“商家B”。上面的命令將生成網(wǎng)頁bar1.html,雙擊該文件將打開瀏覽器顯示。查看網(wǎng)頁源代碼,可見頭部包含一行代碼“<scripttype="text/javascript"src="/assets/echarts.min.js"></script>”,其中echarts.min.js是網(wǎng)頁渲染時(shí)需要獲取的腳本文件。在網(wǎng)頁源碼中可見Pyecharts將數(shù)據(jù)和各種圖形參數(shù)都包裝為json對象,封裝在網(wǎng)頁中,最后由瀏覽器渲染呈現(xiàn)。#bar.render_notebook() #注釋該行,不在notebook中直接顯示bar.render("D:/bar1.html") #render()生成網(wǎng)頁,如文件名為空則默認(rèn)網(wǎng)頁名為render.html鏈?zhǔn)綄懛▽ο蟮母鞣N方法串成長鏈連續(xù)調(diào)用,是網(wǎng)頁開發(fā)包中常見的寫法。圖形可以在jupyternotebook中顯示,也可生成網(wǎng)頁后再顯示,將代碼段最后一句修改如下。(二)代碼格式/上有很多Pyecharts示例,代碼除了上面的寫法,還有如下幾種典型格式。frompyecharts.chartsimportBarx=["襯衫","羊毛衫","西褲"]y1=[65,50,66]y2=[75,80,56]bar=Bar().add_xaxis(x).add_yaxis("商家A",y1).add_yaxis("商家B",y2) #鏈?zhǔn)綄懛╞ar.render_notebook() 一、Pyecharts概述如果后續(xù)對bar對象無需做其它操作,則這個(gè)對象可以不顯式生成,代碼可簡寫如下:(二)代碼格式有時(shí)方法中的參數(shù)較多,一行容納不下可拆分為多行,格式如下。bar=(Bar() #鏈?zhǔn)綄懛ǎ鸱譃槎嘈?/p>

.add_xaxis(xaxis_data=x) #本例給出了完整的形參名

.add_yaxis(series_name="商家A",y_axis=y1) #series_name序列名,必須的參數(shù)

.add_yaxis(series_name="商家B",y_axis=y2)

) #外面加括號,解決分行書寫時(shí)的縮進(jìn)問題bar.render_notebook() (Bar() #對比上例,此處省略了顯式的賦值對象bar.add_xaxis(xaxis_data=x).add_yaxis(series_name="商家A",y_axis=y1).add_yaxis(series_name="商家B",y_axis=y2).render_notebook() #該行在括號內(nèi)、外均可) 本章后續(xù)主要采用如上所示的兩種代碼格式。一、Pyecharts概述(三)版本區(qū)分Pyecharts有三種主要版本:v0.5、v1.x和v2.x版,v0.5和另兩種版本完全不兼容,本章代碼在v2.0版調(diào)試通過。讀者參考網(wǎng)上代碼時(shí)不要借鑒v0.5版的舊代碼,兩種版本引入繪圖函數(shù)時(shí)的語法不同,區(qū)分如下。frompyechartsimportBar #如直接從pyecharts引入繪圖函數(shù)則為舊版v0.5,本書不支持frompyecharts.chartsimportBar #如從pyecharts.charts引入繪圖函數(shù)則為v1.x或v2.x

(四)作圖步驟(概括為如下5步)(1)準(zhǔn)備數(shù)據(jù)。Pyecharts不同于第7章的Seaborn庫,本身不具備統(tǒng)計(jì)數(shù)據(jù)功能,作圖前要先處理好數(shù)據(jù),例如自行統(tǒng)計(jì)數(shù)據(jù)的頻次/頻率,分類匯總計(jì)算等。Pyecharts僅支持Python原生數(shù)據(jù)類型,如int、float、列表、元組等,不支持Numpy數(shù)組,也不支持Pandas的Series和DataFrame。不支持的數(shù)據(jù)類型在繪圖前應(yīng)自行轉(zhuǎn)為列表。按軟件包設(shè)計(jì)者的說法,這樣使得Pyecharts內(nèi)部不依賴于Numpy和Pandas這兩個(gè)重量級的包,使整個(gè)庫輕量化。x=["襯衫","羊毛衫","西褲"]arr=np.array([65,50,66]) #測試能否直接使用np數(shù)組#Bar().add_xaxis(x).add_yaxis("A",arr).render_notebook() #錯(cuò)誤,不支持np數(shù)組,不報(bào)錯(cuò),但也無圖形輸出Bar().add_xaxis(x).add_yaxis("A",arr.tolist()).render_notebook()#正確,arr.tolist()轉(zhuǎn)為列表一、Pyecharts概述(四)作圖步驟(概括為如下5步)(2)創(chuàng)建圖形對象。根據(jù)要繪制的圖形,先導(dǎo)入合適的圖形類型,再創(chuàng)建該對象。frompyecharts.chartsimportBar,Pie,Map,Radar #導(dǎo)入柱狀圖、餅圖、地圖、雷達(dá)圖bar=Bar() #顯式創(chuàng)建對象barPie() #隱式創(chuàng)建,沒有明確賦值給某個(gè)變量(3)添加數(shù)據(jù)。在已創(chuàng)建的圖形對象上添加數(shù)據(jù),不同的圖形對象添加方法有差異。bar.add_xaxis(['A','B','C']).add_yaxis("",[10,8,11]).render_notebook()#柱狀圖添加數(shù)據(jù)Pie().add("",[("a",12),("b",13),("c",8),("d",10)]).render_notebook()#餅圖添加數(shù)據(jù)柱狀圖需要二維數(shù)據(jù),用add_xaxis()和add_yaxis()分別添加x軸和y軸數(shù)據(jù)。餅圖僅需一維數(shù)據(jù),只需用add()方法添加一個(gè)列表。(4)設(shè)置圖形配置項(xiàng)。按官網(wǎng)說法,Pyecharts中一切皆為options配置項(xiàng),詳見下節(jié)。(5)渲染生成圖形。用render_notebook()或render()生成網(wǎng)頁圖形。注意:一個(gè)notebook單元格中只能有一條render_notebook()語句,且該語句后面不能再有任何其它語句,否則后續(xù)語句的執(zhí)行會沖掉前面的圖形輸出。一、Pyecharts概述二、設(shè)置配置項(xiàng)按官網(wǎng)說法,Pyecharts中一切皆為options配置項(xiàng)。右圖設(shè)置了主標(biāo)題/副標(biāo)題/工具箱/系列設(shè)置等配置項(xiàng)。frompyecharts.chartsimportBar importpyecharts.optionsasopts #引入opts配置模塊(重要)x=["襯衫","羊毛衫","西褲"]y1=[65,50,66];y2=[75,80,56](Bar(init_opts=opts.InitOpts(width="400px",height="300px")) #初始設(shè)置:寬度、高度.add_xaxis(x).add_yaxis("商家A",y1,color='#A4353E') #color:柱體顏色.add_yaxis("商家B",y2,color='#43530F')

#全局配置:主標(biāo)題、副標(biāo)題、主標(biāo)題鏈接、工具箱(含圖片下載、切換為折線/柱形).set_global_opts(title_opts=opts.TitleOpts(title="主標(biāo)題(鏈接)",subtitle="副標(biāo)題", title_link=""),toolbox_opts=opts.ToolboxOpts(feature={"saveAsImage":{},"magicType":{"type":["line","bar"]}}),)#系列配置.set_series_opts(label_opts=opts.LabelOpts(is_show=False))#is_show=False不顯示標(biāo)注數(shù)值).render_notebook()二、設(shè)置配置項(xiàng)上頁代碼演示了Pyecharts的一些配置項(xiàng)設(shè)置方法。要了解眾多的選項(xiàng)參數(shù),主要是查閱在線文檔并學(xué)習(xí)官網(wǎng)示例。Pyecharts沒有提供離線文檔,所有文檔需在線訪問,配置項(xiàng)主頁面如下。Pyecharts配置項(xiàng)主要分為:全局配置項(xiàng)、系列配置項(xiàng)和各類圖表配置項(xiàng)。配置時(shí)先導(dǎo)入配置項(xiàng)工具pyecharts.options并命名為opts,如下代碼所示。importpyecharts.optionsasopts #引入options配置模塊并命名為opts二、設(shè)置配置項(xiàng)配置方法有如下幾種形式。(一)利用set_global_opts()方法設(shè)置全局配置項(xiàng)點(diǎn)擊上頁圖中的“全局配置項(xiàng)”,再點(diǎn)擊“TitleOpts標(biāo)題配置項(xiàng)”,如右圖所示。常用的全局配置項(xiàng)有:TitleOpts標(biāo)題、DataZoomOpts區(qū)域縮放、VisualMapOpts視覺映射、AxisOpts坐標(biāo)軸、LegendOpts圖例和TooltipOpts提示框等。圖形默認(rèn)顯示圖例和提示框信息。配置項(xiàng)按類組織,每個(gè)類中包含若干項(xiàng)目,設(shè)置各項(xiàng)目的語法非常有規(guī)律,如下所示。小寫的類名_opts=opts.類名(項(xiàng)目=值,項(xiàng)目=值,…)類名是按大駝峰式寫法(每個(gè)單詞首字母大寫)命名的,設(shè)置選項(xiàng)時(shí)類名前面字母全部轉(zhuǎn)小寫,再連接上“_opts”,例如“TitleOpts”變?yōu)椤皌itle_opts”,“TooltipOpts”變?yōu)椤皌ooltip_opts”。(Bar().set_global_opts(title_opts=opts.TitleOpts(title="主標(biāo)題",subtitle="副標(biāo)題"),#標(biāo)題

toolbox_opts=opts.ToolboxOpts(),#工具箱按鈕

)).render_notebook()二、設(shè)置配置項(xiàng)有時(shí)參數(shù)值不是簡單的數(shù)據(jù)類型,其本身也是一個(gè)類,此時(shí)可用類似語法進(jìn)行嵌套設(shè)置。例如要設(shè)置標(biāo)題的文字格式,文字格式也是類,類名為TextStyleOpts,設(shè)置代碼如下。參數(shù)名和類型均可查詢在線文檔得到。要注意按語法要求所有全局配置項(xiàng)只能寫在一條set_global_opts()命令中,不能因?yàn)轫?xiàng)目多而拆開寫在多條命令中。下面配置中的“主標(biāo)題”會被后來的配置覆蓋,無法顯示。(Bar().set_global_opts(title_opts=opts.TitleOpts(title="主標(biāo)題",#設(shè)置標(biāo)題格式:字號、顏色

title_textstyle_opts=opts.TextStyleOpts(font_size=30,color="blue"))#文字格式也是類,用類似語法嵌套設(shè)置

)).render_notebook() (Bar().set_global_opts(title_opts=opts.TitleOpts(title="主標(biāo)題")).set_global_opts(toolbox_opts=opts.ToolboxOpts()) #錯(cuò)誤寫法,寫了兩條set_global_opts()).render_notebook() #將只顯示工具箱,不會顯示前一條命令設(shè)置的主標(biāo)題二、設(shè)置配置項(xiàng)(二)利用set_series_opts()方法設(shè)置系列配置項(xiàng)點(diǎn)擊圖中的“系列配置項(xiàng)”,再點(diǎn)擊“LabelOpts標(biāo)簽配置項(xiàng)”,如右圖所示。系列配置項(xiàng)主要和數(shù)據(jù)序列有關(guān),利用set_series_opts()命令設(shè)置。例如Pyecharts的圖形默認(rèn)都會標(biāo)注數(shù)值,如不想顯示則可設(shè)置“is_show=False”,如下所示。frompyecharts.chartsimportLine #折線圖(Line().add_xaxis(['一月','二月','三月']).add_yaxis("A",[10,8,11]).add_yaxis("B",[5,6,7])#設(shè)置數(shù)據(jù)序列上不顯示數(shù)值標(biāo)注.set_series_opts(label_opts=opts.LabelOpts(is_show=False))).render_notebook() 二、設(shè)置配置項(xiàng)(三)添加數(shù)據(jù)時(shí)設(shè)置圖形配置項(xiàng)每種圖形都有自己獨(dú)特的配置項(xiàng),這些配置項(xiàng)一般可在類似add()這樣的方法中設(shè)置。在圖站的“圖表類型”下可找到“Map地圖”類型,在其add()方法中可查詢到下例中的參數(shù)。frompyecharts.chartsimportMap #Map地圖類 (Map().add("地圖示例",data_pair=[("廣州市",100),("珠海市",70)],maptype="廣東")).render_notebook()

代碼中maptype指定"廣東"地圖,data_pair標(biāo)注特定地區(qū)。地圖在notebook中可用鼠標(biāo)滾輪縮放。二、設(shè)置配置項(xiàng)(四)InitOpts初始化配置項(xiàng)InitOpts初始化配置項(xiàng)雖然在網(wǎng)站文檔中被歸入全局配置項(xiàng),但不能在set_global_opts()中設(shè)置,只能在創(chuàng)建圖形對象時(shí)設(shè)置,常用于設(shè)置圖形的寬度、高度(圖形原來默認(rèn)大小為900x500像素)和主題。frompyecharts.chartsimportLine (Line(init_opts=opts.InitOpts(width="400px",height="300px",bg_color="#d0d0d0"))#寬、高、背景色).render_notebook() #圖略

初次接觸Pyecharts會覺得選項(xiàng)繁雜,設(shè)置困難。讀者重點(diǎn)要抓住全局配置項(xiàng)、系列配置項(xiàng)及各種圖形的add()方法中所列的配置參數(shù)。這些選項(xiàng)不需強(qiáng)記,使用時(shí)在線查詢即可。另外應(yīng)重點(diǎn)學(xué)習(xí)官方示例網(wǎng)站/。在示例代碼中經(jīng)常出現(xiàn)Faker類,這是Pyecharts的偽數(shù)據(jù)類,包含一些預(yù)定義的類別數(shù)據(jù)(animal、dogs、phones、drinks、provinces等),便于作圖演示。frompyecharts.fakerimportFaker #Faker偽數(shù)據(jù)類help(Faker) #顯示Faker幫助信息Faker.animal #['河馬','蟒蛇','老虎','大象','兔子','熊貓','獅子']Faker.phones #['小米','三星','華為','蘋果','魅族','VIVO','OPPO']Faker.choose() #隨機(jī)選擇一個(gè)類別數(shù)據(jù)Faker.values() #隨機(jī)生成含7個(gè)數(shù)據(jù)的列表

二、設(shè)置配置項(xiàng)Pyecharts內(nèi)置了十幾種主題,選擇某個(gè)主題就可整體切換圖形的配色風(fēng)格。在init_opts初始化配置中使用“theme=ThemeType.主題”語句設(shè)置主題。ThemeType類中定義了LIGHT、DARK、ROMA和WHITE等主題,使用help(ThemeType)可查看主題的幫助。frompyecharts.chartsimportBarfrompyechartsimportoptionsasopts #opts配置frompyecharts.globalsimportThemeType #ThemeType主題類frompyecharts.fakerimportFaker #Faker偽數(shù)據(jù)類(Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) #設(shè)置LIGHT主題

.add_xaxis(Faker.choose()) #隨機(jī)選擇某類數(shù)據(jù)

.add_yaxis("",Faker.values()) #隨機(jī)構(gòu)造含7個(gè)數(shù)據(jù)的列表

.set_global_opts(title_opts=opts.TitleOpts(title="主題和偽數(shù)據(jù)演示"))).render_notebook() 三、圖形類型Pyecharts支持的圖形類型非常豐富,下表按字母順序列出了40余種圖形類型。類型名說明類型名說明BMap百度地圖Bar柱狀圖/條形圖Bar3D3D柱狀圖Boxplot箱形圖Calendar日歷圖Candlestick股票K線圖EffectScatter漣漪散點(diǎn)圖Funnel漏斗圖Gauge儀表盤Geo地理坐標(biāo)Graph關(guān)系圖Graphic圖形組件Grid組合組件Heatmap熱力圖Image圖片Line折線圖Line3D3D折線圖Liquid水球圖Map地圖Map3D3D地圖MapGlobeGlobe地圖Overlap層疊組件Page頁面組件Parallel平行坐標(biāo)系PictorialBar象型柱圖Pie餅圖Polar極坐標(biāo)圖Radar雷達(dá)圖Sankey?;鶊DScatter散點(diǎn)圖Scatter3D3D散點(diǎn)圖Sunburst旭日圖Surface3D3D曲面Tab分頁組件Table表格組件Theme主題組件ThemeRiver主題河流圖Timeline時(shí)間線組件Tree樹圖Treemap映射樹圖WordCloud詞云圖

第2節(jié)常見圖形類型一、柱狀圖和折線圖柱狀圖和折線圖是常見圖形,二者都需要x軸和y軸數(shù)據(jù),在前面圖8.4中演示了兩類圖可以互相切換。柱狀圖又分為簇狀圖和堆疊圖。如同時(shí)添加2個(gè)y軸序列就產(chǎn)生簇狀圖,兩個(gè)序列如設(shè)置同樣的stack參數(shù)則產(chǎn)生堆疊圖。堆疊柱狀圖代碼如下,后兩圖的代碼見"08.2.ipynb"文件。frompyecharts.chartsimportBarfrompyechartsimportoptionsasopts #opts配置x=["襯衫","羊毛衫","西褲"];y1=[65,50,66];y2=[75,80,56](Bar(init_opts=opts.InitOpts(width="600px",height="400px")).add_xaxis(x).add_yaxis("商家A",y1,stack="s") #兩個(gè)y序列設(shè)置了一樣的stack值"s",產(chǎn)生堆疊圖.add_yaxis("商家B",y2,stack="s",category_gap="60%") #category_gap柱間距離.set_series_opts(label_opts=opts.LabelOpts(position="right")) #標(biāo)注數(shù)字在右側(cè)顯示).render_notebook() 一、柱狀圖和折線圖數(shù)據(jù)較多時(shí)可增加DataZoomOpts區(qū)域縮放。下圖底部有一縮放部件,可鼠標(biāo)拖動選擇查看某段日期的數(shù)據(jù)。frompyecharts.globalsimportThemeType #主題類frompyecharts.fakerimportFaker #Faker偽數(shù)據(jù)類(Bar(init_opts=opts.InitOpts(theme=ThemeType.WALDEN)) #設(shè)置主題為WALDEN.add_xaxis(Faker.days_attrs) #Faker中的天數(shù)(共30天).add_yaxis("",Faker.days_values) #對應(yīng)的30個(gè)數(shù)據(jù)值.set_global_opts(datazoom_opts=opts.DataZoomOpts(), #增加區(qū)域縮放(默認(rèn)在圖形底部)title_opts=opts.TitleOpts(title="區(qū)域縮放演示"),)).render_notebook() 縮放區(qū)默認(rèn)在圖形底部,如代碼改為opts.DataZoomOpts(type_="inside",orient="vertical")則將縮放區(qū)設(shè)置在圖形內(nèi)部的垂直位置。這樣在圖形內(nèi)移動鼠標(biāo)滾輪時(shí),y軸數(shù)據(jù)范圍隨之變化,只顯示出y值在此范圍內(nèi)的柱形。以上參數(shù)請參閱在線文檔“全局配置項(xiàng)/DataZoomOpts配置項(xiàng)”。一、柱狀圖和折線圖圖形中可自行添加一些標(biāo)記點(diǎn)或線,Pyecharts預(yù)定義了“min/max/average”這三類標(biāo)記,可以自動在圖形上標(biāo)記最小值、最大值和均值,如下圖所示。frompyecharts.chartsimportLineimportpyecharts.optionsasoptsx=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]y=[120,432,480,334,450,230,320](Line().add_xaxis(xaxis_data=x).add_yaxis("A",y_axis=y,label_opts=opts.LabelOpts(is_show=False)) #不顯示標(biāo)注數(shù)值

.set_global_opts(tooltip_opts=opts.TooltipOpts(is_show=False), #不顯示tooltip框

#y軸顯示水平網(wǎng)格線

yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),#工具箱按鈕:保存為圖片、切換為折線圖、切換為柱狀圖 toolbox_opts=opts.ToolboxOpts(feature={"saveAsImage":{},"magicType":{"type":["line","bar"]}}),).set_series_opts(markpoint_opts=opts.MarkPointOpts( data=[opts.MarkPointItem(type_='min',name="最低點(diǎn)"),#標(biāo)記min、max兩點(diǎn)

opts.MarkPointItem(type_='max',name="最高點(diǎn)")]), #平均值標(biāo)記線:注意"type_"參數(shù)名末尾是"_"markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_='average',name="平均線")]))).render_notebook() 二、餅圖餅圖用于展示一維數(shù)據(jù)序列中各數(shù)據(jù)的比例關(guān)系,餅圖數(shù)據(jù)應(yīng)是形如[("A",20),("B",30),("C",25)]這樣的元組對。frompyecharts.chartsimportPie #餅圖importpyecharts.optionsasoptsfrompyecharts.fakerimportFakerimportrandomrandom.seed(7) #設(shè)定隨機(jī)種子,保證每次執(zhí)行時(shí)隨機(jī)值不變,圖形不變data=[(item,value)foritem,valueinzip(Faker.dogs,Faker.values())]#構(gòu)造元組對數(shù)據(jù)(Pie().add("",data_pair=data, #數(shù)據(jù)項(xiàng),{c}數(shù)值zxtdthl百分比

label_opts=opts.LabelOpts(formatter="-{c}rbtdff9%",font_size=16), radius="60%") #半徑取圖形寬度、高度中較小值的60%).render_notebook() 餅圖外側(cè)默認(rèn)只顯示數(shù)據(jù)項(xiàng)名稱,不顯示數(shù)值和百分比。查詢在線文檔“系列配置項(xiàng)/LabelOpts標(biāo)簽配置項(xiàng)”,其中formatter參數(shù)可使用各種預(yù)定義格式符,不同圖形的格式符含義不同。對于餅圖,"{a}"圖例名,""數(shù)據(jù)項(xiàng)名稱,"{c}"數(shù)值,"3jttdxh"百分比,因此設(shè)置代碼formatter="-{c}ldlbfdp%"。二、餅圖Pyecharts除了提供普通餅圖,還提供圓環(huán)餅圖。random.seed(7) data=[(item,value)foritem,valueinzip(Faker.dogs,Faker.values())](Pie().add("",data_pair=data, label_opts=opts.LabelOpts(formatter="-{c}fzl1trn%",font_size=16), radius=["55%","70%"]) #內(nèi)半徑55%,外半徑70%,產(chǎn)生圓環(huán)餅圖).render_notebook() #左下圖

(Pie().add("",data_pair=data,label_opts=opts.LabelOpts(formatter="-{c}"),

rosetype="area") #area型所有扇區(qū)圓心角相同,僅通過半徑對比數(shù)據(jù)大小).render_notebook() #右下圖

如果在add()方法中增加rosetype參數(shù),則生成南丁格爾玫瑰餅圖,通過圓心角和半徑變化來對比數(shù)據(jù)。三、散點(diǎn)圖散點(diǎn)圖需要二維數(shù)據(jù),可自定義散點(diǎn)符號類型,下圖演示了相關(guān)配置項(xiàng)。frompyecharts.chartsimportScatter#散點(diǎn)圖importpyecharts.optionsasoptsimportrandomrandom.seed(7)x=sorted([random.randint(0,30)forkinrange(10)]) #隨機(jī)產(chǎn)生10個(gè)點(diǎn)(x,y)y=[random.randint(0,15)forkinrange(10)](Scatter().add_xaxis(xaxis_data=x).add_yaxis("",y_axis=y,symbol="pin",symbol_size=20)#散點(diǎn)符號類型pin、大小.set_global_opts(xaxis_opts=opts.AxisOpts(type_="value"))#value表示x軸數(shù)據(jù)是數(shù)值,非類目).render_notebook() x軸的配置項(xiàng)type_="value"很重要。系統(tǒng)默認(rèn)x軸是category類目軸,非數(shù)值數(shù)據(jù)。假定提供x=[4,3,4,1],這些數(shù)據(jù)默認(rèn)會被視為類似字符串的類目,x軸上就按“4341”的順序顯示,這很顯然是不對的。因此一定要設(shè)置type_="value",表示x軸數(shù)據(jù)應(yīng)按數(shù)值來作圖。y軸數(shù)據(jù)默認(rèn)按數(shù)值理解,可不用設(shè)置此項(xiàng)。四、保存圖片和本地查看示例(一)

將圖形保存為圖片Pyecharts負(fù)責(zé)生成網(wǎng)頁,但不能直接生成圖形,圖形必須經(jīng)過瀏覽器渲染才能生成,Pyecharts沒有直接另存為靜態(tài)圖片的方法。要將圖形保存為圖片文件,一種方法是配置“保存為圖片”工具箱,見8.1.2小節(jié),在瀏覽器中生成圖片后再保存。另一種方法是配置所謂的headless無頭瀏覽器驅(qū)動程序,調(diào)用驅(qū)動在后臺渲染生成圖片,然后再用特別的命令存為圖片。在生成圖片時(shí)并不會彈出瀏覽器窗口,因此稱為headless。詳情見教材及官方文檔“進(jìn)階話題/渲染圖片”中的說明。frompyecharts.chartsimportBarfromsnapshot_seleniumimportsnapshot #使用snapshot-selenium渲染圖片frompyecharts.renderimportmake_snapshot #導(dǎo)入輸出圖片的工具bar=Bar().add_xaxis(["襯衫","羊毛衫","西褲"]).add_yaxis("商家A",[65,50,66])#chromedriver.exe放在當(dāng)前目錄下亦可make_snapshot(snapshot,bar.render(),"d:/pic1.png") #保存為靜態(tài)圖片pic1.png 上面的代碼必須先安裝snapshot_selenium,并下載正確版本的chromedriver.exe驅(qū)動。四、保存圖片和本地查看示例(二)配置在本地查看示例程序Pyecharts官網(wǎng)提供了很多示例,但需要聯(lián)網(wǎng)查看,有時(shí)速度會較慢。我們可以從/pyecharts/pyecharts-gallery下載pyecharts-gallery-master.zip,該文件包含了所有的示例。將壓縮文件解壓到某個(gè)目錄,例如D:\pye,然后在命令行窗口中切換到D:\pye目錄,執(zhí)行如下命令啟動web服務(wù)器查看示例代碼。python-mhttp.server8000http.server是Python自帶的簡易web服務(wù)器,無需安裝。上面的命令將在本地啟動web服務(wù),然后在瀏覽器中輸入http://localhost:8000/index.html即可在本地查看示例。示例中的網(wǎng)頁是以網(wǎng)站的相對路徑形式組織的,如不以網(wǎng)站形式而以本地文件形式訪問,則關(guān)聯(lián)的網(wǎng)頁路徑不正確,示例中的圖形無法顯示。第3節(jié)新穎的圖形一一、水球圖和儀表盤水球圖用于展示單個(gè)百分比數(shù)字,球內(nèi)的水紋動態(tài)波動,非常漂亮。本節(jié)代碼見"08.3.ipynb"文件。frompyecharts.chartsimportLiquid #水球LiquidLiquid().add("",[0.7,0.4,0.2],color=["green","blue","pink"]).render_notebook() Liquid().add("",[0.8,0.4],shape="arrow").render_notebook() #arrow外形

水球圖用一組從大到小的數(shù)值定義了一系列的水位高度,color參數(shù)定義每種波浪的顏色。水球的默認(rèn)外形是circle,還可設(shè)置為rect、roundRect、triangle、diamond、pin和arrow等。一、水球圖和儀表盤儀表盤是模擬用轉(zhuǎn)速盤展示數(shù)字。importpyecharts.optionsasoptsfrompyecharts.chartsimportGauge #儀表盤(Gauge().add(series_name="本期任務(wù)",data_pair=[("完成率",30)]).set_global_opts(tooltip_opts=opts.TooltipOpts(formatter="{a}<br/>:{c}%"))).render_notebook() 儀表盤的數(shù)據(jù)應(yīng)以“(名,值)”對的形式給出,本例還設(shè)置了tooltip信息框的內(nèi)容和格式。查詢在線文檔可知,{a}序列名,名稱,{c}值。其中的“<br/>”是HTML中的換行符,這樣生成的網(wǎng)頁中tooltip框內(nèi)的文字分兩行顯示。該圖代碼見"08.3.ipynb"文件二、雷達(dá)圖和極坐標(biāo)圖很多數(shù)據(jù)是有多個(gè)維度的,例如游戲中的角色有多個(gè)屬性,可以用雷達(dá)圖清晰地對比兩個(gè)角色。importpyecharts.optionsasoptsfrompyecharts.chartsimportRadar #Radar雷達(dá)圖v1=[(80,150,60,120,100,70)]v2=[(60,110,88,150,90,90)](Radar().add_schema(schema=[opts.RadarIndicatorItem(name="生命力",max_=100,min_=0),opts.RadarIndicatorItem(name="武力值",max_=200),opts.RadarIndicatorItem(name="防御力",max_=100),opts.RadarIndicatorItem(name="體力值",max_=200),opts.RadarIndicatorItem(name="敏捷度",max_=100),opts.RadarIndicatorItem(name="魔法力",max_=100)],splitarea_opt=opts.SplitAreaOpts(areastyle_opts=opts.AreaStyleOpts(opacity=1)),textstyle_opts=opts.TextStyleOpts(color="black",font_size=16),).add("角色1",data=v1,linestyle_opts=opts.LineStyleOpts(color="red")).add("角色2",data=v2,linestyle_opts=opts.LineStyleOpts(color="blue")).set_series_opts(label_opts=opts.LabelOpts(is_show=False))).render_notebook() 雷達(dá)圖用add_schema()定義數(shù)據(jù)屬性,各屬性可定義"name"名稱、"max_"維度最大值和"min_"維度最小值(默認(rèn)值0)。"splitarea_opt"顯示灰色區(qū)塊,最后使用add()方法添加了兩個(gè)游戲角色的對比數(shù)據(jù)。二、雷達(dá)圖和極坐標(biāo)圖數(shù)學(xué)中極坐標(biāo)一般表示為(ρ,θ),ρ是極徑,θ是極角。Pyecharts的極坐標(biāo)圖可以有多種理解方式。例如有數(shù)據(jù)data=[(1,13),(2,38)…(5,90)],每個(gè)數(shù)據(jù)是(x,y)的形式。畫極坐標(biāo)圖時(shí),以最外圈的逆時(shí)針方向的弧長對應(yīng)y值,相當(dāng)于y軸,不同圓圈的半徑對應(yīng)x值,得到下圖。frompyechartsimportoptionsasoptsfrompyecharts.chartsimportPolar #極坐標(biāo)圖data=[(1,13),(2,38),(3,49),(4,61),(5,90)](Polar().add("極坐標(biāo)",data,type_="effectScatter", #類型:波紋動態(tài)散點(diǎn)

effect_opts=opts.EffectOpts(scale=20,period=2)) #scale大小,period值越小波動越明顯).render_notebook() 如果數(shù)據(jù)是類目型,也可以畫極坐標(biāo)圖,如左圖所示,這個(gè)圖可視為柱狀圖的變形。代碼見"08.3.ipynb"文件。三、漏斗圖和?;鶊D漏斗圖可用于展示商務(wù)流程中各個(gè)連續(xù)環(huán)節(jié)之間的業(yè)務(wù)數(shù)據(jù)量變化。漏斗圖的各環(huán)節(jié)應(yīng)從上到下,有邏輯上的順序關(guān)系。每個(gè)環(huán)節(jié)用一個(gè)梯形表示,梯形上底寬度表示當(dāng)前環(huán)節(jié)的輸入情況,下底寬度表示當(dāng)前環(huán)節(jié)的輸出情況,上底與下底的差值表現(xiàn)了在當(dāng)前環(huán)節(jié)業(yè)務(wù)的減小量。用戶可借此識別流程中業(yè)務(wù)數(shù)據(jù)量變化最大的環(huán)節(jié),這個(gè)環(huán)節(jié)可能就是最值得改進(jìn)之處。frompyecharts.chartsimportFunnel #漏斗圖data=[("訪客",16000),("注冊",6000),("咨詢",3000),("意向下單",1200),("成功簽單",500)]Funnel().add("",data,sort_='descending').render_notebook() #sort降序排列例如一個(gè)在線教育類的網(wǎng)站,其業(yè)務(wù)流程大致分為:訪客、注冊、咨詢、意向下單和成功簽單,用漏斗圖展示了各環(huán)節(jié)的業(yè)務(wù)量數(shù)據(jù)變化。三、漏斗圖和?;鶊D?;鶊D又名?;芰糠至鲌D,由RiallSankey發(fā)明。它是由分支和結(jié)點(diǎn)構(gòu)成的數(shù)據(jù)流量圖,分支寬度對應(yīng)數(shù)據(jù)流量大小,主支的數(shù)據(jù)量應(yīng)等于分支數(shù)據(jù)量之和,數(shù)據(jù)從開始到結(jié)束都應(yīng)保持總量不變。這種圖用于形象展示數(shù)據(jù)在各個(gè)結(jié)點(diǎn)間的流動,同時(shí)根據(jù)分支寬度易于判別數(shù)據(jù)量大小。frompyechartsimportoptionsasoptsfrompyecharts.chartsimportSankey #?;鶊Dnodes=[{"name":"蘋果"},{"name":"華為"},{"name":"小米"}, #定義結(jié)點(diǎn)

{"name":"男"},{"name":"女"},{"name":"年齡40以上"},{"name":"年齡25-40"},{"name":"年齡25以下"}]links=[{"source":"蘋果","target":"男","value":100}, #定義分支或邊{"source":"蘋果","target":"女","value":120},{"source":"華為","target":"男","value":150},{"source":"華為","target":"女","value":50},{"source":"小米","target":"男","value":40},{"source":"小米","target":"女","value":55},{"source":"男","target":"年齡40以上","value":80},{"source":"男","target":"年齡25-40","value":150},{"source":"男","target":"年齡25以下","value":60},{"source":"女","target":"年齡40以上","value":60},{"source":"女","target":"年齡25-40","value":125},{"source":"女","target":"年齡25以下","value":40}](Sankey().add("Sankey手機(jī)品牌-性別-年齡段調(diào)查",nodes=nodes,links=links,#結(jié)點(diǎn)和分支

pos_top="10%", #距窗口頂端的位置#opacity:不透明度,curve:曲線曲度,"source"分支采用源頭結(jié)點(diǎn)的顏色

linestyle_opt=opts.LineStyleOpts(opacity=0.4,curve=0.5,color="source"),label_opts=opts.LabelOpts(position="left",font_size=16))).render_notebook() 從上圖可以看出,華為手機(jī)的男性用戶較多,蘋果手機(jī)的男女用戶數(shù)差別不大,小米手機(jī)的女性用戶較多,整個(gè)調(diào)查中男性人數(shù)多一些,年齡在(25,40)區(qū)間的人最多。第4節(jié)新穎的圖形二一、關(guān)系圖和樹圖關(guān)系圖用于展示結(jié)點(diǎn)之間的任意聯(lián)系。制作關(guān)系圖時(shí),首先按固定格式定義結(jié)點(diǎn),結(jié)點(diǎn)還可以定義類目(category)和是否允許拖動(draggable)等性質(zhì),然后定義結(jié)點(diǎn)之間的邊(links),每條邊可賦予權(quán)重value,最后通過Graph().add()方法添加結(jié)點(diǎn)、邊和類目即可。frompyechartsimportoptionsasoptsfrompyecharts.chartsimportGraph #關(guān)系圖nodes=[{"name":"A","symbolSize":10,"category":"type1","draggable":"True"},

{"name":"B","symbolSize":30,"category":"type1","draggable":"True"},{"name":"C","symbolSize":20,"category":"type2"},{"name":"D","symbolSize":35,"category":"type2"},{"name":"E","symbolSize":20,"category":"type2"},]links=[{'source':'A','target':'B','value':1},{'source':'A','target':'D','value':2},{'source':'B','target':'C'},{'source':'B','target':'E'},{'source':'B','target':'D'},{'source':'C','target':'D'},{'source':'D','target':'E'}]categories=[{"name":'type1'},{"name":'type2'}] #結(jié)點(diǎn)類目Graph().add("Graph示例",nodes,links,categories,repulsion=5000).render_notebook()要注意,關(guān)系圖的圖形不是固定的,每次運(yùn)行時(shí)結(jié)點(diǎn)出現(xiàn)的位置會有所不同,但結(jié)點(diǎn)之間的邊不會改變。一、關(guān)系圖和樹圖樹圖用于展示層次數(shù)據(jù),由根節(jié)點(diǎn)到子節(jié)點(diǎn)依次展開。節(jié)點(diǎn)需定義“name”,有子節(jié)點(diǎn)時(shí)則需定義“children”。層次節(jié)點(diǎn)是嵌套定義的,注意結(jié)尾處的“}]”符號應(yīng)層次匹配。frompyecharts.chartsimportTree #樹圖data=[{"name":"A","children":[{"name":"B"},{"name":"C","children":[{"name":"E"},{"name":"F"}]},{"name":"D","children":[{"name":"G","children":[{"name":"H"}]}]},]}](Tree().add("",data,symbol_size=15,symbol="emptycircle", #符號大小,符號類型

orient="LR", #方向,取值可為:'LR'左右,'RL'右左,'TB'上下,'BT'下上

layout="orthogonal") #默認(rèn)值,如改為radial則由中心向外發(fā)散).render_notebook() 點(diǎn)擊節(jié)點(diǎn)可折疊或展開樹圖,折疊的節(jié)點(diǎn)用灰色小圓圈表示。二、日歷圖和旭日圖日歷圖用于按日期展示數(shù)據(jù)。例如網(wǎng)站每天的訪問量,每天完成的任務(wù)數(shù),每天學(xué)習(xí)的時(shí)間等。importdatetime,randomfrompyechartsimportoptionsasoptsfrompyecharts.chartsimportCalendar #日歷圖d1=datetime.date(2021,1,1);d2=datetime.date(2021,6,30)data=[(str(d1+datetime.timedelta(x)),random.randint(10,20000))forxinrange((d2-d1).days+1)]#模擬數(shù)據(jù),格式為[('2021-01-01',1200)...](Calendar().add("",data,calendar_opts=opts.CalendarOpts(range_=['2021-01-01','2021-07-31'],daylabel_opts=opts.CalendarDayLabelOpts(name_map="cn"), #星期幾(中文格式)monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="cn"))) #月份(中文).set_global_opts(title_opts=opts.TitleOpts(title="Calendar-2021年上半年微信每日步數(shù)"),visualmap_opts=opts.VisualMapOpts( #顏色映射條選項(xiàng)

max_=20000,min_=0, #映射值的范圍

orient="horizontal", #水平顯示。默認(rèn)是verticalis_piecewise=True, #分段。默認(rèn)是False,連續(xù)顯示

pos_top="230px",pos_left="100px"), #映射條距離頂部/左邊的位置

tooltip_opts=opts.TooltipOpts(formatter="{c}") #設(shè)置tooltip框顯示數(shù)據(jù)值

)).render_notebook() 左圖展示了每天的微信步數(shù),通過顏色可大致判斷數(shù)據(jù)范圍。點(diǎn)擊底部顏色映射段可篩選某段范圍的數(shù)據(jù)。顏色映射條可查詢在線文檔“全局配置項(xiàng)/VisualMapOpts”。二、日歷圖和旭日圖旭日圖是一種特殊餅圖,因圖形類似太陽的日暈圖而得名。普通餅圖只能反映一個(gè)層級的比例關(guān)系,旭日圖可反映數(shù)據(jù)的多個(gè)層級的比例關(guān)系。frompyecharts.chartsimportSunburst #旭日圖frompyechartsimportoptionsasoptsdata=[opts.SunburstItem(name="食品",value=20,children=[opts.SunburstItem(name="飲料",value=10,children=[opts.SunburstItem(name="果汁",value=4),opts.SunburstItem(name="可樂",value=6)],),opts.SunburstItem(name="酒類",value=10,children=[opts.SunburstItem(name="白酒",value=4),opts.SunburstItem(name="啤酒",value=4),opts.SunburstItem(name="葡萄酒",value=2),],),],),opts.SunburstItem(name="電子產(chǎn)品",value=40,children=[opts.SunburstItem(name="手機(jī)",value=25,children=[opts.SunburstItem(name="華為",value=15),opts.SunburstItem(name="蘋果",value=10),]),opts.SunburstItem(name="電腦",value=15,children=[opts.SunburstItem(name="臺式機(jī)",value=3),opts.SunburstItem(name="筆記本",value=12),],)],),opts.SunburstItem(name="衣物",value=40,children=[opts.SunburstItem(name="男裝",value=10),opts.SunburstItem(name="女裝",value=18),opts.SunburstItem(name="童裝",value=12),],),]Sunburst().add("",data_pair=data,radius=["10%","90%"]).render_notebook()本例中電商網(wǎng)站的一級商品分為“食品/電子產(chǎn)品/衣物”三個(gè)大類,“食品”又分為“飲料/酒類”子類,“飲料”又分為“果汁/可樂”,每個(gè)類別下可無限細(xì)分子類。三、K線圖和詞云圖K線圖是典型的股票類圖形。股票每日交易后產(chǎn)生開盤價(jià)(open)、收盤價(jià)(close)、最低價(jià)(low)和最高價(jià)(high)。利用這4個(gè)價(jià)格可繪制一個(gè)柱體,如收盤價(jià)高于開盤價(jià)則為紅色陽柱,收盤價(jià)低于開盤價(jià)則為綠色陰柱。frompyechartsimportoptionsasoptsfrompyecharts.chartsimportKline #K線圖importpandasaspddf=pd.read_excel('data/601318.xlsx',index_col='trade_date') #讀入股票數(shù)據(jù)文件stock=df[['open','close','low','high']] #K線圖要求按:open,close,low,high排列s=stock.apply(lambdax:x.to_list(),axis=1) #將每行轉(zhuǎn)為一個(gè)列表,得到一個(gè)Seriesdata=s.to_list() #將Series轉(zhuǎn)為列表,得到符合要求的嵌套列表,格式為[[56.04,55.18,54.94,56.18],[55.15,55.68,55.06,56.33],…,](Kline().add_xaxis(df.index.to_list()) #index轉(zhuǎn)為列表作為x軸數(shù)據(jù)

.add_yaxis("601318中國平安-2019全年K線圖",data,

itemstyle_opts=opts.ItemStyleOpts(color="#ef232a", border_color="#ef232a", #陽柱:紅色 color0="#14b143", border_color0="#14b143")) #陰柱:綠色.set_global_opts(yaxis_opts=opts.AxisOpts(is_scale=True, #脫離0值,y軸不需要從0值開始顯示 splitarea_opts=opts.SplitAreaOpts(is_show=True, #顯示灰色分隔帶

areastyle_opts=opts.AreaStyleOpts(opacity=1))), #不透明度

datazoom_opts=opts.DataZoomOpts() #縮放區(qū)域

)).render_notebook() 三、K線圖和詞云圖詞云圖是現(xiàn)在媒體上常見的圖形,用于突出強(qiáng)調(diào)文章中的高頻詞匯。Pyecharts的詞云圖需要先自行統(tǒng)計(jì)詞頻,得到類似[("專業(yè)",100),("學(xué)院",50),…("技術(shù)",20)]這樣的統(tǒng)計(jì)結(jié)果,然后再由WordCloud函數(shù)繪圖。importjieba #引入中文分詞庫jieba,需先pipinstalljieba安裝frompyecharts.chartsimportWordCloud #詞云圖fromcollectionsimportCounter #統(tǒng)計(jì)頻次的函數(shù)withopen('data/專業(yè)設(shè)置討論.txt')asf: #讀取素材文件

s=f.read()lst=jieba.lcut(s) #jieba分詞得到詞匯列表lst=[xforxinlstiflen(x)>1] #剔除長度為1的單字或標(biāo)點(diǎn)符號words=Counter(lst) #統(tǒng)計(jì)頻次,得到類似字典的統(tǒng)計(jì)結(jié)果(WordCloud().add(series_name="討論",data_pair=words.most_common(100), #取頻次排名前100的詞

word_size_range=[6,66],shape='diamond', #字號范圍,詞云圖外形

)).render_notebook() 第5節(jié)地圖一、Map地理信息可視化是將與地理位置有關(guān)的數(shù)據(jù)標(biāo)注在地圖上,例如在地圖上顯示區(qū)域人口密度、疫情數(shù)據(jù)或地區(qū)經(jīng)濟(jì)指標(biāo)等。Pyecharts地圖數(shù)據(jù)來源于百度,百度是國家自然資源部審核批準(zhǔn)的甲級互聯(lián)網(wǎng)地圖服務(wù)商,因此Pyecharts的地圖是可用可信的。Pyecharts提供了Map、Geo和BMap三種地圖方式,地圖都支持縮放操作。importpandasaspdfrompyechartsimportoptionsasoptsfrompyecharts.chartsimportMap #Map型地圖df=pd.read_csv('data/2019gdp_new.txt',sep='\s+',encoding='GBK') #讀文件dat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論