我在一個回圈中輸出很多數字,其中 y 軸的比例和范圍不同。我注意到,在大多數情況下,最后一個滴答聲遠遠早于軸的末端,并且資料通常延伸到最后一個滴答聲之上。我想要一種編程方式來告訴 ggplot 在軸的末端或至少在繪制的最高資料點上打一個勾,以便注釋整個資料范圍。
這里有一些資料在 x 和 y 軸上都說明了這個問題:
library(ggplot2)
count<- c(1, 2, 3, 8, 4, 6, 2, 2, 4, 6, 8, 13)
position<-c(1, 2, 3, 4, 5, 6, 7, 2, 4, 6, 8, 13)
group<- c('a', 'a', 'a', 'a', 'a', 'a', 'a', 'b','b', 'b', 'b','b')
data<-data.frame(count, position, group)
plot1<- ggplot(data, aes(x=position, y=count, color=group))
geom_line(size=2)
theme(
panel.background = element_rect(fill="white"),
axis.line = element_line(size=1, colour = "black"),
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1, face="bold", size=12, color="black"),
axis.text.y = element_text(face="bold", size=12, color="black"),
legend.position = "bottom"
)
這是影像當前的樣子:

當我使用具有定義大小的 tiff() 和 dev.off() 在回圈中輸出它時,許多軸刻度看起來像這樣。關于如何解決這個問題的任何想法?
uj5u.com熱心網友回復:
您可以使用函式指定中斷出現的位置scale_*_continuous。您可以提供由每個軸的最小值和最大值定義的序列:
plot1<- ggplot(data, aes(x=position, y=count, color=group))
geom_line(size=2)
scale_y_continuous(breaks = seq(min(data$count), max(data$count), length = 5))
scale_x_continuous(breaks = seq(min(data$position), max(data$position), length = 5))
theme(
panel.background = element_rect(fill="white"),
axis.line = element_line(size=1, colour = "black"),
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1, face="bold", size=12, color="black"),
axis.text.y = element_text(face="bold", size=12, color="black"),
legend.position = "bottom"
)
print(plot1)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/443251.html
上一篇:在R中,如何調整stat_pvalue_manual()中的有效位數?
下一篇:調整ggplot物件的線條大小
