我正在尝试从本文中复制出一个情节:
https://www.nature.com/articles/s41467-019-10213-0
我要复制的情节是最左边的情节:
https://www.nature.com/articles/s41467-019-10213-0/figures/2
我能够准备数据并据此进行绘制。我唯一遇到的问题是如何在y轴上设置断点,使得每个断点之间的距离相等(即使两者之间的实际距离不同)。更准确地说:在我要复制的情节中,我们在y轴上有五个中断,范围从10 ^ -1到10 ^ -5:即使实际距离在10 ^ -1和10 ^ -2之间比10 ^ -4和10 ^ -5大得多,这些中断之间的距离相等。
我几乎在“ ggplot2”上阅读了Hadley Wickham的整本书,以了解如何做。我尝试在图的缩放层中设置限制和中断。我尝试更改expand参数。我尝试使用coord_cartesian将其“缩放”到图形中,并且还尝试更改y轴和x轴之间的比率。 您将在此处找到的数据只是一个任意示例,因此每个人都可以在一定程度上重现该示例。在实际情况下,分配绘制的范围为0到100。
[]
我希望发生的是y轴上的中断范围从10 ^ -1到10 ^ -5,但每次中断之间的距离是相等的。
这是我第一次问有关Stackoverflow的问题,对于给您带来的任何不便,我深表歉意。另外,我确保没有与我相关的问题,以确保它不是重复的。
答案 0 :(得分:1)
这给了我想要的y轴:
my_plot +
scale_x_continuous(breaks = seq(0,100,20)) +
scale_y_log10(breaks = c(0.00001, 0.0001, 0.001, 0.01, 0.1),
limits= c(0.00001, 0.12),
expand = expand_scale(mult = c(0.0001, 0.02),
add = c(0.0009, 0.001)))+
geom_point(shape = 4) + geom_line() + theme(aspect.ratio=1.2)