我正在制作一個極坐標轉換的條形圖,其中幾個 x 軸標簽與繪圖區域重疊。對于背景關系,我正在開發一個閃亮的應用程式,您可以在
uj5u.com熱心網友回復:
這看起來不像@Allan Cameron 使用他非常漂亮的 {geomtextpath} 庫的答案那么好,但具有易于使用原生 {ggplot2} 實作的(可能)優勢。在這里,我們簡單地使用expand_limits()方向y將軸推離繪圖更遠,并為標簽留出空間。這有點小題大做,因為我根據標簽的長度和條的大小想出了一個關于擴展多遠的軟糖因素。它適用于一定大小的標簽,但如果它們變得很長,除非你引入換行符,否則它會有點崩潰。您還可以添加theme(plot.margin = unit(c(3, 0, 3, 0), "lines"))以在繪圖周圍獲得更多空間,以避免切割超長標簽。
library(tidyverse)
# data
plotThis <-
tibble(
names = c("foo", "bar", "baz", "biff", "zoop", "sesquipedalian"),
values = c(100, 150, 42, 135.45, 177, 182))
# calculate scaling of axis based on longest label
new_max_y <-
plotThis %>%
mutate(nchar = nchar(names),
new_max_y = values * (1 0.01 * nchar)) %>%
pull(new_max_y) %>%
max()
# plot - expand margins if names get really long
plotThis %>%
ggplot(aes(x = names, y = values))
geom_col(color = "black", fill = "blue", width = 1)
coord_polar(clip = "off")
theme_minimal()
scale_y_continuous(name = NULL, breaks = NULL)
expand_limits(y = c(0, new_max_y))
xlab(NULL)

由reprex 包于 2022-02-15 創建(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/427651.html
上一篇:如何在直方圖bin上放置標簽
