国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

循序漸進,學(xué)會用pyecharts繪制玫瑰圖

這篇具有很好參考價值的文章主要介紹了循序漸進,學(xué)會用pyecharts繪制玫瑰圖。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

循序漸進,學(xué)會用pyecharts繪制玫瑰圖

玫瑰圖簡介

玫瑰圖全稱南丁格爾玫瑰圖,是英國護士和統(tǒng)計學(xué)家弗羅倫斯·南丁格爾發(fā)明的,又名為極區(qū)圖。

南丁格爾自己常昵稱這類圖為雞冠花圖(coxcomb),用以表達軍醫(yī)院季節(jié)性的死亡率,提供給那些不太能理解傳統(tǒng)統(tǒng)計報表的公務(wù)人員。

在疫情期間經(jīng)??吹侥欠N盤旋的像玫瑰一樣的、用來展示不同地區(qū)的新增等數(shù)據(jù)的圖形,就是玫瑰圖。

玫瑰圖是一種圓形的直方圖,即有餅圖的特征,也有直方圖的特征。

在Python中,可以使用pyecharts庫中繪制餅圖的組件Pie實現(xiàn)玫瑰圖,本文就循序漸進地介紹一步步將餅圖演變成玫瑰圖。

繪圖準備

  • 安裝pyecharts庫
pip install pyecharts
  • 準備示例數(shù)據(jù)

本文用十種水果的熱量(kcal/100g)值對比來做演示。(數(shù)據(jù)來源于網(wǎng)絡(luò))

# coding=utf-8
import pandas as pd

fruits = {'香蕉': 115, '梨': 79, '椰子': 241, '柿子': 74, '鮮棗': 125,
          '榴蓮': 147, '石榴': 72, '菠蘿蜜': 105, '牛油果': 143, '山楂': 102}
s_fruits = pd.Series(fruits)
print(s_fruits)
香蕉     115
梨       79
椰子     241
柿子      74
鮮棗     125
榴蓮     147
石榴      72
菠蘿蜜    105
牛油果    143
山楂     102
dtype: int64

繪制餅圖

先根據(jù)初始數(shù)據(jù),繪制一個基本的餅圖。

繪制餅圖使用pyecharts中的Pie組件,先初始化一個Pie對象,調(diào)用add()方法添加繪圖用的數(shù)據(jù),再鏈式調(diào)用set_series_opts()、set_global_opts()設(shè)置餅圖的標簽、標題、圖例等,最后鏈式調(diào)用render()方法將圖形渲染到HTML文件中,可以用瀏覽器打開繪圖結(jié)果。

from pyecharts.charts import Pie
from pyecharts import options as opts

# 餅圖
pie = Pie(init_opts=opts.InitOpts(width='800px', height='600px', bg_color='white'))
pie.add(
    '', [list(z) for z in zip([fruit for fruit in s_fruits.index], s_fruits)], center=['50%', '50%']
).set_series_opts(
    label_opts=opts.LabelOpts(formatter=": {c}"),
).set_global_opts(
    title_opts=opts.TitleOpts(title='水果的熱量對比(kcal/100g)', pos_left='300', pos_top='20',
        title_textstyle_opts=opts.TextStyleOpts(color='black', font_size=16)),
    legend_opts=opts.LegendOpts(is_show=False)
).render('fruits_calorie1.html')

循序漸進,學(xué)會用pyecharts繪制玫瑰圖

此時繪制了一個普通的餅圖,已經(jīng)可以對比展示數(shù)據(jù)了。

繪制環(huán)形餅圖

要將一個餅圖設(shè)置成環(huán)形餅圖,在添加數(shù)據(jù)的add()方法中使用radius參數(shù)設(shè)置。

radius參數(shù)接收一個列表或元組,列表由兩個數(shù)值或百分比組成,如radius=[‘40%’, ‘60%’],分別表示餅圖的內(nèi)半徑和外半徑,大部分情況用百分比。

餅圖的內(nèi)半徑默認為0,外半徑默認為畫布高寬中較小的一項的一半,所以餅圖默認是從圓心開始的,大小根據(jù)畫布大小自適應(yīng)。

