Pyplot, как я могу создать гистограмму из средних значений нескольких списков? - PullRequest
1 голос
/ 08 июня 2019

У меня есть файл с данными, которые я разделяю на три категории.Я хочу отобразить три разных «ячейки», которые отображают только одно число (среднее по этой категории).

import csv
import matplotlib.pyplot as plt
import seaborn as sns

c1 = [1, 1, 1, 3, 3, 3] # average 2
c2 = [8, 12] # average 10
c3 = [20, 30, 40] # average 30 

sns.set(style='ticks')

plt.hist([(sum(c1)/len(c1)), (sum(c2)/len(c2)), (sum(c3)/len(c3))], bins=8)
plt.show()

Теперь я знаю, что мой код не работает, я просто не знаю, как установитьчто-то вроде этого, которое дало бы мне желаемый результат.

Подводя итог, что я хочу: по осям x c1, c2, c3.По осям y я хочу, чтобы c1 перешел к среднему значению этого списка (2 по осям y для c1), для c2 до 10 и для c3 до 30.

1 Ответ

1 голос
/ 08 июня 2019

Поскольку вам нужно только среднее значение для каждого списка, вам нужна гистограмма, а не гистограмма, с метками, обозначающими c1, c2, c3. Гистограмма используется для построения графика распределения, вам нужен дискретный средний бар для каждого списка

import matplotlib.pyplot as plt
import seaborn as sns

c1 = [1, 1, 1, 3, 3, 3] # average 2
c2 = [8, 12] # average 10
c3 = [20, 30, 40] # average 30 

sns.set(style='ticks')

plt.bar(range(3), [(sum(c1)/len(c1)), (sum(c2)/len(c2)), (sum(c3)/len(c3))])
plt.xticks(range(3), ['c1', 'c2', 'c3'])
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...