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

利用python繪制帶有時間線的柱狀圖

 更新時間:2023年07月31日 11:47:02   作者:不能再留遺憾了  
這篇文章主要為大家詳細(xì)介紹了如何使用python繪制出帶有時間線的柱狀圖,文中的示例代碼講解的非常詳細(xì),具有一定的學(xué)習(xí)與借鑒價值,需要的可以參考一下

如何繪制柱狀圖

繪制柱狀圖跟繪制折線圖的步驟是大致相同的。

python 中繪制柱狀圖依賴于 pyecharts.charts 模塊下的 Bar 方法。

from pyecharts.charts import Bar
bar = Bar()
x_data = ["英國","美國","中國"]
y_data = [10,20,30]
bar.add_xaxis(x_data)
bar.add_yaxis("GDP",y_data)
bar.render("柱狀圖.html")

我們還可以將橫坐標(biāo)與縱坐標(biāo)顛倒一下,來使數(shù)據(jù)的展示更加的形象。

使用 bar.reversal_axis() 反轉(zhuǎn)x軸和y軸。

這里數(shù)據(jù)顯示在柱狀圖中,我們看的不是很方便,我也也可以通過設(shè)置系列配置選項來使數(shù)據(jù)顯示在柱狀圖的右側(cè)。

bar.add_yaxis("GDP",y_data,label_opts=LabelOpts(position="right"))

所以我們經(jīng)過完善后的整體代碼是:

from pyecharts.charts import Bar
from pyecharts.options import LabelOpts
bar = Bar()
x_data = ["英國","美國","中國"]
y_data = [10,20,30]
bar.add_xaxis(x_data)
bar.add_yaxis("GDP",y_data,label_opts=LabelOpts(position="right"))
bar.reversal_axis()  # 反轉(zhuǎn)x軸和y軸
bar.render("柱狀圖.html")

添加時間線

通過添加時間線我們可以看到多種不同的數(shù)據(jù),每一個時間其實就是一個柱狀圖,時間線是由一個一個的柱狀圖組成的。

from pyecharts.charts import Bar,Timeline
from pyecharts.options import LabelOpts,TitleOpts
bar1 = Bar()
bar2 = Bar()
bar3 = Bar()
x_data = ["英國","美國","中國"]
y_data1 = [10,20,30]
y_data2 = [20,30,40]
y_data3 = [40,50,70]
bar1.add_xaxis(x_data)
bar1.add_yaxis("GDP",y_data1,label_opts=LabelOpts(position="right"))
bar1.reversal_axis()  # 反轉(zhuǎn)x軸和y軸
bar1.set_global_opts(title_opts=TitleOpts(title="2021年GDP"))
bar2.add_xaxis(x_data)
bar2.add_yaxis("GDP",y_data2,label_opts=LabelOpts(position="right"))
bar2.reversal_axis()  # 反轉(zhuǎn)x軸和y軸
bar2.set_global_opts(title_opts=TitleOpts(title="2022年GDP"))
bar3.add_xaxis(x_data)
bar3.add_yaxis("GDP",y_data3,label_opts=LabelOpts(position="right"))
bar3.reversal_axis()  # 反轉(zhuǎn)x軸和y軸
bar3.set_global_opts(title_opts=TitleOpts(title="2023年GDP"))
timeline = Timeline()
timeline.add(bar1,"2021")
timeline.add(bar2,"2022")
timeline.add(bar3,"2023")
timeline.render("2021-2023中美英三國GDP.html")

如果我們要讓動態(tài)柱狀圖動起來的話,我們需要設(shè)置配置選項。

timeline.add_schema(
    play_interval=1000,  # 每個柱狀圖播放間隔時間,單位(毫秒)
    is_timeline_show=True,  # 是否顯示時間線,默認(rèn)顯示
    is_auto_play=True,  # 是否自動播放
    is_loop_play=True  # 是否循環(huán)播放
)

根據(jù)提供的數(shù)據(jù)繪制動態(tài)柱狀圖

我們顯示出1960年-2014年全國GDP數(shù)據(jù)前八的國家和數(shù)據(jù)。

這里提供的數(shù)據(jù)比較簡單,我們只需要將第一行無用的數(shù)據(jù)刪除,然后再將這些數(shù)據(jù)轉(zhuǎn)換為我們繪制柱狀圖需要的數(shù)據(jù)就好了。

讀取并刪除無用數(shù)據(jù)

f = open("D:/桌面/1960-2019全球GDP數(shù)據(jù).csv","r",encoding="GB2312")
data_lines = f.readlines()
f.close()
data_lines.pop(0)

GB2312 編碼是中文編碼格式

將數(shù)據(jù)轉(zhuǎn)換為字典

data_dict = {}
for line in data_lines:
    data_list = line.split(",")  # 每一行以逗號分割,返回一個列表
    year = data_list[0]
    country = data_list[1]
    GDP = float(data_list[2][:-1])  # 每一行最后有一個換行符
    # 這里需要做出異常判斷,因為當(dāng)我們第一次插入數(shù)據(jù)的時候并沒有容器來裝這些數(shù)據(jù)
    try:
        data_dict[year].append((country, GDP))
    except:
        data_dict[year] = []
        data_dict[year].append([country, GDP])

創(chuàng)建柱狀圖并添加到時間線中

