ggplot2图x轴和线标签

时间:2014-06-23 12:50:17

标签: r ggplot2 axis-labels

我正在使用这些数据 https://www.dropbox.com/s/aqt7bdhzlwdsxl2/summary_exp1.csv

以下代码:

pd <- position_dodge(.1)
ggplot(data=summary.200.exp1, aes(x=Time, y=Length, colour=Genotype, group=Genotype)) + 
    geom_errorbar(aes(ymin=Length - se, ymax=Length + se), colour="black", width=.1,         position=pd) +
  geom_line(position=pd) +
  geom_point(aes(shape=Genotype),position=pd, size=3) +
  ylab("leaf segment width (mm)") +
  xlab("Time") +
   theme(axis.title = element_text(size=14,face="bold"), 
        axis.text = element_text(size=14),
        strip.text.y = element_text(size=14))

我需要做出以下修改:

  1. 调整x轴限制以消除y轴与time0之间,然后Time22与图表边缘之间绘制的数据之间的空间。我查看了文档并尝试了这个: scale_x_discrete(limits=c("0","22")),但它不起作用。
  2. 修改标签,以便图表上的每一行都标有不同的颜色,&#34;基因型&#34;而传说被淘汰了。为此,我尝试了geom_text(aes(colour=Genotype))的各种选项,我也无法开展工作。
  3. 我将不胜感激任何帮助。 非常感谢

1 个答案:

答案 0 :(得分:1)

  1. 您可以通过将expand = c(0, 0)添加到比例参数来消除图和轴之间的空间:scale_x_discrete(expand = c(0, 0))
  2. 您可以通过向{1}添加show_guide=FALSE来消除图例。代码的geom_line部分。

  3. 编辑:

    我认为你正试图在一个图表中绘制很多内容。例如,错误栏相互重叠很多,以获得可读的情节。在这种情况下(在我看来)使用facet可能是一个好主意。以下代码(将数据框命名为dat):

    ggplot(data=dat, aes(x=Time, y=Length, colour=Genotype)) + 
      geom_line() +
      geom_point(aes(shape=Genotype), size=3) +
      scale_shape_manual(values=c(19,17,15,8,13,6,12,4)) +
      geom_errorbar(aes(ymin=Length-se, ymax=Length+se, colour=Genotype), width=.2) +
      guides(colour=FALSE, shape=FALSE) +
      facet_wrap(~Genotype, ncol=4)
    

    导致这个情节: enter image description here