如何解决R plotl_ly:不同颜色的时间点数据过去的数据较浅,当前数据较深
我需要一些用于绘制时间数据的帮助。我的数据框定义如下:
update mytable
set resettime = now() + interval '1 hour'
where id = 1;
图形如下:
我现在想要的是2018年以来的颜色比2019年以来的颜色更浅,依此类推。也就是说,数据越新,颜色越浓/更暗。
有人知道我该怎么做吗?实际上,我的数据框更大,并且每年包含更多的信息。
编辑:回归线
date <- c("2018-01-02","2018-01-03","2018-01-04","2018-01-05","2019-01-02","2019-01-03","2020-01-01","2020-01-09","2020-01-10","2020-05-15")
prod1 <- c(43.10,42.56,41.77,41,40.79,41.03,40.98,41.13,41.98,40.81)
prod2 <- c(19.442,19.320,19.204,18.918,19.041,19.452,19.516,19.177,18.974,19)
df.dataCorrelation <- data.frame(date,prod1,prod2)
绘图代码:
fit <- lm(prod2 ~ prod1,data = df.dataCorrelation)
fitData <- data.frame((prod1 = 20:60))
prediction <- predict(fit,fitData,se.fit = TRUE)
fitData$fitted <- prediction$fit
如何绘制回归线?
解决方法
我检查了plotly
文档,将数据添加为单独的迹线时可能会出现不透明的情况。我试图这样做,但情节的主要思想却迷失了。我建议一种可以按年份设置颜色的方法。这里的代码:
library(plotly)
library(dplyr)
#Data
date <- c("2018-01-02","2018-01-03","2018-01-04","2018-01-05","2019-01-02","2019-01-03","2020-01-01","2020-01-09","2020-01-10","2020-05-15")
prod1 <- c(43.10,42.56,41.77,41,40.79,41.03,40.98,41.13,41.98,40.81)
prod2 <- c(19.442,19.320,19.204,18.918,19.041,19.452,19.516,19.177,18.974,19)
df.dataCorrelation <- data.frame(date,prod1,prod2,stringsAsFactors = F)
#Extract year
df.dataCorrelation$Year <- format(as.Date(df.dataCorrelation$date),'%Y')
#Plot
plot_ly(data = df.dataCorrelation,x = ~prod1,y = ~prod2,color=~Year,marker = list(size = 10,line = list(color = 'rgba(152,.8)',width = 2)))
输出:
希望对您有用。
,您可以使用ggplotly
来利用ggplot
的美感:
library( ggplot2 )
library( plotly )
df.dataCorrelation$year <- format(as.Date(df.dataCorrelation$date),format="%Y")
p <- ggplot(df.dataCorrelation,aes(x = prod1,y = prod2)) +
geom_point( aes(col = year) ) +
geom_smooth( method = "lm",se = FALSE )
plotly::ggplotly(p)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。