日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据可视化】第五章—— 基于PyEcharts的数据可视化

發布時間:2024/1/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据可视化】第五章—— 基于PyEcharts的数据可视化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1. pyecharts數據可視化介紹
  • 2.pyecharts安裝與使用
  • 3.全局配置項和系列配置項
    • 3.1 全局配置項
      • 3.1.1 基本元素配置項
      • 3.1.2 坐標軸配置項
      • 3.1.3 原生圖形配置項
    • 3.2 系列配置項
      • 3.2.1 樣式類配置項
      • 3.2.2 標記類型配置項
      • 3.2.3 其它類配置項
  • 4.運行環境
    • 4.1 生成HTML
    • 4.2 Jupyter Notebook
    • 4.3 Jupyter Lab
  • 5.Pyecharts可視化繪圖
    • 5.1 柱狀圖
    • 5.2 折線圖
    • 5.3 餅圖
    • 5.4 箱型圖
    • 5.5 漣漪散點圖
    • 5.6 K線圖
    • 5.7 雷達圖
  • 6. Bar的基本使用
  • 7. Line的基本使用
  • 8. 餅圖的基本使用
  • 9. 本章小結


1. pyecharts數據可視化介紹

pyecharts是一個用于生成 Echarts 圖表的類庫,是一款將Python與Echarts相結合的強大的數據可視化工具,使用pyecharts可以讓開發者輕松的實現大數據的可視化。

官網 https://pyecharts.org/#/zh-cn/intro

Pyecharts是一個用于生成Echarts圖表的庫。代碼相對簡潔,可以生成Echarts風格的圖表。

?豐富的可視化類型: 提供了常規的折線圖、柱狀圖、散點圖、餅圖、K線圖,用于統計的盒形圖,用于地理數據可視化的地圖、熱力圖、線圖,用于關系數據可視化的關系圖、treemap、旭日圖,多維數據可視化的平行坐標,還有用于 BI 的漏斗圖,儀表盤,并且支持圖與圖之間的混搭。
?多種數據格式無需轉換直接使用: 內置的 dataset 屬性(4.0+)支持直接傳入包括二維表,key-value 等多種格式的數據源,此外還支持輸入 TypedArray 格式的數據。
?千萬數據的前端展現: 通過增量渲染技術(4.0+),配合各種細致的優化,ECharts 能夠展現千萬級的數據量。
?移動端優化: 針對移動端交互做了細致的優化,例如移動端小屏上適于用手指在坐標系中進行縮放、平移。 PC 端也可以用鼠標在圖中進行縮放(用鼠標滾輪)、平移等。
?多渲染方案,跨平臺使用: 支持以 Canvas、SVG(4.0+)、VML 的形式渲染圖表。
?
深度的交互式數據探索:
提供了圖例、視覺映射、數據區域縮放、tooltip、數據刷選等開箱即用的交互組件,可以對數據進行多維度數據篩取、視圖縮放、展示細節等交互操作。
?多維數據的支持以及豐富的視覺編碼手段: 對于傳統的散點圖等,傳入的數據也可以是多個維度的。
?動態數據: 數據的改變驅動圖表展現的改變。
?絢麗的特效: 針對線數據,點數據等地理數據的可視化提供了吸引眼球的特效。
?通過 GL 實現更多更強大絢麗的三維可視化: 在 VR,大屏場景里實現三維的可視化效果。
?無障礙訪問(4.0+): 支持自動根據圖表配置項智能生成描述,使得盲人可以在朗讀設備的幫助下了解圖表內容,讓圖表可以被更多人群訪問。

2.pyecharts安裝與使用

在使用pyecharts之前,首先要安裝它。在Windows命令行中使用以下命令來執行安裝過程:

pip install pyecharts

執行后,可輸入以下命令查看:

pip list

如用戶需要用到地圖圖表,可自行安裝對應的地圖文件包。命令如下:

pip install echarts-countries-pypkg #安裝全球國家地圖 pip install echarts-china-provinces-pypkg#安裝中國省級地圖 pip install echarts-china-cities-pypkg#安裝中國市級地圖

在安裝完地圖庫以后,即可進行地圖的數據可視化顯示。

3.全局配置項和系列配置項

圖形的參數配置是數據可視化的基礎,Pyecharts中的參數配置比較簡單,可分為全局配置項和系列配置項

3.1 全局配置項

3.1.1 基本元素配置項

