1

我想将我的瀑布图的数据标签(默认情况下以列为中心)移动到每列上方。通过 Highcharts 选项,我发现了溢出选项和这篇关于如何使用 highcharts 移动数据标签的SO 帖子(虽然不是 highcharter)。

但是,实施建议的设置步骤crop = FALSEoverflow = 'none'没有移动数据标签。

这是建议设置的一个小示例:

library(highcharter)

dataframe <- data.frame(name = c("A","B","C", "D"),
                        y = c(12.10, 5.45, -8.60, NA),
                        isIntermediateSum = c(FALSE, FALSE, FALSE, FALSE),
                        isSum = c(FALSE, FALSE, FALSE, TRUE),
                        color = c("#377EB8", "#4DAF4A", "#E41A1C", "#377EB8"),
                        stringsAsFactors = F)

data_list = dataframe %>% list_parse()

highchart() %>% 
  hc_chart(type = "waterfall") %>% 
  hc_title(text = "") %>% 
  hc_subtitle(text = "") %>%
  hc_xAxis(type = 'category') %>%
  hc_yAxis(
    title = list(text = ""),
    labels = list(format = "{value:,.2f}%", useHTML = TRUE)
  ) %>%
  hc_legend(enabled=FALSE) %>%
  hc_tooltip(pointFormat = '<b>{point.y:,.2f}%</b>', useHTML = TRUE) %>%
  hc_add_series(data = data_list, 
                dataLabels = list(
                  enabled=TRUE,
                  formatter= JS("function(){ return Highcharts.numberFormat(this.y, 2, ',') + '%';}"),
                  style=list(
                    color="#FFFFFF",
                    fontWeight="bold",
                    textShadow="0px 0px 3px black"
                  ),
                  crop = FALSE,
                  overflow = 'none'
                )
  )

你们中有人知道如何移动数据标签吗?

4

1 回答 1

3

如果我理解正确

verticalAlign: StringSince 2.3.3 数据标签的垂直对齐方式。可以是顶部、中间或底部之一。默认值取决于数据,例如在柱形图中,标签高于正值,低于负值。

文档

        dataLabels: {verticalAlign: 'top'}

JS 小提琴:http: //jsfiddle.net/obryLg6q/


新小提琴:http: //jsfiddle.net/obryLg6q/1/

        crop: false,
        overflow: 'none',
        x: 0,
        y: -30, // above the bar

或者

将 dataLabels.inside 设置为 false:jsfiddle.net/obryLg6q/2 – Grzegorz Blachliński 18 分钟前

Highcharts 开发者评论。我认为你应该遵循这个建议)

       crop: false,
       overflow: 'none',
       inside: false
于 2017-07-26T09:47:25.003 回答