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

Python 如何利用pandas 和 matplotlib繪制柱狀圖

 更新時間:2023年10月30日 09:17:16   作者:懸崖上的金魚  
Python 中的 pandas 和 matplotlib 庫提供了豐富的功能,可以幫助你輕松地繪制各種類型的圖表,本文將介紹如何使用這兩個庫,繪制一個店鋪銷售數(shù)量的柱狀圖,并添加各種元素,如數(shù)據(jù)標(biāo)簽、圖例、網(wǎng)格線等,感興趣的朋友一起看看吧

當(dāng)你需要展示數(shù)據(jù)時,圖表是一個非常有用的工具。Python 中的 pandas 和 matplotlib 庫提供了豐富的功能,可以幫助你輕松地繪制各種類型的圖表。本文將介紹如何使用這兩個庫,繪制一個店鋪銷售數(shù)量的柱狀圖,并添加各種元素,如數(shù)據(jù)標(biāo)簽、圖例、網(wǎng)格線等。

準(zhǔn)備工作

在開始之前,你需要安裝 pandas 和 matplotlib 庫。如果你還沒有安裝,可以使用以下命令進行安裝

pip install pandas matplotlib

另外,為了在圖表中顯示中文,你需要下載并安裝中文字體文件。這里我們使用宋體,你可以替換為其他中文字體。下載后,將字體文件路徑替換到代碼中的 font 變量中

# 設(shè)置中文字體
font = FontProperties(fname='C:\\Windows\\Fonts\\simhei.ttf', size=12)  # 替換為你的中文字體文件路徑和字體大小

數(shù)據(jù)準(zhǔn)備

我們假設(shè)有一個 Excel 文件,其中包含多個店鋪的銷售數(shù)據(jù)。每個店鋪有多個訂單,每個訂單有一個銷售數(shù)量。我們需要對每個店鋪的銷售數(shù)量進行求和,并按照銷售數(shù)量降序排列。以下是數(shù)據(jù)準(zhǔn)備的代碼:

import pandas as pd
# 從Excel文件中讀取數(shù)據(jù)
data = pd.read_excel('C:\\Users\Admin\\Desktop\\數(shù)據(jù)核對\\新建 XLSX 工作表.xlsx')
# 聚合數(shù)據(jù)
aggregated_data = data.groupby('店鋪名稱')['銷售數(shù)量'].sum()
# 按銷售數(shù)量降序排列
aggregated_data = aggregated_data.sort_values(ascending=False)
print(aggregated_data)

首先,我們使用 pandas 庫的 read_excel 函數(shù)讀取 Excel 文件中的數(shù)據(jù)。然后,使用 groupby 函數(shù)對數(shù)據(jù)進行聚合,按照店鋪名稱分組,并對每個組中的銷售數(shù)量求和。最后,使用 sort_values 函數(shù)按照銷售數(shù)量降序排列。

繪制柱狀圖

接下來,我們使用 matplotlib 庫繪制柱狀圖。以下是繪制柱狀圖的代碼:

import matplotlib.pyplot as plt
# 繪制柱狀圖
aggregated_data.plot(kind='bar', color='steelblue', edgecolor='black', width=0.8)
# 設(shè)置圖表標(biāo)題和坐標(biāo)軸標(biāo)簽
plt.title('店鋪銷售數(shù)量')
plt.xlabel('店鋪名稱')
plt.ylabel('銷售數(shù)量')
# 顯示圖表
plt.show()

我們使用 plot 函數(shù)繪制柱狀圖,其中 kind 參數(shù)指定圖表類型為柱狀圖,color 參數(shù)指定柱子的顏色,edgecolor 參數(shù)指定柱子邊框的顏色,width 參數(shù)指定柱子的寬度。然后,使用 title、xlabel 和 ylabel 函數(shù)設(shè)置圖表標(biāo)題和坐標(biāo)軸標(biāo)簽。最后,使用 show 函數(shù)顯示圖表。

添加數(shù)據(jù)標(biāo)簽

為了更清楚地展示每個店鋪的銷售數(shù)量,我們可以在柱子上添加數(shù)據(jù)標(biāo)簽。以下是添加數(shù)據(jù)標(biāo)簽的代碼:

# 添加數(shù)據(jù)標(biāo)簽
for i, v in enumerate(aggregated_data):
    plt.text(i, v, str(v), ha='center', va='bottom')

# 顯示圖表
plt.show()

我們使用 text 函數(shù)添加數(shù)據(jù)標(biāo)簽,其中 i 和 v 分別表示柱子的索引和高度,ha 參數(shù)指定水平對齊方式為居中,va 參數(shù)指定垂直對齊方式為底部。最后,再次使用 show 函數(shù)顯示圖表。

設(shè)置刻度標(biāo)簽

由于店鋪名稱較長,如果全部顯示會導(dǎo)致刻度標(biāo)簽重疊,影響美觀和可讀性。因此,我們可以旋轉(zhuǎn)刻度標(biāo)簽,并設(shè)置字體大小和字體樣式。以下是設(shè)置刻度標(biāo)簽的代碼:

# 設(shè)置刻度標(biāo)簽的字體大小和旋轉(zhuǎn)角度
plt.xticks(rotation=45, fontsize=10)

# 顯示圖表
plt.show()

我們使用 xticks 函數(shù)設(shè)置刻度標(biāo)簽,其中 rotation 參數(shù)指定旋轉(zhuǎn)角度為45度,fontsize 參數(shù)指定字體大小為10。

添加圖例

我們可以添加圖例,以便更好地解釋圖表中的信息。以下是添加圖例的代碼:

# 設(shè)置圖例
plt.legend(['銷售數(shù)量'], loc='upper right')

# 顯示圖表
plt.show()

我們使用 legend 函數(shù)添加圖例,其中 loc 參數(shù)指定圖例位置為右上角,['銷售數(shù)量'] 表示圖例中的文本。

去除邊框和添加網(wǎng)格線

為了讓圖表更加簡潔和美觀,我們可以去除上邊框和右邊框,并添加水平虛線網(wǎng)格線。以下是去除邊框和添加網(wǎng)格線的代碼

# 去除上邊框和右邊框
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['right'].set_visible(False)
# 添加網(wǎng)格線
plt.grid(axis='y', linestyle='--', alpha=0.5)
# 顯示圖表
plt.show()

我們使用 gca 函數(shù)獲取當(dāng)前軸對象,然后使用 spines 屬性去除上邊框和右邊框。使用 grid 函數(shù)添加水平虛線網(wǎng)格線,其中 axis 參數(shù)指定網(wǎng)格線方向為垂直方向,linestyle 參數(shù)指定網(wǎng)格線樣式為虛線,alpha 參數(shù)指定網(wǎng)格線透明度為0.5。

設(shè)置背景色和調(diào)整布局

最后,我們可以設(shè)置圖表的背景色,并調(diào)整圖表布局使得圖表內(nèi)容更加緊湊。以下是設(shè)置背景色和調(diào)整布局的代碼:

# 設(shè)置背景色
plt.gca().set_facecolor('#F5F5F5')
# 調(diào)整圖表布局
plt.tight_layout()
# 顯示圖表
plt.show()

我們使用 set_facecolor 函數(shù)設(shè)置背景色為淺灰色,使用 tight_layout 函數(shù)調(diào)整圖表布局。

完整代碼

將上面的代碼整合起來,得到完整的代碼如下:

import pandas as pd
import matplotlib.pyplot as plt
# 從Excel文件中讀取數(shù)據(jù)
data = pd.read_excel('C:\\Users\Admin\\Desktop\\數(shù)據(jù)核對\\新建 XLSX 工作表.xlsx')
# 聚合數(shù)據(jù)
aggregated_data = data.groupby('店鋪名稱')['銷售數(shù)量'].sum()
# 按銷售數(shù)量降序排列
aggregated_data = aggregated_data.sort_values(ascending=False)
# 繪制柱狀圖
aggregated_data.plot(kind='bar', color='steelblue', edgecolor='black', width=0.8)
# 添加數(shù)據(jù)標(biāo)簽
for i, v in enumerate(aggregated_data):
    plt.text(i, v, str(v), ha='center', va='bottom')