Pyecharts的基本元素配置項主要包括:InitOpts、ToolBoxFeatureOpts、ToolboxOpts、TitleOpts、DataZoomOpts、LegendOpts、VisualMapOpts、TooltipOpts等8個配置。

(1) InitOpts:

(2) ToolBoxFeatureOpts:

(3) ToolboxOpts:

(4) TitleOpts:

(5) DataZoomOpts :

(6) LegendOpts:
(7) VisualMapOpts:

(8) TooltipOpts:

3.1.2 坐標軸配置項

Pyecharts的坐標軸配置項主要包括:AxisOpts、AxisLineOpts、AxisTickOpts、AxisPointerOpts、SingleAxisOpts等5個配置。

(1) AxisOpts:

(2) AxisLineOpts:

(3) AxisTickOpts:

(4) AxisPointerOpts:

(5) SingleAxisOpts:

3.1.3 原生圖形配置項

Pyecharts的原生圖形配置項主要包括:GraphicGroup、GraphicItem、GraphicBasicStyleOpts、GraphicShapeOpts、GraphicImage、GraphicText、GraphicTextStyleOpts、GraphicRect等8個配置。
(1) GraphicGroup:

(2) GraphicItem:

(3) GraphicBasicStyleOpts:

(4) GraphicShapeOpts:

(5) GraphicImage:

(6) GraphicText:

(7) GraphicTextStyleOpts:

(8) GraphicRect:

3.2 系列配置項

3.2.1 樣式類配置項

Pyecharts的樣式類配置項主要包括:ItemStyleOpts、TextStyleOpts、LabelOpts、LineStyleOpts、SplitLineOpts等5個配置。
(1) ItemStyleOpts:

(2) TextStyleOpts:

(3) LabelOpts:

(4) LineStyleOpts:

(5) SplitLineOpts:

3.2.2 標記類型配置項

Pyecharts的標記類型配置項主要包括:MarkPointItem、MarkPointOpts、MarkLineItem、MarkLineOpts、MarkAreaItem、MarkAreaOpts等6個配置。
(1) MarkPointItem:

(2) MarkPointOpts:

(3) MarkLineItem :

(4) MarkLineOpts:

(5) MarkAreaItem:

(6) MarkAreaOpts:

3.2.3 其它類配置項

Pyecharts的其它類配置項主要包括:EffectOpts、AreaStyleOpts、SplitAreaOpts等3個配置。
(1) EffectOpts:

(2) AreaStyleOpts:

(3) SplitAreaOpts:

4.運行環境

4.1 生成HTML

Pyecharts可以通過render函數生成HTML文件,下面的代碼將結果生成html文件。
……
bar.render(‘bar.html’)

4.2 Jupyter Notebook

Pyecharts可以在Jupyter Notebook環境中運行。
……
bar.render_notebook()

4.3 Jupyter Lab

Pyecharts可以在Jupyter Lab環境中運行。
……
#第一次渲染時候調用load_javascript文件
bar.load_javascript()
bar.render_notebook()

5.Pyecharts可視化繪圖

Pyecharts可以方便的繪制一些基礎視圖,包括柱狀圖,折線圖,箱型圖,漣漪散點圖,K線圖以及雙坐標軸圖等

5.1 柱狀圖

柱狀圖是一種把連續數據畫成數據條的表現形式,通過比較不同組的柱狀長度,從而對比不同組的數據量大小。
描繪柱狀圖的要素有3個:組數、寬度、組限。繪制柱狀圖時,不同組之間是有空隙的。柱狀用來比較兩個或以上的價值(不同時間或者不同條件),只有一個變量,通常利用與較小的數據集分析。柱狀圖也可以多維表達。

(1) 參數配置:

(2) 基本函數形式:
c = (
Bar()
.set_global_opts(title_opts=opts.TitleOpts(title=“Bar-基本示例”, subtitle=“我是副標題”,title_link=“https://pyecharts.org/#/zh-cn/”))
.add_xaxis(Faker.choose())
.add_yaxis(“商家A”, Faker.values())
.add_yaxis(“商家B”, Faker.values())
)

(3) 例:商家A與B商品訂單數量分析
為了分析商家A與B商品訂單數量,繪制了兩個商家商品訂單量的柱狀圖。

bar = Bar()bar = (Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)).add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]).add_yaxis("商家A", [5, 20, 36, 10, 75, 90]).add_yaxis("商家B", [15, 6, 45, 20, 35, 66]).set_global_opts(title_opts=opts.TitleOpts(title="主標題", subtitle="副標題")) )

