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

Python利用pandas和matplotlib實現(xiàn)繪制堆疊柱狀圖

 更新時間:2023年11月14日 08:48:37   作者:懸崖上的金魚  
在數(shù)據(jù)可視化中,堆疊柱狀圖是一種常用的圖表類型,它能夠清晰地展示多個類別的數(shù)據(jù),本文將演示如何使用 Python 的 pandas 和 matplotlib 庫繪制優(yōu)化的堆疊柱狀圖,需要的可以參考下

在數(shù)據(jù)可視化中,堆疊柱狀圖是一種常用的圖表類型,它能夠清晰地展示多個類別的數(shù)據(jù),并突出顯示每個類別中各部分的總量和組成比例。本文將演示如何使用 Python 的 pandas 和 matplotlib 庫繪制優(yōu)化的堆疊柱狀圖,并展示了銷售數(shù)量隨店鋪名稱變化的情況。

導入必要的庫

首先,我們需要導入 pandas 和 matplotlib.pyplot 庫,并指定中文字體為黑體,代碼如下:

import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.family'] = ['SimHei']  # 指定中文字體為黑體

讀取數(shù)據(jù)

接下來,我們使用 pandas 的 read_excel 函數(shù)讀取 Excel 文件中的數(shù)據(jù),并指定讀取的工作表名稱為“Sheet3”,如下所示:

df = pd.read_excel(r'C:\Users\liuchunlin2\Desktop\新建文件夾\新建 XLSX 工作表.xlsx', sheet_name='Sheet3')

設置圖形參數(shù)

在繪制堆疊柱狀圖之前,我們需要設置柱狀圖的寬度和 x 軸的位置,代碼如下:

bar_width = 0.35  # 設置柱狀圖的寬度
x = df.index  # 設置x軸的位置

繪制堆疊柱狀圖

使用 matplotlib 庫的 subplots 函數(shù)創(chuàng)建圖形對象,并使用 bar 函數(shù)繪制堆疊柱狀圖,具體代碼如下:

fig, ax = plt.subplots()
rects1 = ax.bar(x, df['銷售數(shù)量'], bar_width, label='銷售數(shù)量')
rects2 = ax.bar(x, df['銷售數(shù)量2'], bar_width, bottom=df['銷售數(shù)量'], label='銷售數(shù)量2')

添加標簽和標題

我們?yōu)閳D形添加軸標簽、標題、刻度和圖例,使其更具可讀性,具體代碼如下:

ax.set_xlabel('店鋪名稱')
ax.set_ylabel('銷售數(shù)量')
ax.set_title('Stacked Bar Chart')
ax.set_xticks(x)
ax.set_xticklabels(df['店鋪名稱'])
ax.legend()

顯示數(shù)據(jù)標簽

最后,我們使用 annotate 函數(shù)在每個柱子上方顯示數(shù)據(jù)標簽,以展示具體的銷售數(shù)量,具體代碼如下:

for rect in rects1:
    height = rect.get_height()
    ax.annotate(f'{height}', xy=(rect.get_x() + rect.get_width() / 2, height), xytext=(0, 3),
                textcoords='offset points', ha='center', va='bottom')

for rect1, rect2 in zip(rects1, rects2):
    height1 = rect1.get_height()
    height2 = rect2.get_height()
    total_height = height1 + height2
    ax.annotate(f'{height2}', xy=(rect2.get_x() + rect2.get_width() / 2, total_height), xytext=(0, 3),
                textcoords='offset points', ha='center', va='bottom')

顯示圖形

最后,使用 plt.show() 函數(shù)顯示繪制好的堆疊柱狀圖,代碼如下:

plt.show()

通過以上步驟,我們成功繪制出了堆疊柱狀圖,展示了不同店鋪的銷售數(shù)量情況。

圖表效果圖展示

完整代碼

import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.family'] = ['SimHei']  # 指定中文字體為黑體
# 讀取Excel文件
df = pd.read_excel(r'C:\Users\liuchunlin2\Desktop\新建文件夾\新建 XLSX 工作表.xlsx', sheet_name='Sheet3')
# 設置柱狀圖的寬度
bar_width = 0.35
# 設置x軸的位置
x = df.index

# 繪制堆疊柱狀圖
fig, ax = plt.subplots()
rects1 = ax.bar(x, df['銷售數(shù)量'], bar_width, label='銷售數(shù)量')
rects2 = ax.bar(x, df['銷售數(shù)量2'], bar_width, bottom=df['銷售數(shù)量'], label='銷售數(shù)量2')

# 添加標簽和標題
ax.set_xlabel('店鋪名稱')
ax.set_ylabel('銷售數(shù)量')
ax.set_title('Stacked Bar Chart')
ax.set_xticks(x)
ax.set_xticklabels(df['店鋪名稱'])
ax.legend()

