1. 程式人生 > >『資料視覺化』基於Python的資料視覺化工具

『資料視覺化』基於Python的資料視覺化工具

劉宇宙,現在一家創業型公司做技術總負責,做爬蟲和資料處理相關工作,曾從事過卡系統研發、金融雲端計算服務系統研發,物聯網方向大資料研發,著書一本,《Python3.5從零開始學》

如何做Python 的資料視覺化?

pyecharts 是一個用於生成 Echarts 圖表的類庫。 Echarts 是百度開源的一個數據視覺化 JS 庫。主要用於資料視覺化。

一、安裝

pyecharts 相容 Python2 和 Python3。目前版本為 0.1.4

pip install pyecharts
二、入門

首先開始來繪製你的第一個圖表

frompyecharts import
Barbar =Bar("我的第一個圖表""這裡是副標題")bar.add("服裝", ["襯衫""羊毛衫""雪紡衫""褲子""高跟鞋""襪子"], [52036107590])bar.show_config()bar.render()

Tip:可以按右邊的下載按鈕將圖片下載到本地

  • add()

    主要方法,用於新增圖表的資料和設定各種配置項

  • show_config()

    列印輸出圖表的所有配置項

  • render()

    預設將會在根目錄下生成一個 render.html 的檔案,支援 path 引數,設定檔案儲存位置,如 render(r"e:my_first_chart.html"),檔案用瀏覽器開啟。

    預設的編碼型別為 UTF-8,在 Python3 中是沒什麼問題的,Python3 對中文的支援好很多。但是在 Python2 中,編碼的處理是個很頭疼的問題,暫時沒能找到完美的解決方法,目前只能通過文字編輯器自己進行二次編碼,我用的是 Visual Studio Code,先通過 Gbk 編碼重新開啟,然後再用 UTF-8 重新儲存,這樣用瀏覽器開啟的話就不會出現中文亂碼問題了。

基本上所有的圖表型別都是這樣繪製的:

  1. chart_name = Type() 初始化具體型別圖表。

  2. add() 新增資料及配置項。

  3. render() 生成 .html 檔案。

三、圖表型別

因篇幅原因,這裡只給出了每種圖表型別的示例(程式碼 + 生成圖表),目的是為了引起讀者的興趣。詳細引數的介紹請參考專案 README.md 文件

1 Bar(柱狀圖/條形圖)
frompyecharts importBarbar =Bar("標記線和標記點示例")bar.add("商家A", attr, v1, mark_point=["average"])bar.add("商家B", attr, v2, mark_line=["min""max"])bar.render()
frompyecharts importBarbar =Bar("x 軸和 y 軸交換")bar.add("商家A", attr, v1)bar.add("商家B", attr, v2, is_convert=True)bar.render()

2 EffectScatter(帶有漣漪特效動畫的散點圖)
frompyecharts importEffectScatterv1 =[102030405060]v2 =[252015106033]es =EffectScatter("動態散點圖示例")es.add("effectScatter", v1, v2)es.render()
es =EffectScatter("動態散點圖各種圖形示例")es.add("", [10], [10], symbol_size=20effect_scale=3.5effect_period=3symbol="pin")es.add("", [20], [20], symbol_size=12effect_scale=4.5effect_period=4,symbol="rect")es.add("", [30], [30], symbol_size=30effect_scale=5.5effect_period=5,symbol="roundRect")es.add("", [40], [40], symbol_size=10effect_scale=6.5effect_brushtype='fill',symbol="diamond")es.add("", [50], [50], symbol_size=16effect_scale=5.5effect_period=3,symbol="arrow")es.add("", [60], [60], symbol_size=6effect_scale=2.5effect_period=3,symbol="triangle")es.render()

3 Funnel(漏斗圖)
frompyecharts importFunnelattr =["襯衫""羊毛衫""雪紡衫""褲子""高跟鞋""襪子"]value =[20406080100120]funnel =Funnel("漏斗圖示例")funnel.add("商品", attr, value, is_label_show=Truelabel_pos="inside"label_text_color="#fff")funnel.render()
4 Gauge(儀表盤)
frompyecharts importGaugegauge =Gauge("儀表盤示例")gauge.add("業務指標""完成率"66.66)gauge.show_config()gauge.render()

5 Geo(地理座標系)
frompyecharts importGeodata =[ ("海門"9),("鄂爾多斯"12),("招遠"12),("舟山"12),("齊齊哈爾"14),("鹽城"15), ("赤峰"16),("青島"18),("乳山"18),("金昌"19),("泉州"21),("萊西"21), ("日照"21),("膠南"22),("南通"23),("拉薩"24),("雲浮"24),("梅州"25)...]geo =Geo("全國主要城市空氣質量""data from pm2.5"title_color="#fff"title_pos="center",width=1200height=600background_color='#404a59')attr, value =geo.cast(data)geo.add("", attr, value, visual_range=[0200], visual_text_color="#fff"symbol_size=15is_visualmap=True)geo.show_config()geo.render()

