【问题标题】:Change y-axis side when plotting factors绘制因子时更改 y 轴边
【发布时间】:2014-06-26 07:49:37
【问题描述】:

我有以下情节

k.factor<-factor(sample(1:5, 100, replace = T))
s.factor<-factor(sample(c("A", "B", "C"), 100, replace = T))
plot(k.factor, s.factor)

我想删除左侧 y 轴(A、B、C)并将此信息绘制为图例。我怎样才能抑制这个yaxis?我还希望概率轴显示为左 y 轴(而不是现在的右 y 轴)?这个怎么翻?

请仅基于 R 答案

【问题讨论】:

    标签: r graphics plot axis-labels


    【解决方案1】:

    如果你不介意使用ggplot2,你可以这样做:

    library(ggplot2)
    
    ggplot(data.frame(k.factor, s.factor), aes(x = k.factor, fill = s.factor)) + 
       geom_bar(position="fill")
    

    【讨论】:

    • 这是一个不错的解决方案,但我忘了提到我正在寻找一个基本的 R 解决方案。谢谢!
    • @ECII 您应该将重要的细节添加到您的原始问题中,否则其他读者将不得不阅读所有 cmets 才能发现该要求。
    【解决方案2】:

    您可以在绘图语句中设置axes=FALSE,然后使用?axis手动添加轴:

    plot(k.factor, s.factor, axes=FALSE)
    axis(1)
    axis(2)
    

    编辑:实际上,您必须自定义 axis 语句。

    # create offset and at variables
    off <- 0.02
    xat <- c(0, cumsum(prop.table(table(k.factor)) + off))
    # plot 
    plot(k.factor, s.factor)
    plot(k.factor, s.factor, axes=FALSE, off=100*off)
    axis(1, at = (xat[-length(xat)] + xat[-1] - off)/2, 
         labels = 1:5, tick = FALSE)
    axis(2)
    

    您还可以查看?spineplot 以获取有关off 参数的更多信息。

    【讨论】:

    • 这不起作用。它只是在第 1 侧和第 2 侧添加概率轴。
    猜你喜欢
    • 1970-01-01
    • 2016-11-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    相关资源
    最近更新 更多