Spo*_*ner 2 r histogram ggplot2
我一直在我的直方图上显示小刻度线的问题。我尝试了绘制未标记的主要刻度线的想法,但不会显示刻度线。我的代码非常繁琐,可能有一些多余的行。任何帮助,将不胜感激。
ggplot(data=Shrimp1, aes(Shrimp1$Carapace.Length))+
geom_histogram(breaks=seq(3.5, 25, by=0.1),
col="black",
fill="gray",
alpha=1)+
labs(title="Total Female Carapace Length")+
labs(x="Carapace Length (mm)", y="# of Shrimp")+
xlim(c(3.5, 25))+
theme_bw()+
scale_y_continuous(expand = c(0,0),
limits = c(0,200))+
scale_x_continuous(breaks=seq(2.5,25,2.5))+
theme(axis.text.x=element_text(size=30,angle=45,hjust=1))+
theme(plot.title=element_text(size=30, hjust=0.5))+
theme(axis.text=element_text(size=30, color = "black"),
axis.title=element_text(size=30,face="bold"))+
theme(panel.grid.major=element_line(colour="white"),
panel.grid.minor = element_line(colour = "white"))+
theme(panel.border=element_blank())+
theme(axis.ticks.x = (element_line(size=2)),
axis.ticks.y=(element_line(size=2)))+
theme(axis.ticks.length=unit(.55, "cm"))+
theme(panel.border=element_blank(), axis.line.x=element_line(colour="black"),
axis.line.y=element_line(colour="black"))
Run Code Online (Sandbox Code Playgroud)
存在主要刻度,但我需要它们之间以 0.1 的间隔进行次要刻度
我不认为您可以在次要中断处添加刻度,但是正如您所想的那样,您可以通过在scale_x_continuous
. 您可以使用带有 mod ( %%
) 的布尔索引将“次要”刻度标签设置为空白。
类似地,theme
如果您希望“次要”刻度具有不同的大小,则可以显式设置刻度大小。
set.seed(5)
df <- data.frame(x = rnorm(500, mean = 12.5, sd = 3))
breaks <- seq(2.5, 25, .1)
labels <- as.character(breaks)
labels[!(breaks %% 2.5 == 0)] <- ''
tick.sizes <- rep(.5, length(breaks))
tick.sizes[(breaks %% 2.5 == 0)] <- 1
df %>%
ggplot(aes(x)) +
geom_histogram(binwidth = .1, color = 'black', fill = 'gray35') +
scale_x_continuous(breaks = breaks, labels = labels, limits = c(2.5,25)) +
theme_bw() +
theme(panel.grid = element_blank(),
axis.ticks.x = element_line(size = tick.sizes))
Run Code Online (Sandbox Code Playgroud)
此外,您可能会从我的代码中注意到,您只需调用theme()
一次即可将所有主题修改放入该调用中。