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

Python中的pyecharts庫使用總結(jié)

 更新時間:2023年12月05日 10:26:18   作者:流煙默  
這篇文章主要介紹了Python中的pyecharts庫使用總結(jié),Pyecharts 提供了一個簡單而直觀的 API 接口,使得使用者無需了解復(fù)雜的 JavaScript 語法,即可通過 Python 代碼實(shí)現(xiàn)高度定制化的圖表設(shè)計(jì),需要的朋友可以參考下

pyecharts庫

pyecharts官方文檔

在這里插入圖片描述

Timeline

其是一個時間軸組件,如下圖紅框所示,當(dāng)點(diǎn)擊紅色箭頭指向的“播放”按鈕時,會呈現(xiàn)動畫形式展示每一年的數(shù)據(jù)變化。

在這里插入圖片描述

data格式為DataFrame,數(shù)據(jù)如下圖所示:

在這里插入圖片描述

# 初始化Timeline 設(shè)置全局寬高
timeline = Timeline(init_opts=opts.InitOpts(width="2000px", height="800px"))
#  data['ReleaseNum'].shape[0]  獲取所有行數(shù) 這里是20
# range(data['ReleaseNum'].shape[0]) 得到一個[0,20)的列表
 for index, year in zip(range(data['ReleaseNum'].shape[0]), data.index.tolist()):
     bar = (
         Bar()
             .add_xaxis(data['ReleaseNum'].columns.tolist()) #放所有類型
             .add_yaxis("銷量", data['ReleaseNum'].iloc[index,].tolist(), label_opts=opts.LabelOpts(position="right"))#數(shù)值
             .reversal_axis()# 翻轉(zhuǎn)
             .set_global_opts(title_opts=opts.TitleOpts(title="%d年各類型音樂專輯發(fā)行數(shù)量" % year, pos_left="center"),
                              legend_opts=opts.LegendOpts(pos_top="30px"),
                              xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=12), name="發(fā)行數(shù)量"),
                              yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=12), name="音樂專輯類型")
                              )
     )
     timeline.add(bar, year)#添加到時間軸
 timeline.render('releaseNumOfYear.html') # 渲染視圖

data['ReleaseNum'] 用來去掉ReleaseNum獲取一個二維表,如下圖所示:

在這里插入圖片描述

data.index.tolist() 獲取所有年,得到一個list:

<class 'list'>: [2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019]

zip() 函數(shù)用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表。

如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。

data['ReleaseNum'].columns.tolist() 得到所有的列l(wèi)abel:

<class 'list'>: ['Alternative', 'Ambient', 'Black Metal', 'Blues', 'Boy Band', 'Brit-Pop', 'Compilation', 'Country', 'Dance', 'Death Metal', 'Deep House', 'Electro-Pop', 'Folk', 'Gospel', 'Hard Rock', 'Heavy Metal', 'Holy Metal', 'Indie', 'Indietronica', 'J-Rock', 'Jazz', 'K-Pop', 'Latino', 'Live', 'Lounge', 'Metal', 'Parody', 'Pop', 'Pop-Rock', 'Progressive', 'Punk', 'Rap', 'Retro', 'Rock', 'Techno', 'Trap', 'Unplugged', 'Western']

data['ReleaseNum'].iloc[index,].tolist() 用來獲取目標(biāo)index行的所有列。假設(shè)index=0,也就是說獲取第一行所有列的數(shù)據(jù)。

柱狀圖

原始數(shù)據(jù)格式如下:

在這里插入圖片描述

① 單個柱狀圖

如下圖所示,只有一項(xiàng)發(fā)行量。

在這里插入圖片描述

 index = [str(x) for x in salesAndScoreOfArtist['artist_id']]
    bar = (
        Bar(init_opts=opts.InitOpts(width="2000px", height="800px"))
            .add_xaxis(index) #作家ID
            .add_yaxis("發(fā)行量", salesAndScoreOfArtist['sale'].tolist()) #獲取發(fā)行量列表

            .set_global_opts(title_opts=opts.TitleOpts(title="2000年-2019年音樂專輯銷量前50的音樂作家專輯總銷量", pos_left="center"),
                             legend_opts=opts.LegendOpts(pos_top="30px"),
                             xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=90, font_size=12), name="作家id"),
                             yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=12), name="銷售量"),
                             tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross")
                             )
            .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    )

