首页 文章

如何避免在R中绘制丢失日期

提问于
浏览
2

我需要绘制一个面积图,它包含财务数据,我正在使用这样做 . 问题是,通过简单地扩展直线直到下一个可用的数据输入,图形具有检测时间序列格式的特征并绘制甚至丢失的日期 . 是否可以禁用此功能并仅绘制数据可用的时间序列?

library(plotly)

    Datetime <- c(
      "2016-01-05 00:00:00",
      "2016-01-06 00:00:00",
      "2016-01-07 00:00:00",
      "2016-01-08 00:00:00",
      "2016-01-11 00:00:00",
      "2016-01-12 00:00:00",
      "2016-01-13 00:00:00",
      "2016-01-14 00:00:00",
      "2016-01-15 00:00:00",
      "2016-01-18 00:00:00",
      "2016-01-19 00:00:00",
      "2016-01-20 00:00:00",
      "2016-01-21 00:00:00",
      "2016-01-22 00:00:00",
      "2016-01-25 00:00:00",
      "2016-01-26 00:00:00",
      "2016-01-27 00:00:00",
      "2016-01-28 00:00:00",
      "2016-01-29 00:00:00",
      "2016-02-01 00:00:00")
plotdata <- c(93763,110023,134873,138780,117038,117890,120025,140715,48567,87592,
              115852,145189,162258,121456,93643,128475,119310,105771,134946,90386)

volume_data <- data.frame(Datetime, plotdata)
plot_ly(volume_data, x = Datetime, y = plotdata, type = "bar")

这是一个基本的示例数据,如果执行此操作,您会注意到图中有空格 . 虽然在我的执行中,我使用区域图表,但我已经使用条形图提供了一个示例数据,以便更容易注意到空白区域 . 据我所知,将x轴数据图形化地识别为时间序列并自动完成缺失数据 . 是否可以禁用此功能并仅绘制数据可用的日期和时间?

2 回答

  • 1

    这是一个可以满足您需求的替代方案 .

    p <- plot_ly(
      x = c("Jan 5", "March 5", "April 5"),
      y = c(20, 14, 23),
      name = "SF Zoo",
      type = "bar")
    p %>% layout(xaxis = list(title="Date"), yaxis = list(title="Volume Data"))
    

    您只需要在绘图之前转换Datetime列(如1月5日,3月5日...格式)

    enter image description here

  • 0

    我找到了一个更简单的问题解决方案,并认为我会将其作为答案发布,这对其他人也有帮助 . 如果你在布局中添加一个参数就可以完美地工作了

    p <- plot_ly(volume_data, x = Datetime, y = plotdata, type = "bar")
    p <- layout(p, xaxis = list(type = "category"))
    

相关问题