在ggplot2中手动指定刻度标签

时间:2018-02-22 12:27:07

标签: r ggplot2

在ggplot2中,我有一个y轴在log10(x + 1)上的图形。我还没有找到一种直接指定ggplot2使用log10(x + 1)比例的方法,所以我想直接修改y轴刻度标签,而不是" 0,0.5,1,1.5 ,和2"这些刻度将读取" 0,3.2,10,32,100和#34;。这样做有简单的方法吗?

代码:

  ibero.all <- ggplot(melted.LOG.Ibero, aes(colour=cultures, x = factor(Laplace, levels=c("B", "G", "T", "Bc", "PD.LD", "DT6", "DT1.5.7.8", "Gm1", "Gm2.8", "F", "P", "L.R", "A", "D", "Dv")), y = Frequency)) + 
  geom_point(position = position_dodge(width = 0.4))+
  scale_color_manual(name="", values=group.colors.Ibero)+
  ylim(0, 2)+
  labs(y = "Percentage of the toolkit", x="Typed tool classes (Laplace 1964)")+
  ggtitle("Madeleine clones of sample size 100, tool frequencies (log scale)")+
  theme(plot.title = element_text(hjust = 0.5))

我想更改刻度标签,使它们看起来像这样: enter image description here

2 个答案:

答案 0 :(得分:2)

您可以通过scale_<aes>_<type>功能手动设置轴标签:

scale_y_continuous(breaks = c(0, 3.2, 10, 32, 100))

您还可以使用log10功能标记轴:

scale_y_continuous(trans = 'log10')

答案 1 :(得分:1)

您必须手动将标签送入log10中断。

scale_y_continuous(breaks = log10(c(0, 3.2, 10, 32, 100),
                   labels = c(0, 3.2, 10, 32, 100))

现在,请注意您正在招致误导性做法: 轴断裂转换为log10(x)而不是log10(x + 1)。您的轴与绘制值的测量比例不同。