我有一個圖,我希望將值 >= 0 格式化為百分比,并將值 < 0 格式化為數字。我知道我可以通過組合ggplot和實作這一點,plotly如下所示:
library(tidyverse)
library(plotly)
df <- data.frame(x = -5:5,
y = 0:10)
p1 <- df %>%
ggplot(aes(x = x, y = y))
geom_point()
scale_x_continuous(labels = function(x) paste0(x, ifelse(x >= 0, "%", "")))
ggplotly(p1)

但是,我想使用plotly沒有ggplotly包裝器的本機語法來完成這一切。誰能告訴我我將如何做到這一點?
df %>%
plot_ly %>%
add_markers(x = ~x,
y = ~y)
uj5u.com熱心網友回復:
一種選擇是獲取所需休息時間的向量,并通過layout如下方式設定這些休息時間和標簽:
注意:對于我使用的中斷scales::breaks_extended()(range(df$x)),它為我們提供了scale_x_continuous.
library(plotly)
df <- data.frame(x = -5:5,
y = 0:10)
breaks_x <- scales::breaks_extended()(range(df$x))
df %>%
plot_ly() %>%
add_markers(x = ~x,
y = ~y) %>%
layout(xaxis = list(
ticktext = paste0(breaks_x, ifelse(breaks_x >= 0, "%", "")),
tickvals = breaks_x,
tickmode = "array"
))

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/364222.html
上一篇:在ggplot2中更改條形圖輪廓
