<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          肝!用 Highcharts 繪制餅圖,也很強(qiáng)大

          共 1835字,需瀏覽 4分鐘

           ·

          2021-03-31 12:16

          來(lái)源 / Python數(shù)據(jù)之道

          作者/Peter   整理/陽(yáng)哥

          用 Highcharts 繪制餅圖,也很強(qiáng)大


          前不久,分享了讀者投稿的文章,較為綜合的介紹了可視化庫(kù) Highcharts ,這個(gè)一個(gè) JavaScript 下的可視化工具,同時(shí)也有 Python 版本。

          不少同學(xué)對(duì)這個(gè)工具感興趣,今天來(lái)跟大家介紹下如何用這個(gè)工具來(lái)繪制餅圖。大家可以對(duì)照自己常用的 Python 庫(kù),看看哪些工具更適合自己。

          本文中介紹的是如何利用 python-highcharts 繪制各種餅圖來(lái)滿足不同的需求,主要包含:

          • 基礎(chǔ)餅圖
          • 單色+多色餅圖制作
          • 帶上圖例+數(shù)據(jù)的餅圖
          • 雙層餅圖的制作
          • 扇形餅圖

          基礎(chǔ)餅圖

          首先我們看看整體的效果:

          • 可以很清晰地看到每個(gè)區(qū)塊的名字
          • 當(dāng)我們的光標(biāo)移動(dòng)到某個(gè)區(qū)塊,能夠看到該區(qū)塊占的比例

          整理的代碼如下:

          單色+多色餅圖

          上面的基礎(chǔ)餅圖在 Highcharts 中默認(rèn)是每個(gè)區(qū)塊的顏色是各不相同的,如果我們想每個(gè)區(qū)塊的顏色是相同的,或者某幾個(gè)區(qū)塊的顏色是相同的,該如何操作呢?

          單色餅圖

          首先看看整體的效果圖:

          整體的代碼如下:從導(dǎo)入庫(kù)到數(shù)據(jù)的添加設(shè)置、以及參數(shù)項(xiàng)的配置等

          其中,重點(diǎn)的參數(shù)設(shè)置看這里:

          Highcharts 中就是通過(guò) Highcharts.getOptions().colors 來(lái)設(shè)置默認(rèn)的顏色。我們改變下設(shè)置,繪制另一種顏色的餅圖:

          多色餅圖

          如果我們想某幾個(gè)區(qū)塊顯示相同的顏色,可以設(shè)置相同的數(shù)值,首先看看具體的效果圖:

          可以看到我們將6個(gè)區(qū)塊的顏色分成了3大類,就是通過(guò)上面的方法來(lái)實(shí)現(xiàn)的。如果我們?cè)O(shè)置成0-5的數(shù)值,即每個(gè)區(qū)塊的顏色各不相同,那么就是基礎(chǔ)餅圖的樣子

          顯示圖例和數(shù)據(jù)的餅圖

          上面提到的各種餅圖都是沒(méi)有圖例的,同時(shí)在區(qū)塊中也沒(méi)有直接顯示原始數(shù)據(jù),下面介紹方法來(lái)實(shí)現(xiàn)這兩種效果:

          圖例和數(shù)據(jù)顯示的代碼設(shè)置:

          雙層餅圖

          上面介紹了各種單個(gè)餅圖的制作,下面講解如何利用 python-highcharts 制作雙層餅圖。看看整體的效果:

          從上圖中我們可以看到:主要是有5種顏色

          • 藍(lán)色
          • 黑色
          • 綠色
          • 紅色
          • 紫色

          數(shù)據(jù)中顯示每個(gè)大類中還有子類,比如:MSIE 父類中還有子類 MSIE6.0、MSIE7.0、MSIE8.0、MSIE9.0。現(xiàn)在我們看看代碼中數(shù)據(jù)的顯示:

          可以很清晰地看到:先顯示父級(jí)的數(shù)據(jù),再顯示子級(jí)的數(shù)據(jù)。整體的代碼如下:

          扇形圖

          上面介紹的都是如何制作各種餅圖,下面介紹一種制作 扇形圖 的方法。首先看看整體的效果:

          上面顯示了5個(gè)類別的數(shù)據(jù),同時(shí)顯示了圖例,并且在扇形圖中顯示了數(shù)據(jù)。整體的代碼如下:

          重點(diǎn)的設(shè)置部分:

          總結(jié)

          本文結(jié)合各種實(shí)際案例介紹了如何利用 python-highcharts 來(lái)繪制各種不同需求的餅圖或者扇形圖。通過(guò)上面案例的介紹,我們發(fā)現(xiàn)使用 Highcharts 繪制圖形的主要步驟如下:

          1. 導(dǎo)入我們需要的 Highcharts 庫(kù),再實(shí)例化一個(gè) Highcharts 對(duì)象

          2. 數(shù)據(jù)項(xiàng)的配置:在繪圖的時(shí)候,數(shù)據(jù)的配置也很重要。Highcharts中對(duì)數(shù)據(jù)格式要求還是挺高的,而且在數(shù)據(jù)中還可以對(duì)數(shù)據(jù)進(jìn)行效果的設(shè)置

          3. 圖形參數(shù)設(shè)置:這是整個(gè)繪圖過(guò)程中 最為重要 的部分,主要是包含:圖表類型chart(柱狀圖、餅圖、折線圖等)、標(biāo)題title(主標(biāo)題、副標(biāo)題)、數(shù)據(jù)提示工具tooltip、繪圖選型plotOptions等配置項(xiàng)的設(shè)置

          4. 添加數(shù)據(jù)項(xiàng)和配置項(xiàng)。在添加配置項(xiàng)的時(shí)候,我們可以對(duì)最終的圖形進(jìn)行一些效果設(shè)置。

          最后是個(gè)人的一點(diǎn)感覺(jué):利用 Highcharts 來(lái)進(jìn)行繪圖的確代碼量很大,基本上畫一個(gè)簡(jiǎn)單的餅圖或者柱狀圖都需要大量的代碼(相對(duì)其他自己使用的可視化庫(kù),比如 pyecharts、plotly_express 等)。

          但是它的強(qiáng)大之處,應(yīng)該是在于結(jié)合前端的知識(shí),繪制更多動(dòng)態(tài)效果的圖形,讓圖形的可視化效果更美觀

          作者簡(jiǎn)介

          Peter,碩士畢業(yè)僧一枚,從電子專業(yè)自學(xué)Python入門數(shù)據(jù)行業(yè),擅長(zhǎng)數(shù)據(jù)分析及可視化。

          個(gè)人站點(diǎn):www.renpeter.cn

          推薦閱讀
          誤執(zhí)行了rm -fr /*之后,除了跑路還能怎么辦?!
          程序員必備58個(gè)網(wǎng)站匯總
          大幅提高生產(chǎn)力:你需要了解的十大Jupyter Lab插件

          瀏覽 26
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91人妻人人操人人爽 | 欧美操色| 啪啪啪网站免费看 | 一级a一级a爰片免费免免水l软件 | 久草手机视频在线观看 |