【问题标题】:Modifying individual tick labels in R Plotly在 R Plotly 中修改单个刻度标签
【发布时间】:2019-11-27 01:13:29
【问题描述】:

假设我有一些代码,例如,

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函数内部,但它不起作用。

如何单独修改刻度标签?

【问题讨论】:

    标签: r plotly r-plotly


    【解决方案1】:

    目前这不像xaxis=list(tickfont=list(color=c('red', 'yellow', 'blue'))) 那样直截了当,因为刻度标签的颜色与轴的属性相关联,而不是与单个刻度相关联。您可以为可见轴的不同部分分配不同的颜色,但您必须添加额外的轴。这已在此处详细完成:Coloring the axis tick text by multiple colors

    【讨论】:

      【解决方案2】:

      我想我发现了一个在这个用例中使用 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>"
            )
          )
        )
      

      【讨论】:

        猜你喜欢
        • 2020-10-09
        • 2012-06-29
        • 1970-01-01
        • 2018-02-18
        • 1970-01-01
        相关资源
        最近更新 更多