从echarts4r中的不完整数据绘制连续线

g2ieeal7  于 2023-03-20  发布在  Echarts
关注(0)|答案(1)|浏览(118)

我尝试可视化的数据具有在相同时间尺度上但在不同间隔执行的两次评估(即,在12小时内测量4次体温,每小时评估一次疼痛),例如:

df <- data.frame(
  Hour = 0:12, 
  Pain = sample(7:10, 13, TRUE), 
  Temp = c(36.8,rep(NA,3),37.2,rep(NA,3),37.4,rep(NA,3),37.0)
)

在ggplot中,我将其可视化为:

library(ggplot2)
ggplot(df) +
    geom_col(aes(x = Hour, y = Pain)) +
    geom_point(aes(x = Hour, y = Temp/3)) +
    geom_line(data = df[!is.na(df$Temp), ], aes(x = Hour, y = Temp/3)) +
    scale_y_continuous(sec.axis = sec_axis(~.*3,name = "Temp"))

然而,在echarts 4 r中,我无法使直线连续(我相信是由于NA值的原因)

library(echarts4r)
e_chart(df, Hour) |> e_bar(Pain) |> e_line(Temp)

有没有办法在e_line之前对数据集进行子集化以删除缺失的值--我已经在线搜索过了,但似乎什么都找不到?或者我应该用不同的方式来构造我的数据?

oogrdqng

oogrdqng1#

ggplot2方法类似,您可以通过为行使用非缺失值的子集来修复问题,这可以通过e_data实现,如下所示:

library(echarts4r)

set.seed(123)

df |>
  e_chart(Hour) |> 
  e_bar(Pain) |> 
  e_data(subset(df, !is.na(Temp)), Hour) |>
  e_line(Temp)

相关问题