ggplot2 删除轴标签
Posted
技术标签:
【中文标题】ggplot2 删除轴标签【英文标题】:ggplot2 remove axis label 【发布时间】:2018-01-31 18:02:40 【问题描述】:我有以下数据集:
dput(head(active_clients))
structure(list(Date = structure(c(1422662400, 1425081600, 1427760000,
1430352000, 1433030400, 1435622400), class = c("POSIXct", "POSIXt"
), tzone = "UTC"), value = c(65139, 66615, 66669, 67081, 67277,
67366), month = 1:6, year = c(2015L, 2015L, 2015L, 2015L, 2015L,
2015L), year_month = c("1/15", "2/15", "3/15", "4/15", "5/15",
"6/15"), year2 = c("15", "15", "15", "15", "15", "15")), .Names = c("Date",
"value", "month", "year", "year_month", "year2"), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
我正在使用 ggplot2 绘制以下线/点图。
t <- ggplot(active_clients) +
geom_point(aes(as.factor(year_month),
value),
size = 2,
color="deepskyblue4") +
geom_line(aes(as.factor(year_month),
value,
group = 1, alpha = 0.5),
color = "deepskyblue4") +
xlab("") +
ylab("") +
theme(legend.title = element_blank()) +
theme_minimal()
ggplotly(t)
但我无法从 x 轴上移除标签。
我也试过添加:
theme(legend.title = element_blank(), axis.text = element_blank())
不知道我做错了什么。
有什么提示吗?
更新
这是我得到的情节:
【问题讨论】:
你见过1,2这些类似的帖子吗? 是的,在我的情况下它不起作用。 您的问题源于在使用theme(axis.text = ...)
修改主题后调用theme_minimal()
。由于theme_minimal()
是一个完整的主题,它会覆盖您的修改。任何时候你想修改一个情节的主题,在你的通话中任何完整的主题后面加上那个声明。
【参考方案1】:
要删除x轴标签,你应该尝试在theme()
中使用axis.text.x=element_blank()
移除 x 轴标签:
ggplot(active_clients) +
geom_point(aes(as.factor(year_month), value), size = 2, color="deepskyblue4") +
geom_line(aes(as.factor(year_month), value, group = 1, alpha = 0.5), color = "deepskyblue4") +
theme_minimal()+
theme(axis.text.x=element_blank())
【讨论】:
它不工作。我是否可能需要两次删除 geom_point 和 geom_line 的标签?如果是这样,你知道怎么做吗? @Prometheus 你能提供一个最小可重现的错误示例吗? @Ashish 因为 ggplot 返回静态图,使用 plotly 可以获得交互式图。我在仪表板中使用特定的情节。 我也在学习 ggplotly 与闪亮仪表板的结合。祝你好运! @Prometheus,很酷。我建议您编辑帖子并在其他标签之外添加ggplotly
标签。我正在学习ggplotly
,所以必须做一些挖掘才能回复你。【参考方案2】:
如何删除 x 轴标签并将其保存为 ggplot 对象。此后,将它包裹在 ggplotly 上,它应该可以解决问题。一个最小可重现的例子如下;
library(plotly)
library(ggplot2)
# create a ggplot object and remove the x-axis label
bp <- ggplot(PlantGrowth, aes(x=group, y=weight)) +
geom_boxplot()+
theme(axis.title.x=element_blank(), axis.text.x=element_blank(),
axis.ticks.x=element_blank())
# show the ggplot
bp
# create a ggplotly object from the ggplot object
p<- ggplotly(bp)
# show the ggplotly object
p
我认为这清楚地回答了你的问题。
【讨论】:
以上是关于ggplot2 删除轴标签的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化多行文本轴标签轴标签带下标轴标签数学公式实战