【问题标题】:Issue Plotting Time Series Line Graph in Plotly问题在 Plotly 中绘制时间序列线图
【发布时间】:2019-12-21 04:42:00
【问题描述】:

我有一些代码可以从 API 中提取水库高程。我已经对数据进行了排序并绘制了它。当我在本机 R 中绘制它时,它看起来很好,我会怎么想:

当我使用 plotly 绘制它时,我得到以下信息:

y 轴似乎与顶部的一些最初较低的值混杂在一起?我想解决这个问题并基本上匹配 plot() 函数产生的内容。对此的任何帮助将不胜感激。

library("rjson")
library('jsonlite')
library('plotly')

CurrentDate = format(Sys.Date(), "%m-%d-%Y")
StartDate = "1850-01-01"
EndDate = CurrentDate

urlWithoutStart = 
paste("https://water.usbr.gov/api/web/app.php/api/series? 
sites=hdmlc&parameters=Day.Inst.ReservoirElevation.feet,",
                    "Day.Sum.ReservoirRelease- 
Powerplant.af,Day.Avg.ReservoirRelease- 
Powerplant.cfs,Day.Inst.ReservoirStorage.af&",
                    "start=",sep="")

urlWithoutEnd = paste(urlWithoutStart,StartDate,"&end=",sep="")

urlFull = paste(urlWithoutEnd,EndDate,"&format=json",sep="")

LakeMeadAllData = fromJSON(urlFull)

LakeMeadElevation = as.data.frame(LakeMeadAllData[[1]][[18]][[2]][[1]] 
[[1]])

LakeMeadElevation$datetime = as.Date(LakeMeadElevation$datetime)

names(LakeMeadElevation) = c("Date","Elevation","Flag")

LakeMeadElevation <- LakeMeadElevation[order(LakeMeadElevation$Date),] 

plot_ly(LakeMeadElevation,x=as.Date(LakeMeadElevation$Date),y=
LakeMeadElevation$Elevation,type = 'scatter',mode="line")

plot(LakeMeadElevation$Date,LakeMeadElevation$Elevation,type='l')

【问题讨论】:

    标签: r json web-scraping time-series plotly


    【解决方案1】:

    将 y 设置为 y=as.numeric(LakeMeadElevation$Elevation) 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2021-02-28
      • 2021-01-10
      • 1970-01-01
      • 2021-04-14
      • 2017-07-14
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      相关资源
      最近更新 更多