geo_bar弄乱了y轴比例尺

问题描述 投票:0回答:1

我有一些海拔数据,希望将其与数据集中的气候类别相关联。当我尝试将其绘制为条形图以查看类别沿高程的分布时,ggplotgeom_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))

这是我得到的输出:

“”

关于我在做什么错的任何提示?谢谢!

r ggplot2 geom-bar
1个回答
0
投票

如果这是您希望继续阅读的输出,

输出

test_out

解决方案

按如下方式对除NA以外的数据帧进行细分。

base <- ggplot(data= subset(data_merge, !is.na(temperature_intervals)), aes(fill=temperature_intervals, y=elevation, x=name))

base+geom_bar(stat="identity")+ scale_fill_manual(values=colfunc(5))
© www.soinside.com 2019 - 2024. All rights reserved.