【问题标题】:How do I show only the y axis and hide everything else - including the plot itself and the x axis?如何只显示 y 轴并隐藏其他所有内容 - 包括绘图本身和 x 轴?
【发布时间】:2023-02-09 18:41:26
【问题描述】:

我只需要显示 y 轴的元素,别无其他。

name <- c("A", "B", "C", "D", "E")
values <- c(1, 2, 3, 4, 5)
data<-data.frame(name, values)

ggplot()
geom_blank(data=data, aes(y=reorder(name,desc(name))))+
theme(axis.text.x=element_blank(),
axis.title = element_blank(), 
axis.text.y=element_text(colour="black"))

这仍然显示了情节。我只想显示 y 轴元素。

【问题讨论】:

    标签: r ggplot2 geom


    【解决方案1】:

    这是你想要的?

    name <- c("A", "B", "C", "D", "E")
    values <- c(1, 2, 3, 4, 5)
    df1<-data.frame(name, values)
    
    library(ggplot2)
    library(dplyr)
    
    ggplot(df1, aes(values, y=reorder(name,desc(name)))) +
    geom_blank()+
      theme_void()+
      theme(axis.text.x=element_blank(),
            axis.title = element_blank(),
            axis.text.y=element_text(colour="black"))
    

    创建于 2023-02-09 reprex v2.0.2

    【讨论】:

    • 在使用 theme_void 之后,不确定为什么需要 element_blank 调用。
    • 谢谢!但我只想要 y 轴元素,甚至不需要情节。
    【解决方案2】:

    这将帮助您完成大部分工作:

    ggplot()+
    geom_blank(data=data, aes(y=reorder(name,desc(name))))+
      theme_minimal()
    

    然后你只需要删除网格线和标签:

    ggplot()+
    geom_blank(data=data, aes(y=reorder(name,desc(name))))+
      theme_minimal()+
      theme(panel.grid = element_blank(),
            axis.title = element_blank())
    

    【讨论】:

    • 谢谢!关于我如何只能拥有 y 轴元素的任何想法?我也不想要情节区域。
    【解决方案3】:

    如果你的目标只是画五个字母而没有其他任何东西,则无需费心坐标轴,而是直接绘制标签。

    ggplot() + 
      annotate(geom = "text", x = 1, y = 1:5, label = rev(LETTERS[1:5])) +
      theme_void()
    

    【讨论】:

    • 谢谢!目前的数据只是一个例子。我正在处理的数据有调查文本。
    • @ApoorvaHungund 同样的原则当然适用——如果你只想绘制这段文字。只需更改“标签”的矢量参数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    相关资源
    最近更新 更多