Я пытаюсь создать тепловую карту с помощью ggplot в документе RMarkdown.Предполагаемый вывод - HTML-страница.Мой входной фрейм данных (npBasicLong) выглядит следующим образом:
location hh medianEWS
-------- -- ---------
Alpha 1 2
Alpha 2 1
Alpha 3 3
Alpha 4 1
...(and so on)
Alpha 23 3
Beta 1 4
Beta 2 4
Beta 3 1
Используя следующий код ...
ggplot(data = npBasicLong) +
aes(x = hh) +
aes(y = fct_rev(location)) + #fct_rev is used as a hack to reverse the ordering of the wards
aes(fill = medianEWS) +
geom_tile(colour = "white") +
scale_fill_gradient2(name = 'Median\nNEWS\nScore', low = "#7cbc12", mid = "gold", high = "red", midpoint = 3) +
geom_text (aes
(label = medianEWS),
size = 1.5) +
scale_x_continuous('Hour',
expand = c(0, 0),
breaks = seq(0,24,1),
position = "top") +
coord_fixed(ratio = 1) +
theme(panel.grid.minor=element_blank(),
panel.grid.major=element_blank(),
axis.ticks = element_blank(),
axis.title.y = element_blank(),
text = element_text (size=8)
)
... Я получаю это ...
Проблема в том, что текст крошечный, потому что единственный способ остановить наложение ярлыков или их переполненность - это уменьшить размер текста.
ЕслиЯ изменяю значение координированного фиксированного значения на 2, а затем, вместо того, чтобы вытягивать ggplot по оси Y, просто сжимает ось X, как показано ниже ...
У меня естьпопытался использовать theme (aspect_ratio) вместоordin_fixed, и это, кажется, не имеет значения.Я также попытался установить выходные параметры чанка (out.height и fig.height), но они также, похоже, не имеют никакого значения.
Как я могу получить график, который имеет достаточную вертикальвысота, на которой метки могут быть читаемы на веб-странице без сдавливания оси x?