Javascript Highcharter-将数据标签移动到列的顶部
我想将瀑布图的数据标签(默认情况下以列为中心)移动到每列的上方。 通过查看Highcharts选项,我找到了关于如何使用Highcharts(而不是highcharter)移动数据标签的 但是,执行设置Javascript Highcharter-将数据标签移动到列的顶部,javascript,r,highcharts,r-highcharter,Javascript,R,Highcharts,R Highcharter,我想将瀑布图的数据标签(默认情况下以列为中心)移动到每列的上方。 通过查看Highcharts选项,我找到了关于如何使用Highcharts(而不是highcharter)移动数据标签的 但是,执行设置crop=FALSE和overflow='none'的建议步骤并没有移动数据标签 以下是一个建议设置的小示例: library(highcharter) dataframe <- data.frame(name = c("A","B","C", "D"),
crop=FALSE
和overflow='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'
)
)
库(highcharter)
数据帧%list_parse()
highchart()%>%
hc_图表(type=“瀑布”)%>%
hc_标题(text=”“)%%>%
hc_副标题(text=”“)%%>%
hc_xAxis(类型='类别')%>%
hc_yAxis(
title=列表(text=”“),
labels=list(format=“{value:,.2f}%”,useHTML=TRUE)
) %>%
hc_图例(启用=错误)%>%
hc_工具提示(pointFormat='{point.y:,.2f}%',useHTML=TRUE)%>%
hc_添加_系列(数据=数据列表,
数据标签=列表(
启用=真,
formatter=JS(“function(){return Highcharts.numberFormat(this.y,2',')+'%;}”),
样式=列表(
color=“#FFFFFF”,
fontwweight=“bold”,
textShadow=“0px 0px 3px黑色”
),
裁剪=假,
溢出='无'
)
)
你们中有人知道如何移动数据标签吗?如果我理解正确的话 垂直对齐:从2.3.3开始 数据标签的垂直对齐方式。可以是顶部、中间或底部。默认值取决于数据,例如在柱状图中,标签高于正值,低于负值 JS小提琴:
新小提琴: 或
将dataLabels.inside设置为false:jsfiddle.net/obryLg6q/2–18分钟前的Grzegorz Blachlinski 海图开发者评论。我认为你应该遵循这个建议)
我的问题可能没有那么精确:我需要每个条上的数据标签,而不是条内的数据标签。不过,感谢您的帮助。@Martin G.将x y添加到数据标签感谢@Grzegorz Blachlinski指向内部选项,感谢Constantine发布它!将dataLabels.inside设置为false:
dataLabels: {verticalAlign: 'top'}
crop: false,
overflow: 'none',
x: 0,
y: -30, // above the bar
crop: false,
overflow: 'none',
inside: false