利用Python繪制好看的玫瑰花圖
今天主要給大家介紹如何用pyecharts畫(huà)各種漂亮的數(shù)學(xué)圖形

一、基本極坐標(biāo)圖
說(shuō)簡(jiǎn)單點(diǎn),基本極坐標(biāo)圖就是圓形的散點(diǎn)圖(柱狀圖或折線圖),代碼如下:
import?random
from?pyecharts?import?options?as?opts
from?pyecharts.charts?import?Polar
data?=?[(i,?random.randint(1,?100))?for?i?in?range(101)]
c?=?(
????Polar()
????.add("",?data,?type_="scatter",?label_opts=opts.LabelOpts(is_show=False))
????.set_global_opts(title_opts=opts.TitleOpts(title="基本極坐標(biāo)圖"))
)
c.render_notebook()

數(shù)據(jù)data是1個(gè)列表,列表內(nèi)的元素為元組,單個(gè)元組有2個(gè)數(shù)據(jù),第一個(gè)數(shù)據(jù)為半徑,第二個(gè)數(shù)據(jù)相當(dāng)于角度,這樣就好理解了
也可把type改為bar
c?=?(
????Polar()
????.add("",?data,?type_="bar",?label_opts=opts.LabelOpts(is_show=False))
????.set_global_opts(title_opts=opts.TitleOpts(title="基本極坐標(biāo)圖"))
)
c.render_notebook()

同理也可以改成折線(line)等,大家可以自己嘗試一下。
二、極半徑圖
在極坐標(biāo)中引入柱狀圖
from?pyecharts?import?options?as?opts
from?pyecharts.charts?import?Polar
from?pyecharts.faker?import?Faker
c?=?(
????Polar()
????.add_schema(
????????radiusaxis_opts=opts.RadiusAxisOpts(data=Faker.week,??#數(shù)據(jù)項(xiàng)
????????????????????????????????????????????type_="category"??#坐標(biāo)軸類(lèi)型,類(lèi)目軸,適用于離散的類(lèi)目數(shù)據(jù),為該類(lèi)型時(shí)必須通過(guò) data 設(shè)置類(lèi)目數(shù)據(jù)。
???????????????????????????????????????????),
????????angleaxis_opts=opts.AngleAxisOpts(is_clockwise=True,?#是否順時(shí)針排布
??????????????????????????????????????????max_=10????????????#坐標(biāo)軸刻度最大值
?????????????????????????????????????????),
????)
????.add("A",?[1,?2,?3,?4,?3,?5,?1],?type_="bar")
????.set_global_opts(title_opts=opts.TitleOpts(title="Polar-RadiusAxis"))
)
c.render_notebook()

參數(shù)介紹
RadiusAxisOpts:極坐標(biāo)系徑向軸配置項(xiàng)
AngleAxisOpts:極坐標(biāo)系角度軸配置項(xiàng)
三、畫(huà)玫瑰花圖
首先我們要引入數(shù)學(xué)中的sin函數(shù),假設(shè)角度為theta,則長(zhǎng)度為n(m+sin(theta)),n和m都為常量,那么元組(長(zhǎng)度,角度)就可以在極坐標(biāo)中確定一個(gè)點(diǎn),把一系列的點(diǎn)放入列表中,并用折線圖連接起來(lái),就可以畫(huà)出漂亮的數(shù)學(xué)圖形。
import?math import?pyecharts.options?as?opts from?pyecharts.charts?import?Polar data?=?[] for?i?in?range(0,?101): ????theta?=?i?/?100?*?360 ????r?=?5?*?(1?+?math.sin(theta?/?180?*?math.pi)) ????data.append([r,?theta]) c=( ????Polar() ????.add(series_name="line",?data=data,?label_opts=opts.LabelOpts(is_show=False)) ????.add_schema( ????????angleaxis_opts=opts.AngleAxisOpts( ????????????start_angle=0,?type_="value",?is_clockwise=True ????????) ????) ????.set_global_opts( ????????tooltip_opts=opts.TooltipOpts(trigger="axis",?axis_pointer_type="cross"), ????????title_opts=opts.TitleOpts(title="極坐標(biāo)雙數(shù)值軸"), ????) ) c.render_notebook()

AngleAxisOpts參數(shù)介紹:
start_angle:極坐標(biāo)開(kāi)始的角度
type_:坐標(biāo)軸類(lèi)型,'value'表示數(shù)值軸,適用于連續(xù)數(shù)據(jù)
is_clockwise:是否為順時(shí)針
TooltipOpts參數(shù)介紹:
trigger:觸發(fā)類(lèi)型,'axis'表示坐標(biāo)軸觸發(fā),主要在柱狀圖,折線圖等會(huì)使用類(lèi)目軸的圖表中使用
axis_pointer_type:指示器類(lèi)型,'cross'表示十字準(zhǔn)星指示器
開(kāi)始畫(huà)玫瑰花圖
import?math
from?pyecharts?import?options?as?opts
from?pyecharts.charts?import?Polar
data?=?[]
for?i?in?range(401):
????t?=?i?/?180?*?math.pi
????r?=?math.sin(9*t)
????data.append([r,?i])
c?=?(
????Polar()
????.add_schema(angleaxis_opts=opts.AngleAxisOpts(start_angle=0,?min_=0))
????.add("flower",?data,?label_opts=opts.LabelOpts(is_show=False))
????.set_global_opts(title_opts=opts.TitleOpts(title="Polar-Flower"))
)
c.render_notebook()

是不是很漂亮,利用這種方法還可以畫(huà)出更多漂亮的圖形,趕緊動(dòng)手試試吧!
以上就是利用Python繪制好看的玫瑰花圖的詳細(xì)內(nèi)容,更多關(guān)于Python玫瑰花圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python?Flask框架實(shí)現(xiàn)小紅書(shū)圖片無(wú)水印解析下載
這篇文章主要為大家介紹了Python?Flask框架實(shí)現(xiàn)小紅書(shū)圖片無(wú)水印解析下載,需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
python numpy.power()數(shù)組元素求n次方案例
這篇文章主要介紹了python numpy.power()數(shù)組元素求n次方案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Python實(shí)現(xiàn)冒泡排序算法的完整實(shí)例
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)冒泡排序算法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
pytorch中的numel函數(shù)用法說(shuō)明
這篇文章主要介紹了pytorch中的numel函數(shù)用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-05-05
基于Python實(shí)現(xiàn)人臉識(shí)別相似度對(duì)比功能
人臉識(shí)別技術(shù)是一種通過(guò)計(jì)算機(jī)對(duì)人臉圖像進(jìn)行分析和處理,從而實(shí)現(xiàn)自動(dòng)識(shí)別和辨認(rèn)人臉的技術(shù),隨著計(jì)算機(jī)視覺(jué)和模式識(shí)別領(lǐng)域的快速發(fā)展,人臉識(shí)別技術(shù)取得了長(zhǎng)足的進(jìn)步,本文給大家介紹了基于Python實(shí)現(xiàn)人臉識(shí)別相似度對(duì)比功能,感興趣的朋友可以參考下2024-01-01

