Как построить гистограмму с различными переменными в Python? - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть сценарий, в котором у меня есть набор данных, в котором представлены результаты всех индийских матчей ODI, сыгранных с 2018 года с каждой командой.Если Индия выиграла 5 матчей из 6 с Южной Африкой, то значение переменной «Ind1» равно 5, а значение SA = 1. Аналогично, я сохранил переменные для матчей, сыгранных со всеми другими командами.Теперь я хотел бы построить значения Ind1 и SA вместе, а также Ind2 и Eng вместе и так далее.

Может кто-нибудь помочь мне в построении этого графика с использованием гистограммы или любого другого метода построения графиков в Python!

plt.hist(Ind1, Sa, bins = 20, alpha = 0.5, c = 'blue')

Ожидаемый результат - построение двух столбцов вместе с переменными первых двух столбцов, являющимися 'Ind1 'и' SA 'и следующие два бара вместе с переменными' Ind2 'и' Eng 'и так далее.Мне нужны все столбцы в одном графике, а также вместе.

Но я получаю сообщение об ошибке следующим образом:

TypeError: hist () получил несколько значений для аргумента 'bins'

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Вы должны передать свою серию в каком-то контейнере (кортеж, список и т. Д.) В качестве первого параметра.Вам придется либо указать цвета для каждой серии, либо разрешить использование по умолчанию.

import numpy as np
import matplotlib.pyplot as plt

Ind1 = np.random.randn(1000)
Sa = np.random.randn(1000)

plt.hist([Ind1, Sa], bins = 20, alpha = 0.5)
plt.show()

enter image description here

0 голосов
/ 17 апреля 2019

Согласно документации , подпись matplotlib.pyplot.hist():

matplotlib.pyplot.hist (x, корзины = None, диапазон = None, плотность = None, весовые коэффициенты = None, кумулятивный = False, bottom = None, histtype = 'bar', выровнять = 'mid', ориентация = ' вертикальный ', rwidth = Нет, log = False, цвет = Нет, метка = Нет, сложено = False, нормировано = Нет, *, данные = Нет, ** kwargs)

Таким образом, вы передаете два значения для bins: Sa (второй позиционный аргумент) и 20 (ключевой аргумент). Я не очень знаком с pyplot, но, возможно, вы намеревались сделать:

plt.hist((Ind1, Sa), bins = 20, alpha = 0.5, c = 'blue')
...