Решетчатая диаграмма с правильными пробелами между столбцами - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть еще один вопрос решетки.Предположим, я рисую гистограмму с этим кодом:

require(lattice)
data <- data.frame(x = c(1,7,10,14,20,21), y = c(0.1,0.6,0.4,0.5,0.3,0.7))
barchart(data$y ~ data$x, horizontal = FALSE)

Полученная картинка имеет проблему, поскольку столбцы расположены на одинаковом расстоянии, но их не должно быть, так как x фактически имеет много пробелов между значениями.Например, мне нужно 6 единиц пустого пространства между столбцами для x = 1 и x = 7. Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

Как насчет использования xyplot и указания функции панели? Это сохраняет значения x в виде числовых значений, а не позволяет barchart преобразовывать их в коэффициенты. Использование формы panel = function(...) panel.barchart(...) позволяет добавлять другие параметры для управления отображением диаграммы.

require(lattice)
xyplot(y ~ x, data, panel = panel.barchart, horizontal = FALSE)

P.S. Я предлагаю вам избегать явной формы data$x и data$y и позволить функции оценивать переменные в данных, предоставленных функции. Явная ссылка часто приводит к непредвиденным результатам, когда все меняется.

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

что по этому поводу:

require(ggplot2)
ggplot(data, aes(x, y)) + geom_bar(stat='identity', fill='lightblue') + theme_classic()

enter image description here

...