# 設(shè)置圖表標(biāo)題和坐標(biāo)軸標(biāo)簽
plt.title('店鋪銷售數(shù)量')
plt.xlabel('店鋪名稱')
plt.ylabel('銷售數(shù)量')
# 設(shè)置刻度標(biāo)簽的字體大小和旋轉(zhuǎn)角度
plt.xticks(rotation=45, fontsize=10)
# 設(shè)置圖例
plt.legend(['銷售數(shù)量'], loc='upper right')
# 去除上邊框和右邊框
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['right'].set_visible(False)
# 添加網(wǎng)格線
plt.grid(axis='y', linestyle='--', alpha=0.5)
# 設(shè)置背景色
plt.gca().set_facecolor('#F5F5F5')
# 調(diào)整圖表布局
plt.tight_layout()
# 顯示圖表
plt.show()

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

相關(guān)文章

  • beam search及pytorch的實現(xiàn)方式

    beam search及pytorch的實現(xiàn)方式

    這篇文章主要介紹了beam search及pytorch的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • 通過gradio和攝像頭獲取照片和視頻實現(xiàn)過程

    通過gradio和攝像頭獲取照片和視頻實現(xiàn)過程

    這篇文章主要為大家介紹了gradio和攝像頭獲取照片和視頻實現(xiàn)過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Python PaddlePaddle機器學(xué)習(xí)之求解線性模型

    Python PaddlePaddle機器學(xué)習(xí)之求解線性模型

    這篇文章主要介紹了Python PaddlePaddle機器學(xué)習(xí)之求解線性模型,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Python對list列表進行去重的幾種方法

    Python對list列表進行去重的幾種方法

    python?列表就是我們js中的數(shù)組了,我們下文整理幾個常用的python?列表去重實現(xiàn)方法,非常的簡單好用,通過代碼示例講解的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2024-10-10
  • Python flask與fastapi性能測試方法介紹

    Python flask與fastapi性能測試方法介紹

    這篇文章主要介紹了Python flask與fastapi性能測試方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • Python函數(shù)高級(命名空間、作用域、裝飾器)

    Python函數(shù)高級(命名空間、作用域、裝飾器)

    這篇文章介紹了Python函數(shù)的高級用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 利用Python Django實現(xiàn)簡單博客系統(tǒng)

    利用Python Django實現(xiàn)簡單博客系統(tǒng)

    這篇文章主要介紹了利用Python Django實現(xiàn)簡單博客系統(tǒng),文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • 一文詳解如何使用Python自動調(diào)整Excel行高和列寬

    一文詳解如何使用Python自動調(diào)整Excel行高和列寬

    在 Excel 數(shù)據(jù)處理和報告編制過程中,確保單元格內(nèi)容完整顯示是常見需求,本文將介紹如何使用 Free Spire.XLS for Python 來實現(xiàn)自動調(diào)整 Excel 行高和列寬,有需要的小伙伴可以了解下
    2025-10-10
  • 五個Pandas?實戰(zhàn)案例帶你分析操作數(shù)據(jù)

    五個Pandas?實戰(zhàn)案例帶你分析操作數(shù)據(jù)

    pandas是基于NumPy的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas納入了大量庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效操作大型數(shù)據(jù)集的工具。pandas提供大量快速便捷地處理數(shù)據(jù)的函數(shù)和方法。你很快就會發(fā)現(xiàn),它是使Python強大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一
    2022-01-01
  • PyTorch 檢查GPU版本是否安裝成功的操作

    PyTorch 檢查GPU版本是否安裝成功的操作

    這篇文章主要介紹了PyTorch 檢查GPU版本是否安裝成功的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

黑水县| 井陉县| 苍梧县| 玛沁县| 威信县| 衡东县| 北京市| 广德县| 临漳县| 淮北市| 三门县| 盐源县| 前郭尔| 安吉县| 本溪| 固始县| 富民县| 敦化市| 钦州市| 宣威市| 环江| 温宿县| 富蕴县| 泾阳县| 宁河县| 曲周县| 伊通| 尼木县| 山东| 宾川县| 呼图壁县| 洱源县| 汕头市| 桐城市| 二手房| 隆子县| 绵竹市| 淄博市| 周宁县| 玛多县| 永修县|