詳解利用python-highcharts庫繪制交互式可視化圖表
今天小編給大家推薦一個超強交互式可視化繪制工具-python-highcharts,熟悉HightCharts繪圖軟件的小伙伴對這個不會陌生,python-highcharts就是使用Python進行Highcharts項目繪制,簡單的說就是實現(xiàn)Python和Javascript之間的簡單轉換層,話不多說,我們直接進行介紹,具體包括以下幾個方面:
python-highcharts庫的簡單介紹
python-highcharts 具體案例
python-highcharts庫的簡單介紹
python-highcharts庫作為優(yōu)秀的第三方庫,其實現(xiàn)了對HightCharts項目的Python封裝應用,里面關于圖表細節(jié)的設置還是基于Javascript代碼,但較簡單,可以進行隨意更改。
需要注意的是,由于HightCharts可以免費用于非商業(yè)用途,所以使用python-highcharts繪制也是如此,商業(yè)用途需要購買單獨的許可證。我們這里當作練習即可~~
python-highcharts庫繪制的圖形主要包括如下類別:
- Highcharts:繪制如折線圖、散點圖等常規(guī)圖表;
- Highstock:繪制股價走勢圖表;
- Highmaps:繪制地圖;
python-highcharts 具體案例
這一部分,小編分別主要介紹Highcharts的樣例,因為Highstock和Highmaps使用較少,且反應較慢,這里不做介紹哈。詳細內(nèi)容如下:
「樣例一」
from?highcharts?import?Highchart? H?=?Highchart()? data?=?list(range(1,20)) data2?=?list(range(20,1,-1))? #繪制 H.add_data_set(data2,'line') H.add_data_set(data,?'line') H

Example01 Of Highchart
備注:所有圖表都是交互式的,這里展示的為靜態(tài)圖片。
你還可以通過添加交互點擊時的狀態(tài),如下:
H.add_data_set(data2,'line')
H.add_data_set(data,?'line',?
????marker={
????????'states':?{
????????????'hover':?{
????????????????'enabled':?True,?
????????????????'fillColor':?'white',?
????????????????'lineColor':?'red',
????????????????'lineWidth':?2
????????????}
????????}
????},
????events={
????????'click':?"function?(event)?{?alert(this.name?+?'?clicked\\n'?+?'Alt:?'?+?event.altKey?+?'\\n'?+?\
?????????????????'Control:?'?+?event.ctrlKey?+?'\\n'?+?'Shift:?'?+?event.shiftKey?+?'\\n');}"},?
????dashStyle='ShortDash'
)
options?=?{
????'xAxis':{
????????'plotBands':?
????????????[{'color':?'#FCFFC5',?'from':?2,?'to':?4},?
????????????{'color':?'#FCFFC5',?'from':?6,?'to':?8},
????????????{'color':?'#FCFFC5',?'from':?10,?'to':?12}]
????????}
}
H.set_dict_options(options)

Example02 Of Highchart
樣例二
這個例子小編獲取Highcharts官網(wǎng)樣例進行再現(xiàn),詳細如下:
from?highcharts?import?Highchart?
chart?=?Highchart()?
data01?=?[43934,?52503,?57177,?69658,?97031,?119931,?137133,?154175]
data02?=[24916,?24064,?29742,?29851,?32490,?30282,?38121,?40434]
data03?=[11744,?17722,?16005,?19771,?20185,?24377,?32147,?39387]
data04?=?[550,?780,?7988,?12169,?15112,?22452,?34400,?34227]
data05?=?[12908,?5948,?8105,?11248,?8989,?11816,?18274,?18111]
chart.add_data_set(data01,'line',name='安裝,實施人員')
chart.add_data_set(data02,?'line',?name='工人')
chart.add_data_set(data03,'line',name='銷售')
chart.add_data_set(data04,?'line',?name='項目開發(fā)')
chart.add_data_set(data05,'line',name='其他')
options?=?{
?????"title":?{
???????"text":?'2010?~?2016?年太陽能行業(yè)就業(yè)人員發(fā)展情況'},
????"subtitle":?{
??????"text":?'數(shù)據(jù)來源:thesolarfoundation.com'},
????"yAxis":?{
??????"title":?{
?????????"text":?'就業(yè)人數(shù)'
????????}},
?????"legend":?{
????????"layout":?'vertical',
?????????"align":?'right',
?????????"verticalAlign":?'middle'
??????}}
chart.set_dict_options(options)
chart

