【问题标题】:Change tick mark labels to specific strings in plotly将刻度线标签更改为绘图中的特定字符串
【发布时间】:2019-02-16 16:51:25
【问题描述】:

我有plotly 图形,我想将轴刻度标记更改为特定字符串。考虑以下示例:

library(plotly)
p <- plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length)

假设我想取消所有数字 xaxis 刻度线标签,而只在x = 4.5 处绘制字符串“min”,在x = 8 处绘制字符串“max”。

如何在plotly 中实现这一点?


旁注:我知道这对于基础 R 图是可能的,例如hereggplot2 通过设置 scale_x_continuous(breaks = c(4.5, 8), labels= c("4.5" = "min", "8" = "max"))

还有没有办法在plotly 中实现这一点? ..不幸的是 plotly docs 似乎没有提供解决方案..

【问题讨论】:

  • 我不确定 plotly,但您可以使用 ggplotly 函数转换 ggplot 以获得类似的结果:p2 = ggplot(iris, aes(Sepal.Length, Petal.Length)) + geom_point(colour=hcl(255,100,65)) + theme_bw() + scale_x_continuous(breaks=5:8, labels=LETTERS[5:8]); ggplotly(p2)。可以对主题进行更多调整以更接近 p
  • 我对 plotly 的细节不是很熟悉,但help for ticktext 可能有用。
  • 如果有帮助,这篇文章将介绍 ggplotly 如何从 ggplot2 管道到 plotly。它显示了plotly_json(p2) 将如何显示发送到plotly 的内容,以便您可以更直接地在plot_ly 函数中重新创建它。 moderndata.plot.ly/…

标签: r ggplot2 plotly


【解决方案1】:

感谢@eipi10 和@Jon Spring,我能弄明白:

library(plotly)
plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length) %>% 
  layout(xaxis = list(tickvals = c(4.5, 8), ticktext = c("min", "max")))

这正是我一直在寻找和制作的:

【讨论】:

  • 感谢您分享这个,ticktext 的解决方案也帮了我很多。
猜你喜欢
  • 2015-08-16
  • 2017-09-26
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 2021-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多