整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          扁平風輪播圖大屏展示html頁面源碼

          家好,今天給大家介紹一款,扁平風輪播圖大屏展示html頁面源碼(圖1)。送給大家哦,獲取方式在本文末尾。

          圖1

          可以點擊圖片區域進行圖片輪播切換(圖2)

          圖2

          可以點擊左右按鈕進行圖片輪播切換(圖3)

          圖3

          每張圖片都帶圖片說明,隨圖片一起切換(圖4)

          圖4

          自適應設計,適合各種分辨率(圖5)

          圖5

          源碼完整,需要的朋友可以下載學習(圖6)

          圖6

          本源碼編碼:10156,需要的朋友,點擊下面的鏈接后,搜索10156,即可獲取。

          「鏈接」

          者:俊欣

          來源:關于數據分析與可視化

          今天我們就來說說如何用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="{b}: {c}"))
              )
          
              return c
              
          if __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 c
              
          if __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 c
              
          if __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模塊做可視化大屏的相關教程,小編立馬就答應了他的請求。那么今天我們就來說說如何用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="{b}: {c}"))
              )
          
              return c
              
          if __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 c
              
          if __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 c
              
          if __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,便是新的內容

          獲取代碼,私信“666”


          主站蜘蛛池模板: 国产一区二区在线看| 高清一区二区三区日本久| 亚洲精品伦理熟女国产一区二区 | 女人18毛片a级毛片一区二区| 日韩精品一区二区午夜成人版 | 精品一区二区三区在线观看视频| 国产在线观看一区二区三区 | 一区二区在线免费视频| 97se色综合一区二区二区| 伊人色综合一区二区三区 | 亚洲性色精品一区二区在线| 无码一区二区三区中文字幕| 国产探花在线精品一区二区| 午夜视频一区二区| 久久久综合亚洲色一区二区三区| 无码AV一区二区三区无码| 精品国产精品久久一区免费式| 中文字幕人妻AV一区二区| 精品国产一区二区三区不卡| 91亚洲一区二区在线观看不卡| 国产一区二区三区不卡AV| 国产人妖视频一区二区| 99久久精品国产高清一区二区 | 亚洲Aⅴ无码一区二区二三区软件| 丰满岳妇乱一区二区三区| 国产成人无码一区二区三区在线 | 无码人妻一区二区三区免费| av无码人妻一区二区三区牛牛 | 视频一区二区精品的福利| 国产精品一区二区香蕉| 亚洲AV香蕉一区区二区三区| 无码精品尤物一区二区三区| 亚洲国产AV无码一区二区三区| 亚洲日本va一区二区三区| 人妻无码久久一区二区三区免费| 国产一区玩具在线观看| 人妻无码第一区二区三区| 成人精品视频一区二区三区尤物| 亚洲精品伦理熟女国产一区二区| 毛片无码一区二区三区a片视频 | 极品少妇伦理一区二区|