Example03 Of Highchart
「樣例二」
from?highcharts?import?Highchart?
chart?=?Highchart()?
#name:?'Hestavollane',
data01?=?[4.3,?5.1,?4.3,?5.2,?5.4,?4.7,?3.5,?4.1,?5.6,?7.4,?6.9,?7.1,
??????????7.9,?7.9,?7.5,?6.7,?7.7,?7.7,?7.4,?7.0,?7.1,?5.8,?5.9,?7.4,
??????????8.2,?8.5,?9.4,?8.1,?10.9,?10.4,?10.9,?12.4,?12.1,?9.5,?7.5,
?????????7.1,?7.5,?8.1,?6.8,?3.4,?2.1,?1.9,?2.8,?2.9,?1.3,?4.4,?4.2,
?????????3.0,?3.0]
#name:?'Voll',
data02?=?[0.0,?0.0,?0.0,?0.0,?0.0,?0.0,?0.0,?0.0,?0.1,?0.0,?0.3,?0.0,
??????????0.0,?0.4,?0.0,?0.1,?0.0,?0.0,?0.0,?0.0,?0.0,?0.0,?0.0,?0.0,
??????????0.0,?0.6,?1.2,?1.7,?0.7,?2.9,?4.1,?2.6,?3.7,?3.9,?1.7,?2.3,
??????????3.0,?3.3,?4.8,?5.0,?4.8,?5.0,?3.2,?2.0,?0.9,?0.4,?0.3,?0.5,?0.4]
chart.add_data_set(data01,'spline',name='Hestavollane')
chart.add_data_set(data02,?'spline',?name='Voll')
options?=?{
????"title":?{
???????"text":?'風速變化趨勢圖'
?????????????},
????"subtitle":?{
????????"text":?'2009年10月6日和7日兩地風速情況'
????????},
???"xAxis":?{
??????"type":?'datetime',
??????"labels":?{
??????"overflow":?'justify'
??????????}
????????},
???"yAxis":?{
??????"title":?{
????????"text":?'風?速?(m/s)'
??????????},
??"min":?0,
??"minorGridLineWidth":?0,
??"gridLineWidth":?0,
??"alternateGridColor":?None,
??"plotBands":?[{?#//?Light?air
???"from":?0.3,
???"to":?1.5,
???"color":?'rgba(68,?170,?213,?0.1)',
???"label":?{
????"text":?'輕空氣',
????"style":?{
?????"color":?'#606060'
????}
???}
??},?{?#//?Light?breeze
???"from":?1.5,
???"to":?3.3,
???"color":?'rgba(0,?0,?0,?0)',
???"label":?{
????"text":?'微風',
????"style":?{
?????"color":?'#606060'
????}
???}
??},?{?#//?Gentle?breeze
???"from":?3.3,
???"to":?5.5,
???"color":?'rgba(68,?170,?213,?0.1)',
???"label":?{
????"text":?'柔和風',
????"style":?{
?????"color":?'#606060'
????}
???}
??},?{?#//?Moderate?breeze
???"from":?5.5,
???"to":?8,
???"color":?'rgba(0,?0,?0,?0)',
???"label":?{
????"text":?'溫和風',
????"style":?{
?????"color":?'#606060'
????}
???}
??},?{?#//?Fresh?breeze
???"from":?8,
???"to":?11,
???"color":?'rgba(68,?170,?213,?0.1)',
???"label":?{
????"text":?'清新風',
????"style":?{
?????"color":?'#606060'
????}
???}
??},?{?#//?Strong?breeze
???"from":?11,
???"to":?14,
???"color":?'rgba(0,?0,?0,?0)',
???"label":?{
????"text":?'強風',
????"style":?{
?????"color":?'#606060'
????}
???}
??},?{?#//?High?wind
???"from":?14,
???"to":?15,
???"color":?'rgba(68,?170,?213,?0.1)',
???"label":?{
????"text":?'狂風',
????"style":?{
?????"color":?'#606060'
????}
???}
??}]
?},
?"tooltip":?{
??"valueSuffix":?'?m/s'
?},
?"plotOptions":?{
??"spline":?{
???"lineWidth":?4,
???"states":?{
????"hover":?{
?????"lineWidth":?5
????}
???},
???"marker":?{
????"enabled":?False
???},
???"pointInterval":?3600000,?#//?one?hour
???
??}
?}?
}
chart.set_dict_options(options)
chart

Example04 Of Highchart
小編有話說:基本上官網(wǎng)提供的例子,python-highcharts都是可以實現(xiàn)的,前提是對這個庫有一定的了解程度。當然,會一點JS更好~~ 更多關于此包繪制方法詳細內(nèi)容可參考:python-highcharts[1] 和HightCharts[2]
總結
今天這篇推文小編簡單介紹了python-highcharts庫繪制交互式可視化圖表,給不會JS又想繪制HightCharts樣式圖表的小伙伴提供一種思路,感興趣的小伙伴可以探索一下~~
以上就是詳解利用python-highcharts庫繪制交互式可視化圖表的詳細內(nèi)容,更多關于python的資料請關注腳本之家其它相關文章!
- python的pyecharts繪制各種圖表詳細(附代碼)
- Python數(shù)據(jù)可視化之基于pyecharts實現(xiàn)的地理圖表的繪制
- 如何利用?Python?繪制動態(tài)可視化圖表
- Python使用Plotly繪制常見5種動態(tài)交互式圖表
- Python數(shù)據(jù)可視化之使用matplotlib繪制簡單圖表
- Python?matplotlib?plotly繪制圖表詳解
- Python+pyecharts繪制交互式可視化圖表
- 一文教會你用Python繪制動態(tài)可視化圖表
- Python使用pyecharts控件繪制圖表
- Python繪制地理圖表可視化神器pyecharts
相關文章
使用AJAX和Django獲取數(shù)據(jù)的方法實例
這篇文章主要給大家介紹了關于使用AJAX和Django獲取數(shù)據(jù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10
在Ubuntu系統(tǒng)中運行python代碼的幾個步驟
項目中需要在Linux上運行自己寫的python腳本,特此記錄一下操作流程,整個流程比較簡單,下面這篇文章主要給大家介紹了關于在Ubuntu系統(tǒng)中運行python代碼的幾個步驟,需要的朋友可以參考下2023-12-12
Python 利用內(nèi)置set函數(shù)對字符串和列表進行去重的方法
今天小編就為大家分享一篇Python 利用內(nèi)置set函數(shù)對字符串和列表進行去重的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
OpenCV每日函數(shù)之BarcodeDetector類條碼檢測器
OpenCV在V4.5.3版本的contrib包中提供了一個barcode::BarcodeDetector類,用于條形碼的識別,這篇文章主要介紹了OpenCV每日函數(shù)?BarcodeDetector條碼檢測器,需要的朋友可以參考下2022-06-06
使用matplotlib庫實現(xiàn)圖形局部數(shù)據(jù)放大顯示的實踐
本文主要介紹了使用matplotlib庫實現(xiàn)圖形局部數(shù)據(jù)放大顯示的實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
在Windows中設置Python環(huán)境變量的實例講解
下面小編就為大家分享一篇在Windows中設置Python環(huán)境變量的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
python中mediapipe庫踩過的坑實戰(zhàn)記錄
MediaPipe是由google制作的開源的、跨平臺的機器學習框架,可以將一些模型部署到不同的平臺和設備上使用的同時,也能保住檢測速度,下面這篇文章主要給大家介紹了關于python中mediapipe庫踩過的坑的相關資料,需要的朋友可以參考下2023-04-04

