修改 R Plotly 中的单个刻度标签
Modifying individual tick labels in R Plotly
假设我有一些代码,例如
library(plotly)
Animals <- c("giraffes", "orangutans", "monkeys")
SF_Zoo <- c(20, 14, 23)
LA_Zoo <- c(12, 18, 29)
data <- data.frame(Animals, SF_Zoo, LA_Zoo)
p <- plot_ly(data, x=~Animals, y=~SF_Zoo, type='bar', name='SF Zoo') %>%
add_trace(y=~LA_Zoo, name='LA Zoo') %>%
layout(yaxis=list(title='Count'), barmode='stack')
我想弄清楚我如何为三个 x 轴标签(长颈鹿、猴子、猩猩)涂上不同的颜色,我一直在尝试使用类似的方法来做到这一点,
xaxis=list(tickfont=list(color=c('red', 'yellow', 'blue')))
在 layout
函数中,但它不起作用。
如何单独修改刻度标签?
目前这不像 xaxis=list(tickfont=list(color=c('red', 'yellow', 'blue')))
那样直接,因为刻度标签的颜色与轴的属性相关联,而不是与单个刻度相关联。您可以 为可见轴的不同部分分配不同的颜色,但您必须添加额外的轴。这已在此处详细完成:
我想我找到了一个使用 HTML 语法的技巧。
library(dplyr)
library(plotly)
plot_ly(x = 1:3, y = 1:3) %>%
layout(
xaxis = list(
tickmode = "array",
tickvals = 1:3,
ticktext = c(
"<span style='color:red'>A</span>",
"<span style='color:yellow'>B</span>",
"<span style='color:blue'>C</span>"
)
)
)
假设我有一些代码,例如
library(plotly)
Animals <- c("giraffes", "orangutans", "monkeys")
SF_Zoo <- c(20, 14, 23)
LA_Zoo <- c(12, 18, 29)
data <- data.frame(Animals, SF_Zoo, LA_Zoo)
p <- plot_ly(data, x=~Animals, y=~SF_Zoo, type='bar', name='SF Zoo') %>%
add_trace(y=~LA_Zoo, name='LA Zoo') %>%
layout(yaxis=list(title='Count'), barmode='stack')
我想弄清楚我如何为三个 x 轴标签(长颈鹿、猴子、猩猩)涂上不同的颜色,我一直在尝试使用类似的方法来做到这一点,
xaxis=list(tickfont=list(color=c('red', 'yellow', 'blue')))
在 layout
函数中,但它不起作用。
如何单独修改刻度标签?
目前这不像 xaxis=list(tickfont=list(color=c('red', 'yellow', 'blue')))
那样直接,因为刻度标签的颜色与轴的属性相关联,而不是与单个刻度相关联。您可以 为可见轴的不同部分分配不同的颜色,但您必须添加额外的轴。这已在此处详细完成:
我想我找到了一个使用 HTML 语法的技巧。
library(dplyr)
library(plotly)
plot_ly(x = 1:3, y = 1:3) %>%
layout(
xaxis = list(
tickmode = "array",
tickvals = 1:3,
ticktext = c(
"<span style='color:red'>A</span>",
"<span style='color:yellow'>B</span>",
"<span style='color:blue'>C</span>"
)
)
)