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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python】全文3000字,Pyecharts制作可视化大屏全流程! (附代码分享)

發布時間:2025/3/12 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】全文3000字,Pyecharts制作可视化大屏全流程! (附代码分享) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

就在上一篇的文章當中

干貨分享 | 用Pyecharts繪制20鐘不同風格的炫酷交互式圖表,建議收藏

有粉絲提到說是不是可以寫一篇用Pyecharts模塊做可視化大屏的相關教程,小編立馬就答應了他的請求。那么今天我們就來說說如何用Pyecharts模塊來制作炫酷的可視化大屏,最后的效果如下

步驟如下:

  • 分別使用Pyecharts制作各類圖表,包括柱狀圖、地圖、餅圖等等

  • 使用Pyecharts當中的組合圖表功能,將所有圖片拼接在一張html文件中進行展示

數據的來源

這次我們使用的數據是虛構的某超市2021年第一季度的訂單數據,總共是有1000條,

df.info()

output

<class?'pandas.core.frame.DataFrame'> RangeIndex:?1000?entries,?0?to?999 Data?columns?(total?17?columns):#???Column??Non-Null?Count??Dtype????????? ---??------??--------------??-----?????????0???訂單編號????1000?non-null???object????????1???分支??????1000?non-null???object????????2???省份??????1000?non-null???object????????3???顧客類型????1000?non-null???object????????4???性別??????1000?non-null???object????????5???商品類型????1000?non-null???object????????6???單價??????1000?non-null???float64???????7???數量??????1000?non-null???int64?????????8???Tax?5%??1000?non-null???float64???????9???總價??????1000?non-null???float64???????10??日期??????1000?non-null???datetime64[ns].......?? dtypes:?datetime64[ns](1),?float64(7),?int64(1),?object(8) memory?usage:?132.9+?KB

其中顧客的類型有普通顧客與會員,性別有男性與女性,剩下的還有包括商品類型、購買時間、支付方式、各個商品的毛利率等數據,

數據可視化

接下來我們開始各個圖表的繪制,我們先來看餅圖的繪制,代碼并不復雜,首先我們對“商品類型”這一列的數據進行統計

products_type_index?=?df["商品類型"].value_counts().index.tolist() products_type_values?=?df["商品類型"].value_counts().values.tolist()

然后再調用Pyecharts()模塊中的Pie()實例進行圖表的繪制

def?pie_chart_2():c?=?(Pie(init_opts=opts.InitOpts(chart_id=4,?bg_color='#1C1C1C',theme=ThemeType.INFOGRAPHIC)).add("",?[list(z)?for?z?in?zip(products_type_index,products_type_values)]).set_global_opts(title_opts=opts.TitleOpts(title="商品類型分布圖",title_textstyle_opts=opts.TextStyleOpts(font_size=25,?color='#FFFFFF')),legend_opts=opts.LegendOpts(orient="vertical",pos_left="5%",pos_top="10%")).set_series_opts(label_opts=opts.LabelOpts(formatter=":?{c}")))return?cif?__name__?==?"__main__":map?=?map_chart()map.render("4.html")

output

另外,我們也看到了單張圖片當中有兩張餅圖的情況,這是使用了Pyecharts()模塊當中的Grid()實例,將若干張繪制完成的圖表遵從一定的順序來進行組合

grid?=?(Grid(init_opts=opts.InitOpts(width='1000px',?height='600px',chart_id=3,?bg_color='#1C1C1C')).add(c_1,?grid_opts=opts.GridOpts(pos_left="60%")).add(c_2,?grid_opts=opts.GridOpts(pos_right="50%")))

地圖

同樣地,我們將不同省份的數據給篩選出來之后,然后進行圖表的繪制

city_index?=?df["省份"].value_counts().index.tolist() city_values?=?df["省份"].value_counts().values.tolist()

地圖的繪制用的是Pyecharts模塊當中的Map()實例,可以看到顧客幾乎都分布在北京、浙江以及上海這幾個地方

def?map_chart():c?=?(Map(init_opts=opts.InitOpts(chart_id=2,bg_color='#1C1C1C')).add("商家A",?[list(z)?for?z?in?zip(city_index,city_values)],?"china").set_global_opts(title_opts=opts.TitleOpts(title="顧客在全國的分布圖",title_textstyle_opts=opts.TextStyleOpts(font_size=25,color='#FFFFFF')),visualmap_opts=opts.VisualMapOpts(max_=250),))return?cif?__name__?==?"__main__":map?=?map_chart()map.render("2.html")

output

直方圖

我們針對的是購買時間,看一下哪些購買時間段的人會比較多

hour_index?=?df["小時"].value_counts().index.tolist() hour_index_str?=?[str(hour_ind)?+?"時"?for?hour_ind?in?hour_index] hour_values?=?df["小時"].value_counts().values.tolist()

調用Bar()實例進行繪制圖表

def?bar_chart():c?=?(Bar(init_opts=opts.InitOpts(chart_id=5,?bg_color='#1C1C1C',theme=ThemeType.CHALK)).add_xaxis(hour_index_str).add_yaxis("商家A",?hour_values).set_global_opts(title_opts=opts.TitleOpts(title="購物的時間分布",subtitle="購物時間",title_textstyle_opts=opts.TextStyleOpts(font_size=25,?color='#FFFFFF'))))return?cif?__name__?==?"__main__":map?=?map_chart()map.render("5.html")

output

Pyecharts組合圖表

將繪制出來的若干份圖表組合到一塊兒,總共有這幾種方式

  • Grid: 并行/垂直放置多張圖

  • Page: 順序多圖

  • Tab: 多個頁面多圖

  • Timeline: 時間軸循環輪播多圖

我們使用的是Page()示例來順序展示多張圖表,先實例化該對象

page?=?Page(layout=Page.DraggablePageLayout,?page_title="基于Pyecharts的銷售數據大屏")

之所以用DraggablePageLayout屬性是為了調整成我們所想要的布局,然后將我們所繪制的圖表一一添加

page.add(title(),map_chart(),pie_chart(),pie_chart_2(),bar_chart(), )page.render('test_2.html')

最后生成一個test_2.html的文件,然后我們將布局調整成我們想要的結果

對圖片布局完成之后,要記得點擊左上角的save config按鈕對布局文件進行保存。之后本地會生成一個chart_config.json文件,然后運行下面的代碼

page.save_resize_html('test_2.html',?cfg_file='chart_config.json',?dest='可視化大屏.html')

打開重新生成的可視化大屏.html,便是新的內容

代碼下載

公眾號“關于數據分析與可視化”后臺回復“大屏”,即可獲取全部代碼!,另外小編也寫了其他的幾篇Pyecharts文章來幫助各位讀者朋友加深對該模塊的理解,大家有興趣可以去閱讀一下

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載黃海廣老師《機器學習課程》視頻課黃海廣老師《機器學習課程》711頁完整版課件

本站qq群955171419,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【Python】全文3000字,Pyecharts制作可视化大屏全流程! (附代码分享)的全部內容,希望文章能夠幫你解決所遇到的問題。

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