我試圖通過使用來給Y軸上的一個特定標簽著色。theme(axis.text.y = element_markdown(color = ...))并且它作業得非常好。然而,當我還想通過使用......來防止自己在這個相同的軸上出現潛在的標簽重疊。
scale_y_discrete(guide = guide_axis(check.overlap = T)) ,那么,耦合的標簽就會改變。下面是一個顯示這個問題的小例子。
是否有人已經面臨這個問題?你有解決方案嗎?或者其他的方法?
library(ggplot2)
library(ggtext)
N = 10
df = data. frame(parameters = paste("paramters", seq(N)。 sep = "_"),
color = rep("black"。 N))
df$引數=因子(df$引數。 水平=df$parameters。 有序= T)
best = 5
df$color[best] = "red"
df
#>引數color
#> 1 paramters_1 black
#> 2 paramters_2 black[/span]。
#> 3 paramters_3 black[/span]。
#> 4 paramters_4 black[/span]。
#> 5 paramters_5 red[/span]。
#> 6 paramters_6 black[/span]。
#> 7 paramters_7 black[/span]。
#> 8 paramters_8 black[/span]。
#> 9 paramters_9 black[/span]。
#> 10 paramters_10 black; =
ggplot(df, aes(y =引數)) 主題(軸。 文本。 y = element_markdown(color =) operator">= df$color))
q = p scale_y_discrete(guide = guid_axis(check. overlap = T))
創建于2021-09-21,由reprex包(v2.0.0)
uj5u.com熱心網友回復:
我不認為ggtext的目的是通過主題元素允許矢量的顏色分配。相反,它提供了對標簽中(有限的)markdown/html標簽的解釋,所以如果你想讓一個特定的標簽變成紅色,你應該為它構建紅色文本的html標簽。
library(ggplot2)
library(ggtext)
#> Warning: package 'ggtext' was built under R version 4.1.1
N = 10
df = data. frame(parameters = paste("paramters", seq(N)。 sep = "_"))
df$parameters = factor(df$parameters。 水平=df$parameters。 有序= T)
最佳= 5
levels(df$parameters) = ifelse(>)
levels(df$parameters) ==粘貼("paramters"。 best, sep = "_"),
paste0("<span style='color: red'> "。 levels(df$parameters), "< /span>"),
paste0("< span style='color: black'> "。 levels(df$parameters), "< /span>")
)
(p = ggplot(df, aes(y = parameters))
主題(axis.text。 y = element_markdown())

(q = p )
scale_y_discrete(guide = guide_axis(check. overlap = T))

創建于2021-09-21,由reprex包(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/333023.html
標籤:
