詳解利用python-highcharts庫(kù)繪制交互式可視化圖表
今天小編給大家推薦一個(gè)超強(qiáng)交互式可視化繪制工具-python-highcharts,熟悉HightCharts繪圖軟件的小伙伴對(duì)這個(gè)不會(huì)陌生,python-highcharts就是使用Python進(jìn)行Highcharts項(xiàng)目繪制,簡(jiǎn)單的說(shuō)就是實(shí)現(xiàn)Python和Javascript之間的簡(jiǎn)單轉(zhuǎn)換層,話不多說(shuō),我們直接進(jìn)行介紹,具體包括以下幾個(gè)方面:
python-highcharts庫(kù)的簡(jiǎn)單介紹
python-highcharts 具體案例
python-highcharts庫(kù)的簡(jiǎn)單介紹
python-highcharts庫(kù)作為優(yōu)秀的第三方庫(kù),其實(shí)現(xiàn)了對(duì)HightCharts項(xiàng)目的Python封裝應(yīng)用,里面關(guān)于圖表細(xì)節(jié)的設(shè)置還是基于Javascript代碼,但較簡(jiǎn)單,可以進(jìn)行隨意更改。
需要注意的是,由于HightCharts可以免費(fèi)用于非商業(yè)用途,所以使用python-highcharts繪制也是如此,商業(yè)用途需要購(gòu)買單獨(dú)的許可證。我們這里當(dāng)作練習(xí)即可~~
python-highcharts庫(kù)繪制的圖形主要包括如下類別:
- Highcharts:繪制如折線圖、散點(diǎn)圖等常規(guī)圖表;
- Highstock:繪制股價(jià)走勢(shì)圖表;
- Highmaps:繪制地圖;
python-highcharts 具體案例
這一部分,小編分別主要介紹Highcharts的樣例,因?yàn)镠ighstock和Highmaps使用較少,且反應(yīng)較慢,這里不做介紹哈。詳細(xì)內(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)圖片。
你還可以通過(guò)添加交互點(diǎn)擊時(shí)的狀態(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
樣例二
這個(gè)例子小編獲取Highcharts官網(wǎng)樣例進(jìn)行再現(xiàn),詳細(xì)如下:
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='安裝,實(shí)施人員') chart.add_data_set(data02,?'line',?name='工人') chart.add_data_set(data03,'line',name='銷售') chart.add_data_set(data04,?'line',?name='項(xiàng)目開(kāi)發(fā)') chart.add_data_set(data05,'line',name='其他') options?=?{ ?????"title":?{ ???????"text":?'2010?~?2016?年太陽(yáng)能行業(yè)就業(yè)人員發(fā)展情況'}, ????"subtitle":?{ ??????"text":?'數(shù)據(jù)來(lái)源: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":?'風(fēng)速變化趨勢(shì)圖' ?????????????}, ????"subtitle":?{ ????????"text":?'2009年10月6日和7日兩地風(fēng)速情況' ????????}, ???"xAxis":?{ ??????"type":?'datetime', ??????"labels":?{ ??????"overflow":?'justify' ??????????} ????????}, ???"yAxis":?{ ??????"title":?{ ????????"text":?'風(fēng)?速?(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":?'微風(fēng)', ????"style":?{ ?????"color":?'#606060' ????} ???} ??},?{?#//?Gentle?breeze ???"from":?3.3, ???"to":?5.5, ???"color":?'rgba(68,?170,?213,?0.1)', ???"label":?{ ????"text":?'柔和風(fēng)', ????"style":?{ ?????"color":?'#606060' ????} ???} ??},?{?#//?Moderate?breeze ???"from":?5.5, ???"to":?8, ???"color":?'rgba(0,?0,?0,?0)', ???"label":?{ ????"text":?'溫和風(fēng)', ????"style":?{ ?????"color":?'#606060' ????} ???} ??},?{?#//?Fresh?breeze ???"from":?8, ???"to":?11, ???"color":?'rgba(68,?170,?213,?0.1)', ???"label":?{ ????"text":?'清新風(fēng)', ????"style":?{ ?????"color":?'#606060' ????} ???} ??},?{?#//?Strong?breeze ???"from":?11, ???"to":?14, ???"color":?'rgba(0,?0,?0,?0)', ???"label":?{ ????"text":?'強(qiáng)風(fēng)', ????"style":?{ ?????"color":?'#606060' ????} ???} ??},?{?#//?High?wind ???"from":?14, ???"to":?15, ???"color":?'rgba(68,?170,?213,?0.1)', ???"label":?{ ????"text":?'狂風(fēng)', ????"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
小編有話說(shuō):基本上官網(wǎng)提供的例子,python-highcharts都是可以實(shí)現(xiàn)的,前提是對(duì)這個(gè)庫(kù)有一定的了解程度。當(dāng)然,會(huì)一點(diǎn)JS更好~~ 更多關(guān)于此包繪制方法詳細(xì)內(nèi)容可參考:python-highcharts[1] 和HightCharts[2]
總結(jié)
今天這篇推文小編簡(jiǎn)單介紹了python-highcharts庫(kù)繪制交互式可視化圖表,給不會(huì)JS又想繪制HightCharts樣式圖表的小伙伴提供一種思路,感興趣的小伙伴可以探索一下~~
以上就是詳解利用python-highcharts庫(kù)繪制交互式可視化圖表的詳細(xì)內(nèi)容,更多關(guān)于python的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python的pyecharts繪制各種圖表詳細(xì)(附代碼)
- Python數(shù)據(jù)可視化之基于pyecharts實(shí)現(xiàn)的地理圖表的繪制
- 如何利用?Python?繪制動(dòng)態(tài)可視化圖表
- Python使用Plotly繪制常見(jiàn)5種動(dòng)態(tài)交互式圖表
- Python數(shù)據(jù)可視化之使用matplotlib繪制簡(jiǎn)單圖表
- Python?matplotlib?plotly繪制圖表詳解
- Python+pyecharts繪制交互式可視化圖表
- 一文教會(huì)你用Python繪制動(dòng)態(tài)可視化圖表
- Python使用pyecharts控件繪制圖表
- Python繪制地理圖表可視化神器pyecharts
相關(guān)文章
史上最全Python文件類型讀寫庫(kù)大盤點(diǎn)
這篇文章主要為大家詳細(xì)介紹了史上最全Python文件類型讀寫庫(kù)大盤點(diǎn),包含常用和不常用的大量文件格式,文本、音頻、視頻應(yīng)有盡有,廢話不多說(shuō),走起來(lái)2023-05-05python使用jpype導(dǎo)入多個(gè)Jar的異常問(wèn)題及解決
這篇文章主要介紹了python使用jpype導(dǎo)入多個(gè)Jar的異常問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12解決pycharm19.3.3安裝pyqt5找不到designer.exe和pyuic.exe的問(wèn)題
這篇文章給大家介紹了pycharm19.3.3安裝pyqt5&pyqt5-tools后找不到designer.exe和pyuic.exe以及配置QTDesigner和PyUIC的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-04-04Python異步爬蟲(chóng)實(shí)現(xiàn)原理與知識(shí)總結(jié)
之前有很多小伙伴想看Python異步爬蟲(chóng)的有關(guān)知識(shí)總結(jié),這次它來(lái)了,文中有非常詳細(xì)的代碼示例與注釋,即使對(duì)剛開(kāi)始學(xué)python的小伙伴也很友好,,需要的朋友可以參考下2021-05-05web.py 十分鐘創(chuàng)建簡(jiǎn)易博客實(shí)現(xiàn)代碼
web.py是一款輕量級(jí)的Python web開(kāi)發(fā)框架,簡(jiǎn)單、高效、學(xué)習(xí)成本低,特別適合作為python web開(kāi)發(fā)的入門框架2016-04-04Python+Pygame實(shí)戰(zhàn)之炫舞小游戲的實(shí)現(xiàn)
提到QQ炫舞,可能很多人想到的第一個(gè)詞是“青春”。恍然間,這個(gè)承載了無(wú)數(shù)人回憶與時(shí)光的游戲品牌,已經(jīng)走到了第十幾個(gè)年頭。今天小編就來(lái)給大家嘗試做一款簡(jiǎn)單的簡(jiǎn)陋版的小游戲——《舞動(dòng)青春*炫舞》,感興趣的可以了解一下2022-12-12一篇文章教你用python畫動(dòng)態(tài)愛(ài)心表白
這篇文章主要給大家介紹了關(guān)于如何用python畫動(dòng)態(tài)愛(ài)心表白的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11pycharm如何設(shè)置自動(dòng)生成作者信息
這篇文章主要介紹了pycharm如何設(shè)置自動(dòng)生成作者信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02