Javascript Highcharts:x轴上的完全自定义标签位置
我试图使用highcharts制作直方图,但服务器正在对数据进行压缩,据我所知,我无法使用直方图类型 这是我的图表:Javascript Highcharts:x轴上的完全自定义标签位置,javascript,highcharts,histogram,data-visualization,Javascript,Highcharts,Histogram,Data Visualization,我试图使用highcharts制作直方图,但服务器正在对数据进行压缩,据我所知,我无法使用直方图类型 这是我的图表: Highcharts.chart('container'{ 学分:{ 已启用:false }, 标题:{ 文本:空 }, xAxis:{ 类型:'类别', 标签:{ 轮换:-45 } }, 系列:[ { 类型:'variwide', showInLegend:false, 数据:[ {name:'0.00-10.10',y:13,z:1260000}, {名称:'10.10-3
Highcharts.chart('container'{
学分:{
已启用:false
},
标题:{
文本:空
},
xAxis:{
类型:'类别',
标签:{
轮换:-45
}
},
系列:[
{
类型:'variwide',
showInLegend:false,
数据:[
{name:'0.00-10.10',y:13,z:1260000},
{名称:'10.10-34.14',y:10,z:3000000},
{姓名:'34.14-54.56',y:9,z:2550000},
{姓名:'54.56-71.43',y:15,z:211000},
{姓名:'71.43-102.09',y:4.6,z:3830000},
{姓名:'102.09-161.56',y:1.8,z:7430000},
{姓名:'161.56-217.26',y:5.7,z:6960000},
{名称:'217.26-301.65',y:0.7,z:10550000},
{name:'301.65-382.82',y:2.8,z:10150000},
{name:'382.82-874.80',y:0.2,z:61500000}
]
}
]
});代码>
#容器{
最大宽度:800px;
最小宽度:380px;
保证金:0自动;
}
Variwide系列不支持未分类的x轴。据github报道,这是一个问题:
解决方法:
Variwide可以使用列序列进行模拟
为每个点创建一个单独的系列,并通过将linkedTo:':previous'
放在每个点中(第一个点除外)将它们链接在一起。然后为每个系列设置pointRange
<代码>点范围
是序列的属性,不能分配给单个点-这就是为什么必须为每个点装箱单独序列的原因
series: [{
data: [
[5, 99]
],
pointRange: 2
}, {
linkedTo: ':previous',
data: [
[7.5, 72]
],
pointRange: 3
}, {
linkedTo: ':previous',
data: [
[14, 111]
],
pointRange: 10
}]
点的x位置表示柱的中间。因此,如果x
=5和pointRange
=2,则该列的范围将从4到6
不幸的是,Highcharts在使用多个pointRange
值时无法很好地处理极端情况。设置x轴最小值可修复此问题:
xAxis: {
min: 9, // 4 (axis' minimum) + 10 (max point range) / 2 = 9
},
需要这些绘图选项
,以获得适当的列宽度:
grouping: false,
groupPadding: 0,
pointPadding: 0,
现场演示:
API参考:你有没有想过让标签有更多的旋转?是的,这不是理想的想法。你能描述一下,当标签被紧紧地包装在一起时,你希望标签有什么样的表现和外观吗?@KamilKulig基本上是这样的