<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>

          20個精美圖表,教你玩轉(zhuǎn)Pyecharts可視化

          共 12714字,需瀏覽 26分鐘

           ·

          2021-10-24 09:39

          再繼上一篇Pyecharts相關(guān)的教程內(nèi)容之后,本篇文章我們將繼續(xù)聚焦Pyecharts模塊并且用它來繪制精美的圖表,希望讀者在看完之后會有不少收獲。

          01

          內(nèi)嵌餅狀圖

          內(nèi)接一個環(huán)狀的餅圖,里面還有一個餅狀的圖

          (    Pie()    .add(        series_name="訪問來源",        data_pair=[list(z) for z in zip(Faker.choose(), Faker.values())],        radius=[0, "30%"],        label_opts=opts.LabelOpts(position="inner"),    )    .add(        series_name="訪問來源",        radius=["40%", "55%"],        data_pair=[list(z) for z in zip(Faker.choose(), Faker.values())],    )    .set_global_opts(legend_opts=opts.LegendOpts(pos_left="15%", orient="vertical", pos_top="10%"))    .set_series_opts(        tooltip_opts=opts.TooltipOpts(            trigger="item", formatter="{a} 
          {b}: {c} (go7utgvlrp%)"
          ) ) .render("nested_pies.html"))

          02

          環(huán)形餅圖
          c = (    Pie()    .add(        "",        [list(z) for z in zip(Faker.choose(), Faker.values())],        radius=["50%", "75%"],    )    .set_global_opts(        title_opts=opts.TitleOpts(title="Pie-radius示例"),        legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),    )    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))    .render("pie_radius_test.html"))

          03

          玫瑰式餅狀圖
          c = (    Pie()    .add(        "",        [list(z) for z in zip(Faker.choose(), Faker.values())],        radius=["40%", "75%"],        center=["35%", "50%"],        rosetype="radius",        label_opts=opts.LabelOpts(is_show=False),    )    .set_global_opts(title_opts=opts.TitleOpts(title="餅圖-玫瑰圖示例"))    .render("pie_rosetype_test.html"))

          04

          多個餅狀圖合集
          c = (    Pie()    .add(        "",        [list(z) for z in zip(["古裝", "其他"], [35, 65])],        center=["20%", "30%"],        radius=[50, 80],        label_opts=new_label_opts(),    )    .add(        "",        [list(z) for z in zip(["動作", "其他"], [24, 76])],        center=["55%", "30%"],        radius=[50, 80],        label_opts=new_label_opts(),    )    .add(        "",        [list(z) for z in zip(["愛情", "其他"], [10, 90])],        center=["20%", "70%"],        radius=[50, 80],        label_opts=new_label_opts(),    )    .add(        "",        [list(z) for z in zip(["驚悚", "其他"], [20, 80])],        center=["55%", "70%"],        radius=[50, 80],        label_opts=new_label_opts(),    )    .set_global_opts(        title_opts=opts.TitleOpts(title="Pie-多餅圖基本示例"),        legend_opts=opts.LegendOpts(            type_="scroll", pos_top="30%", pos_left="70%", orient="vertical"        ),    )    .render("mutiple_pie.html"))

          05

          雷達(dá)圖

          雷達(dá)圖可以幫助我們查看各個維度之下的數(shù)據(jù)情況,例如

          c = (    Radar()    .add_schema(        schema=[????????????opts.RadarIndicatorItem(name="A",?max_=8500),????????????opts.RadarIndicatorItem(name="B",?max_=15000),????????????opts.RadarIndicatorItem(name="C",?max_=35000),????????????opts.RadarIndicatorItem(name="D",?max_=38000),????????????opts.RadarIndicatorItem(name="E",?max_=55000),????????????opts.RadarIndicatorItem(name="F",?max_=25000),        ]    )    .add("計劃設(shè)想", v1)    .add("實際情況", v2)    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))    .set_global_opts(        legend_opts=opts.LegendOpts(),        title_opts=opts.TitleOpts(title="雷達(dá)圖示例"),    )    .render("radar_test.html"))

          06

          散點圖
          (    Scatter()    .add_xaxis(xaxis_data=Faker.choose())    .add_yaxis(        series_name="",        y_axis=Faker.values(),        symbol_size=30,        label_opts=opts.LabelOpts(is_show=True),    )    .set_series_opts()    .set_global_opts(        yaxis_opts=opts.AxisOpts(            axistick_opts=opts.AxisTickOpts(is_show=True),            splitline_opts=opts.SplitLineOpts(is_show=True),        ),        tooltip_opts=opts.TooltipOpts(is_show=True),    )    .render("basic_scatter_chart.html"))

          07

          散點圖+漸變色
          c = (    Scatter()    .add_xaxis(Faker.choose())    .add_yaxis("商家1", Faker.values(), symbol_size=30,               label_opts=opts.LabelOpts(is_show=True),)    .set_global_opts(        title_opts=opts.TitleOpts(title="散點圖-顏色分段"),        visualmap_opts=opts.VisualMapOpts(max_=150),    )    .render("scatter_visualmap_color_test.html"))

          或者我們根據(jù)數(shù)據(jù)的大小來改變散點的大小

          c = (    Scatter()    .add_xaxis(Faker.choose())    .add_yaxis("商家1", Faker.values())    .add_yaxis("商家2", Faker.values())    .set_global_opts(        title_opts=opts.TitleOpts(title="散點圖-點狀大小不同"),        visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),    )    .render("scatter_visualmap_size_test.html"))

          08

          象形柱狀圖
          c = (    PictorialBar()    .add_xaxis(Faker.choose())    .add_yaxis(        "",        Faker.values(),        label_opts=opts.LabelOpts(is_show=True),        symbol_size=20,        symbol_repeat="fixed",        symbol_offset=[0, 0],        is_symbol_clip=True,        symbol=SymbolType.ROUND_RECT,    )    .reversal_axis()    .set_global_opts(        title_opts=opts.TitleOpts(title="象形柱狀圖示例"),        xaxis_opts=opts.AxisOpts(is_show=True),        yaxis_opts=opts.AxisOpts(            axistick_opts=opts.AxisTickOpts(is_show=True),            axisline_opts=opts.AxisLineOpts(                linestyle_opts=opts.LineStyleOpts(opacity=0)            ),        ),    )    .render("pictorialbar_test.html"))

          09

          K線圖+時間軸
          c = (    Kline()    .add_xaxis(["2021/5/{}".format(i + 1) for i in range(31)])    .add_yaxis("K線圖", data)    .set_global_opts(        xaxis_opts=opts.AxisOpts(is_scale=True),        yaxis_opts=opts.AxisOpts(            is_scale=True,            splitarea_opts=opts.SplitAreaOpts(                is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)            ),        ),        datazoom_opts=[opts.DataZoomOpts()],        title_opts=opts.TitleOpts(title="k線圖+時間軸示例"),    )    .render("k線圖+時間軸_test.html"))

          當(dāng)然這個時間軸既可以放在外面也可以放在里面

          c = (    Kline()    .add_xaxis(["2021/5/{}".format(i + 1) for i in range(31)])    .add_yaxis("K線圖", data)    .set_global_opts(        xaxis_opts=opts.AxisOpts(is_scale=True),        yaxis_opts=opts.AxisOpts(            is_scale=True,            splitarea_opts=opts.SplitAreaOpts(                is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)            ),        ),        datazoom_opts=[opts.DataZoomOpts(type_="inside")],        title_opts=opts.TitleOpts(title="K線圖+時間軸示例"),    )    .render("K線圖+時間軸示例_inside.html"))

          10

          區(qū)域地圖
          c = (    Map()    .add("商家A", [list(z) for z in zip(["杭州市", "寧波市", "舟山市", "臺州市", "溫州市", "麗水市",                                       "金華市", "衢州市", "紹興市", "湖州市", "嘉興市"],                                      Faker.values())], "浙江")    .set_global_opts(        title_opts=opts.TitleOpts(title="Map浙江地圖-Test"), visualmap_opts=opts.VisualMapOpts()    )    .render("map_zhejiang.html"))

          11

          區(qū)域地圖+熱力圖
          c = (    Geo()    .add_schema(maptype="浙江")    .add(        "geo",        [list(z) for z in zip(["杭州市", "寧波市", "舟山市", "臺州市", "溫州市", "麗水市",                               "金華市", "衢州市", "紹興市", "湖州市", "嘉興市"], Faker.values())],        type_=ChartType.HEATMAP,    )    .set_series_opts(label_opts=opts.LabelOpts(is_show=True))    .set_global_opts(        visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="Geo-浙江地圖")    )    .render("geo_zhejiang.html"))

          12

          地圖+顏色分段
          c = (    Map()    .add("商家1", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")    .set_global_opts(        title_opts=opts.TitleOpts(title="地圖 + 顏色分段(連續(xù)型)"),        visualmap_opts=opts.VisualMapOpts(max_=150),    )    .render("map_visual_test.html"))

          13

          世界地圖
          c = (    Map()    .add("商家1", [list(z) for z in zip(Faker.country, Faker.values())], "world")    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))    .set_global_opts(        title_opts=opts.TitleOpts(title="Pyecharts-世界地圖"),        visualmap_opts=opts.VisualMapOpts(max_=200),    )    .render("map_world_test.html"))

          14

          地圖+散點圖

          地圖+漣漪散點圖的示例

          c = (    Geo()    .add_schema(maptype="china")    .add(        "geo",        [list(z) for z in zip(Faker.provinces, Faker.values())],        type_=ChartType.EFFECT_SCATTER,    )    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))    .set_global_opts(title_opts=opts.TitleOpts(title="地圖+漣漪散點圖示例"))    .render("geo_effectscatter_test.html"))

          15

          地圖+方向箭頭
          c = (    Geo()    .add_schema(        maptype="china",        itemstyle_opts=opts.ItemStyleOpts(color="#323c48", border_color="#111"),    )    .add(        "",        [list(z) for z in zip(Faker.provinces, Faker.values())],        type_=ChartType.EFFECT_SCATTER,        color="white",    )    .add(        "geo",        [("寧波", "南京"), ("寧波", "北京"), ("寧波", "蘭州"), ("寧波", "拉薩"), ("寧波", "銀川"), ("寧波", "武漢")],        type_=ChartType.LINES,        effect_opts=opts.EffectOpts(            symbol=SymbolType.ARROW, symbol_size=6, color="blue"        ),        linestyle_opts=opts.LineStyleOpts(curve=0.2),    )    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))    .set_global_opts(title_opts=opts.TitleOpts(title="Geo-Lines-background"))    .render("geo_lines_background_test.html"))

          16

          關(guān)系圖
          nodes = [    opts.GraphNode(name="結(jié)點A", symbol_size=10),    opts.GraphNode(name="結(jié)點B", symbol_size=30),    opts.GraphNode(name="結(jié)點C", symbol_size=20),    opts.GraphNode(name="結(jié)點D", symbol_size=50),    opts.GraphNode(name="結(jié)點E", symbol_size=70),]links = [    opts.GraphLink(source="結(jié)點A", target="結(jié)點B"),    opts.GraphLink(source="結(jié)點B", target="結(jié)點C"),    opts.GraphLink(source="結(jié)點C", target="結(jié)點D"),    opts.GraphLink(source="結(jié)點D", target="結(jié)點E"),    opts.GraphLink(source="結(jié)點E", target="結(jié)點A"),]c = (    Graph()    .add("", nodes, links, repulsion=2000)    .set_global_opts(title_opts=opts.TitleOpts(title="關(guān)系圖"))    .render("graph_test1.html"))

          17

          柱狀圖+水印

          pyecharts還可以給圖表增添水印

          c = (    Bar(init_opts=opts.InitOpts(width='900px', height='600px'))    .add_xaxis(Faker.choose())    .add_yaxis("商家A", Faker.values())    .add_yaxis("商家B", Faker.values())    .set_global_opts(        title_opts=opts.TitleOpts(title=""),        graphic_opts=graphics_lst,    ))c.render("watermark.html")

          18

          餅圖+時間軸組件

          我們可以在餅圖下面加一個時間軸,看一下隨著時間的變化,各個類目是怎么來變化的

          attr = Faker.choose()tl = Timeline()for i in range(2015, 2022):    pie = (        Pie()        .add(            "商家A",            [list(z) for z in zip(attr, Faker.values())],            center=["50%", "50%"], radius=["40%", "60%"],        )        .set_global_opts(title_opts=opts.TitleOpts("某商店{}年營業(yè)額".format(i)))    )????tl.add(pie,?"{}年".format(i))tl.render("timeline_pie_test.html")

          19

          橫向柱狀圖 + 時間軸組件
          tl = Timeline()for i in range(2015, 2022):    bar = (        Bar()        .add_xaxis(Faker.choose())        .add_yaxis("商家1", Faker.values(), label_opts=opts.LabelOpts(position="right"))        .add_yaxis("商家2", Faker.values(), label_opts=opts.LabelOpts(position="right"))        .reversal_axis()        .set_global_opts(            title_opts=opts.TitleOpts("時間軸 + 橫向柱狀圖 (時間: {} 年)".format(i))        )    )    tl.add(bar, "{}年".format(i))tl.render("timeline_bar_reversal_test.html")

          20

          地圖 + 時間軸組件
          tl?=?Timeline()for i in range(2015, 2022):    map0 = (        Map()        .add("商家1", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")        .set_global_opts(            title_opts=opts.TitleOpts(title="{}年數(shù)據(jù)".format(i)),            visualmap_opts=opts.VisualMapOpts(max_=200),        )    )    tl.add(map0, "{}年".format(i))tl.render("timeline_map.html")

          21

          柱狀圖 + 自定義標(biāo)識

          有時候我們需要將最大、最小值以及平均值標(biāo)識出來,于是乎

          c = (    Bar()    .add_xaxis(Faker.choose())    .add_yaxis("商家1", Faker.values())    .add_yaxis("商家2", Faker.values())    .set_global_opts(title_opts=opts.TitleOpts(title="直方圖 + 標(biāo)識特殊值(指定類型)"))    .set_series_opts(        label_opts=opts.LabelOpts(is_show=False),        markpoint_opts=opts.MarkPointOpts(            data=[                opts.MarkPointItem(type_="max", name="最大值"),                opts.MarkPointItem(type_="min", name="最小值"),                opts.MarkPointItem(type_="average", name="平均值"),            ]        ),    )    .render("bar_markpoint_test.html"))

          22

          柱狀圖 + 漸變色
          c = (    Bar()    .add_xaxis(Faker.choose())    .add_yaxis("商家1", Faker.values(), category_gap="50%")    .set_series_opts(        itemstyle_opts={            "normal": {                "color": JsCode(                    """new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                offset: 0,                color: 'rgba(0, 244, 255, 1)'            }, {                offset: 1,                color: 'rgba(0, 77, 167, 1)'            }], false)"""                ),                "barBorderRadius": [50, 50, 50, 50],                "shadowColor": "rgb(0, 160, 221)",            }        }    )    .set_global_opts(title_opts=opts.TitleOpts(title="圓角直方圖-漸變圓柱示例"))    .render("bar_border_test.html"))


          今天文章就到這里啦~希望通過本文你也可以畫出美美的可視化圖表,你還可以掃下方二維碼加入我的Python學(xué)習(xí)交流群,還可以獲取大屏可視化源碼,只需微信私聊我回復(fù):可視化

          我是老表,愛貓愛技術(shù)~

          點贊+留言+轉(zhuǎn)發(fā),就是對我最大的支持啦~

          文章點贊超過100+
          我將在個人視頻號直播(老表Max)
          帶大家一起進(jìn)行項目實戰(zhàn)復(fù)現(xiàn)
          贈送對應(yīng)圖書1本



          掃碼即可加我微信

          老表朋友圈經(jīng)常有贈書/紅包福利活動


          學(xué)習(xí)更多:
          整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機(jī)器學(xué)習(xí)等方面,別再說不知道該從哪開始,實戰(zhàn)哪里找了
          點贊”就是對博主最大的支持?
          瀏覽 45
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  亚洲免费一级片 | 俺去也亚洲 | 青青青草成人视频视频 | 一级a免一级a做免费线看内裤的 | 超pen个人公开视频久久 |