我可以使用布局来更改散点图中 x 轴和 y 轴的颜色,但是我无法更改 parcoords 图中存在的多个 y 轴的颜色。这是我迄今为止所取得的成就:
library(plotly)
textColor <- "red"
lineColor <- "orange"
plot_ly(x=rnorm(100), y=rnorm(100)) |>
plotly::layout(
xaxis = list(tickfont = list(color = textColor), color = lineColor),
yaxis = list(tickfont = list(color = textColor), color = lineColor)
)
plot_ly(
type = "parcoords",
dimensions = list(
list(
label = "a",
values = runif(100)
),
list(
label = "b",
values = runif(100)
),
list(
values = runif(100),
label = "c"
)
)
) |> plotly::layout(
font = list(color = textColor),
yaxis = list(tickfont = list(color = textColor), color = lineColor)
)
你可以看到三个y轴仍然是黑色而不是橙色。
可行的解决方案是什么? python 解决方案对我来说就足够了。
我在 R 的 Plotly 库中找不到相应的选项,但您可以通过 {GGally} 采取 ggplot-route,如此处所示。
您的情况:
library(GGally)
创建示例数据框(ggplot & Co 所需):
d <- Map(1:3, f = \(i) runif(99)) |>
setNames(letters[1:3]) |>
list2DF()
d$dimension <- gl(3, 33, labels = letters[1:3])
创建绘图并转换为 Plotly:
p <- ggparcoord(d,
columns = 1:3,
groupColumn = 'dimension'
) +
theme(panel.grid.major.x = element_line(colour = 'orange'))
这里,垂直网格颜色是通过theme
设置的。对于单独样式的垂直线,请参阅
?ggplot2::geom_vline
。