最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?pyecharts繪制條形圖詳解

 更新時間:2022年04月01日 16:39:51   作者:渴望成為寂寞勝者  
pyecharts是一個由百度開源的數(shù)據(jù)可視化,憑借著良好的交互性,精巧的圖表設計,得到了眾多開發(fā)者的認可。本文將利用其繪制多樣的條形圖,需要的可以參考一下

一、簡介

關(guān)于具體詳情,請咨詢:pyecharts官網(wǎng)

pyecharts是一個由百度開源的數(shù)據(jù)可視化,憑借著良好的交互性,精巧的圖表設計,得到了眾多開發(fā)者的認可。而Python 是一門富有表達力的語言,很適合用于數(shù)據(jù)處理。當數(shù)據(jù)分析遇上數(shù)據(jù)可視化時,pyecharts誕生了。Echarts是用JS來寫的,而我們使用pyecharts則可以使用Python來調(diào)用里面的API。

優(yōu)點:

簡潔的 API 設計,使用如絲滑般流暢,支持鏈式調(diào)用

囊括了 30+ 種常見圖表,應有盡有

支持主流 Notebook環(huán)境,Jupyter Notebook 和 JupyterLab

可輕松集成至 Flask,Django 等主流 Web 框架

高度靈活的配置項,可輕松搭配出精美的圖表

詳細的文檔和示例,幫助開發(fā)者更快的上手項目

多達 400+地圖文件以及原生的百度地圖,為地理數(shù)據(jù)可視化提供強有力的支持。

二、整理數(shù)據(jù)

安裝:

pip install pyecharts

1、配置主題

Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) # 第一種
Bar({"theme": ThemeType.MACARONS}) # 第二種

2、柱狀圖 Bar - Bar_base_dict_config

import os
from matplotlib import pyplot as plt 
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType
list1=cnbodfsort['REGION'].tolist()
list2=cnbodfsort['PRICE'].tolist()
list3=cnbodfsort['PERSONS'].tolist()

c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
    .add_xaxis(list1)
    .add_yaxis("票價", list2, stack="stack1", category_gap="50%")
    .add_yaxis("人次", list3,   stack="stack1",category_gap="50%")
    .set_series_opts(
        label_opts=opts.LabelOpts(
            position="right",
            formatter=JsCode(
                "function(x){return Number(x.data).toFixed(2);}"
            ),
        )
    )
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
        title_opts=opts.TitleOpts(title='中國電影票房',subtitle='按地區(qū)比較票價與人次')
    )
)
# c.render("cnbo1.html") # 生成html圖片
# os.system("cnbo01.html")  # 執(zhí)行完代碼直接跳出來圖片
c.render_notebook() # 直接在代碼區(qū)域展示圖片

3、樣例數(shù)據(jù) Faker.choose()

使用這段代碼會隨機調(diào)用系統(tǒng)的樣例參數(shù):

.add_xaxis(Faker.choose())

from pyecharts.faker import Faker

list1=cnbodfsort['REGION'].tolist()
list2=cnbodfsort['PRICE'].tolist()
list3=cnbodfsort['PERSONS'].tolist()

c = (
    Bar({"theme": ThemeType.MACARONS})  ### 配置好看的圖表主題?。。?
    .add_xaxis(Faker.choose())    ### 這句話表示使用隨機的后臺樣例數(shù)據(jù)
    .add_yaxis("票價", list2, stack="stack1", category_gap="50%")
    .add_yaxis("人次", list3,   stack="stack1",category_gap="50%")
    .set_series_opts(
        label_opts=opts.LabelOpts(
            position="right",
            formatter=JsCode(
                "function(x){return Number(x.data).toFixed(2);}"
            ),
        )
    )
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
        title_opts={"text":"樣例數(shù)據(jù)","subtext":"使用Faker.choose()"}
    )
)
c.render("cnbo1.html") # 生成html圖片
# os.system("cnbo1.html")  # 執(zhí)行完代碼直接跳出來圖片
c.render_notebook() # 直接在代碼區(qū)域展示圖片

4、滾動條 Bar - Bar_datazoom_slider

datazoom_opts=opts.DataZoomOpts()

表示可以滑動的滾動條:

list1=cnbodfsort['REGION'].tolist()
list2=cnbodfsort['PRICE'].tolist()
list3=cnbodfsort['PERSONS'].tolist()

c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
    .add_xaxis(list1)
    .add_yaxis("票價", list2, stack="stack1", category_gap="50%")
    .add_yaxis("人次", list3,   stack="stack1",category_gap="50%")
    .set_series_opts(
        label_opts=opts.LabelOpts(
            position="right",
            formatter=JsCode(
                "function(x){return Number(x.data).toFixed(2);}"
            ),
        )
    )
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
        title_opts=opts.TitleOpts(title='中國電影票房',subtitle='按地區(qū)比較票價與人次'),
         brush_opts=opts.BrushOpts() ,### 使用這個可以使圖片的右上角多出來一些工具
        datazoom_opts=opts.DataZoomOpts(), ### 可以使最下面多出滾動條
    )
)
c.render("cnbo2.html") # 生成html圖片
# os.system("cnbo01.html")  # 執(zhí)行完代碼直接跳出來圖片
c.render_notebook() # 直接在代碼區(qū)域展示圖片

