library(ggplot2)
library(plotly)
dataset = data.frame(x = c(1,10, 100, 1000),
y = c(1000, 100, 10, 1))
p = ggplot(data = dataset, aes(x = x, y = y)) + geom_point() + geom_line() +
scale_x_log10() + scale_y_log10()
ggplotly(p)
使用上述代码,您可以使用工具提示绘制图表。 x轴和y轴显示原始数据。但工具提示中的值显示为(0,3),(1,2),(2,2),(3,0)。我在工具提示中想要的是(1,1000),(10,100),(100,10),(1000,1)。
有什么办法吗?
答案 0 :(得分:0)
Plotly不会将输入值作为数字,而是覆盖轴标签。
> gp$x$data[[1]]$x
[1] 0 1 2 3
> gp$x$data[[1]]$y
[1] 3 2 1 0
更改x和y值会导致更多工作,因为工具提示显示的文本与这些值无关。此示例中最简单的解决方案是覆盖text
属性。
library(ggplot2)
library(plotly)
x <- c(1,10, 100, 1000)
y <- c(1000, 100, 10, 1)
dataset = data.frame(x = x,
y = y)
p = ggplot(data = dataset, aes(x = x, y = y)) + geom_point() + geom_line() +
scale_x_log10() + scale_y_log10()
gp <- ggplotly(p)
gp$x$data[[1]]$text = paste(x, y, sep='<br />')
gp