繁体   English   中英

HighcharteR:为什么 hc_series() 不显示我的分类数据?

[英]HighcharteR: why does hc_series() not show my categorical data?

我使用了很多 HighcharteR,但不知何故让自己陷入困境。 考虑以下示例:

library(highcharter)

list1 <- list(
          name = "series 1",
          data = list_parse(
                   data.frame("x" = c(1,2,3),
                              "y" = c(4,5,6),
                              "z" = c(1.5,1.2,0.5)))

)

highchart() %>%
  hc_chart(type = "bubble") %>%
  hc_series(list1)

当我运行它时,一切都很好——但是当我运行同一个图表但对xy使用分类数据时,没有显示任何内容:

list2 <- list(
          name = "series 1",
          data = list_parse(
                   data.frame("x" = c("Q1","Q2","Q3"),
                              "y" = c("factor1","factor2","factor3"),
                              "z" = c(1.5,1.2,0.5)))
)

highchart() %>%
  hc_chart(type = "bubble") %>%
  hc_xAxis(type = "category") %>%
  hc_yAxis(type = "category") %>%
  hc_series(list2)

我尝试为两个轴显式设置type = "category" (尽管我认为人们会在每个系列中查找name值),以及使用categories = c("Q1","Q2","Q3") ) 显式设置类别categories = c("Q1","Q2","Q3") ,但都没有改变任何东西......

它没有给我任何错误消息,所以我不确定这里发生了什么......如果解决方案是一个显而易见的解决方案,我深表歉意(我,例如,在尝试一个小时后没有看到它。)。 谢谢!

解决此问题的一种方法是保留xy数字,然后添加类别。 类别将从 0 开始分配,因此在您的情况下为 0、1、2,但您可以通过在 0 处添加一个空类别并将min设置为 1 和max设置为 3 来解决这个问题

list2 <- list(
  name = "series 1",
  data = list_parse(
    data.frame("x" = c(1, 2, 3),
               "y" = c(1, 2, 3),
               "z" = c(1.5,1.2,0.5)))
)

highchart() %>%
  hc_chart(type = "bubble") %>%
  hc_series(list2) %>% 
  hc_xAxis(categories = c("", "Q1","Q2","Q3"),
           min = 1, max = 3) %>% 
  hc_yAxis(categories = c("", "factor1", "factor2", "factor3"),
           min = 1, max = 3)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM