首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用echarts4r在日历中创建自动分隔的年份

如何使用echarts4r在日历中创建自动分隔的年份
EN

Stack Overflow用户
提问于 2018-10-26 16:26:50
回答 1查看 65关注 0票数 0

我正在尝试用echarts4r包制作calendar

代码语言:javascript
复制
library(tidyverse)
library(echarts4r)

dates <- seq.Date(as.Date("2017-01-01"), as.Date("2018-12-31"), by = "day")
values <- rnorm(length(dates), 20, 6)
year <- data.frame(date = dates, values = values)

year %>% 
  e_charts(date) %>% 
  e_calendar(range = "2017",top="40") %>% 
  e_calendar(range = "2018",top="260") %>% 
  e_heatmap(values, coord.system = "calendar") %>% 
  e_visual_map(max = 30) %>% 
  e_title("Calendar", "Heatmap")%>%
  e_tooltip("item")

但这一次并没有计划2018年。

如何在calendar中自动分隔年份?是否有像ggplotfill这样的解决方案

预期输出:this

EN

回答 1

Stack Overflow用户

发布于 2018-11-02 17:40:10

无可否认,API是笨拙和不直观的,但它是可行的。您需要添加这两个日历,就像您已经做的那样,在e_heatmap函数中引用它们的索引(以便根据正确的日历绘制热图)。另外,我使用e_data来传递第二个日历的值(x)。确保调整到日历的位置,使它们不会重叠(例如:top = 300)。

代码语言:javascript
复制
dates18 <- seq.Date(as.Date("2018-01-01"), as.Date("2018-12-31"), by = "day")
dates17 <- seq.Date(as.Date("2017-01-01"), as.Date("2017-12-31"), by = "day")
values <- rnorm(length(dates18), 20, 6)

df <- data.frame(date18 = dates18, date17 = dates17, values = values)

df %>% 
    e_charts(date18) %>% 
    e_calendar(range = "2018") %>% 
    e_heatmap(values, coord.system = "calendar", calendarIndex = 0, name = "2018") %>% 
    e_data(df, date17) %>% 
    e_calendar(range = "2017", top = 300) %>% 
    e_heatmap(values, coord.system = "calendar", calendarIndex = 1, name = "2017") %>%
    e_visual_map(max = 30) 

更新

由于版本为0.2.0,上述操作可以通过将数据按年份分组来完成,这会更清晰、更容易:

代码语言:javascript
复制
dates <- seq.Date(as.Date("2017-01-01"), as.Date("2018-12-31"), by = "day")
values <- rnorm(length(dates), 20, 6)

year <- data.frame(date = dates, values = values)

year %>% 
  dplyr::mutate(year = format(date, "%Y")) %>% # get year from date
  group_by(year) %>% 
  e_charts(date) %>% 
  e_calendar(range = "2017",top="40") %>% 
  e_calendar(range = "2018",top="260") %>% 
  e_heatmap(values, coord_system = "calendar") %>% 
  e_visual_map(max = 30) %>% 
  e_title("Calendar", "Heatmap")%>%
  e_tooltip("item") 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53004551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档