frompyecharts importGeodata =[("海門"9), ("鄂爾多斯"12), ("招遠"12), ("舟山"12), ("齊齊哈爾"14), ("鹽城"15)]geo =Geo("全國主要城市空氣質量""data from pm2.5"title_color="#fff"title_pos="center"width=1200height=600background_color='#404a59')attr, value =geo.cast(data)geo.add("", attr, value, type="effectScatter"is_random=Trueeffect_scale=5)geo.show_config()geo.render()

6 Graph(關係圖)
frompyecharts importGraphnodes =[{"name""結點1""symbolSize"10}, {"name""結點2""symbolSize"20}, {"name""結點3""symbolSize"30}, {"name""結點4""symbolSize"40}, {"name""結點5""symbolSize"50}, {"name""結點6""symbolSize"40}, {"name""結點7""symbolSize"30}, {"name""結點8""symbolSize"20}]links =[]forinnodes: forinnodes: links.append({"source": i.get('name'), "target": j.get('name')})graph =Graph("關係圖-環形佈局示例")graph.add("", nodes, links, is_label_show=Truerepulsion=8000layout='circular'label_text_color=None)graph.show_config()graph.render()

frompyecharts importGraphimportjsonwithopen("..jsonweibo.json""r"encoding="utf-8"asf: j =json.load(f) nodes, links, categories, cont, mid, userl =jgraph =Graph("微博轉發關係圖"width=1200height=600)graph.add("", nodes, links, categories, label_pos="right"repulsion=50is_legend_show=Falseline_curve=0.2label_text_color=None)graph.show_config()graph.render()

7 Line(折線/面積圖)
frompyecharts importLineattr =["襯衫""羊毛衫""雪紡衫""褲子""高跟鞋""襪子"]v1 =[520361010100]v2 =[556016201580]line =Line("折線圖示例")line.add("商家A", attr, v1, mark_point=["average"])line.add("商家B", attr, v2, is_smooth=Truemark_line=["max""average"])line.show_config()line.render()
line =Line("折線圖-階梯圖示例")line.add("商家A", attr, v1, is_step=Trueis_label_show=True)line.show_config()line.render()

line =Line("折線圖-面積圖示例")line.add("商家A", attr, v1, is_fill=Trueline_opacity=0.2area_opacity=0.4symbol=None)line.add("商家B", attr, v2, is_fill=Truearea_color='#000'area_opacity=0.3is_smooth=True)line.show_config()line.render()

8 Liquid(水球圖)
frompyecharts importLiquidliquid =Liquid("水球圖示例")liquid.add("Liquid", [0.6])liquid.show_config()liquid.render()

frompyecharts importLiquidliquid =Liquid("水球圖示例")liquid.add("Liquid", [0.60.50.40.3], 

相關推薦

資料視覺基於Python資料視覺工具

劉宇宙,現在一家創業型公司做技術總負責,做爬蟲和資料處理相關工作,曾從事過卡系統研發、金融雲端計算服務系統研發,物聯網方向大資料研發,著書一本,《Python3.5從零開始學》 如何做Python 的資料視覺化? pyecharts 是一個用於

《程式設計師的第一年》---------- 資料探勘之資料處理(C#基於熵的離散演算法程式碼)

熵(entropy)是最常用的離散化度量之一。它由Claude Shannon在資訊理論和資訊增益概念的開創性工作中首次引進。基於熵的離散化是一種監督的、自頂向下的分裂技術。它在計算和確定分裂點(劃分屬性區間的資料值)時利用類分佈資訊。為了離散數值屬性A,該方法選擇A的具

資料學習線路圖,Python/資料分析實戰基礎

本文主要歸納Python、資料分析的學習線路圖,學習方向:共分為五大板塊:板塊一:熟悉python,SQLpython(1)python語法(2)常用資料結構(列表、元組、字典)(3)python高階用法(日期和時間、列表推導式、高階函式、多執行緒)SQL(1)聚合(2)表連

機器學習|線性迴歸三大評價指標實現MAE, MSE, MAPEPython語言描述)

對於迴歸預測結果,通常會有平均絕對誤差、平均絕對百分比誤差、均方誤差等多個指標進行評價。這裡,我們先介紹最常用的3個: 平均絕對誤差(MAE) 就是絕對誤差的平均值,它的計算公式如下: M

2018最新Python資料分析實戰教程視訊 python資料分析班視訊 Python資料分析基礎教程 利用Python進行資料分析

系列一:《python資料分析基礎與實踐》章節1Python概況課時2Python簡介章節2Python安裝課時3安裝Anaconda課時4使用Anaconda章節3資料準備課時5資料型別 – 布林型課時6資料型別 – 數值型課時7資料型別 – 字元型課時8資料結構 – List課時9資料結構 – Tuple

限時領取 | 10G+AI人工智慧/複雜系統/資料探勘/深度學習/Python資料

2017 年,AI技術匯聚了大量資本,在國務院出臺的《新一代人工智慧發展規劃》中,人工智慧核心產

基於Python的郵件檢測工具

# 郵件快速檢測工具 ## 概要介紹 `mmpi`,是一款使用python實現的開源郵件快速檢測工具庫,基於[`community`](https://github.com/cuckoosandbox/community)框架設計開發。`mmpi`支援對郵件頭、郵件正文、郵件附件的解析檢測,並輸出json

[原始碼和文件分享]基於python的B站彈幕資料分析(爬蟲+視覺

python—B站彈幕資料分析 1 背景 在視訊網站上,一邊看視訊一邊發彈幕已經是網友的習慣。B站就是其中一個比較出名的彈幕網站,許多年輕人都喜歡逛B站,看喜歡的動漫亦或某些UP主做的一些剪輯。本專案,就是對B站彈幕資料進行分析。選取分析的物件是B站上一部國漫《全職高手》。 2 環境的安

基於Python Plotly 對 MySQL 儲存資料視覺初步

Pyhon提供強大的視覺化工具,除matplotlib外,pandas、seaborn、ggplot、bokeh、pygal、plotly都具有強大的可視功能(http://www.thebigdat

基於Python資料視覺 matplotlib seaborn pandas

原文采用了kaggle上iris花的資料,資料來源從上面的網址上找噢 如果沒有seaborn庫 安裝方法如下 http://www.ithao123.cn/content-10393533.html 正式開始了~~~ # 首先載

基於Python資料視覺庫pyecharts介紹

什麼是pyecharts?     pyecharts 是一個用於生成 Echarts 圖表的類庫。     ech

【13】Caffe學習系列:資料視覺環境(python介面)配置

caffe程式是由c++語言寫的,本身是不帶資料視覺化功能的。只能藉助其它的庫或介面,如opencv, python或matlab。更多人會使用python介面來進行視覺化,因為python出了個比較強大的東西:ipython notebook, 現在的最新版本改名叫jupyter notebook

Python資料處理 | (三) Matplotlib資料視覺

本篇部落格所有示例使用Jupyter NoteBook演示。 Python資料處理系列筆記基於:Python資料科學手冊電子版  下載密碼:ovnh 示例程式碼  下載密碼:02f4   目錄 一、Matplotlib常用技巧 1.匯入

Python資料視覺之密度圖的繪製

密度圖表現與資料值對應的邊界或域物件的一種理論圖形表示方法。一般用於呈現連續變數。 *摘自百度百科* 在電腦科學當中,資料的視覺化常常被提起。近日,在影象處理當中,需要統計圖片中的人流密度並繪製相應密度圖,於是小小研究一番。效果如下: 所有程式碼儲存在Github上。 首

python資料分析新手入門課程學習——(二)探索分析與視覺(來源:慕課網)

 一,單因子與對比分析視覺化 資料 import pandas as pd df = pd.read_csv('./HR.csv') #檢視前十條資料 df.head(10) 以下為顯示的結果 我們可以看出: 第一個屬性satisf

python --資料視覺

python --資料視覺化   一、python -- pyecharts庫的使用 pyecharts--> 生成Echarts圖示的類庫 1、安裝: pip install pyecharts pip install pyecharts_snapshot &nbs

python --資料視覺(二)

一、NumPy 1、簡介:  官網連結:http://www.numpy.org/  NumPy是Python語言的一個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫 2、基本功能: 快速高效的多維陣列物件ndarray 用於對陣列執行元素級計算以及直

Python資料視覺的四種簡易方法

摘要: 本文講述了熱圖、二維密度圖、蜘蛛圖、樹形圖這四種Python資料視覺化方法。 資料視覺化是任何資料科學或機器學習專案的一個重要組成部分。人們常常會從探索資料分析(EDA)開始,來深入瞭解資料,並且建立視覺化確實有助於讓問題更清晰和更容易理解,尤其是對於那些較大的高維度資料集。在專

Python資料視覺:2018年電影分析

本文轉載自:http://gkhelp.cn/1217.html 雙11已經過去,雙12即將來臨,離2018年的結束也就2個月不到,還記得年初立下的flag嗎? 完成了多少?相信很多人和我一樣,抱頭痛哭... 本次利用貓眼電影,實現對2018年的電影大資料進行分析。 網頁分

python資料視覺入門2

使用scatter()方法繪製散點圖 import matplotlib.pyplot as plt # 繪製一系列點 x_value = [1, 2, 3, 4, 5] y_value = [1, 4, 9, 16, 25] plt.scatter(x_value. y_value,