2016-07-22 3 views
0

В Minitab легко создавать гистограммы «точечной точки». Это можно сделать в ggplot2?Гистограммы вырезания в ggplot2

Например,

df <- data.frame(x = c(0.08, 0.21, 0.25, 0.4, 0.5, 0.6)) 
ggplot(df, aes(x = x)) + geom_histogram(binwidth = 0.1) 

enter image description here

Как вы можете видеть здесь, R по умолчанию "средней точки" гистограмм. Полоса, содержащая 0.08, маркируется баром на 0.1. Полоса, содержащая 0.21 и 0.25, маркируется в 0.2 и так далее.

Могу ли я каким-то образом изменить эти бруски поэтому первый бар охватывает область между 0 и 0.1, а второй бар охватывает область между 0.2 и 0.3, и так далее?

+2

Не знаете, что вы хотите в качестве вывода, но делает это? 'ggplot (df, aes (x = x)) + geom_histogram (breaks = seq (0, max (df $ x), by = 0.1))' –

+0

Здесь также должен использоваться аргумент границы: 'ggplot (df, aes (x = x)) + geom_histogram (binwidth = 0.2, border = 1) ' – pHroc

ответ

1

Вы можете избавиться от проблемы двумя способами: используя параметр «центр» или используя «границу». С «центром» вы можете указать центр одного из бункеров, «граница» аналогична, но вы указываете значение границы между двумя ячейками. Стоит отметить, что «центр» и «граница» могут быть либо выше, либо ниже диапазона данных, в этом случае предоставленное значение будет сдвинуто на достаточное количество ширины.

В этом случае вы уже знаете ширину бункера, его границы, поэтому с этим параметры вы можете легко делать то, что вы просили:

library(ggplot2) 
df <- data.frame(x = c(0.08, 0.21, 0.25, 0.4, 0.5, 0.6)) 

# This is "center" solution: 
ggplot(df, aes(x = x)) + geom_histogram(binwidth = 0.1, center=0.05) 

# This is with "boundary" parameter 
ggplot(df, aes(x = x)) + geom_histogram(binwidth = 0.1, boundary=0.1) 

Вы можете найти подробную информацию и дополнительную информацию по ссылке geom_histogram , Надеюсь, что это поможет

Смежные вопросы