2017-08-02 301 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