sorted_year_line = sorted(data_dict.keys())  # 按時間順序排序
timeline = Timeline({"scheme":ThemeType.LIGHT})  # 在創(chuàng)建時間線的時候傳入scheme參數(shù)可以設(shè)置時間線的主題,也就是柱狀圖的顏色
for year in sorted_year_line:
    x_data = []
    y_data = []
    data_dict[year].sort(key=lambda element : element[1],reverse=True)
    year_data = data_dict[year][0:8]  # 取GDP前八的數(shù)據(jù)
    for data in year_data:
        x_data.append(data[0])
        y_data.append(data[1] / 100000000)
    bar = Bar()
    x_data.reverse()
    y_data.reverse()  # 讓GDP排名第一的數(shù)據(jù)在最上面,所以我們將x_data 和 y_data中的數(shù)據(jù)反轉(zhuǎn)一下
    bar.add_xaxis(x_data)
    bar.add_yaxis("GDP(億)",y_data,label_opts=LabelOpts(position="right"))
    bar.reversal_axis()  # 將x軸和y軸翻轉(zhuǎn)
    bar.set_global_opts(
        title_opts=TitleOpts(title=f"{year}年全國GDP數(shù)據(jù)前八")
    )
    timeline.add(bar,year)

配置選項并生成帶有數(shù)據(jù)的折線圖

timeline.add_schema(
    play_interval=1000,
    is_timeline_show=True,
    is_auto_play=True,
    is_loop_play=False
)
timeline.render("1960-2014年全國GDP數(shù)據(jù)前八.html")

到此這篇關(guān)于利用python繪制帶有時間線的柱狀圖的文章就介紹到這了,更多相關(guān)python時間線柱狀圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實現(xiàn)Dijkstra算法

    Python實現(xiàn)Dijkstra算法

    今天小編就為大家分享一篇關(guān)于Python實現(xiàn)Dijkstra算法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 三行Python代碼提高數(shù)據(jù)處理腳本速度

    三行Python代碼提高數(shù)據(jù)處理腳本速度

    Python是一門非常適合處理數(shù)據(jù)和自動化完成重復(fù)性工作的編程語言,我們在用數(shù)據(jù)訓(xùn)練機(jī)器學(xué)習(xí)模型之前,通常都需要對數(shù)據(jù)進(jìn)行預(yù)處理,而Python就非常適合完成這項工作。本文將為大家介紹如何利用Python代碼讓你的數(shù)據(jù)處理腳本快別人4倍,需要的可以參考一下
    2022-03-03
  • 關(guān)于Python使用logging庫進(jìn)行有效日志管理的方法詳解

    關(guān)于Python使用logging庫進(jìn)行有效日志管理的方法詳解

    在開發(fā)大型軟件或處理復(fù)雜問題時,我們經(jīng)常需要一種方法來記錄和跟蹤程序的運行狀態(tài),Python 提供了一個名為 logging 的標(biāo)準(zhǔn)庫,可以幫助我們更好地完成這項任務(wù),在這篇文章中,我們將介紹如何使用 Python 的 logging 庫進(jìn)行日志記錄
    2023-06-06
  • python調(diào)用另外一個py文件中函數(shù)的具體步驟

    python調(diào)用另外一個py文件中函數(shù)的具體步驟

    這篇文章主要給大家介紹了關(guān)于python調(diào)用另外一個py文件中函數(shù)的具體步驟,要在一個Python文件中調(diào)用其他Python文件中的方法,可以使用Python的模塊導(dǎo)入功能,需要的朋友可以參考下
    2023-11-11
  • 使用pytorch完成kaggle貓狗圖像識別方式

    使用pytorch完成kaggle貓狗圖像識別方式

    今天小編就為大家分享一篇使用pytorch完成kaggle貓狗圖像識別方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python查找不限層級Json數(shù)據(jù)中某個key或者value的路徑方式

    Python查找不限層級Json數(shù)據(jù)中某個key或者value的路徑方式

    今天小編就為大家分享一篇Python查找不限層級Json數(shù)據(jù)中某個key或者value的路徑方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python 集合 并集、交集 Series list set 轉(zhuǎn)換的實例

    python 集合 并集、交集 Series list set 轉(zhuǎn)換的實例

    今天小編就為大家分享一篇python 集合 并集、交集 Series list set 轉(zhuǎn)換的實例。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Playwright中如何保持登錄狀態(tài)

    Playwright中如何保持登錄狀態(tài)

    本文主要介紹了Playwright中如何保持登錄狀態(tài),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Python實現(xiàn)socket庫網(wǎng)絡(luò)通信套接字

    Python實現(xiàn)socket庫網(wǎng)絡(luò)通信套接字

    socket又叫套接字,實現(xiàn)網(wǎng)絡(luò)通信的兩端就是套接字。分為服務(wù)器對應(yīng)的套接字和客戶端對應(yīng)的套接字,本文給大家介紹Python實現(xiàn)socket庫網(wǎng)絡(luò)通信套接字的相關(guān)知識,包括套接字的基本概念,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • python math模塊的基本使用教程

    python math模塊的基本使用教程

    這篇文章主要介紹了python math模塊的基本使用教程,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01

最新評論

房产| 札达县| 通城县| 南江县| 侯马市| 郓城县| 上杭县| 仁寿县| 宁南县| 桃江县| 旺苍县| 清丰县| 南皮县| 五家渠市| 如东县| 宁河县| 云龙县| 寿光市| 沂南县| 北辰区| 兴安县| 桦甸市| 新兴县| 万安县| 隆尧县| 莒南县| 阿坝县| 凉城县| 江门市| 玉溪市| 屯留县| 徐州市| 大埔县| 庆阳市| 扎鲁特旗| 恩施市| 乌苏市| 界首市| 封丘县| 新丰县| 涟源市|