我正在使用qplot
中的ggplot2
制作散点图。我无法在x轴上看到所有值。此外,它正从x轴移除NA
。如何保留NA
并控制x轴显示的特征数量?
rate_plot = qplot(Result$temp, Result$CR, main="Rate", xlab=feature, ylab="Rate", size=I(3))+
scale_x_discrete(drop=FALSE)
数据: Google Docs link
Result <- read.table(text = " temp NCH type CH i.type CR
1 NA 1878464 nochurn 549371 churn 0.226280204
2 1.87 2236 nochurn 4713 churn 0.678227083
3 2.14 4945 nochurn 8530 churn 0.633024119
4 2.25 423 nochurn 972 churn 0.696774194
5 2.79 3238 nochurn 7692 churn 0.703751144
6 3.25 266817 nochurn 12678 churn 0.045360382
7 3.33 2132 nochurn 4295 churn 0.668274467
8 5.1 6683 nochurn 7743 churn 0.536739221
9 6 342554 nochurn 21648 churn 0.059439542
10 6.51 1785 nochurn 4764 churn 0.727439304
11 8 13668 nochurn 22751 churn 0.624701392
12 9.85 6005 nochurn 14687 churn 0.709791224
13 11.99 378 nochurn 850 churn 0.69218241", header = TRUE)
答案 0 :(得分:1)
对于自定义刻度和标签,我们可以使用scale_x_continuous。
警告下方表示从绘图数据中删除了具有NA值的行:
删除了包含缺失值的1行(geom_point)
解决方法是让NA显示在x轴上,我们需要为NA值指定一些值,这里我在绘图的右端绘制NA值。获取xaxis(temp
变量)的最大值,然后使用自定义x轴标签。
library(ggplot2)
# set NA to max value + 1
plotDat <- Result
plotDat[ is.na(plotDat$temp), "temp"] <- max(ceiling(plotDat$temp), na.rm = TRUE) + 1
#plot with custom breaks and labels
ggplot(plotDat, aes(x = temp, y = CR)) +
geom_point() +
scale_x_continuous(breaks = 1:max(ceiling(plotDat$temp)),
labels = c(1:(max(ceiling(plotDat$temp)) - 1), "NA"))