在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))
答案 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)。您的轴与绘制值的测量比例不同。