仅显示带有geom_errorbarh的ggplot x轴上的最小值和最大值
我试图创建一些图表,将某些值与固定的最小值和最大值进行比较(例如,与您在实验室测试结果中得到的结果相同) 使用“geom_errorbarh”,我部分成功地做到了这一点,但当我试图在图形上仅显示那些固定的最小值和最大值时,我被卡住了: 我尝试使用“scale_x_continuous”和固定的中断,但由于某些原因,它在某些图形上似乎没有像预期的那样工作,如下图所示(红色圆圈)。 这是我使用的代码仅显示带有geom_errorbarh的ggplot x轴上的最小值和最大值,r,ggplot2,R,Ggplot2,我试图创建一些图表,将某些值与固定的最小值和最大值进行比较(例如,与您在实验室测试结果中得到的结果相同) 使用“geom_errorbarh”,我部分成功地做到了这一点,但当我试图在图形上仅显示那些固定的最小值和最大值时,我被卡住了: 我尝试使用“scale_x_continuous”和固定的中断,但由于某些原因,它在某些图形上似乎没有像预期的那样工作,如下图所示(红色圆圈)。 这是我使用的代码 library(tidyverse) dat1 <- tibble( name =
library(tidyverse)
dat1 <- tibble(
name = c("energy","protein","fat","carbs"),
value = c(5000,105,25,187),
min_value = c(800,30,20,150),
max_value=c(4000,80,100,300)
)
p <- ggplot(dat1, aes(value, name))
p + geom_point() +
geom_errorbarh(aes(xmax = max_value, xmin = min_value),
size = 1,
colour = "#9b9beb",
height=0.2)+
facet_wrap(~name, scales = "free", ncol=1 )+
xlab(NULL)+ylab(NULL)+
scale_x_continuous(breaks =c(dat1$min_value,dat1$max_value))
这是因为scale_x_continuous将为所有方面设置相同的中断。要在每个方面都有不同的中断,您应该看看ggh4x包
# install.packages("ggh4x")
library(ggh4x)
p + geom_point() +
geom_errorbarh(aes(xmax = max_value, xmin = min_value),
size = 1,
colour = "#9b9beb",
height=0.2)+
facet_wrap(~name, scales = "free", ncol=1 )+
xlab(NULL)+ylab(NULL)+
facetted_pos_scales(
x = list(
name == "energy" ~ scale_x_continuous(breaks = c(dat1$min_value[1],dat1$max_value[1])),
name == "protein" ~ scale_x_continuous(breaks = c(dat1$min_value[2],dat1$max_value[2])),
name == "fat" ~ scale_x_continuous(breaks = c(dat1$min_value[3],dat1$max_value[3])),
name == "carbs" ~ scale_x_continuous(breaks = c(dat1$min_value[4],dat1$max_value[4]))
)
)