1. 程式人生 > >pyecharts資料視覺化模組

pyecharts資料視覺化模組

目錄

  • 安裝
  • 柱狀圖-Bar
  • 餅圖-Pie
  • 箱體圖-Boxplot
  • 折線圖-Line
  • 雷達圖-Rader
  • 散點圖-scatter

我們都知道python上的一款視覺化工具matplotlib,而前些陣子做一個Spark專案的時候用到了百度開源的一個視覺化JS工具-Echarts,視覺化型別非常多,但是得通過匯入js庫在Java Web專案上執行,平時用Python比較多,於是就在想有沒有Python與Echarts結合的輪子。Google後,找到一個國人開發的一個Echarts與Python結合的輪子:pyecharts,下面就來簡述下pyecharts一些使用細則:

安裝

寫這篇文章用的是Win環境,首先開啟命令列(win+R),輸入:

pip install pyecharts

但筆者實測時發現,由於牆的原因,下載時會出現斷線和速度過慢的問題導致下載失敗,所以建議通過清華映象來進行下載:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts

出現上方的資訊,即代表下載成功,我們可以來進行下一步的實驗了!

號:923414804
    群裡有志同道合的小夥伴,互幫互助,
    群裡有不錯的視訊學習教程和PDF!

使用例項

使用之前我們要強調一點:就是python2.x和python3.x的編碼問題,在python3.x中你可以把它看做預設是unicode編碼,但在python2.x中並不是預設的,原因就在它的bytes物件定義的混亂,而pycharts是使用unicode編碼來處理字串和檔案的,所以當你使用的是python2.x時,請務必在上方插入此程式碼:

from future import unicode_literals

現在我們來開始正式使用pycharts,這裡我們直接使用官方的資料:

柱狀圖-Bar

//匯入柱狀圖-Bar
from pyecharts import Bar
//設定行名
columns = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
//設定資料
data1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
data2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
//設定柱狀圖的主標題與副標題
bar = Bar("柱狀圖", "一年的降水量與蒸發量")
//新增柱狀圖的資料及配置項
bar.add("降水量", columns, data1, mark_line=["average"], mark_point=["max", "min"])
bar.add("蒸發量", columns, data2, mark_line=["average"], mark_point=["max", "min"])
//生成本地檔案(預設為.html檔案)
bar.render()

執行結果如下:

簡單的幾行程式碼就可以將資料進行非常好看的視覺化,而且還是動態的,在這裡還是要安利一下jupyter,pyecharts在v0.1.9.2版本開始,在jupyter上直接呼叫例項(例如上方直接呼叫bar)就可以將圖表直接表示出來,非常方便。

筆者數了數,目前pyecharts上的圖表大概支援到二十多種,接下來,我們再用上方的資料來生成幾個資料探勘常用的圖表示例:

餅圖-Pie

//匯入餅圖Pie
from pyecharts import Pie
//設定主標題與副標題,標題設定居中,設定寬度為900
pie = Pie("餅狀圖", "一年的降水量與蒸發量",title_pos='center',width=900)
//加入資料,設定座標位置為【25,50】,上方的colums選項取消顯示
pie.add("降水量", columns, data1 ,center=[25,50],is_legend_show=False)
//加入資料,設定座標位置為【75,50】,上方的colums選項取消顯示,顯示label標籤
pie.add("蒸發量", columns, data2 ,center=[75,50],is_legend_show=False,is_label_show=True)
//儲存圖表
pie.render()

箱體圖-Boxplot

//匯入箱型圖Boxplot
from pyecharts import Boxplot 
boxplot = Boxplot("箱形圖", "一年的降水量與蒸發量")
x_axis = ['降水量','蒸發量']
y_axis = [data1,data2]
//prepare_data方法可以將資料轉為巢狀的 [min, Q1, median (or Q2), Q3, max]
yaxis = boxplot.prepare_data(y_axis)       
boxplot.add("天氣統計", x_axis, _yaxis)
boxplot.render()

折線圖-Line

from pyecharts import Line
line = Line("折線圖","一年的降水量與蒸發量")
//is_label_show是設定上方資料是否顯示
line.add("降水量", columns, data1, is_label_show=True)
line.add("蒸發量", columns, data2, is_label_show=True)
line.render()

雷達圖-Rader

from pyecharts import Radar
radar = Radar("雷達圖", "一年的降水量與蒸發量")
//由於雷達圖傳入的資料得為多維資料,所以這裡需要做一下處理
radar_data1 = [[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]]
radar_data2 = [[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]]
//設定column的最大值,為了雷達圖更為直觀,這裡的月份最大值設定有所不同
schema = [ 
    ("Jan", 5), ("Feb",10), ("Mar", 10),
    ("Apr", 50), ("May", 50), ("Jun", 200),
    ("Jul", 200), ("Aug", 200), ("Sep", 50),
    ("Oct", 50), ("Nov", 10), ("Dec", 5)
]
//傳入座標
radar.config(schema)
radar.add("降水量",radar_data1)
//一般預設為同一種顏色,這裡為了便於區分,需要設定item的顏色
radar.add("蒸發量",radar_data2,item_color="#1C86EE")
radar.render()

散點圖-scatter

from pyecharts import Scatter
scatter = Scatter("散點圖", "一年的降水量與蒸發量")
//xais_name是設定橫座標名稱,這裡由於顯示問題,還需要將y軸名稱與y軸的距離進行設定
scatter.add("降水量與蒸發量的散點分佈", data1,data2,xaxis_name="降水量",yaxis_name="蒸發量",
            yaxis_name_gap=40)
scatter.render()

圖表佈局 Grid

由於標題與圖表是屬於兩個不同的控制元件,所以這裡必須對下方的圖表Line進行標題位置設定,否則會出現標題重疊的bug。

from pyecharts import Grid
//設定折線圖示題位置
line = Line("折線圖","一年的降水量與蒸發量",title_top="45%")
line.add("降水量", columns, data1, is_label_show=True)
line.add("蒸發量", columns, data2, is_label_show=True)
grid = Grid()
//設定兩個圖表的相對位置
grid.add(bar, grid_bottom="60%")
grid.add(line, grid_top="60%")
grid.render()

img

from pyecharts import Overlap
overlap = Overlap()
bar = Bar("柱狀圖-折線圖合併", "一年的降水量與蒸發量")
bar.add("降水量", columns, data1, mark_point=["max", "min"])
bar.add("蒸發量", columns, data2, mark_point=["max", "min"])
overlap.add(bar)
overlap.add(line)
overlap.render()

相關推薦

pyecharts資料視覺模組

目錄安裝柱狀圖-Bar餅圖-Pie箱體圖-Boxplot折線圖-Line雷達圖-Rader散點圖-scatter 我們都知道python上的一款視覺化工具matplotlib,而前些陣子做一個Spark專案的時候用到了百度開源的一個視覺化JS工具-Echarts,視覺化型別非常多,但是得通過匯入js庫在Jav

【python學習筆記】45:認識Matplotlib和pyecharts資料視覺

