gpt4 book ai didi

r - 如何将 x 轴标签从使用 coord_polar 的 ggplot 的中心移开?

转载 作者:行者123 更新时间:2023-12-05 02:32:51 25 4
gpt4 key购买 nike

我正在制作一个极坐标变换的条形图,其中几个 x 轴标签与绘图区域重叠。对于上下文,我正在开发一个 Shiny 的应用程序,您可以找到 here 的副本.

我试过使用 theme(axis.text.x = element_text(vjust = -someNumber)),但它似乎没有做任何事情。

这是一个可重现的例子来证明这个问题:

## Tiny example plot
### Libraries
require(dplyr)
#> Loading required package: dplyr
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
require(ggplot2)
#> Loading required package: ggplot2

### Data
categories <- c("foo", "bar", "baz", "biff", "zoop", "sesquipedalian")
values <- c(100, 150, 42, 135.45, 177, 182)

plotThis <- tibble(names = categories, values = values)

### Plot the plot

ggplot(plotThis, aes(x = names, y = values)) +
geom_bar(stat = "identity", color = "black", fill = "blue", width = 1) +
coord_polar(clip = "off") +
theme_minimal() +
scale_y_continuous(name = NULL, breaks = NULL) +
xlab(NULL)

reprex package 创建于 2022-02-15 (v2.0.1)

如何将“sesquipedalian”标签(或者,如有必要,所有标签)移离中心更远,使其不与绘图重叠?

最佳答案

如果您从 geomtextpath 包中从 coord_polar 切换到 coord_curvedpolar,您可以拥有永远不会与绘图区域重叠的弯曲标签。您描述的问题是编写 coord_curvedpolar 的主要原因。

此外,x 轴标签可以使用 theme(axis.text.x = element_text(...)) 中的 vjust 设置在径向方向上进行调整.

代码的其他部分无需更改,绘图的其他元素与使用 coord_polar 时完全相同。

我认为这会让情节看起来更漂亮(尽管我可能有偏见......)

library(geomtextpath)

ggplot(plotThis, aes(x = names, y = values)) +
geom_bar(stat = "identity", color = "black", fill = "blue", width = 1) +
coord_curvedpolar(clip = "off") +
theme_minimal() +
scale_y_continuous(name = NULL, breaks = NULL) +
xlab(NULL) +
theme(axis.text.x = element_text(vjust = -1, size = 15))

enter image description here

关于r - 如何将 x 轴标签从使用 coord_polar 的 ggplot 的中心移开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71125994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com