R 断点不符合比例y连续()
我试图绘制一些y值较大的数据:R 断点不符合比例y连续(),r,ggplot2,axis-labels,R,Ggplot2,Axis Labels,我试图绘制一些y值较大的数据: p <- seq(0.1, 0.9, 0.1) cost <- 1/(p^2)^15 * 15 * 0.1 data <- data.frame(x=p, y=cost) ggplot(data, aes(x=x, y=y)) + geom_point(shape=18, color="blue")+ scale_y_continuous(name="Cost", breaks=c(0, 1e5, 1e10, 1e15, 1e20, 1
p <- seq(0.1, 0.9, 0.1)
cost <- 1/(p^2)^15 * 15 * 0.1
data <- data.frame(x=p, y=cost)
ggplot(data, aes(x=x, y=y)) +
geom_point(shape=18, color="blue")+
scale_y_continuous(name="Cost", breaks=c(0, 1e5, 1e10, 1e15, 1e20, 1e25, 1e30))
p您最好的选择是重新调整数据的比例,比如这里的对数。您可以在图形的标签中表示这一点,并且仍然提供未缩放的y轴标签
breaks=c(0、1e5、1e10、1e15、1e20、1e25、1e30)
ggplot(数据,aes(x=x,y=log(y))+
几何点(形状=18,颜色=“蓝色”)+
连续缩放(name=“Cost”,
断裂=原木(断裂),
标签=中断)
更简单,有点生锈:
ggplot(数据,aes(x=x,y=y))+
几何点(形状=18,颜色=“蓝色”)+
连续缩放(name=“Cost”,
中断=c(0、1e5、1e10、1e15、1e20、1e25、1e30),
trans=“log”)
切换到日志10:缩放日志10(name=“Cost”,breaks=c(0,1e5,1e10,1e15,1e20,1e25,1e30))
?谢谢!这是一件已知的事情,您不能手动缩放ggplot中的轴超过某个点吗?只需调用scale\u y_continuous
不会缩放轴,对breaks
的调用只指定应在当前比例上设置轴的位置。但这提醒了我,您可以使用trans
参数指定转换,这样就可以使用比我最初提供的更简单的解决方案。很好!简单的解决方案当然很酷,但我想知道为什么我设置未转换的中断的尝试失败了?原因很简单,因为图表不能合理地显示1e30
和其他未标度的中断。您可以在图形的左下角看到文本中的重叠,其他所有的中断都被塞入其中。