欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)繪制3D條形圖的示例詳解

 更新時間:2023年07月28日 08:40:40   作者:微小冷  
這篇文章主要為大家學(xué)習(xí)介紹了如何利用Python實(shí)現(xiàn)繪制3D條形圖,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下

數(shù)據(jù)導(dǎo)入

盡管在matplotlib支持在一個坐標(biāo)系中繪制多組條形圖,效果如下

其中,藍(lán)色表示中國,橘色表示美國,綠色表示歐盟。從這個圖就可以非常直觀地看出,三者自2018到2022年的GDP變化情況。但相比之下,通過增加軸坐標(biāo),可以讓多組條形圖分布在三維坐標(biāo)中,從而更具表現(xiàn)力。

這里仍然以中美歐GDP為例,如下表所示,單位是萬億美元。

中國美國歐盟
201813.8920.5315.98
201914.2821.3815.69
202014.6921.0615.37
202117.8223.3217.19
202217.9625.4616.64

首先,把這些數(shù)值寫入python

import numpy as np
years = np.arange(2018, 2023)
areas = ("PRC", "EU", "USA")
GDPS = {
    'PRC': (13.89, 14.28, 14.69, 17.82, 17.96),
    'USA': (20.53, 21.38, 21.06, 23.32, 25.46),
    'EU': (15.98, 15.69, 15.37, 17.19, 16.64),
}

三維條形圖

由于想在三維坐標(biāo)軸中繪圖,所以第一步是新建一個子坐標(biāo)圖,并指定projection=3d,然后在繪圖時給定一個額外的y坐標(biāo),代碼如下

import matplotlib.pyplot as plt
import numpy as np
ax = plt.subplot(projection='3d')
colors = ['r', 'b', 'g']
yticks = [2, 1, 0]
for i,key in enumerate(areas):
    ax.bar(years, GDPS[key], 
        zs=i, zdir='y', label=key, color=colors[i], alpha=0.8)
    plt.yticks([])
plt.legend()
plt.show()

其中,設(shè)置透明度為0.8,這樣可以讓圖像在表現(xiàn)時更有層次感。通過設(shè)置label,對三個地區(qū)的顏色進(jìn)行了標(biāo)注,效果為

bar3d

上圖雖然有了3D坐標(biāo)軸,但其實(shí)每個數(shù)據(jù)條仍然是二維的,通過bar3d函數(shù),可以繪制更加結(jié)實(shí)緊固的三維方塊圖,其繪圖參數(shù)如下

bar3d(x, y, z, dx, dy, dz, color=None, zsort='average', shade=True, lightsource=None, *args, data=None, **kwargs)

其中,x,y,z是方塊圖的錨點(diǎn)坐標(biāo),dx, dy, dz是方塊的長度、寬度和高度。換言之,其繪圖邏輯是,先指定其繪圖的起始位置,然后按照給定的長寬高繪制長方體。下面的代碼就通過bar3d來繪制中美歐的GDP變化

ax = plt.subplot(projection='3d')
dx = dy = np.zeros(5)+0.5
x = years
z = np.zeros_like(x)
for i,key in enumerate(areas):
    y = z + i
    dz = GDPS[key]
    ax.bar3d(x,y,z,dx,dy,dz,
        color=colors[i], alpha=0.8, label=key)
???????plt.yticks([0.5, 1.5, 2.5], areas)
plt.show()

這里對y軸坐標(biāo)重新進(jìn)行了映射,從而無需使用label也能清晰地看出每組數(shù)據(jù)所對應(yīng)的地區(qū),效果如下

bar3d函數(shù)中其他參數(shù)含義如下:

  • zsort z軸排序方案
  • shade 當(dāng)為True時,會顯示3D圖的陰影效果
  • lightsource 3D條形圖的光源

到此這篇關(guān)于Python實(shí)現(xiàn)繪制3D條形圖的示例詳解的文章就介紹到這了,更多相關(guān)Python繪制3D條形圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 分享一下Python數(shù)據(jù)分析常用的8款工具

    分享一下Python數(shù)據(jù)分析常用的8款工具

    Python是數(shù)據(jù)處理常用工具,可以處理數(shù)量級從幾K至幾T不等的數(shù)據(jù),具有較高的開發(fā)效率和可維護(hù)性,還具有較強(qiáng)的通用性和跨平臺性,這里就為大家分享幾個不錯的數(shù)據(jù)分析工具,需要的朋友可以參考下
    2018-04-04
  • Python中Django框架利用url來控制登錄的方法

    Python中Django框架利用url來控制登錄的方法

    這篇文章主要介紹了Python中Django框架利用url來控制登錄的方法,實(shí)例分析了Django框架實(shí)現(xiàn)URL登陸的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Python關(guān)于反射的實(shí)例代碼分享

    Python關(guān)于反射的實(shí)例代碼分享

    在本篇文章里小編給大家整理的是一篇關(guān)于Python關(guān)于反射的實(shí)例代碼分享,有需要的朋友們可以參考下。
    2020-02-02
  • 使用VLC實(shí)現(xiàn)自動播放視頻的操作方法

    使用VLC實(shí)現(xiàn)自動播放視頻的操作方法

    VLC是一款開源的多媒體播放器,它支持大量的視頻和音頻格式,并且具有強(qiáng)大的腳本和編程接口,這篇文章主要介紹了使用VLC實(shí)現(xiàn)自動播放視頻,需要的朋友可以參考下
    2024-03-03
  • 如何在VSCode下使用Jupyter的教程詳解

    如何在VSCode下使用Jupyter的教程詳解

    這篇文章主要介紹了如何在VSCode下使用Jupyter,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • pycharm配置git(圖文教程)

    pycharm配置git(圖文教程)

    這篇文章主要介紹了pycharm配置git(圖文教程),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 詳解python日期時間處理

    詳解python日期時間處理

    這篇文章主要為大家介紹了python日期時間處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Python參數(shù)傳遞及收集機(jī)制原理解析

    Python參數(shù)傳遞及收集機(jī)制原理解析

    這篇文章主要介紹了Python參數(shù)傳遞及收集機(jī)制原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 在Python中執(zhí)行和調(diào)用JavaScript的多種方法小結(jié)

    在Python中執(zhí)行和調(diào)用JavaScript的多種方法小結(jié)

    JavaScript(JS)是一種常用的腳本語言,通常用于網(wǎng)頁開發(fā),但有時也需要在Python中執(zhí)行或調(diào)用JavaScript代碼,本文將詳細(xì)介紹Python中執(zhí)行和調(diào)用JavaScript的多種方法,每種方法都將附有示例代碼,方便理解如何在Python中與JavaScript進(jìn)行互動,需要的朋友可以參考下
    2023-11-11
  • Python簡單實(shí)現(xiàn)詞云圖代碼及步驟解析

    Python簡單實(shí)現(xiàn)詞云圖代碼及步驟解析

    這篇文章主要介紹了Python簡單實(shí)現(xiàn)詞云圖代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06

最新評論