② 多項(xiàng)柱狀圖

在這里插入圖片描述

mult_bar = (
        Bar(init_opts=opts.InitOpts(width="2000px", height="800px"))
            .add_xaxis(index)
            .add_yaxis("mtv_score", salesAndScoreOfArtist['mtv_score'].tolist(), stack='stack1')
            # 這里stack意思  數(shù)據(jù)堆疊,同個類目軸上系列配置相同的 stack 值可以堆疊放置。
            .add_yaxis("rolling_stone_score", salesAndScoreOfArtist['rolling_stone_score'].tolist(), stack='stack1')
            .add_yaxis("music_maniac_score", salesAndScoreOfArtist['music_maniac_score'].tolist(), stack='stack1')
            .set_global_opts(
            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=90, font_size=12), name="作家id"),
            yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=12), name="評分"),
            title_opts=opts.TitleOpts(title="2000年-2019年音樂專輯銷量前50的音樂作家評分?jǐn)?shù)據(jù)", pos_left="center"),
            legend_opts=opts.LegendOpts(pos_top="30px"),
            tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"))
            .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    )

③ WordCloud:詞云圖

在這里插入圖片描述

def drawCloud():
    words = pd.read_csv("data/frequencyOfTitle.csv", header=None, names=['word', 'count'])
    data = [(i, j) for i, j in zip(words['word'], words['count'])]
    cloud = (
        WordCloud(init_opts=opts.InitOpts(width="2000px", height="800px"))
            .add("次數(shù)", data, word_size_range=[20, 100], shape=SymbolType.ROUND_RECT)
            .set_global_opts(title_opts=opts.TitleOpts(title="2000年-2019年所有音樂專輯名稱詞匯統(tǒng)計(jì)", pos_left="center"),
                             legend_opts=opts.LegendOpts(pos_top="30px"),
                             tooltip_opts=opts.TooltipOpts(is_show=True))
    )
    cloud.render("wordCloud.html")

④ 柱狀圖+折線圖

# 繪制2000年至2019年各類型的音樂專輯的發(fā)行數(shù)量和銷量
def drawReleaseNumAndSalesOfGenre():
    releaseNumAndSalesOfGenre = pd.read_csv("data/releaseNumAndSalesOfGenre.csv", header=None,
                                            names=['Type', 'Sale', 'Num'])
    bar = (
        Bar(init_opts=opts.InitOpts(width="2000px", height="800px"))
            .add_xaxis(releaseNumAndSalesOfGenre['Type'].tolist())
            .add_yaxis("發(fā)行量", releaseNumAndSalesOfGenre['Num'].tolist(), label_opts=opts.LabelOpts(is_show=False))

            .set_global_opts(title_opts=opts.TitleOpts(title="2000年-2019年不同類型音樂專輯發(fā)行量與銷量", pos_left="center"),
                             legend_opts=opts.LegendOpts(pos_top="30px"),
                             xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45, font_size=12), name="音樂專輯類型"),
                             yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=12),
                                                      name="發(fā)行量"),
                             tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross")
                             )
            # 添加右側(cè)y軸
            .extend_axis(
                yaxis=opts.AxisOpts(
                    name="銷量",
                )
            )
    )
    line = (
        Line()
            .add_xaxis(releaseNumAndSalesOfGenre['Type'].tolist())
            .add_yaxis("銷量",
                       releaseNumAndSalesOfGenre['Sale'],
                       yaxis_index=1, 
                       z=2,
                       label_opts=opts.LabelOpts(is_show=False), is_smooth=True)
    )
    bar.overlap(line).render("releaseNumAndSalesOfGenre.html")

在這里插入圖片描述

這里yaxis_index=1, 表示使用的 y 軸的 index,在單個圖表實(shí)例中存在多個 y 軸的時候有用。

這里z=2表示 折線圖組件的所有圖形的z值??刂茍D形的前后順序。z值小的圖形會被z值大的圖形覆蓋。z 相比 zlevel 優(yōu)先級更低,而且不會創(chuàng)建新的 Canvas。