5、鼠標移動效果 Bar - Bar_datazoom_inside

根據(jù)鼠標來放大與縮小的效果:

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

c = (
    Bar()
    .add_xaxis(Faker.days_attrs)
    .add_yaxis("商家A", Faker.days_values, color=Faker.rand_color())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Bar-DataZoom(inside)"),
        datazoom_opts=opts.DataZoomOpts(type_="inside"),
    )
    .render("bar_datazoom_inside.html")
)

6、顯示最值 Bar - Bar_markpoint_type

list1=cnbodfsort['REGION'].tolist()
list2=cnbodfsort['PRICE'].tolist()
list3=cnbodfsort['PERSONS'].tolist()

c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.HALLOWEEN))
    .add_xaxis(list1)
    .add_yaxis("票價", list2, stack="stack1", category_gap="50%")
    .add_yaxis("人次", list3,   stack="stack1",category_gap="50%")
    .set_series_opts(
        label_opts=opts.LabelOpts(
            position="right",
            formatter=JsCode(
                "function(x){return Number(x.data).toFixed(2);}"
            ),
        ),
        markpoint_opts=opts.MarkPointOpts( #########
            data=[
            opts.MarkPointItem(type_="max", name="最大值"),
            opts.MarkPointItem(type_="min", name="最小值"),
            opts.MarkPointItem(type_="average", name="平均值"),
        ]
           ),#########
    )
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
        title_opts=opts.TitleOpts(title='中國電影票房',subtitle='按地區(qū)比較票價與人次'),
         brush_opts=opts.BrushOpts() ,### 使用這個可以使圖片的右上角多出來一些工具
        datazoom_opts=opts.DataZoomOpts(orient='vertical'), 
    )
)
c.render("cnbo2.html") # 生成html圖片
# os.system("cnbo01.html")  # 執(zhí)行完代碼直接跳出來圖片
c.render_notebook() # 直接在代碼區(qū)域展示圖片

7、改變滾動條在側(cè)面 Bar - Bar_datazoom_slider_vertical

list1=cnbodfsort['REGION'].tolist()
list2=cnbodfsort['PRICE'].tolist()
list3=cnbodfsort['PERSONS'].tolist()

c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
    .add_xaxis(list1)
    .add_yaxis("票價", list2, stack="stack1", category_gap="50%")
    .add_yaxis("人次", list3,   stack="stack1",category_gap="50%")
    .set_series_opts(
        label_opts=opts.LabelOpts(
            position="right",
            formatter=JsCode(
                "function(x){return Number(x.data).toFixed(2);}"
            ),
        )
    )
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
        title_opts=opts.TitleOpts(title='中國電影票房',subtitle='按地區(qū)比較票價與人次'),
         brush_opts=opts.BrushOpts() ,### 使用這個可以使圖片的右上角多出來一些工具
        datazoom_opts=opts.DataZoomOpts(orient='vertical'), 
    )
)
c.render("cnbo2.html") # 生成html圖片
# os.system("cnbo01.html")  # 執(zhí)行完代碼直接跳出來圖片
c.render_notebook() # 直接在代碼區(qū)域展示圖片

8、多個Y軸

colors=['#5793f3','#d14a61','#675bba']
legend_list=['票房','人次','價格','評價']
list1=cnbodfsort['REGION'].tolist()
list2=cnbodfsort['PRICE'].tolist()
list3=cnbodfsort['PERSONS'].tolist()
list4=cnbodfsort['BO'].tolist()
list5=cnbodfsort['points'].tolist()
c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK,width="1600px",height="600px"))
    .add_xaxis(list1)
    .add_yaxis("評分", list5,yaxis_index=0,category_gap="50%",color=colors[2])
    .add_yaxis("票價", list2,yaxis_index=0,category_gap="50%",color=colors[0])
    .add_yaxis("人次", list3,yaxis_index=0,category_gap="50%",color=colors[1])
    
    .set_series_opts(
        label_opts=opts.LabelOpts(
            position="top",
            formatter=JsCode(
                "function(x){return Number(x.data).toFixed(2);}"
            ),
        ),
        markpoint_opts=opts.MarkPointOpts(
            data=[
            opts.MarkPointItem(type_="max", name="最大值"),
            opts.MarkPointItem(type_="min", name="最小值"),
            opts.MarkPointItem(type_="average", name="平均值"),
               ]
           ),
    )    
    .extend_axis(
    yaxis=opts.AxisOpts(
        name="票房",
        type_="value",
        min_=1000,
        max_=150000,
        interval=10000,
        position="right",
        axislabel_opts=opts.LabelOpts(formatter="{value} 萬")
    )
    )
    
    .extend_axis(
    yaxis=opts.AxisOpts(
        name="評價",
        type_="value",
        min_=0,
        max_=11,
        interval=1,
        position="left",
        axislabel_opts=opts.LabelOpts(formatter="{value} 點"),
        axisline_opts=opts.AxisLineOpts(
            linestyle_opts=opts.LineStyleOpts(color=colors[2])
        ),
        splitline_opts=opts.SplitLineOpts(
            is_show=True,linestyle_opts=opts.LineStyleOpts(opacity=1)
        ),
        )
    )
    
        .set_global_opts(
            yaxis_opts=opts.AxisOpts(
                type_="value",
                name="票價",
                min_=10,
                max_=70,
                position="right",
                offset=80,
                axisline_opts=opts.AxisLineOpts(
                    linestyle_opts=opts.LineStyleOpts(color=colors[0])
            ),
            axislabel_opts=opts.LabelOpts(formatter="{value} 元"),
        ),

        tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
        datazoom_opts=opts.DataZoomOpts(orient='vertical'),
        toolbox_opts=opts.ToolboxOpts(pos_left='120%'),
        legend_opts=opts.LegendOpts(is_show=False),
    )
 )
