溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用

發(fā)布時間:2020-11-03 09:47:30 來源:億速云 閱讀:333 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

pyecharts是一款將python與echarts結(jié)合的強大的數(shù)據(jù)可視化工具,本文將為你闡述pyecharts的使用細則。

我們都知道python上的一款可視化工具matplotlib,而前些陣子做一個Spark項目的時候用到了百度開源的一個可視化JS工具-Echarts,可視化類型非常多,但是得通過導入js庫在Java Web項目上運行,平時用Python比較多,于是就在想有沒有Python與Echarts結(jié)合的輪子。Google后,找到一個國人開發(fā)的一個Echarts與Python結(jié)合的輪子:pyecharts,下面就來簡述下pyecharts一些使用細則:

安裝

寫這篇文章用的是Win環(huán)境,首先打開命令行(win+R),輸入:

pip install pyecharts

但筆者實測時發(fā)現(xiàn),由于墻的原因,下載時會出現(xiàn)斷線和速度過慢的問題導致下載失敗,所以建議通過清華鏡像來進行下載:

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

Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用

出現(xiàn)上方的信息,即代表下載成功,我們可以來進行下一步的實驗了!

使用實例

使用之前我們要強調(diào)一點:就是python2.x和python3.x的編碼問題,在python3.x中你可以把它看做默認是unicode編碼,但在python2.x中并不是默認的,原因就在它的bytes對象定義的混亂,而pycharts是使用unicode編碼來處理字符串和文件的,所以當你使用的是python2.x時,請務必在上方插入此代碼:

from __future__ import unicode_literals

現(xiàn)在我們來開始正式使用pycharts,這里我們直接使用官方的數(shù)據(jù):

柱狀圖-Bar

//導入柱狀圖-Bar
from pyecharts import Bar
//設置行名
columns = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
//設置數(shù)據(jù)
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("柱狀圖", "一年的降水量與蒸發(fā)量")
//添加柱狀圖的數(shù)據(jù)及配置項
bar.add("降水量", columns, data1, mark_line=["average"], mark_point=["max", "min"])
bar.add("蒸發(fā)量", columns, data2, mark_line=["average"], mark_point=["max", "min"])
//生成本地文件(默認為.html文件)
bar.render()

運行結(jié)果如下:

Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用

簡單的幾行代碼就可以將數(shù)據(jù)進行非常好看的可視化,而且還是動態(tài)的,在這里還是要安利一下jupyter,pyecharts在v0.1.9.2版本開始,在jupyter上直接調(diào)用實例(例如上方直接調(diào)用bar)就可以將圖表直接表示出來,非常方便。

筆者數(shù)了數(shù),目前pyecharts上的圖表大概支持到二十多種,接下來,我們再用上方的數(shù)據(jù)來生成幾個數(shù)據(jù)挖掘常用的圖表示例:

餅圖-Pie

//導入餅圖Pie
from pyecharts import Pie
//設置主標題與副標題,標題設置居中,設置寬度為900
pie = Pie("餅狀圖", "一年的降水量與蒸發(fā)量",title_pos='center',width=900)
//加入數(shù)據(jù),設置坐標位置為【25,50】,上方的colums選項取消顯示
pie.add("降水量", columns, data1 ,center=[25,50],is_legend_show=False)
//加入數(shù)據(jù),設置坐標位置為【75,50】,上方的colums選項取消顯示,顯示label標簽
pie.add("蒸發(fā)量", columns, data2 ,center=[75,50],is_legend_show=False,is_label_show=True)
//保存圖表
pie.render()

Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用

箱體圖-Boxplot

//導入箱型圖Boxplot
from pyecharts import Boxplot
boxplot = Boxplot("箱形圖", "一年的降水量與蒸發(fā)量")
x_axis = ['降水量','蒸發(fā)量']
y_axis = [data1,data2]
//prepare_data方法可以將數(shù)據(jù)轉(zhuǎn)為嵌套的 [min, Q1, median (or Q2), Q3, max]
yaxis = boxplot.prepare_data(y_axis)
boxplot.add("天氣統(tǒng)計", x_axis, _yaxis)
boxplot.render()

 Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用

折線圖-Line

from pyecharts import Line
line = Line("折線圖","一年的降水量與蒸發(fā)量")
//is_label_show是設置上方數(shù)據(jù)是否顯示
line.add("降水量", columns, data1, is_label_show=True)
line.add("蒸發(fā)量", columns, data2, is_label_show=True)
line.render()

 Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用

雷達圖-Rader

from pyecharts import Radar
radar = Radar("雷達圖", "一年的降水量與蒸發(fā)量")
//由于雷達圖傳入的數(shù)據(jù)得為多維數(shù)據(jù),所以這里需要做一下處理
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)
//一般默認為同一種顏色,這里為了便于區(qū)分,需要設置item的顏色
radar.add("蒸發(fā)量",radar_data2,item_color="#1C86EE")
radar.render()

Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用

散點圖-scatter

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

 Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用

圖表布局 Grid

由于標題與圖表是屬于兩個不同的控件,所以這里必須對下方的圖表Line進行標題位置設置,否則會出現(xiàn)標題重疊的bug。

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

Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用

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

總結(jié)

(1)導入相關(guān)圖表包

(2)進行圖表的基礎設置,創(chuàng)建圖表對象

(3)利用add()方法進行數(shù)據(jù)輸入與圖表設置(可以使用print_echarts_options()來輸出所有可配置項)

(4)利用render()方法來進行圖表保存

關(guān)于Python與Echarts相結(jié)合的可視化工具:pyecharts怎么用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI