Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
highcharts数据标签与绘图线值重叠_Highcharts - Fatal编程技术网

highcharts数据标签与绘图线值重叠

highcharts数据标签与绘图线值重叠,highcharts,Highcharts,我有一个包含列和行的图形。我已经使用绘图线为线图添加了一条平均线 我的问题是该线的数据标签与打印线文字重叠。我在这里重现了错误(见最后的数据标签): 我可以在最后一列之后添加一些填充来更正此问题吗 $(function () { $('#container').highcharts({ chart: { zoomType: 'xy', height: 400

我有一个包含列和行的图形。我已经使用绘图线为线图添加了一条平均线

我的问题是该线的数据标签与打印线文字重叠。我在这里重现了错误(见最后的数据标签):

我可以在最后一列之后添加一些填充来更正此问题吗

$(function () {
            $('#container').highcharts({
                chart: {
                    zoomType: 'xy',
                    height: 400
                },
                title: {
                    text: null
                },
                xAxis: [{ // Suppier names xAxis
                    categories: ['A','B','C','D','E','F','G','H','I','J'],
                    labels: { rotation: -90 }
                }],
                yAxis: [{ // Primary yAxis (Sales)
                    title: {
                        text: '<span class="axis-label">Sales Value (AED)</span>',
                        useHTML: true,
                        style: {
                            color: '#89A54E'
                        }
                    },
                    min: 0,
                    max: 190234
                }
                , { // Secondary yAxis (Margin %)
                    title: {
                        text: '<span class="axis-label">Margin</span>',
                        useHTML: true
                    },
                    labels: {
                        format: '{value}%'
                    },
                    opposite: true,
                    min: 0,
                    max: 22,
                    alignTicks: false,
                    gridLineWidth: 0,
                    plotLines : [{
                        value : 11.66000,
                        color : 'red',
                        dashStyle : 'shortdash',
                        width : 2,
                        label : {
                            text : '11.66%',
                            align: 'right',
                            style: {
                                color: 'red'
                            }
                        }
                    }]
                }
                ],
                tooltip: {
                    shared: true
                },
                legend: {
                    enabled: false
                },
                credits: { enabled: false },
                plotOptions: {
                    series: { pointWidth: 25 },
                    column: { colorByPoint: true },
                    line: {
                        dataLabels: {
                            enabled: true,
                            format: '{y}%',
                            style: {
                                fontWeight: 'bold',
                                color: '#000000',  
                            }
                            //style: 'background-color:rgba(255,0,0,0.5);'
                            //backgroundColor: '#FEFEFE',
                            //shadow: true
                        }
                    }
                },
                series: [{
                    name: 'Sales Value',
                    color: '#FFA500',
                    type: 'column',
                    data: [104833.6400,38023.0500,53165.2200,21674.0000,37098.4700,42679.6700,23127.3300,34588.5000,33380.0000,15453.0000],
                    tooltip: {
                        valuePrefix: 'AED'
                    }
                }
                , {
                    name: 'Margin After Discount (%)',
                    color: 'lightblue',
                    yAxis: 1,
                    data: [12.10,22.10,9.40,13.40,10.90,10.60,9.70,8.50,8.00,11.90],
                    tooltip: { valueSuffix: '%' }
                }
                ]
            });
        });
$(函数(){
$(“#容器”)。高图({
图表:{
zoomType:'xy',
身高:400
},
标题:{
文本:空
},
xAxis:[{//供应商名称xAxis
类别:['A'、'B'、'C'、'D'、'E'、'F'、'G'、'H'、'I'、'J'],
标签:{旋转:-90}
}],
yAxis:[{//主yAxis(销售)
标题:{
文字:“销售价值(AED)”,
是的,
风格:{
颜色:“#89A54E”
}
},
分:0,,
最高:190234
}
,{///次级雅克斯(保证金%)
标题:{
文本:'边距',
useHTML:true
},
标签:{
格式:“{value}%”
},
相反:是的,
分:0,,
最高:22,
对:错,,
网格线宽:0,
绘图线:[{
价值:11.66000,
颜色:“红色”,
短跑风格:“短跑”,
宽度:2,
标签:{
正文:“11.66%”,
对齐:“右”,
风格:{
颜色:“红色”
}
}
}]
}
],
工具提示:{
分享:真的
},
图例:{
已启用:false
},
信用证:{已启用:错误},
打印选项:{
系列:{pointWidth:25},
列:{colorByPoint:true},
行:{
数据标签:{
启用:对,
格式:“{y}%”,
风格:{
fontWeight:'粗体',
颜色:'#000000',
}
//样式:“背景色:rgba(255,0,0,0.5);”
//背景颜色:“#FEFEFE”,
//影子:对
}
}
},
系列:[{
名称:'销售价值',
颜色:'#FFA500',
键入:“列”,
数据:[104833.640038023.050053165.220021674.000037098.470042679.670023127.330034588.500033380.000015453.0000],
工具提示:{
valuePrefix:'AED'
}
}
, {
名称:“折扣后保证金(%)”,
颜色:“浅蓝色”,
亚克西斯:1,,
数据:[12.10,22.10,9.40,13.40,10.90,10.60,9.70,8.50,8.00,11.90],
工具提示:{valueSuffix:'%1!'}
}
]
});
});

Highcharts允许您修改数据数组中各个数据标签的位置。在您的示例中,您可以这样做:

data: [12.10,22.10,9.40,13.40,10.90,10.60,9.70,8.50,8.00,{y:11.90, dataLabels: {y:-8}}],
在API中:

尽管最好将打印线标签移动到线的下方。在您的示例中,将y:20添加到绘图线[0][标签]


在API中:

如Adam的回答中所述,您可以转到最后一点的数据标签上

我建议您放置绘图线的标签,而不是数据标签

可以使用x、y位置属性控制它,并将其向左对齐

label: {
    x: -50,
    y: 10
}
如果打印线永远不会与yAxis网格线重叠,这将是最佳解决方案


此处已更新

您还可以设置
max
值,即
9.3


这正是我想要的。我唯一的问题是,我刚刚花了半天的时间编写捕捉最后一个x值的代码,如果它靠近绘图线,它会重新定位该值。