簡體   English   中英

如何使用 matplotlib 在 python 條形圖中繪制可變數量的集合?

[英]How do I plot a variable number of sets in a python bar chart using matplotlib?

我正在嘗試編寫一個代碼,該代碼基於輸入數據集,可以打印與數據集對應的分組條形圖。 數據集可以有不同的場景,每個場景可以有不同的方法。 我想為每個場景打印一組條形圖(代表不同的方法)(示例見下圖)。

條形圖示例

問題是方法的數量和場景的數量都不是固定的。 我不知道如何讓我的代碼適應不同的情況。 到目前為止,我的代碼讀取數據集並創建一個字典,其中鍵是不同的方法,值是場景的字典作為鍵,最終值作為值。

例子

my_dict = {method1: {scenario1: value1, scenario2: value2, ...}, method2: {scenario1: value1, scenario2: value2, ...}}

我只是不知道如何使用這本字典來繪制我的數據。 我知道通常我需要定義我的類別列表(上面示例中的方法),但由於列表(方法)的數量是可變的,我被卡住了,不知道如何從這里移動。 任何幫助將不勝感激!

我不知道如何使用我的嵌套字典來定義要繪制的不同集合。

import seaborn as sns

my_dict = pd.DataFrame({'method1': {'scenario1': 10, 'scenario2': 20, 'scenario3': 1}, 'method2': {'scenario1': 15, 'scenario2': 5, 'scenario3': 1.5}})

my_dict = my_dict.reset_index()

df = my_dict.melt(id_vars='index')

g = sns.catplot(data=df, x="index", y="value", hue="variable", kind="bar")

這給了我以下情節:

在此處輸入圖像描述

暫無
暫無

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

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