簡體   English   中英

如何 plot 列表的鍵的字典,我們正在繪制列表的平均值並顯示 rest 的范圍?[Python]

[英]How to plot a dict of keys to lists where we are plotting the average of the list and showing ranges of the rest?[Python]

我有一些類似這個字典的東西:

{10: [891, 506, 714, 430, 294, 659, 430, 430, 375, 430, 294, 714, 1510, 1049, 847, 430, 430, 430, 1410, 1657], 12: [676, 466, 719, 727, 573, 1202, 466, 719, 573, 885, 573, 573, 573, 573, 518, 518, 573, 573, 1465, 466]}

我正在嘗試 plot 一個圖表,其中 x 軸具有鍵(即:10,12,14 ...),y 軸表示與鍵對應的列表的平均值,我想顯示一些代表四分位數或可能的范圍? 任何人都知道我怎么能做到這一點?

這是在 Python 順便說一句。

任何幫助,將不勝感激。

我建議你把你的數據轉換成pandas dataframe,對 dataframe 和 Z322AA895E1B78AZA64E 進行所有計算。 例如:

df = pd.DataFrame(data)
plot_data = df.agg(['mean', 'std']).T
plt.errorbar(plot_data.index, plot_data['mean'], yerr=plot_data['std'])

Output:

在此處輸入圖像描述

import matplotlib.pyplot as plt

data = {10: [891, 506, 714, 430, 294, 659, 430, 430, 375, 430, 294, 714, 1510, 1049, 847, 430, 430, 430, 1410, 1657],
        12: [676, 466, 719, 727, 573, 1202, 466, 719, 573, 885, 573, 573, 573, 573, 518, 518, 573, 573, 1465, 466]}
keys = sorted(data)  # keys in a defined order

plt.boxplot([data[k] for k in keys], positions=keys)  # box-and-whisker plot
plt.plot(keys, [sum(data[k]) / len(data[k]) for k in keys], '-o')  # line for the mean

plt.savefig('nice-box-plots')

添加whis=(10, 90)作為plt.boxplot的參數會將胡須放在 10% 和 90% 的平鋪上,請參閱 boxplots 的文檔

屏幕截圖-2020-05-06-at-22-51-13.png

暫無
暫無

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

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