學習《Python3爬蟲、資料清洗與視覺化實戰》時自己的一些實踐。 Matplotlib資料視覺化 資料準備 import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv("E:/Data/p

Python3——資料視覺模組Pygal與模擬擲骰子

Pygal:Python視覺化包,生成可縮放的向量圖形檔案 Pygal安裝 PyCharm新增Pygal庫 模擬擲骰子 die.py from random imp

Python3——資料視覺模組Matplotlib

Matplotlib 資料視覺化模組。 Matplotlib 能夠建立多數型別的圖表,如條形圖,散點圖,餅圖,堆疊圖,3D 圖和地圖圖表等。 一、matplotlib安裝(python 3.6) 進

Python + PyEcharts——資料視覺

一、第一個PyEcharts圖示 以下示例都是在jupyter notebook環境下執行 1 安裝:pip install pyecharts 2 引用pyecharts f

python資料視覺利器--pyecharts

 學視覺化就跟學彈吉他一樣,剛開始你會覺得自己彈出來的是噪音,也就有了在使用python視覺化的時候,總說,我擦,為啥別人畫的圖那麼溜: 【python視覺化系列】python資料視覺化利器--pyecharts echarts官網 一、前言 echarts是什麼?下面是來自官方的介紹

python 爬蟲與資料視覺--matplotlib模組應用

一、資料分析的目的(利用大資料量資料分析,幫助人們做出戰略決策)   二、什麼是matplotlib?   matplotlib: 最流行的Python底層繪相簿,主要做資料視覺化圖表,名字取材於MATLAB,模仿MATLAB構建,能將資料進行視覺化、更直觀的呈現、使資料更加客觀、更具說服

【python 資料視覺pyecharts的使用

Echarts是百度出的很有名 也很叼。 Echarts 是百度開源的一個數據視覺化 JS 庫。主要用於資料視覺化。 pyecharts 是一個用於生成 Echarts 圖表的類庫。實際上就是 Echarts 與 Python 的對接。 安裝:

matplotlib模組資料視覺-繪製柱狀圖

1 柱狀圖 經常在資料顯示的時候我們會使用柱狀圖,通常柱狀圖又包括兩種,一種是豎直的,一種是水平的柱狀圖,現在我們來進行一一講解和演示。 由於水平柱狀圖和豎直柱狀圖相似,引數差不多,個別引數名稱不同,所以這裡詳細描述豎直柱狀圖,水平柱狀圖僅給一個示例。 2 豎直柱狀圖 2.

matplotlib模組資料視覺-3D圖

1 matplotlib繪製3D圖形 matplotlib可以繪製3D圖形,有的版本中不具備該模組,可以進入python環境,輸入from mpl_toolkits.mplot3d import Axes3D進行測試,如果匯入成功則可以,否則需要安裝matplotlib其他

基於Python的資料視覺pyecharts介紹

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

Python資料視覺---pygal模組

目錄pygal模組安裝pygal模組pygal模組介紹柱狀圖單列柱狀圖堆疊柱狀圖橫向柱狀圖折線圖簡單折線圖縱向折線圖堆疊折線圖餅狀圖簡單餅狀圖多級餅狀圖圓環圖半圓圖雷達圖基礎雷達圖其他圖表介紹爬取中國福彩網彩票資料並以圖表形式顯示網頁分析資料提取轉換資料將資料轉換成圖表完整程式碼實現結果 pygal模組 安裝

掌握這25條小貼士,快速提升資料視覺能力!

視覺化不是單純的資料展示,其真正價值是設計出可以被讀者輕鬆理解的資料展示。設計過程中的每一個選擇,最終都應落地於讀者的體驗,而非設計者個人。 本文提到了一些常見錯誤,也是我們團隊總結出的一些技巧。這25條小貼士能夠快速提升和鞏固你的資料視覺化設計。一起來看看! 一、原則 1. 選擇可以講故事的圖表

首屆《資料視覺之星》大賽火熱開啟,誠邀各行業資料精英大展身手!

大資料時代,隨著各行各業的資料分析、資料探勘等領域的業務不斷增長,越來越多的資料通過資料視覺化分析技術,讓人們可以得到了直觀、清晰的呈現,從而為公司的管理和發展提供更加簡捷高效的意見和建議。為了能夠更好地促進資料視覺化興趣愛好者間的分享交流,推動資料視覺化分析技術的發展和各行業的廣

PoPo資料視覺週刊第6期

PoPo資料視覺化 聚焦於Web資料視覺化與視覺化互動領域,發現視覺化領域有意思的內容。不想錯過視覺化領域的精彩內容, 就快快關注我們吧 :) 本期視覺化精彩視訊請關注公眾號瀏覽 全天智慧獲Pre-A輪千萬融資 助力開啟全天候實時大資料視覺化模式 騰訊AI加速器二期專案全天智慧

PoPo資料視覺週刊第5期

PoPo資料視覺化 聚焦於Web資料視覺化與視覺化互動領域,發現視覺化領域有意思的內容。不想錯過視覺化領域的精彩內容, 就快快關注我們吧 :) World Wire 資料視覺化演示(視訊) IBM公司於2018年8月推出全球支付系統“World Wire” 珊瑚城市-全球10大最適宜居住的城

資料視覺:淺談熱力圖如何在前端實現

作者 個推開發工程師甄鑫 當我們需要用更直觀有效的形式來展現各類大資料資訊時,熱力圖無疑是一種很好的方式。作為一種密度圖,熱力圖一般使用具備顯著顏色差異的方式來呈現資料效果,熱力圖中亮色一般代表事件發生頻率較高或事物分佈密度較大,暗色則反之。 值得一提的是,熱力圖最終效果常常優於

資料視覺】25個即時改進資料視覺設計的技巧

資料視覺化不是關於顯示資料; 它是以更容易理解的方式顯示資料 - 這就是真正的價值所在。如果你想真正“看到”我們的意思,請看一下這個快速視訊: 視訊地址:https://vimeo.com/29684853 不幸的是,很多人認為將幾張圖表放在一起意味著您正在進行資料視覺

互動式資料視覺-D3.js(四)形狀生成器

形狀生成器 線段生成器 var linePath = d3.line() - 使用預設的設定構造一個 line 生成器。 linePath.x() - 如果指定了 x 則將 x 訪問器設定為指定的函式或數值並返回當前 line 生成器。如果沒有指定 x 則返回當前 x 訪問器,預設為: functi

6000+個景點資料視覺,國慶出遊避免擁擠,看完本篇文章就足夠

國慶7天長假,就問你們激不激動! 可是,出門遊玩,走哪裡都是人,人,人,人……。你的腦海裡是否出現了以下畫面: 為了方便大家的出遊選擇,小編爬取了去哪兒網上面的6000多個景點資料,包含景點評級、熱度、銷量等等資料,彙總成這篇出遊參考指南。 爬蟲 爬蟲繼續用的是