Highcharter - 将数据标签移动到列顶部

时间:2017-07-26 08:58:18

标签: javascript r highcharts r-highcharter

我想移动每列上方瀑布图的数据标签,默认情况下以列为中心。 通过Highcharts选项,我找到了overflow optionSO post关于如何使用highcharts移动数据标签(尽管不是高级图)。

但是,实施设置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'
                )
  )

您是否有人知道如何移动数据标签?

1 个答案:

答案 0 :(得分:2)

如果我理解你的话

  

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

doc

release:prepare

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

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

        dataLabels: {verticalAlign: 'top'}

  

将dataLabels.inside设为false:jsfiddle.net/obryLg6q/2 - GrzegorzBlachliński18分钟前

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

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