2017-08-02 1073 views
0

在ggplot2中,我为直方图设置了分隔符,而刻度标签自动显示所有分隔符,是否有自定义显示刻度标签的方法?自定义ggplot2中的x轴刻度标签

ggplot(plotdata,aes(x=vals))+ 
geom_histogram(aes(y=..density..),fill='cyan')+ 
geom_vline(aes(xintercept=mycrit,color='red'))+ 
scale_x_continuous(name='',breaks=mybreaks)+ 
theme(axis.text.x=element_text(angle=90)) 

enter image description here 我不想很多刻度标记,只有其中的一小部分,是有办法做到这一点?

我也尝试设置而不是断裂,并设置标签binwidth,但我得到了错误消息Breaks and Labels are different lengths

+0

您的x轴应该是连续的还是应该是绝对的?我想你只需要将它转换为'numeric',即'plotdata $ vals = as.numeric(as.character(plotdata $ vals))'。建议重复:[关于如何将因子转换为数字的R-FAQ](https://stackoverflow.com/q/3418128/903061) – Gregor

+0

vals变量已经是'numeric'变量。我以另一种方式解决了我的问题。谢谢! –

回答

-1
plotdata$vals <- as.numeric(plotdata$vals) 

然后运行代码。

+2

如果'vals'是一个因素,这将无法按预期工作。 – aosmith

+0

你说得对,这里是更可能的情况。 'plotdata $ vals < - as.numeric(as.character(plotdata $ vals))' – Brian