欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用pyecharts控件繪制圖表

 更新時間:2022年06月03日 10:57:36   作者:springsnow  
這篇文章介紹了Python使用pyecharts控件繪制圖表的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、Echarts簡介

Echarts 是一個由百度開源的數(shù)據(jù)可視化,憑借著良好的交互性,精巧的圖表設(shè)計(jì),得到了眾多開發(fā)者的認(rèn)可。而 Python 是一門富有表達(dá)力的語言,很適合用于數(shù)據(jù)處理。當(dāng)數(shù)據(jù)分析遇上數(shù)據(jù)可視化時,pyecharts 誕生了。

分v0.5.x 和 V1 間不兼容,導(dǎo)致很多代碼不可復(fù)用,舊版本將不再維護(hù)。

1、特性

  • 簡潔的 API 設(shè)計(jì),使用如絲滑般流暢,支持鏈?zhǔn)秸{(diào)用
  • 囊括了 30+ 種常見圖表,應(yīng)有盡有
  • 支持主流 Notebook 環(huán)境,Jupyter Notebook 和 JupyterLab
  • 可輕松集成至 Flask,Sanic,Django 等主流 Web 框架
  • 高度靈活的配置項(xiàng),可輕松搭配出精美的圖表
  • 詳細(xì)的文檔和示例,幫助開發(fā)者更快的上手項(xiàng)目
  • 多達(dá) 400+ 地圖文件,并且支持原生百度地圖,為地理數(shù)據(jù)可視化提供強(qiáng)有力的支持

2、相關(guān)資源:

二、使用

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

1、柱狀圖-Bar

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

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

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

2、餅圖-Pie

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

3、箱體圖-Boxplot

//導(dǎo)入箱型圖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)計(jì)", x_axis, _yaxis)
boxplot.render()

4、折線圖-Line

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

5、雷達(dá)圖-Rader

from pyecharts import Radar
radar = Radar("雷達(dá)圖", "一年的降水量與蒸發(fā)量")
//由于雷達(dá)圖傳入的數(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]]
//設(shè)置column的最大值,為了雷達(dá)圖更為直觀,這里的月份最大值設(shè)置有所不同
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)
]
//傳入坐標(biāo)
radar.config(schema)
radar.add("降水量",radar_data1)
//一般默認(rèn)為同一種顏色,這里為了便于區(qū)分,需要設(shè)置item的顏色
radar.add("蒸發(fā)量",radar_data2,item_color="#1C86EE")
radar.render()

6、散點(diǎn)圖-scatter

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

7、圖表布局 Grid

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

from pyecharts import Grid
//設(shè)置折線圖標(biāo)題位置
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()
//設(shè)置兩個圖表的相對位置
grid.add(bar, grid_bottom="60%")
grid.add(line, grid_top="60%")
grid.render()
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é)

  • 導(dǎo)入相關(guān)圖表包
  • 進(jìn)行圖表的基礎(chǔ)設(shè)置,創(chuàng)建圖表對象
  • 利用add()方法進(jìn)行數(shù)據(jù)輸入與圖表設(shè)置(可以使用print_echarts_options()來輸出所有可配置項(xiàng))
  • 利用render()方法來進(jìn)行圖表保存

pyecharts還有許多好玩的3D圖表和地圖圖表,個人覺得地圖圖表是最好玩的,各位有興趣可以去pyecharts的使用手冊查看,有中文版的非常方便。

到此這篇關(guān)于Python使用pyecharts控件繪制圖表的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python爬蟲爬取股票的k線圖

    python爬蟲爬取股票的k線圖

    這篇文章主要介紹了python爬蟲爬取股票的k線圖,文章基于python的相關(guān)資料展開爬取股票的k線圖的詳細(xì)內(nèi)容分享,具有一定的的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • 編寫Python腳本批量下載DesktopNexus壁紙的教程

    編寫Python腳本批量下載DesktopNexus壁紙的教程

    這篇文章主要介紹了編寫Python腳本批量下載DesktopNexus壁紙的教程,相較于普通的爬蟲抓取,本文的下載壁紙教程還包括了設(shè)置所要下載的分辨率等功能的實(shí)現(xiàn),需要的朋友可以參考下
    2015-05-05
  • Python利用Nagios增加微信報(bào)警通知的功能

    Python利用Nagios增加微信報(bào)警通知的功能

    Nagios是一款開源的免費(fèi)網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等,本文給大家介紹Python利用Nagios增加微信報(bào)警通知的功能,需要的朋友參考下
    2016-02-02
  • Python深度學(xué)習(xí)pytorch神經(jīng)網(wǎng)絡(luò)填充和步幅的理解

    Python深度學(xué)習(xí)pytorch神經(jīng)網(wǎng)絡(luò)填充和步幅的理解

    這篇文章主要介紹了Python深度學(xué)習(xí)pytorch神經(jīng)網(wǎng)絡(luò)填充和步幅的理解
    2021-10-10
  • python中matplotlib實(shí)現(xiàn)隨鼠標(biāo)滑動自動標(biāo)注代碼

    python中matplotlib實(shí)現(xiàn)隨鼠標(biāo)滑動自動標(biāo)注代碼

    這篇文章主要介紹了python中matplotlib實(shí)現(xiàn)隨鼠標(biāo)滑動自動標(biāo)注代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python命名空間(namespace)簡單介紹

    python命名空間(namespace)簡單介紹

    這篇文章主要介紹了python命名空間(namespace)簡單介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python?不設(shè)計(jì)?do-while?循環(huán)結(jié)構(gòu)的理由

    Python?不設(shè)計(jì)?do-while?循環(huán)結(jié)構(gòu)的理由

    Python作為一種語言不支持do-while循環(huán)。?但是,我們可以采用一種變通方法來模擬do-while循環(huán)?。下面通過本文給大家分享下Python?不設(shè)計(jì)do-while?循環(huán)結(jié)構(gòu)的理由,需要的朋友可以參考下
    2022-01-01
  • OpenCV?NAO機(jī)器人輔助撿球丟球流程分析

    OpenCV?NAO機(jī)器人輔助撿球丟球流程分析

    這篇文章主要介紹了OpenCV?NAO機(jī)器人輔助撿球丟球,本項(xiàng)目使用NAO機(jī)器人識別球并撿起,然后將其扔到指定位置,主要涉及圖像的獲取、濾波、目標(biāo)物體定位和NAO機(jī)器人的運(yùn)動控制,需要的朋友可以參考下
    2022-05-05
  • Python Django教程之實(shí)現(xiàn)待辦事項(xiàng)應(yīng)用程序

    Python Django教程之實(shí)現(xiàn)待辦事項(xiàng)應(yīng)用程序

    Django是一個基于Python Web框架的高級Web框架,允許快速開發(fā)和干凈,務(wù)實(shí)的設(shè)計(jì)。本文將創(chuàng)建一個待辦事項(xiàng)應(yīng)用程序,以了解Django的基礎(chǔ)知識,感興趣的可以嘗試一下
    2022-10-10
  • python3 adb 獲取設(shè)備序列號的實(shí)現(xiàn)

    python3 adb 獲取設(shè)備序列號的實(shí)現(xiàn)

    這篇文章主要介紹了python3 adb 獲取設(shè)備序列號的實(shí)現(xiàn)操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論