У меня есть некоторые данные по высоте, которые я хотел бы связать с климатическими категориями в наборе данных. Когда я пытаюсь построить график как график, чтобы увидеть распределение категорий по отметке, что-то в ggplot
geom_bar
преобразует масштаб по оси Y в некоторые странные значения. Вот пример:
# Example dataset
data_mountain_A <- data.frame(elevation=c(0,500,1000,1500,2000),
temperature=c(20,16,12,8,5),
name="A")
data_mountain_B <- data.frame(elevation=c(0,500,1000,1500,2000,2500,3000),
temperature=c(20,16,12,8,5,0,-5),
name="B")
data_merge <- rbind(data_mountain_A, data_mountain_B)
# Creates the temperature intervals
data_merge$temperature_intervals <- cut(data_merge$temperature,seq(-5,20,5))
# Fancy colors
colfunc <- colorRampPalette(c("white","light blue","dark green"))
# Plot
ggplot(data=data_merge, aes(fill=temperature_intervals, y=elevation, x=name)) +
geom_bar(stat="identity") +
scale_fill_manual(values=colfunc(5))
А вот вывод, который я получаю:
Есть какие-нибудь намеки на то, что я делаю неправильно? Спасибо!
РЕДАКТИРОВАТЬ: Я обнаружил проблему. Он рассматривал высоту как диапазон, а не как единичную меру. Я исправил это, заменив абсолютные значения высоты на длину интервалов высоты.