# 環(huán)形餅圖
pie = Pie(init_opts=opts.InitOpts(width='800px', height='600px', bg_color='white'))
pie.add(
    '', [list(z) for z in zip([fruit for fruit in s_fruits.index], s_fruits)],
    radius=['40%', '60%'], center=['50%', '50%']
).set_series_opts(
    label_opts=opts.LabelOpts(formatter=": {c}"),
).set_global_opts(
    title_opts=opts.TitleOpts(title='水果的熱量對比(kcal/100g)', pos_left='300', pos_top='20',
        title_textstyle_opts=opts.TextStyleOpts(color='black', font_size=16)),
    legend_opts=opts.LegendOpts(is_show=False)
).render('fruits_calorie2.html')

循序漸進,學(xué)會用pyecharts繪制玫瑰圖

設(shè)置radius參數(shù)后餅圖變成了環(huán)形餅圖。當(dāng)然,玫瑰圖并不一定是“空心”的,不用先修改成環(huán)形餅圖也可以。

繪制玫瑰圖

在餅圖的基礎(chǔ)上,在add()方法中添加rosetype="radius"參數(shù),就可以繪制出玫瑰圖。

rosetype參數(shù)用于設(shè)置是否展示成南丁格爾玫瑰圖,默認None(不展示成玫瑰圖)。

rosetype有’radius’和’area’兩種模式:

  • radius模式:用扇形圓心角展現(xiàn)數(shù)據(jù)的百分比,通過半徑展現(xiàn)數(shù)據(jù)大小。

  • area模式:所有扇形圓心角相同,僅通過半徑展現(xiàn)數(shù)據(jù)大小。

# 玫瑰圖
pie = Pie(init_opts=opts.InitOpts(width='800px', height='600px', bg_color='white'))
pie.add(
    '', [list(z) for z in zip([fruit for fruit in s_fruits.index], s_fruits)],
    radius=['10%', '70%'], center=['50%', '50%'], rosetype="radius"
).set_series_opts(
    label_opts=opts.LabelOpts(formatter=": {c}")
).set_global_opts(
    title_opts=opts.TitleOpts(title='水果的熱量對比(kcal/100g)', pos_left='300', pos_top='20',
        title_textstyle_opts=opts.TextStyleOpts(color='black', font_size=16)),
    legend_opts=opts.LegendOpts(is_show=False)
).render('fruits_calorie3.html')

循序漸進,學(xué)會用pyecharts繪制玫瑰圖

本文使用’radius’模式,用扇形圓心角展現(xiàn)數(shù)據(jù)的百分比,具有餅圖的特征,通過半徑展現(xiàn)數(shù)據(jù)大小,具有直方圖的特征。

優(yōu)化玫瑰圖

玫瑰圖已經(jīng)完成了,在展示時可以進行一些優(yōu)化。

  • 先對數(shù)據(jù)進行排序。

    使用pandas中的sort_values()方法先將數(shù)據(jù)排序,再繪制玫瑰圖,這樣圖像的半徑依次變大,對比效果更直觀。

  • 調(diào)整radius的范圍。

    根據(jù)數(shù)據(jù)的變化調(diào)整radius參數(shù)中的內(nèi)半徑和外半徑值,改變圖形的展示范圍,使圖像更協(xié)調(diào)美觀。

  • 設(shè)置扇形顏色漸變。

    鏈式調(diào)用set_colors()方法來設(shè)置玫瑰圖的顏色,為了使不同的扇形顏色依次漸變,可以通過設(shè)置RGB(red,green,blue)值的變化來實現(xiàn),如下方代碼控制不同數(shù)據(jù)的R值和B值,將顏色調(diào)為紅藍漸變。具體代碼如下。

# 玫瑰圖美化
s_fruits = s_fruits.sort_values()
pie = Pie(init_opts=opts.InitOpts(width='800px', height='600px', bg_color='white'))
pie.add(
    '', [list(z) for z in zip([fruit for fruit in s_fruits.index], s_fruits)],
    radius=['10%', '70%'], center=['50%', '50%'], rosetype="radius"
).set_series_opts(
    label_opts=opts.LabelOpts(formatter=": {c}"),
).set_global_opts(
    title_opts=opts.TitleOpts(title='水果的熱量對比(kcal/100g)', pos_left='300', pos_top='20',
        title_textstyle_opts=opts.TextStyleOpts(color='black', font_size=16)),
    legend_opts=opts.LegendOpts(is_show=False)
).set_colors(
    ['rgb({r},0,)'.format(r=255-20*(len(s_fruits)-x+1), b=255-15*x) for x in range(len(s_fruits))]
).render('fruits_calorie4.html')

