hchart内部循环:需要从向量中存储的日期获取hchart内部的多条绘图线
我正在尝试使用hchart在x轴上绘制多条事件线的时间序列图。类似于中显示为所需图形的内容。但是我不能引入多行,相反,我只得到与第一个值对应的行。有没有办法在hc_xAxis内循环绘制线值 下面是我的代码:hchart内部循环:需要从向量中存储的日期获取hchart内部的多条绘图线,r,highcharts,data-visualization,r-highcharter,R,Highcharts,Data Visualization,R Highcharter,我正在尝试使用hchart在x轴上绘制多条事件线的时间序列图。类似于中显示为所需图形的内容。但是我不能引入多行,相反,我只得到与第一个值对应的行。有没有办法在hc_xAxis内循环绘制线值 下面是我的代码: for (i in 1:nrow(datevector)){ hc <- hchart(tseries, name = "Crimes") %>% hc_add_series(arrests_tseries, name = "Arrests") %>% hc
for (i in 1:nrow(datevector)){
hc <- hchart(tseries, name = "Crimes") %>%
hc_add_series(arrests_tseries, name = "Arrests") %>%
hc_add_theme(hc_theme_ffx()) %>%
hc_credits(enabled = TRUE, text = "Sources: City of Chicago Administration and the Chicago Police Department", style = list(fontSize = "12px")) %>%
hc_title(text = "Chicago Crimes and Arrests for 2016") %>%
hc_legend(enabled = TRUE) %>%
hc_xAxis(type = 'datetime',
plotLines = list(
list(
color = "rgba(100, 0, 0, 0.1)",
width = 5,
value = datetime_to_timestamp(as.Date(datevector[i,], tz = UTC')))))
print(hc)
}
感谢您提供的所有代码,我终于能够运行您的图表并找到解决方案 您需要创建所有绘制线的列表,并将此列表添加到一个图表中,而不是使用一条绘制线创建多个图表 以下是创建打印线列表的代码:
plotLines <- list();
for (i in 1:nrow(datevector)){
plotLines[[i]] <- list(
color = "rgba(100, 0, 0, 0.1)",
width = 5,
value = datetime_to_timestamp(as.Date(datevector[i,], tz = 'UTC')))
}
plotLines您可以使用chart.load事件并使用axis.addPlotLine()方法添加绘制线:我无法在R Studio中运行您的代码-如果您为我提供所有代码以及所需软件包的列表,我将为您编写。对于noob问题,很抱歉:我如何将其提供给您@RAF18SEBR您正在使用R Studio吗?如果是,只需将所有代码复制并粘贴在一起即可。目前,我有许多不同的错误,比如“hchart(tseries,name=“Crimes”)中的错误:对象“tseries”未找到“是的,我是”。但由于长度限制,无法在此处粘贴代码。但这是我的代码和使用的数据。()@raf18seb希望这样可以。是的,这正是我想要的。非常感谢你@raf18seb
plotLines <- list();
for (i in 1:nrow(datevector)){
plotLines[[i]] <- list(
color = "rgba(100, 0, 0, 0.1)",
width = 5,
value = datetime_to_timestamp(as.Date(datevector[i,], tz = 'UTC')))
}
library(lubridate)
library(ggplot2)
library(dplyr)
library(xts)
library(highcharter)
c16m16 <- read.csv("c16m16.csv")
m16 <- read.csv("m16.csv")
by_Date <- na.omit(c16m16) %>% group_by(Date) %>% summarise(Total = n())
tseries <- xts(by_Date$Total, order.by=as.POSIXct(by_Date$Date))
plot(tseries)
Arrests_by_Date <- na.omit(c16m16[c16m16$Arrest == 'True',]) %>% group_by(Date) %>% summarise(Total = n())
arrests_tseries <- xts(Arrests_by_Date$Total, order.by=as.POSIXct(by_Date$Date))
plot(arrests_tseries)
datevector <- as.vector(m16['Date'])
plotLines <- list();
for (i in 1:nrow(datevector)){
plotLines[[i]] <- list(
color = "rgba(100, 0, 0, 0.1)",
width = 5,
value = datetime_to_timestamp(as.Date(datevector[i,], tz = 'UTC')))
}
hc <- hchart(tseries, name = "Crimes") %>%
hc_add_series(arrests_tseries, name = "Arrests") %>%
hc_add_theme(hc_theme_ffx()) %>%
hc_credits(enabled = TRUE, text = "Sources: City of Chicago Administration and the Chicago Police Department", style = list(fontSize = "12px")) %>%
hc_title(text = "Chicago Crimes and Arrests for 2016") %>%
hc_legend(enabled = TRUE) %>%
hc_xAxis(type = 'datetime', plotLines = plotLines)
print(hc)