我正在尝试生成一个图,其中仅标记了垂直轴上的一些刻度。这是因为我想在背景中有一个厚网格,但更喜欢 y 轴不要过于拥挤。我试图用 ticktext 来实现这一点,到目前为止,我已经产生了两个都不令人满意的结果。这是一个最小的例子:
library(plotly)
mydata<- data.frame(myx = 1:10, myy = 1:10)
mygrid<- 0:11
mytext_n<- c(0, NA, NA, 3, NA, NA, 6, NA, NA, 9, NA, NA)
mytext<- c("0", "", "", "3", "", "", "6", "", "", "9", "", "")
plot_ly(mydata, x = ~myx) %>% add_trace(type = "scatter", y = ~myy, mode = "lines") %>%
layout(yaxis = list(tickvals = mygrid, ticktext = mytext_n))
plot_ly(mydata, x = ~myx) %>% add_trace(type = "scatter", y = ~myy, mode = "lines") %>%
layout(yaxis = list(tickvals = mygrid, ticktext = mytext))
问题是当文本向量是数字时,它会将文本“null”添加到空白点。当它是一个字符时,它会在图表左侧添加一个巨大的空白。如果我指定没有任何变化tickmode = "array"。
我的目标是没有标签的网格。如果您没有解决上述代码问题的方法,也许您有另一种方法来实现这一点。