有没有人知道如何处理对数刻度的折线图,在那里plotly中有零值?线条就这样消失了。
library(tidyverse)
library(lubridate)
library(plotly)
df2 <- tibble::tribble(
~SAMPLE_DATE, ~REPORT_RESULT_VALUE,
"2018-10-04", 0.05,
"2019-05-05", 0.01,
"2019-10-04", 0,
"2020-06-05", 0.01,
"2020-09-11", 0,
"2021-04-23", 0,
"2022-05-08", 0.06 ) %>%
mutate(SAMPLE_DATE = ymd(SAMPLE_DATE))
plot_ly(data = df2) %>%
add_trace(x = ~SAMPLE_DATE,
y = ~REPORT_RESULT_VALUE,
mode = "lines+markers") %>%
layout(xaxis = list(title = 'Sample date'),
yaxis = list(title = "Concentration (mg/L)",
type = "log"))
不久前我在plotly论坛上发现了一个类似的帖子,但没有解决方案:https://community.plotly.com/t/line-chart-with-zero-in-logarithmic-scale/40084
2条答案
按热度按时间wfauudbj1#
删除零对您有用吗?
创建于2022年12月22日,使用reprex v2.0.2
wfveoks02#
这里有一种在ggplot2中使用方便的
scales::pseudo_log_trans
函数,然后使用plotly::ggplotly
转换为plotly的方法。当您想要(主要是)对数刻度,但又想容纳零甚至负值时,pseudo_log_trans
非常方便。)