十分钟掌握pyecharts十类顶级图,都很实用!
生活随笔
收集整理的這篇文章主要介紹了
十分钟掌握pyecharts十类顶级图,都很实用!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文是為了幫助大家快速掌握十大頂級繪圖方法,重點解釋數據是如何呈現在不同類型圖中。
使用pip install pyecharts 安裝,安裝后的版本為 v1.6
pyecharts幾行代碼就能繪制出有特色的的圖形,繪圖API鏈式調用,使用方便。
1 儀表盤
from pyecharts import charts# 儀表盤 gauge = charts.Gauge() gauge.add('Python小例子', [('Python機器學習', 30), ('Python基礎', 70.),('Python正則', 90)]) gauge.render(path="./data/儀表盤.html") print('ok')儀表盤中共展示三項,每項的比例為30%,70%,90%,如下圖默認名稱顯示第一項:Python機器學習,完成比例為30%
2 漏斗圖
以7種車型及某個屬性值繪制的漏斗圖,屬性值大越靠近漏斗的大端。
3 日歷圖
繪制2019年1月1日到12月27日的步行數,官方給出的圖形寬度900px不夠,只能顯示到9月份,本例使用opts.InitOpts(width="1200px")做出微調,并且visualmap顯示所有步數,每隔一天顯示一次:
4 圖(graph)
import json import osfrom pyecharts import options as opts from pyecharts.charts import Graph, Pagedef graph_base() -> Graph:nodes = [{"name": "cus1", "symbolSize": 10},{"name": "cus2", "symbolSize": 30},{"name": "cus3", "symbolSize": 20}]links = []for i in nodes:if i.get('name') == 'cus1':continuefor j in nodes:if j.get('name') == 'cus1':continuelinks.append({"source": i.get("name"), "target": j.get("name")})c = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="customer-influence")))return c構建圖,其中客戶點1與其他兩個客戶都沒有關系(link),也就是不存在有效邊:
5 水球圖
水球圖的取值[0.67, 0.30, 0.15]表示下圖中的三個波浪線,一般代表三個百分比:
6 餅圖
from pyecharts import options as opts from pyecharts.charts import Pie from random import randintdef pie_base() -> Pie:c = (Pie().add("", [list(z) for z in zip(['寶馬', '法拉利', '奔馳', '奧迪', '大眾', '豐田', '特斯拉'],[randint(1, 20) for _ in range(7)])]).set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例")).set_series_opts(label_opts=opts.LabelOpts(formatter=": {c}")))return cpie_base().render('./img/pie_pyecharts.html')7 極坐標
import random from pyecharts import options as opts from pyecharts.charts import Page, Polardef polar_scatter0() -> Polar:data = [(alpha, random.randint(1, 100)) for alpha in range(101)] # r = random.randint(1, 100)print(data)c = (Polar().add("", data, type_="bar", label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="Polar")))return cpolar_scatter0().render('./img/polar.html')極坐標表示為(夾角,半徑),如(6,94)表示"夾角"為6,半徑94的點:
8 詞云圖
from pyecharts import options as opts from pyecharts.charts import Page, WordCloud from pyecharts.globals import SymbolTypewords = [("Python", 100),("C++", 80),("Java", 95),("R", 50),("JavaScript", 79),("C", 65) ]def wordcloud() -> WordCloud:c = (WordCloud()# word_size_range: 單詞字體大小范圍.add("", words, word_size_range=[20, 100], shape='cardioid').set_global_opts(title_opts=opts.TitleOpts(title="WordCloud")))return cwordcloud().render('./img/wordcloud.html')("C",65)表示在本次統計中C語言出現65次
9 系列柱狀圖
from pyecharts import options as opts from pyecharts.charts import Bar from random import randintdef bar_series() -> Bar:c = (Bar().add_xaxis(['寶馬', '法拉利', '奔馳', '奧迪', '大眾', '豐田', '特斯拉']).add_yaxis("銷量", [randint(1, 20) for _ in range(7)]).add_yaxis("產量", [randint(1, 20) for _ in range(7)]).set_global_opts(title_opts=opts.TitleOpts(title="Bar的主標題", subtitle="Bar的副標題")))return cbar_series().render('./img/bar_series.html')10 熱力圖
import random from pyecharts import options as opts from pyecharts.charts import HeatMapdef heatmap_car() -> HeatMap:x = ['寶馬', '法拉利', '奔馳', '奧迪', '大眾', '豐田', '特斯拉']y = ['中國','日本','南非','澳大利亞','阿根廷','阿爾及利亞','法國','意大利','加拿大']value = [[i, j, random.randint(0, 100)]for i in range(len(x)) for j in range(len(y))]c = (HeatMap().add_xaxis(x).add_yaxis("銷量", y, value).set_global_opts(title_opts=opts.TitleOpts(title="HeatMap"),visualmap_opts=opts.VisualMapOpts(),))return cheatmap_car().render('./img/heatmap_pyecharts.html')備注:公眾號菜單包含了整理了一本AI小抄,非常適合在通勤路上用學習。
往期精彩回顧那些年做的學術公益-你不是一個人在戰斗適合初學者入門人工智能的路線及資料下載機器學習在線手冊深度學習在線手冊AI基礎下載(第一部分)備注:加入本站微信群或者qq群,請回復“加群”加入知識星球(4500+用戶,ID:92416895),請回復“知識星球”喜歡文章,點個在看
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的十分钟掌握pyecharts十类顶级图,都很实用!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 厉害了!Python+matplotli
- 下一篇: 推荐系统的发展与简单回顾