循序漸進,學(xué)會用pyecharts繪制玫瑰圖

經(jīng)過以上幾個步驟的演進,一個不錯的玫瑰圖完成了。這樣一步一步地調(diào)整和演進,可以方便大家學(xué)習(xí)。

如果本文對你有幫助,歡迎點贊、收藏和關(guān)注。

參考文檔:
[1] pyecharts官方文檔:https://pyecharts.org/#/zh-cn/basic_charts文章來源地址http://www.zghlxwxcb.cn/news/detail-422498.html

到了這里,關(guān)于循序漸進,學(xué)會用pyecharts繪制玫瑰圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Godot引擎 4.0 文檔 - 循序漸進教程 - 節(jié)點和場景

    Godot引擎 4.0 文檔 - 循序漸進教程 - 節(jié)點和場景

    Nodes and Scenes — Godot Engine (stable) documentation in English 在Godot 關(guān)鍵概念概述中,我們看到 Godot 游戲是一棵場景樹,每個場景都是一棵節(jié)點樹。在本課中,我們將對它們進行更多解釋。您還將創(chuàng)建您的第一個場景。 節(jié)點是游戲的基本構(gòu)建塊 。它們就像食譜中的配料。Godot中有幾十

    2024年02月05日
    瀏覽(23)
  • Python應(yīng)用程序部署至K8s——循序漸進版

    Python應(yīng)用程序部署至K8s——循序漸進版

    (1)Pod處于一直Pending狀態(tài) 解決方法參考:0/1 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn‘t-CSDN博客 (2)Pod處于CrashLoopBackOff狀態(tài) 原因:python不能夠常駐,只能運行一次,且是后臺運行情況,則會出錯。 解決方法:將程序設(shè)置成能夠常駐的,并且

    2024年03月22日
    瀏覽(36)
  • 基于SqlSugar的開發(fā)框架循序漸進介紹(28)-- 快速構(gòu)建系統(tǒng)參數(shù)管理界面

    基于SqlSugar的開發(fā)框架循序漸進介紹(28)-- 快速構(gòu)建系統(tǒng)參數(shù)管理界面

    在參照一些行業(yè)系統(tǒng)軟件的時候,發(fā)現(xiàn)一個做的挺不錯的系統(tǒng)功能-系統(tǒng)參數(shù)管理,相當(dāng)于把任何一個基礎(chǔ)的系統(tǒng)參數(shù)碎片化進行管理,每次可以讀取一個值進行管理,這樣有利于我們快速的處理業(yè)務(wù)需求,是一個挺好的功能。本篇隨筆模擬這個功能,基于SqlSugar開發(fā)框架的基

    2023年04月23日
    瀏覽(34)
  • 循序漸進介紹基于CommunityToolkit.Mvvm 和HandyControl的WPF應(yīng)用端開發(fā)(1)

    循序漸進介紹基于CommunityToolkit.Mvvm 和HandyControl的WPF應(yīng)用端開發(fā)(1)

    在我們的SqlSugar的開發(fā)框架中,整合了Winform端、Vue3+ElementPlus的前端、以及基于UniApp+Vue+ThorUI的移動前端幾個前端處理,基本上覆蓋了我們?nèi)粘5膽?yīng)用模式了,本篇隨筆進一步介紹前端應(yīng)用的領(lǐng)域,研究集成WPF的應(yīng)用端,循序漸進介紹基于CommunityToolkit.Mvvm 和HandyControl的WPF應(yīng)用端

    2024年02月09日
    瀏覽(30)
  • 循序漸進介紹基于CommunityToolkit.Mvvm 和HandyControl的WPF應(yīng)用端開發(fā)(2)

    循序漸進介紹基于CommunityToolkit.Mvvm 和HandyControl的WPF應(yīng)用端開發(fā)(2)

    在前面隨筆《循序漸進介紹基于CommunityToolkit.Mvvm 和HandyControl的WPF應(yīng)用端開發(fā)(1)》中介紹了Mvvm 的開發(fā),以及一些界面效果,本篇隨筆繼續(xù)深入探討基于CommunityToolkit.Mvvm 和HandyControl的WPF應(yīng)用端開發(fā),介紹如何整合SqlSugar框架的基礎(chǔ)接口,通過基類繼承的方式,簡化實際項目的開

    2024年02月09日
    瀏覽(31)
  • 基于SqlSugar的開發(fā)框架循序漸進介紹(30)-- 整合客戶關(guān)系管理系統(tǒng)模塊功能

    基于SqlSugar的開發(fā)框架循序漸進介紹(30)-- 整合客戶關(guān)系管理系統(tǒng)模塊功能

    以前在隨筆《Winform開發(fā)框架之客戶關(guān)系管理系統(tǒng)(CRM)的開發(fā)總結(jié)系列1-界面功能展示?》的幾篇隨筆中介紹過基于WInform開發(fā)框架開發(fā)的CRM系統(tǒng),系統(tǒng)的功能主要也是圍繞著客戶相關(guān)信息來進行管理的,經(jīng)過一些客戶的定制應(yīng)用,以及框架各種功能的完善,系統(tǒng)也已經(jīng)很完善了

    2024年02月07日
    瀏覽(20)
  • 華為OD七日集訓(xùn)第8期 - 按算法分類,由易到難,循序漸進,玩轉(zhuǎn)OD

    華為OD七日集訓(xùn)第8期 - 按算法分類,由易到難,循序漸進,玩轉(zhuǎn)OD

    大家好,我是哪吒。 最近一直在刷華為OD機試的算法題,堅持一天三道題的節(jié)奏,已經(jīng)三個多月了, 刷了300多道題 。 最近還組織了“【陪伴學(xué)習(xí)】華為OD刷題交流群”,目前有207人在群。 希望用我自己瘋狂刷題的勁頭,感染大家,讓大家愛上刷題,順利通過華為OD機試,掌

    2024年02月08日
    瀏覽(25)
  • 華為OD七日集訓(xùn)第4期 - 按算法分類,由易到難,循序漸進,玩轉(zhuǎn)OD

    華為OD七日集訓(xùn)第4期 - 按算法分類,由易到難,循序漸進,玩轉(zhuǎn)OD

    大家好,我是哪吒。 最近一直在刷華為OD機試的算法題,堅持一天三道題的節(jié)奏,已經(jīng)三個多月了, 刷了300多道題 。 最近還組織了“【陪伴學(xué)習(xí)】華為OD刷題交流群”,目前有207人在群。 希望用我自己瘋狂刷題的勁頭,感染大家,讓大家愛上刷題,順利通過華為OD機試,掌

    2024年02月07日
    瀏覽(17)
  • 華為OD七日集訓(xùn)第5期 - 按算法分類,由易到難,循序漸進,玩轉(zhuǎn)OD

    華為OD七日集訓(xùn)第5期 - 按算法分類,由易到難,循序漸進,玩轉(zhuǎn)OD

    大家好,我是哪吒。 最近一直在刷華為OD機試的算法題,堅持一天三道題的節(jié)奏,已經(jīng)8個多月了, 刷了380多道題 。 最近還組織了“【陪伴學(xué)習(xí)】華為OD刷題交流群”,目前有261人在群。 希望用我自己瘋狂刷題的勁頭,感染大家,讓大家愛上刷題,順利通過華為OD機試,掌握

    2024年04月14日
    瀏覽(37)
  • 基于SqlSugar的開發(fā)框架循序漸進介紹(27)-- 基于MongoDB的數(shù)據(jù)庫操作整合

    基于SqlSugar的開發(fā)框架循序漸進介紹(27)-- 基于MongoDB的數(shù)據(jù)庫操作整合

    SqlSugar的開發(fā)框架本身主要是基于常規(guī)關(guān)系型數(shù)據(jù)庫設(shè)計的框架,支持多種數(shù)據(jù)庫類型的接入,如SqlServer、MySQL、Oracle、PostgreSQL、SQLite等數(shù)據(jù)庫,非關(guān)系型數(shù)據(jù)庫的MongoDB數(shù)據(jù)庫也可以作為擴展整合到開發(fā)框架里面,通過基類的繼承關(guān)系很好的封裝了相關(guān)的基礎(chǔ)操作功能,極大

    2023年04月13日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包