Javascript 如何在同一绘图中获得不同的图表类型
在Javascript 如何在同一绘图中获得不同的图表类型,javascript,highcharts,r-highcharter,Javascript,Highcharts,R Highcharter,在R的highchartjs包中,是否有任何方法可以组合各种图表类型,如line+area?我找到了一个名为hc\u add\u series()的函数,但不明白该如何使用它。下面是我的代码- library(highcharter) library(dplyr) Data = data.frame(date = seq(Sys.Date(), Sys.Date()-20, by = '-1 day'), value1 = 10:30, variable = "A") %>% mu
R
的highchart
js
包中,是否有任何方法可以组合各种图表类型,如line+area?我找到了一个名为hc\u add\u series()
的函数,但不明白该如何使用它。下面是我的代码-
library(highcharter)
library(dplyr)
Data = data.frame(date = seq(Sys.Date(), Sys.Date()-20, by = '-1 day'), value1 = 10:30, variable = "A") %>% mutate(value2 = cumsum(value1))
hchart(Data,
"column",
hcaes(x = date, y = value1, group = variable)) %>%
hc_add_series(data = Data, hcaes(x = date, y = value2), type = 'area', yAxis = 1)
这实际上没有什么阴谋。到底为什么?我想将value2
绘制为area
绘制w.r.t.a次轴
,但该轴应保持不可见
任何指针都将受到高度赞赏。我认为没有太大区别,您可以使用R或RubyonRails进行定制。 要在一个图表中组合多个图表类型,只需创建一系列不同类型的图表: 当实例化Highcharts实例时,可以通过显示不同的类型来设置
series
系列:[{
键入:“列”,
姓名:'简',
数据:[3,2,1,3,4]}{
键入:“列”,
姓名:'约翰',
数据:[2,3,5,7,6]}{
键入:“列”,
名字:'乔',
数据:[4,3,3,9,0]}{
类型:“样条线”,
名称:'平均',
数据:[3,2.67,3,6.33,3.33]}]
我认为没有太大区别,您可以使用R或RubyonRails进行定制。
要在一个图表中组合多个图表类型,只需创建一系列不同类型的图表:
当实例化Highcharts实例时,可以通过显示不同的类型来设置series
系列:[{
键入:“列”,
姓名:'简',
数据:[3,2,1,3,4]}{
键入:“列”,
姓名:'约翰',
数据:[2,3,5,7,6]}{
键入:“列”,
名字:'乔',
数据:[4,3,3,9,0]}{
类型:“样条线”,
名称:'平均',
数据:[3,2.67,3,6.33,3.33]}]
开发人员控制台中出现了一个错误18
,表示您将系列连接到了不存在的轴。这是真的-您通过yAxis:1
使用索引1
将序列连接到轴,但您尚未创建该轴
通常,不需要创建另一个轴。您只需删除此yAxis:1
,两个系列都将显示:
library(highcharter)
library(dplyr)
Data = data.frame(date = seq(Sys.Date(), Sys.Date()-20, by = '-1 day'), value1 = 10:30, variable = "A") %>% mutate(value2 = cumsum(value1))
hchart(Data,
"column",
hcaes(x = date, y = value1, group = variable)) %>%
hc_add_series(data = Data, hcaes(x = date, y = value2), type = 'area')
但是,如果您确实希望为每个系列创建单独的轴并分别显示它们,请告诉我,我会帮助您
编辑:在这里,我使用hc\u yAxis\u multiple创建了第二个轴,我将面积序列连接到它并隐藏了这个轴:
library(highcharter)
library(dplyr)
Data = data.frame(date = seq(Sys.Date(), Sys.Date()-20, by = '-1 day'), value1 = 10:30, variable = "A") %>% mutate(value2 = cumsum(value1))
hchart(Data,
"column",
hcaes(x = date, y = value1, group = variable)) %>%
hc_yAxis_multiples(
list(), # first yAxis
list(visible = FALSE) # second yAxis
) %>%
hc_add_series(data = Data, hcaes(x = date, y = value2), type = 'area', yAxis = 1)
编辑2:以下是根据您的新需求调整的更新代码。我设置tooltip.shared:true
(hc\u tooltip(shared=true)%%>%
)并为一系列设置zIndex:
library(highcharter)
library(dplyr)
Data = data.frame(date = seq(Sys.Date(), Sys.Date()-20, by = '-1 day'), value1 = 10:30, variable = "Column") %>% mutate(value2 = cumsum(value1))
hchart(Data,
"column",
hcaes(x = date, y = value1, group = variable), zIndex = 1, opacity = 0.9) %>%
hc_tooltip(shared = TRUE) %>%
hc_yAxis_multiples(
list(), # first yAxis
list(visible = FALSE) # second yAxis
) %>%
hc_add_series(data = Data, hcaes(x = date, y = value2), type = 'area', name = 'Area', yAxis = 1, zIndex = 0)
我在列系列上另外设置了不透明度0.9,但您可以将其删除。开发人员控制台中有一个错误18
,表示您将系列连接到了不存在的轴。这是真的-您通过yAxis:1
使用索引1
将序列连接到轴,但您尚未创建该轴
通常,不需要创建另一个轴。您只需删除此yAxis:1
,两个系列都将显示:
library(highcharter)
library(dplyr)
Data = data.frame(date = seq(Sys.Date(), Sys.Date()-20, by = '-1 day'), value1 = 10:30, variable = "A") %>% mutate(value2 = cumsum(value1))
hchart(Data,
"column",
hcaes(x = date, y = value1, group = variable)) %>%
hc_add_series(data = Data, hcaes(x = date, y = value2), type = 'area')
但是,如果您确实希望为每个系列创建单独的轴并分别显示它们,请告诉我,我会帮助您
编辑:在这里,我使用hc\u yAxis\u multiple创建了第二个轴,我将面积序列连接到它并隐藏了这个轴:
library(highcharter)
library(dplyr)
Data = data.frame(date = seq(Sys.Date(), Sys.Date()-20, by = '-1 day'), value1 = 10:30, variable = "A") %>% mutate(value2 = cumsum(value1))
hchart(Data,
"column",
hcaes(x = date, y = value1, group = variable)) %>%
hc_yAxis_multiples(
list(), # first yAxis
list(visible = FALSE) # second yAxis
) %>%
hc_add_series(data = Data, hcaes(x = date, y = value2), type = 'area', yAxis = 1)
编辑2:以下是根据您的新需求调整的更新代码。我设置tooltip.shared:true
(hc\u tooltip(shared=true)%%>%
)并为一系列设置zIndex:
library(highcharter)
library(dplyr)
Data = data.frame(date = seq(Sys.Date(), Sys.Date()-20, by = '-1 day'), value1 = 10:30, variable = "Column") %>% mutate(value2 = cumsum(value1))
hchart(Data,
"column",
hcaes(x = date, y = value1, group = variable), zIndex = 1, opacity = 0.9) %>%
hc_tooltip(shared = TRUE) %>%
hc_yAxis_multiples(
list(), # first yAxis
list(visible = FALSE) # second yAxis
) %>%
hc_add_series(data = Data, hcaes(x = date, y = value2), type = 'area', name = 'Area', yAxis = 1, zIndex = 0)
我在列系列上另外设置了不透明度0.9,但您可以将其删除。我想为value2创建一个新轴作为辅助轴,但想使该轴不可见我编辑了我的答案。你能确认一下这是否是你想要的吗?非常感谢。是否可以将面积图推到柱状图后面,并将两者合并为一个?在这种情况下,如果我们可以在组合工具提示“再次编辑我的答案”中沿着光标移动的某条排序垂直线,可能会更漂亮;)你能把它升级并标记为正确吗?我想为value2创建一个新的轴作为辅助轴,但想让这个轴不可见我编辑了我的答案。你能确认一下这是否是你想要的吗?非常感谢。是否可以将面积图推到柱状图后面,并将两者合并为一个?在这种情况下,如果我们可以在组合工具提示“再次编辑我的答案”中沿着光标移动的某条排序垂直线,可能会更漂亮;)你能投票表决并标为正确吗?