# 在每個柱子上方顯示數(shù)據(jù)標簽
for rect in rects1:
    height = rect.get_height()
    ax.annotate(f'{height}', xy=(rect.get_x() + rect.get_width() / 2, height), xytext=(0, 3),
                textcoords='offset points', ha='center', va='bottom')

for rect1, rect2 in zip(rects1, rects2):
    height1 = rect1.get_height()
    height2 = rect2.get_height()
    total_height = height1 + height2
    ax.annotate(f'{height2}', xy=(rect2.get_x() + rect2.get_width() / 2, total_height), xytext=(0, 3),
                textcoords='offset points', ha='center', va='bottom')

# 顯示圖形
plt.show()

到此這篇關于Python利用pandas和matplotlib實現(xiàn)繪制堆疊柱狀圖的文章就介紹到這了,更多相關Python堆疊柱狀圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python讀取CSV文件并進行數(shù)據(jù)可視化

    Python讀取CSV文件并進行數(shù)據(jù)可視化

    這篇文章主要為大家詳細介紹了Python如何讀取CSV文件并進行數(shù)據(jù)可視化,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-12-12
  • 通過案例解析python鴨子類型相關原理

    通過案例解析python鴨子類型相關原理

    這篇文章主要介紹了通過案例解析python鴨子類型相關原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Python中操作MySQL入門實例

    Python中操作MySQL入門實例

    這篇文章主要介紹了Python中操作MySQL入門實例,本文講解了安裝、打開數(shù)據(jù)庫連接、插入數(shù)據(jù)、查詢數(shù)據(jù)、刪除數(shù)據(jù)等操作,需要的朋友可以參考下
    2015-02-02
  • Python數(shù)據(jù)報表之Excel操作模塊用法分析

    Python數(shù)據(jù)報表之Excel操作模塊用法分析

    這篇文章主要介紹了Python數(shù)據(jù)報表之Excel操作模塊用法,結合實例形式分析了XlsxWriter模塊的功能及簡單使用方法,需要的朋友可以參考下
    2019-03-03
  • Python使用Pickle模塊進行數(shù)據(jù)保存和讀取的講解

    Python使用Pickle模塊進行數(shù)據(jù)保存和讀取的講解

    今天小編就為大家分享一篇關于Python使用Pickle模塊進行數(shù)據(jù)保存和讀取的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • python實現(xiàn)圖片九宮格分割的示例

    python實現(xiàn)圖片九宮格分割的示例

    這篇文章主要介紹了python實現(xiàn)圖片九宮格分割的示例,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2021-04-04
  • python文件讀取失敗怎么處理

    python文件讀取失敗怎么處理

    在本篇文章里小編給大家分享的是關于python文件讀取失敗怎么處理的相關文章,需要的朋友們參考下。
    2020-06-06
  • 完美解決pycharm 不顯示代碼提示問題

    完美解決pycharm 不顯示代碼提示問題

    這篇文章主要介紹了完美解決pycharm 不顯示代碼提示問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 深入探討Pandas數(shù)據(jù)清洗與高效分析

    深入探討Pandas數(shù)據(jù)清洗與高效分析

    這篇文章主要介紹了深入探討Pandas數(shù)據(jù)清洗與高效分析,Pandas 是 Python 中最強大的數(shù)據(jù)處理庫之一,廣泛應用于數(shù)據(jù)分析、統(tǒng)計建模和科學計算領域,本文將深入探討 Pandas 的高階用法,包括數(shù)據(jù)清洗、高效的數(shù)據(jù)操作以及與機器學習結合的應用
    2021-10-10
  • Python實現(xiàn)全自動文件整理的操作教程

    Python實現(xiàn)全自動文件整理的操作教程

    你是否常常感到桌面文件太亂,各類文檔、圖片、視頻混雜一團,找個文件如大海撈針,桌面圖標密密麻麻,各種新建文件夾(1)、圖片001、合同終版(最終).pdf堆積如山,今天,我就將手把手教你如何利用Python實現(xiàn)全自動文件整理,需要的朋友可以參考下
    2025-11-11

最新評論

鄂温| 景泰县| 普安县| 依兰县| 册亨县| 黔东| 乌恰县| 巴东县| 鄂托克前旗| 巴青县| 尤溪县| 云南省| 明水县| 社旗县| 莎车县| 上饶县| 林周县| 大关县| 昭觉县| 海晏县| 铜川市| 香格里拉县| 临邑县| 平顶山市| 廉江市| 永州市| 江北区| 昌乐县| 突泉县| 哈巴河县| 伊吾县| 罗定市| 青海省| 邵阳县| 铁岭县| 仁寿县| 通河县| 杨浦区| 子长县| 新昌县| 丰顺县|