line = (
    Line()
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(
        series_name="票房",
        yaxis_index=1,
        y_axis=list4,
        label_opts=opts.LabelOpts(is_show=False),
    )
)
c.render_notebook() # 直接在代碼區(qū)域展示圖片

雙Y軸:

9、直方圖 Bar - Bar_histogram

# Bar - Bar_histogram
from pyecharts.options.global_options import ThemeType
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

c = (
    Bar({"theme":ThemeType.DARK})
    .add_xaxis(cnboregiongb.index.tolist())
    .add_yaxis("數(shù)量", cnboregiongb.values.tolist(), category_gap=0, color=Faker.rand_color())
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-直方圖"))
)
c.render_notebook()

以上就是Python pyecharts繪制條形圖詳解的詳細內(nèi)容,更多關(guān)于Python pyecharts條形圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python pip安裝模塊提示錯誤解決方案

    Python pip安裝模塊提示錯誤解決方案

    這篇文章主要介紹了Python pip安裝模塊提示錯誤解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • python解析多層json操作示例

    python解析多層json操作示例

    這篇文章主要介紹了python解析多層json操作,結(jié)合實例形式分析了Python針對多層json文件的讀取、解析、修改、保存等相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • python實現(xiàn)拼圖小游戲

    python實現(xiàn)拼圖小游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)拼圖小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Python3二分查找?guī)旌瘮?shù)bisect(),bisect_left()和bisect_right()的區(qū)別

    Python3二分查找?guī)旌瘮?shù)bisect(),bisect_left()和bisect_right()的區(qū)別

    這篇文章主要介紹了Python3二分查找?guī)旌瘮?shù)bisect(),bisect_left()和bisect_right()的區(qū)別,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 在python中做正態(tài)性檢驗示例

    在python中做正態(tài)性檢驗示例

    今天小編就為大家分享一篇在python中做正態(tài)性檢驗示例,具有很的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • win10下安裝Anaconda的教程(python環(huán)境+jupyter_notebook)

    win10下安裝Anaconda的教程(python環(huán)境+jupyter_notebook)

    Anaconda指的是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學包及其依賴項。這篇文章主要介紹了win10下安裝Anaconda(python環(huán)境+jupyter_notebook),需要的朋友可以參考下
    2019-10-10
  • Python實現(xiàn)同時調(diào)用多個GPT的API

    Python實現(xiàn)同時調(diào)用多個GPT的API

    這篇文章主要為大家詳細介紹了Python如何實現(xiàn)同時調(diào)用多個GPT的API,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-09-09
  • PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)

    PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)

    這篇文章主要介紹了PyQt5.6+pycharm配置以及pyinstaller生成exe,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • python3實現(xiàn)名片管理系統(tǒng)(控制臺版)

    python3實現(xiàn)名片管理系統(tǒng)(控制臺版)

    這篇文章主要為大家詳細介紹了python3實現(xiàn)名片管理系統(tǒng)控制臺版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • pandas 中對特征進行硬編碼和onehot編碼的實現(xiàn)

    pandas 中對特征進行硬編碼和onehot編碼的實現(xiàn)

    今天小編就為大家分享一篇pandas 中對特征進行硬編碼和onehot編碼的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論

渝北区| 循化| 孟村| 林周县| 福建省| 台湾省| 汤原县| 玉林市| 胶州市| 黄梅县| 宝兴县| 昭平县| 卢湾区| 霍邱县| 平原县| 荣成市| 阜新| 金阳县| 九寨沟县| 荥经县| 潞城市| 镇宁| 鄂托克旗| 个旧市| 孟津县| 平南县| 巴塘县| 牙克石市| 桐乡市| 赫章县| 皋兰县| 花莲县| 五寨县| 敦化市| 保靖县| 常德市| 开封市| 绥芬河市| 双流县| 井研县| 黔西县|