有一种方法可以使用Scale_y_break添加GGPLOT中的轴线断裂

问题描述 投票:0回答:1
我想要什么。

我得到了什么。 enter image description here

# Generate fake ammonia load data set.seed(123) # For reproducibility dates <- seq(as.Date("2024-01-01"), as.Date("2024-12-31"), by="week") ammonia_load <- runif(length(dates), min=0, max=0.35) # Random data between 0 and 0.35 # Create a data frame df <- data.frame(Date = dates, `Amonia Load` = ammonia_load) df ### Change with separation !!!!!!!!!!! # Create Top plot Figure = ggplot(df, aes(x=Date, y=`Amonia.Load`)) + geom_point(color="black", fill="blue", shape=21, size=2) + labs(x="", y="Load (kg/day)") + theme_classic() + scale_x_date(date_breaks="1 month", date_labels="%b") + scale_y_continuous(limits=c(0.0, 3.0), breaks = c(0.0,0.2,0.4,0.6,0.8,1.0,2.5,3.0)) + theme(panel.border = element_rect(color="black", fill=NA, size=0.5), text = element_text(size=12), axis.text = element_text(size=12), axis.title = element_text(size=12)) + geom_hline(yintercept=2.8, linetype="dashed", color="black") + scale_y_break(c(1.0, 2.5)) Figure enter image description here

最简单的方法是伪造Y轴标签
library(ggplot2)
library(ggbreak)

ggplot(df, aes(x = Date, y = `Amonia.Load`)) +
  geom_point(color = "black", fill = "blue", shape = 21, size = 2) +
  geom_hline(yintercept = 2.62, linetype = "dashed", color ="black") +
  scale_x_date(name = NULL, date_breaks = "1 month", date_labels = "%b") +
  scale_y_continuous(name   =  "Load (kg/day)",
                     limits = c(0.0, 2.7), 
                     breaks = c(seq(0, 1, 0.2), 2.5, 2.7),
                     labels = c(seq(0, 1, 0.2), 2.5, 3)) +
  scale_y_break(breaks = c(1.0, 2.5)) +
  theme_classic() +
  theme(panel.border = element_rect(color = "black", fill = NA, size = 0.5), 
        text         = element_text(size = 12), 
        axis.text    = element_text(size = 12), 
        axis.title   = element_text(size = 12))
r scale yaxis
1个回答
0
投票
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.