我想绘制一个y轴为百分比的图表:
p = ggplot(test, aes(x=creation_date, y=value, color=type)) +
geom_line(aes(group=type)) +
scale_colour_manual(values=c("breach"="red","within_promise"="green","before_promise"="blue")) +
geom_vline(xintercept=c(as.numeric(as.Date('2016-05-14'))),linetype="dotted") +
scale_y_continuous(labels=percent)
ggplotly()
现在我想将y轴上限设置为100%
p = ggplot(test, aes(x=creation_date, y=value, color=type)) +
geom_line(aes(group=type)) +
scale_colour_manual(values=c("breach"="red","within_promise"="green","before_promise"="blue")) +
geom_vline(xintercept=c(as.numeric(as.Date('2016-05-14'))),linetype="dotted") +
scale_y_continuous(labels=percent) +
ylim(0, 1)
ggplotly()
但结果与前一个图相同,y轴限制是相同的。 当我没有把y轴放在百分比时它起作用:
p = ggplot(test, aes(x=creation_date, y=value, color=type)) +
geom_line(aes(group=type)) +
scale_colour_manual(values=c("breach"="red","within_promise"="green","before_promise"="blue")) +
geom_vline(xintercept=c(as.numeric(as.Date('2016-05-14'))),linetype="dotted") +
ylim(0, 1)
ggplotly()
此外,当我将y轴设置为百分比时,使用ggplotly,当我将鼠标放在图形的某个点上时,该值不是百分比:
答案 0 :(得分:4)
我知道你问过这个问题,但你可以在limits
内使用scale_y_continuous()
,如下所示:
scale_y_continuous(labels = scales::percent, limits=c(0,1))
答案 1 :(得分:2)
由于你没有给出数据集,我正在做出最好的猜测。
您需要在limits
中提供scale_y_continuous
选项。如您所见,ylim
不会覆盖scale_y_continuous
设置的美学。您需要使用一个功能来改变y轴的美感。使用ylim
或scale_y_continuous
。
答案 2 :(得分:0)
未成年人建议对以上回复进行修改:
似乎您必须在scale_y_continuous
调用之前中指定限制,以将值设置为百分比:
scale_y_continuous(limits=c(0,1), labels = scales::percent)