Я пытаюсь построить простую гистограмму в R. У меня есть целочисленный вектор, и я хочу нарисовать гистограмму с одним столбцом для каждого значения.

test_data = c(1,1,1,2,2,3,3,4)
hist(test_data)

Но я понимаю

enter image description here

Скажите, пожалуйста, возможно ли получить такой же результат, как у меня в Python?

import matplotlib.pyplot as plt
test_data = [1,1,1,2,2,3,3,4]
plt.hist(test_data)
plt.show()

enter image description here

0
Kosh 11 Апр 2020 в 14:44

2 ответа

Лучший ответ

Вы могли бы использовать функции барплота и таблицы

barplot(table(test_data))
1
rg255 11 Апр 2020 в 11:49

Вы можете использовать аргумент nclass или breaks для настройки количества бинов.

test_data = c(1,1,1,2,2,3,3,4)
hist(test_data,breaks=5)
hist(test_data,nclass=5)

enter image description here

На самом деле это то же самое для Python. Аргументом является bins. Значение по умолчанию - 10 (согласно этой странице )

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

import matplotlib.pyplot as plt
test_data = [1,1,1,2,2,3,3,4]
plt.hist(test_data,bins=4)
plt.show()

Вы получаете

enter image description here

1
Xiaoshi 11 Апр 2020 в 12:13