<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用 pyecharts 制作數據可視化大屏之數據地圖

          共 2711字,需瀏覽 6分鐘

           ·

          2020-12-18 19:55

          你好,我是林驥。

          前段時間,我看到?20 個炫酷的數據可視化大屏,源代碼都是基于 echarts 的,于是我產生了用 Python 來實現(xiàn)數據可視化大屏的想法。

          參考上面這個模板,我計劃用 pyecharts 實現(xiàn)一個類似的數據可視化大屏。

          今天先繪制中間的數據地圖,為了方便演示,我們采用一個超市數據集,數據來源于 Tableau 官方示例。

          你可以點擊左下方閱讀原文的鏈接,用電腦下載到本地之后,把 Excel 數據文件保存到 data 文件夾中。

          如果你還沒有安裝 pyecharts,那么請先打開命令行,運行以下代碼:

          # 安裝或更新 v1 以上版本,目前是 1.9.0pip3 install pyecharts -U

          在 Jupyter Lab 中新建一個 Notebook,運行以下代碼:

          # 聲明 Notebook 類型,必須在引入 pyecharts.charts 等模塊前聲明from pyecharts.globals import CurrentConfig, NotebookTypeCurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
          # 導入相關庫from pyecharts import options as optsfrom pyecharts.charts import Mapfrom pyecharts.globals import ThemeType import pandas as pd
          # 從 data 文件夾讀取 Excel 中的數據df = pd.read_excel('./data/超市數據.xlsx')
          # 用數據透視表的方法匯總各省銷售額province_sale = df.pivot_table(values='銷售額', index='省/自治區(qū)', aggfunc=sum)
          # 把數據整理成繪圖所需的列表格式,規(guī)范名稱,銷售額換算成萬元,保留一位小數list_province_sale = [list(z) for z in zip(province_sale.index.str.replace('自治區(qū)', ''), round(province_sale.銷售額/10000, 1))]
          # 求各省銷售額的最大值max_sale = round(province_sale.銷售額.max()/10000,0)
          # 標題,數字千分位格式顯示title = "{:,}".format(int(province_sale.銷售額.sum()))
          # 副標題subtitle = '\t\t2016年到2019年總銷售額'
          # 繪制地圖c = ( # 主題樣式和背景顏色 Map(init_opts=opts.InitOpts(theme=ThemeType.SHINE, chart_id=1, bg_color='#00589F')) # 添加地圖數據 .add("", list_province_sale, "china") # 全局配置 .set_global_opts( # 標題文字 title_opts=opts.TitleOpts(title=title, # 副標題 subtitle=subtitle, # 標題位置 pos_left='39%', pos_top=20, # 標題顏色和大小 title_textstyle_opts=opts.TextStyleOpts(color="#FBC171", font_size=36), # 副標題顏色和大小 subtitle_textstyle_opts=opts.TextStyleOpts(color="#CCCCCC", font_size=15)), # 可視化組件參數 visualmap_opts=opts.VisualMapOpts( # 最大值 max_=max_sale, # 顯示精確的分段值 is_piecewise=True, # 圖例位置 pos_left='30%', pos_bottom=10, # 圖例字體顏色 textstyle_opts=opts.TextStyleOpts(color="#FFFFFF"))) # 隱藏文字標簽 .set_series_opts(label_opts=opts.LabelOpts(is_show=False)))
          # 在 Jupyter Lab 中第一次渲染時需要調用_ = c.load_javascript()

          然后,運行以下代碼:

          # 需要與 load_javascript 在不同的單元格中運行c.render_notebook()

          就能得到如下數據地圖:

          對于顏色的深淺和氣泡的大小,我們的感知能力其實是比較弱的,通常很難精準地判斷差異。

          從有效傳遞信息的角度來看,林驥認為上面這種分段式的數據地圖,比普通的熱力地圖和氣泡地圖更加有效。

          下一篇文章,我將用 pyecharts 繪制數據可視化大屏中的其他圖表,敬請關注。


          數據可視化|用熱力地圖進行數據分析


          長按下方的二維碼,關注林驥的公眾號,更多干貨早知道。
          歡迎加入我的免費知識星球,我每天都會在星球內分享讀書筆記和思考感悟,點擊左下角的閱讀原文即可加入。
          瀏覽 134
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  麻豆高清无码 | 日韩啪| 人人做人人爱,人人操 | 欧美的中文字幕 | 五月色婷婷综合 |