簡體   English   中英

如何在 pandas 條形 plot 上訂購我的 x 軸?

[英]How do I order my x-axis on pandas bar plot?

在一個我必須在一周內提交的 uni 項目上掙扎了幾天。 我正在使用數據集(主要使用 pandas),我必須分析有關山地探險的信息。 我的條形圖工作正常,但每次我仍然遇到同樣的問題:我的 x 軸沒有按增長順序排列,這不是最重要的,但它仍然困擾着我。 我一直在網上到處尋找,但找不到任何東西可以解決我的問題。 這是我的代碼行:

expeditions['members'].value_counts().plot.bar(figsize=(12,8))

列成員只包含整數,表示每次探險有多少人參加。 但這是我得到的: 在此處輸入圖像描述

如何按增長順序排列 x 軸? 我意識到這一定很簡單,但我就是不知道該怎么做; 我對所有其他圖表都有同樣的問題......

謝謝您的幫助!

嘗試像這樣對索引進行排序:

expeditions['members'].value_counts().sort_index().plot.bar(figsize=(12,8))

value_counts默認按頻率降序對值進行排序。 使用sort=False禁用排序:

expeditions['members'].value_counts(sort=False).plot.bar(figsize=(12,8))

或者在繪圖之前對索引進行排序:

expeditions['members'].value_counts().sort_index().plot.bar(figsize=(12,8))

僅作說明

正如@Bashton 和 @mozway 的前兩個答案所建議的那樣,您需要在 plot 之前對sort_values / value_countsvalue_counts / sort_index進行排序:

import pandas as pd
import matplotlib.pyplot as plt

# Sample
expeditions = pd.DataFrame({'members': np.random.randint(1, 10, 100)})

expeditions['members'].sort_values().value_counts(sort=False) \
                      .plot.bar(figsize=(12, 8), legend=False)
plt.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM