【问题标题】:color yaxis in parallelplot in R-highcharterR-highcharter中平行图中的颜色y轴
【发布时间】:2021-08-24 08:18:56
【问题描述】:

这个问题是对Parallelcoordinates in R-highcharter R 的跟进。 假设我们有一个由

创建的平行图
library(highcharter)
library(purrr)
library(dplyr)

series_lst <- 
  iris %>% 
  as_tibble() %>% 
  asplit(1) %>% 
  imap(~list(
    name = paste("observation", .y),
    data = as.numeric(.x[1:4]),
    color = "steelblue"
  ))

hc <- 
  highchart() %>% 
  hc_chart(parallelCoordinates = TRUE, type = "spline") %>% 
  hc_xAxis(categories = names(iris)[1:4]) %>% 
  hc_add_series_list(series_lst)

导致

我现在想自定义 y 轴。由于我在我的应用程序中使用了深色主题,因此我需要将标签设置为白色。但在我们的示例中,假设我们想让 y 轴标签变为红色。在highcharter 中,有两个用于修改y 轴的函数-hc_yAxishc_yAxis_multiples。 我试过了

hc %>% hc_yAxis(labels = list(style = list(color = "red")))

这导致仅将第一个轴上的标签变为红色。我也试过了

hc %>% hc_yAxis(labels = rep(list(style = list(color = "red")),4))

但没有任何改变。我尝试过的其他功能也一样

hc %>% hc_yAxis_multiples(labels = list(style = list(color = "red")))
hc %>% hc_yAxis_multiples(labels = rep(list(style = list(color = "red")),4))

在 highhcarts https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/parallel-coordinates 的示例中,还有更多用于设置不同 y 轴的选项,例如可以更改类型或提供自定义标签。如何使用 R highcharter-package 实现这一点?

【问题讨论】:

    标签: r highcharts r-highcharter


    【解决方案1】:
    yAxis_lst <- rep(
      list(
        list(
          labels = list(style = list(color = "red"))
        )
      ),
      4
    )
    
    hc <- 
      highchart(hc_opts = list(yAxis = yAxis_lst)) %>% 
      hc_plotOptions(series = list(label = list(enabled = FALSE))) %>% 
      hc_chart(parallelCoordinates = TRUE, type = "spline", reflow = TRUE) %>% 
      hc_xAxis(categories = names(iris)[1:4]) %>% 
      hc_add_series_list(series_lst)
    

    是的,这些列表看起来很复杂:)

    我可以在这里给出的一个建议是使用export_hc 函数。这允许您将图表保存为 javascript 代码。通过这种方式,您将准确地看到每个 highcharter 函数在引擎盖下的作用,并且更容易理解。通常,很清楚 js 输出应该如何使其工作(当您与工作 jsfiddle 示例进行比较时)。

    我使用的工作流程如下:

    1. 将 hc 导出为 js 文件。
    2. 对 R 代码进行小幅编辑
    3. 再次导出
    4. 看看有什么变化

    【讨论】:

    • 再次非常感谢您!所以我基本上忘了加一层list
    • 我尝试使用hc_yAxis_multiples 执行此操作,实际上它添加了一个额外的(不需要的)列表层。所以我最终只是将 yAxis 定义为一个通用选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 2020-09-19
    • 2022-01-06
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多