5.2 折線圖

折線圖是用直線段將各個數據點連接起來而組成的圖像,以折線方式顯示數據的變化趨勢。折線圖可以顯示隨時間而變化的連續數據,因此非常適合顯示相等時間間隔的數據趨勢。在折線圖中,類別數據沿水平軸均勻分布,數值數據沿垂直軸均勻分布。例如為了顯示不同訂單日期的銷售額走勢,可以創建不同訂單日期的銷售額折線圖。

(1) 參數配置:

(2) 例:各門店銷售業績比較分析
為了比較企業門店銷售業績,繪制了各門店的銷售額和利潤額的折線圖。

(3)基本函數形式:

line = Line()line.set_global_opts( title_opts = opts.TitleOpts(title = "門店銷售額利潤額的比較分析", subtitle = "2019年企業經營狀況分析"), toolbox_opts = opts.ToolboxOpts(), legend_opts = opts.LegendOpts(is_show = True) )line.add_xaxis(v1) line.add_yaxis(“銷售額”,v2,is_smooth = True) #is_smooth默認是False,即折線;is_selected默認是False,即不選中 line.add_yaxis("利潤額",v3,is_smooth = True, is_selected = True)

5.3 餅圖


基本函數形式:

c = (Pie().add("", [list(z) for z in zip(Faker.choose(), Faker.values())]).set_colors(["blue", "green", "yellow", "red", "pink", "orange", "purple"]).set_global_opts(title_opts=opts.TitleOpts(title="餅圖")).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")) ) c.render_notebook()

5.4 箱型圖

箱型圖是一種用作顯示一組數據分散情況資料的統計圖。在各種領域也經常被使用,常見于品質管理。
箱型圖主要用于反映原始數據分布的特征,還可以進行多組數據分布特征的比較。
箱型圖的繪制方法是:先找出一組數據的上邊緣、下邊緣、中位數和兩個四分位數;然后,連接兩個四分位數畫出箱體;再將上邊緣和下邊緣與箱體相連接,中位數位于箱體中。

(1) 參數配置:

(2) 例:2019年銷售額和利潤額分析
為了分析2019年的銷售額和利潤額情況,繪制了不同的箱型圖

(3) 基本函數形式:

boxplot = Boxplot()boxplot.set_global_opts( title_opts = opts.TitleOpts(title = "2019年銷售額和利潤額分析",subtitle = "2019年企業經營狀況分析"), toolbox_opts = opts.ToolboxOpts(is_show = False), legend_opts = opts.LegendOpts(is_show = True) )boxplot.add_xaxis(["2019年業績"]) boxplot.add_yaxis("銷售額",boxplot.prepare_data([v2])) boxplot.add_yaxis("利潤額",boxplot.prepare_data([v3]))

5.5 漣漪散點圖

漣漪散點圖是一類特殊的散點圖,只是散點圖中帶有漣漪特效,利用特效可以突出顯示某些想要的數據。
(1) 參數配置:

(2) 例:漣漪散點圖各種圖形

(3) 基本函數形式:

es = EffectScatter()es.set_global_opts( title_opts = opts.TitleOpts(title = "漣漪散點圖分布",subtitle = "各種類型"), xaxis_opts = opts.AxisOpts(splitline_opts = opts.SplitLineOpts(is_show = True)), yaxis_opts = opts.AxisOpts(splitline_opts = opts.SplitLineOpts(is_show = True)), toolbox_opts = opts.ToolboxOpts(False), legend_opts = opts.LegendOpts(is_show = True) ) es.add_xaxis(v1) es.add_yaxis("",v2,symbol = SymbolType.ARROW)es.render_notebook()

5.6 K線圖

K線圖又稱蠟燭圖,股市及期貨市場中的K線圖的畫法包含四個數據,即開盤價,最高價,最低價,收盤價,所有的K線都是圍繞這四個指標展開,反映股票的情況。
如果把每日的K線圖放在一張紙上,就能得到日K線圖,同樣也可以畫出周K線圖,月K線圖。

(1) 參數配置:

(2) 例:企業股票價格趨勢分析

(3) 基本函數形式:

c = (Kline().set_global_opts(xaxis_opts=opts.AxisOpts(is_scale=True),yaxis_opts=opts.AxisOpts(is_scale=True,splitarea_opts=opts.SplitAreaOpts(is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)),),datazoom_opts=[opts.DataZoomOpts(pos_bottom="-2%")],title_opts=opts.TitleOpts(title="Kline-ItemStyle"),).add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)]).add_yaxis("kline",data,itemstyle_opts=opts.ItemStyleOpts(color="#ec0000",color0="#00da3c",border_color="#8A0000",border_color0="#008F28",),) )

5.7 雷達圖


基本函數形式:

c = (Radar().add_schema(schema=[……]).add("預算分配", v1,linestyle_opts=opts.LineStyleOpts(color="#CD0000")).add("實際開銷", v2,linestyle_opts=opts.LineStyleOpts(color="#5CACEE")).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="Radar-單例模式"),) )

6. Bar的基本使用

import pyecharts.options as opts from pyecharts.charts import Bar from pyecharts.faker import Fakerc = (Bar().set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標題",title_link="https://pyecharts.org/#/zh-cn/")).add_xaxis(Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values()) ) c.render_notebook()

import pyecharts.options as opts from pyecharts.charts import Bar from pyecharts.faker import Fakerx = [0,1,2,3,4,5] y = [1,2,3,2,4,3]c = Bar() c.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="pyecharts",title_link="https://pyecharts.org/#/zh-cn/")) c.add_xaxis(x) c.add_yaxis("示例", y) #'label',數值 # c.add_yaxis("商家B", Faker.values()) c.render_notebook()

import pyecharts.options as opts from pyecharts.charts import Bar from pyecharts.faker import Fakerx = ['戰狼2','速度與激情8','功夫瑜伽','西游伏妖篇','變形金剛5:最后的騎士','摔跤吧!爸爸','加勒比海盜5:死無對證','金剛:骷髏島','極限特工:終極回歸','生化危機6:終章','乘風破浪','神偷奶爸3','智取威虎山','大鬧天竺','金剛狼3:殊死一戰','蜘蛛俠:英雄歸來','悟空傳','銀河護衛隊2','情圣','新木乃伊']y = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]c = Bar() c.set_global_opts(title_opts=opts.TitleOpts(title="電影票房", subtitle="pyecharts")) c.add_xaxis(x) c.add_yaxis("示例", y) #'label',數值 # c.add_yaxis("商家B", Faker.values()) c.reversal_axis()c.render_notebook()

import pyecharts.options as opts from pyecharts.charts import Bar from pyecharts.faker import Faker from pyecharts.globals import ThemeTypea = ['猩球崛起3:終極之戰','敦刻爾克','蜘蛛俠:英雄歸來','戰狼2']b_14 = [2358,399,2358,362] b_15 = [12357,156,2045,168] b_16 = [15746,312,4497,319]c = Bar(init_opts=opts.InitOpts(theme=ThemeType.MACARONS))c.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="pyecharts")) c.add_xaxis(a) c.add_yaxis("14日票房", b_14, gap = '0%') #'label',數值 c.add_yaxis("15日票房", b_15, gap = '0%') c.add_yaxis("16日票房", b_16, gap = '0%') # c.add_yaxis("商家B", Faker.values()) c.render_notebook()

import pyecharts.options as opts from pyecharts.charts import Bar from pyecharts.faker import Faker from pyecharts.globals import ThemeTypea = ['猩球崛起3:終極之戰','敦刻爾克','蜘蛛俠:英雄歸來','戰狼2']b_14 = [2358,399,2358,362] b_15 = [12357,156,2045,168] b_16 = [15746,312,4497,319]c = Bar(init_opts=opts.InitOpts(theme=ThemeType.MACARONS))c.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="pyecharts")) c.add_xaxis(a) c.add_yaxis("14日票房", b_14, gap = '0%', stack = '1') #'label',數值 c.add_yaxis("15日票房", b_15, gap = '0%', stack = '1') c.add_yaxis("16日票房", b_16, gap = '0%') c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))# c.add_yaxis("商家B", Faker.values()) c.render_notebook()

import pyecharts.options as opts from pyecharts.charts import Bar from pyecharts.faker import Faker from pyecharts.globals import ThemeTypea = ['猩球崛起3:終極之戰','敦刻爾克','蜘蛛俠:英雄歸來','戰狼2']b_14 = [2358,399,2358,362] b_15 = [12357,156,2045,168] b_16 = [15746,312,4497,319]c = Bar(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE))c.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="pyecharts")) c.add_xaxis(a) c.add_yaxis("14日票房", b_14, gap = '0%') #'label',數值 c.add_yaxis("15日票房", b_15, gap = '0%') c.add_yaxis("16日票房", b_16, gap = '0%') c.set_series_opts(label_opts=opts.LabelOpts(is_show=False),markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="max", name="最大值"), # opts.MarkPointItem(type_="min", name="最小值"), # opts.MarkPointItem(type_="average", name="平均值"),]))# c.add_yaxis("商家B", Faker.values()) c.render_notebook()

7. Line的基本使用

import pyecharts.options as opts from pyecharts.charts import Line from pyecharts.faker import Faker from pyecharts.globals import ThemeTypea = ['猩球崛起3:終極之戰','敦刻爾克','蜘蛛俠:英雄歸來','戰狼2']b_14 = [2358,399,2358,362] b_15 = [12357,156,2045,168] b_16 = [15746,312,4497,319]c = Line(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE))c.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="pyecharts")) c.add_xaxis(a) c.add_yaxis("14日票房", b_14) #'label',數值 c.add_yaxis("15日票房", b_15) c.add_yaxis("16日票房", b_16) c.set_series_opts(label_opts=opts.LabelOpts(is_show=False),markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="max", name="最大值"), # opts.MarkPointItem(type_="min", name="最小值"), # opts.MarkPointItem(type_="average", name="平均值"),]))# c.add_yaxis("商家B", Faker.values()) c.render_notebook()

import pyecharts.options as opts from pyecharts.charts import Line from pyecharts.faker import Fakerc = Line() c.add_xaxis(Faker.choose()) c.add_yaxis("商家A", Faker.values()) c.add_yaxis("商家B", Faker.values()) c.set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例")) c.render_notebook()

import pyecharts.options as opts from pyecharts.charts import Line from pyecharts.faker import Fakerx = range(0,10,2) y = [2,1,3,5,4]c = Line() c.add_xaxis(x) c.add_yaxis("商家A", y, is_smooth = True,symbol="circle",symbol_size=15,linestyle_opts=opts.LineStyleOpts(color="green", width=3, type_="dashed"),label_opts=opts.LabelOpts(is_show=False),itemstyle_opts=opts.ItemStyleOpts(border_width=2, border_color="orange", color="purple"),) # c.add_yaxis("商家B", Faker.values()) c.set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例")) c.set_series_opts(label_opts=opts.LabelOpts(is_show=False),markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max", name="最大值"),opts.MarkPointItem(type_="min", name="最小值"), # opts.MarkPointItem(type_="average", name="平均值"),]))c.render_notebook()

import pyecharts.options as opts from pyecharts.charts import Line from pyecharts.faker import Fakerx = range(0,10,2) y = [2,1,3,5,4]c = Line() c.add_xaxis(x) c.add_yaxis("商家A", y, is_smooth = True,symbol="circle",symbol_size=15,linestyle_opts=opts.LineStyleOpts(color="green", width=3, type_="dashed"),label_opts=opts.LabelOpts(is_show=False),itemstyle_opts=opts.ItemStyleOpts(border_width=2, border_color="orange", color="purple"),areastyle_opts=opts.AreaStyleOpts(opacity=0.3)) # c.add_yaxis("商家B", Faker.values()) c.set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例")) c.set_series_opts(label_opts=opts.LabelOpts(is_show=False),markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max", name="最大值"),opts.MarkPointItem(type_="min", name="最小值"), # opts.MarkPointItem(type_="average", name="平均值"),]))c.render_notebook()

import pyecharts.options as opts from pyecharts.charts import Line from pyecharts.globals import ThemeTypev1 = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] v2 = [24, 40, 101, 134, 90, 230, 210, 230, 120, 230, 210, 120] #北京 v3 = [40, 64, 191, 324, 290, 330, 310, 213, 180, 200, 180, 79] #天津c = (Line(init_opts=opts.InitOpts(theme=ThemeType.MACARONS)).set_global_opts(title_opts=opts.TitleOpts(title="北京與天津個月銷售數量分布的折線圖"),legend_opts=opts.LegendOpts(is_show=True),datazoom_opts=opts.DataZoomOpts(),axispointer_opts= opts.AxisOpts(boundary_gap=["20%","20%"])).add_xaxis(v1).add_yaxis("北京",v2,stack=1,is_smooth=True,areastyle_opts=opts.AreaStyleOpts(opacity=0.5,color="purple")).add_yaxis("天津", v3,stack=1,is_smooth=True,areastyle_opts=opts.AreaStyleOpts(opacity=0.5,color="red")) .set_series_opts(label_opts=opts.LabelOpts(is_show=False),markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max", name="最大值"),opts.MarkPointItem(type_="min", name="最小值"), opts.MarkPointItem(type_="average", name="平均值"),])) ) c.render_notebook()

8. 餅圖的基本使用

from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker from pyecharts.globals import ThemeType #定制主題c = Pie() c.add("", [list(z) for z in zip(Faker.choose(), Faker.values())]) c.set_colors(["blue", "green", "yellow", "red", "pink", "orange", "purple"]) c.set_global_opts(title_opts=opts.TitleOpts(title="餅圖")) c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: ozvdkddzhkzd%"))c.render_notebook()

import matplotlib.pyplot as plt import numpy as np import matplotlibmatplotlib.rcParams['font.family'] = ['Kaiti'] #設置字體 plt.figure(figsize = (5,5),dpi = 100)sizes = [45,30,15,10] #設置每部分大小 labels = ['計算機系','機械系','管理系','社科系'] explode = [0.1,0,0,0] #設置每部分凹凸 colors = ['c','g','b','m']plt.pie(sizes,labels = labels,explode = explode,colors = colors,labeldistance = 1,autopct = '%.1f%%',counterclock = False,startangle = 90,shadow = True)plt.title('餅圖',fontsize = 20);#設置標題 plt.show()

from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker from pyecharts.globals import ThemeType #定制主題sizes = [45,30,15,10] #設置每部分大小 labels = ['計算機系','機械系','管理系','社科系']c = Pie() c.add("", [list(z) for z in zip(labels, sizes)]) c.set_colors(["blue", "green", "yellow", "red"]) c.set_global_opts(title_opts=opts.TitleOpts(title="餅圖")) c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: ozvdkddzhkzd%"))c.render_notebook()

from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker from pyecharts.globals import ThemeType #定制主題sizes = [45,30,15,10] #設置每部分大小 labels = ['計算機系','機械系','管理系','社科系']c = Pie(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE)) c.add("", [list(z) for z in zip(labels, sizes)],radius=["40%", "75%"]) # c.set_colors(["blue", "green", "yellow", "red"]) c.set_global_opts(title_opts=opts.TitleOpts(title="餅圖")) c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: ozvdkddzhkzd%"))c.render_notebook()

from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker from pyecharts.globals import ThemeType #定制主題sizes = [45,30,15,10] #設置每部分大小 labels = ['計算機系','機械系','管理系','社科系']c = Pie(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE)) c.add("", [list(z) for z in zip(labels, sizes)],radius=["25%", "60%"],center=["25%", "50%"],rosetype="radius")c.add("", [list(z) for z in zip(labels, Faker.values())],radius=["25%", "75%"],center=["75%", "50%"],rosetype="radius") # c.set_colors(["blue", "green", "yellow", "red"]) c.set_global_opts(title_opts=opts.TitleOpts(title="餅圖")) c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: ozvdkddzhkzd%"))c.render_notebook()

from pyecharts.charts import Pie from pyecharts import options as opts from pyecharts.globals import ThemeTypev1 = ["魯帆", "章戎", "王海強", "諸葛菠蘿", "徐天宏", "張明"] v2 = [25, 14, 12, 28, 8, 5] v2 = sorted(v2) c = (Pie(init_opts=opts.InitOpts(theme=ThemeType.MACARONS)).set_global_opts(title_opts=opts.TitleOpts(title="不同人發送郵件數量")).add("", [list(z) for z in zip(v1, v2)],radius=['10%', '70%'],center=['50%', '50%'],rosetype="radius") # .set_colors( # ['rgb({r},10,{b})'.format(r=255-20*(len(v2)-x+1), b=255-15*x) for x in range(len(v2))] # ).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: ozvdkddzhkzd%"))) c.render_notebook()

9. 本章小結

(1)ECharts是一個使用 JavaScript 實現的開源可視化庫,可以流暢的運行在 PC 和移動設備上,并能夠兼容當前絕大部分瀏覽器。在功能上,ECharts可以提供直觀,交互豐富,可高度個性化定制的數據可視化圖表。
(2)pyecharts 是一個用于生成 Echarts 圖表的類庫,是一款將Python與ECharts相結合的強大的數據可視化工具,使用pyecharts可以讓開發者輕松的實現大數據的可視化。

總結

以上是生活随笔為你收集整理的【数据可视化】第五章—— 基于PyEcharts的数据可视化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。