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

标签 javascript r highcharts r-highcharter

我想将瀑布图的数据标签(默认情况下以列为中心)移动到每列上方。 查看 Highcharts 选项,我发现了 overflow option还有这个SO post关于如何使用 highcharts 移动数据标签(尽管不是 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'
                )
  )

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

最佳答案

如果我理解正确的话

verticalAlign: StringSince 2.3.3 The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.

doc

        dataLabels: {verticalAlign: 'top'}

JS fiddle :http://jsfiddle.net/obryLg6q/


新 fiddle :http://jsfiddle.net/obryLg6q/1/

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

set dataLabels.inside to false: jsfiddle.net/obryLg6q/2 – Grzegorz Blachliński 18 mins ago

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

       crop: false,
       overflow: 'none',
       inside: false

关于javascript - Highcharter - 将数据标签移动到列顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45322124/

相关文章:

javascript - 如何在两个图像之间即时切换?

javascript - HTML5 音频在每个页面上播放

r - 从 R 中的同一线性模型中提取特定的相互作用系数

javascript - PhoneGap 和 Highcharts

javascript - 如何使在按钮上实现的加载旋转器在脚本运行完成后停止?

javascript - AngularJS概念理解

r - 通过垂直分割垃圾箱,通过精确的截止点为 ggplot 直方图着色

r - 如何在 R 中的 table() 中添加标签

javascript - 如何获取 Highcharts 中某个点的索引以在事件中使用?

javascript - 从 Highcharts 获取图像 PHP Laravel