肝!用 Highcharts 绘制饼图,也很强大
來源 / Python數據之道
作者/Peter? ?整理/陽哥
用 Highcharts 繪制餅圖,也很強大
前不久,分享了讀者投稿的文章,較為綜合的介紹了可視化庫 Highcharts ,這個一個 JavaScript 下的可視化工具,同時也有 Python 版本。
不少同學對這個工具感興趣,今天來跟大家介紹下如何用這個工具來繪制餅圖。大家可以對照自己常用的 Python 庫,看看哪些工具更適合自己。
本文中介紹的是如何利用 python-highcharts 繪制各種餅圖來滿足不同的需求,主要包含:
基礎餅圖
單色+多色餅圖制作
帶上圖例+數據的餅圖
雙層餅圖的制作
扇形餅圖
基礎餅圖
首先我們看看整體的效果:
可以很清晰地看到每個區塊的名字
當我們的光標移動到某個區塊,能夠看到該區塊占的比例
整理的代碼如下:
單色+多色餅圖
上面的基礎餅圖在 Highcharts 中默認是每個區塊的顏色是各不相同的,如果我們想每個區塊的顏色是相同的,或者某幾個區塊的顏色是相同的,該如何操作呢?
單色餅圖
首先看看整體的效果圖:
整體的代碼如下:從導入庫到數據的添加設置、以及參數項的配置等
其中,重點的參數設置看這里:
Highcharts 中就是通過 Highcharts.getOptions().colors 來設置默認的顏色。我們改變下設置,繪制另一種顏色的餅圖:
多色餅圖
如果我們想某幾個區塊顯示相同的顏色,可以設置相同的數值,首先看看具體的效果圖:
可以看到我們將6個區塊的顏色分成了3大類,就是通過上面的方法來實現的。如果我們設置成0-5的數值,即每個區塊的顏色各不相同,那么就是基礎餅圖的樣子:
顯示圖例和數據的餅圖
上面提到的各種餅圖都是沒有圖例的,同時在區塊中也沒有直接顯示原始數據,下面介紹方法來實現這兩種效果:
圖例和數據顯示的代碼設置:
雙層餅圖
上面介紹了各種單個餅圖的制作,下面講解如何利用 python-highcharts 制作雙層餅圖??纯凑w的效果:
從上圖中我們可以看到:主要是有5種顏色
藍色
黑色
綠色
紅色
紫色
數據中顯示每個大類中還有子類,比如:MSIE 父類中還有子類 MSIE6.0、MSIE7.0、MSIE8.0、MSIE9.0?,F在我們看看代碼中數據的顯示:
可以很清晰地看到:先顯示父級的數據,再顯示子級的數據。整體的代碼如下:
扇形圖
上面介紹的都是如何制作各種餅圖,下面介紹一種制作 扇形圖 的方法。首先看看整體的效果:
上面顯示了5個類別的數據,同時顯示了圖例,并且在扇形圖中顯示了數據。整體的代碼如下:
重點的設置部分:
總結
本文結合各種實際案例介紹了如何利用 python-highcharts 來繪制各種不同需求的餅圖或者扇形圖。通過上面案例的介紹,我們發現使用 Highcharts 繪制圖形的主要步驟如下:
導入我們需要的 Highcharts 庫,再實例化一個 Highcharts 對象
數據項的配置:在繪圖的時候,數據的配置也很重要。Highcharts中對數據格式要求還是挺高的,而且在數據中還可以對數據進行效果的設置
圖形參數設置:這是整個繪圖過程中 最為重要 的部分,主要是包含:圖表類型chart(柱狀圖、餅圖、折線圖等)、標題title(主標題、副標題)、數據提示工具tooltip、繪圖選型plotOptions等配置項的設置
添加數據項和配置項。在添加配置項的時候,我們可以對最終的圖形進行一些效果設置。
最后是個人的一點感覺:利用 Highcharts 來進行繪圖的確代碼量很大,基本上畫一個簡單的餅圖或者柱狀圖都需要大量的代碼(相對其他自己使用的可視化庫,比如 pyecharts、plotly_express 等)。
但是它的強大之處,應該是在于結合前端的知識,繪制更多動態效果的圖形,讓圖形的可視化效果更美觀
作者簡介
Peter,碩士畢業僧一枚,從電子專業自學Python入門數據行業,擅長數據分析及可視化。
個人站點:www.renpeter.cn
推薦閱讀
誤執行了rm -fr /*之后,除了跑路還能怎么辦?!
程序員必備58個網站匯總
大幅提高生產力:你需要了解的十大Jupyter Lab插件
總結
以上是生活随笔為你收集整理的肝!用 Highcharts 绘制饼图,也很强大的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个神级般的 Python 调试神器
- 下一篇: 一行代码值 200 万?雷军公开小米新