到此這篇關(guān)于Python中的pyecharts庫使用總結(jié)的文章就介紹到這了,更多相關(guān)Python的pyecharts庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解用Python調(diào)用百度地圖正/逆地理編碼API

    詳解用Python調(diào)用百度地圖正/逆地理編碼API

    這篇文章主要介紹了詳解用Python調(diào)用百度地圖正/逆地理編碼API,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 舉例講解Linux系統(tǒng)下Python調(diào)用系統(tǒng)Shell的方法

    舉例講解Linux系統(tǒng)下Python調(diào)用系統(tǒng)Shell的方法

    這篇文章主要介紹了舉例講解Linux系統(tǒng)下Python調(diào)用系統(tǒng)Shell的方法,包括用Python和shell讀取文件某一行的實(shí)例,需要的朋友可以參考下
    2015-11-11
  • 基于python實(shí)現(xiàn)獲取網(wǎng)頁圖片過程解析

    基于python實(shí)現(xiàn)獲取網(wǎng)頁圖片過程解析

    這篇文章主要介紹了基于python實(shí)現(xiàn)獲取網(wǎng)頁圖片過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Python中三種命令行參數(shù)利用方式詳解

    Python中三種命令行參數(shù)利用方式詳解

    Python的命令行參數(shù),提供了很多有用的功能,可以方便調(diào)試和運(yùn)行,這篇文章主要給大家介紹了關(guān)于Python中三種命令行參數(shù)利用方式的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Python編程求解二叉樹中和為某一值的路徑代碼示例

    Python編程求解二叉樹中和為某一值的路徑代碼示例

    這篇文章主要介紹了Python編程求解二叉樹中和為某一值的路徑代碼示例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • haskell實(shí)現(xiàn)多線程服務(wù)器實(shí)例代碼

    haskell實(shí)現(xiàn)多線程服務(wù)器實(shí)例代碼

    這篇文章主要介紹了haskell實(shí)現(xiàn)的多線程服務(wù)器,大家參考使用吧
    2013-11-11
  • 詳解Python IO口多路復(fù)用

    詳解Python IO口多路復(fù)用

    這篇文章主要介紹了Python IO口多路復(fù)用的的相關(guān)資料,文中講解的非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以參考下
    2020-06-06
  • python爬蟲 execjs安裝配置及使用

    python爬蟲 execjs安裝配置及使用

    這篇文章主要介紹了python爬蟲 execjs安裝配置及使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python學(xué)習(xí)筆記之Break和Continue用法分析

    Python學(xué)習(xí)筆記之Break和Continue用法分析

    這篇文章主要介紹了Python學(xué)習(xí)筆記之Break和Continue用法,結(jié)合實(shí)例形式分析了Python中Break和Continue的功能、使用方法、區(qū)別及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • Python連接PostgreSQL數(shù)據(jù)庫并查詢數(shù)據(jù)的詳細(xì)指南

    Python連接PostgreSQL數(shù)據(jù)庫并查詢數(shù)據(jù)的詳細(xì)指南

    在現(xiàn)代軟件開發(fā)中,數(shù)據(jù)庫是存儲和檢索數(shù)據(jù)的核心組件,PostgreSQ是一個功能強(qiáng)大的開源對象關(guān)系數(shù)據(jù)庫系統(tǒng),它以其穩(wěn)定性、強(qiáng)大的功能和靈活性而聞名,Python作為一種流行的編程語言,與PostgreSQL的結(jié)合使用非常廣泛,本文介紹了Python連接PostgreSQL數(shù)據(jù)庫并查詢數(shù)據(jù)
    2024-12-12

最新評論

敖汉旗| 神农架林区| 台东市| 雅安市| 册亨县| 娄底市| 九龙城区| 防城港市| 天气| 咸阳市| 巩义市| 辽宁省| 浏阳市| 麟游县| 西盟| 明星| 伊春市| 郑州市| 贵州省| 绿春县| 攀枝花市| 新源县| 聂荣县| 菏泽市| 扬州市| 曲阳县| 卓尼县| 连平县| 闽清县| 吉安县| 新疆| 长岭县| 额敏县| 沛县| 民勤县| 武汉市| 探索| 海门市| 鹤山市| 沁源县| 当涂县|