请考虑以下事项
library(ggplot)
data <- data.frame(qnt=c(10,20,22,12,14,9,1000),lbl=c("A","B","C","D","E","F","G"))
ggplot(data=data, aes(x=lbl, y=qnt)) + geom_histogram(stat="identity")
Run Code Online (Sandbox Code Playgroud)
哪个产生

我应该考虑哪些选项来截断G情节中的最高位?(当然向观众解释我做了什么)
如果你想摆弄它,你可以使用这个gridExtra包,并绘制 2 个(或更多)修剪掉的图形部分。我已经修改了边距以使其对齐,但更好的计划可能是将轴标签的格式设置为相同的文本宽度,

require(ggplot2)
require(gridExtra)
data <- data.frame(qnt=c(10,20,22,12,14,9,1000),lbl=c("A","B","C","D","E","F","G"))
g1<-ggplot(data=data, aes(x=lbl, y=qnt)) +
geom_histogram(stat="identity")+
coord_cartesian(ylim=c(-10,50)) +
labs(x=NULL, y=NULL)+
theme(plot.margin=unit(c(2,2,6,3),"mm"))
g2<-ggplot(data=data, aes(x=lbl, y=qnt)) +
geom_histogram(stat="identity") +
coord_cartesian(ylim=c(990,1010)) +
theme(axis.text.x = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.ticks.x = element_blank()) +
labs(x=NULL, y=NULL) +
theme(plot.margin=unit(c(5,2,0,0),"mm"))
grid.arrange(g2,g1, heights=c(1/4, 3/4), ncol=1, nrow=2)
Run Code Online (Sandbox Code Playgroud)
您可以使用coord_cartesian()和更改 y 轴的限制 -coord_cartesian()将绘图“缩放”到您提供的限制。我还使用了geom_bar()x 轴上的绘图因子。
ggplot(data=data, aes(x=lbl, y=qnt)) + geom_bar(stat="identity")+
coord_cartesian(ylim=c(0,100))
Run Code Online (Sandbox Code Playgroud)
另一种可能性是对 y 值使用对数刻度。
ggplot(data=data, aes(x=lbl, y=qnt)) + geom_bar(stat="identity")+
scale_y_log10()
Run Code Online (Sandbox Code Playgroud)