Highcharts 海图线未完全绘制
我有一个柱形图,上面有一条线。 将图表容器的宽度减小到小于357px的值时,水平线仅绘制一半,而不是全宽Highcharts 海图线未完全绘制,highcharts,Highcharts,我有一个柱形图,上面有一条线。 将图表容器的宽度减小到小于357px的值时,水平线仅绘制一半,而不是全宽 chart = new Highcharts.Chart({ chart: { renderTo: 'chartcontainer', defaultSeriesType: 'column', borderRadius:0, marginRi
chart = new Highcharts.Chart({
chart: {
renderTo: 'chartcontainer',
defaultSeriesType: 'column',
borderRadius:0,
marginRight: 22,
marginBottom: 140
},
title: {
text: 'test norm',
align: 'left'
},
xAxis: [{
title: {
text: 'x',
style: {
}
},
categories: ['2008','2009','2010','2011','2012'],
labels: {
style: {
}
}
},
{ //secondary xAxis for range and norm values
gridLineWidth: 0,
labels:{
enabled:false
},
lineWidth:0,
tickWidth:0,
opposite: true,
minPadding:0,
maxPadding:0
}
],
yAxis: {
title: {
text: 'y',
style: {
}
},
labels: {
style: {
}
}
},
legend: {
layout: 'vertical',
align: 'left',
verticalAlign: 'bottom',
width:700,
borderRadius: 0,
shadow:false,
floating:true,
borderWidth: 0
},
navigation: {
buttonOptions: {
enabled: false
}
},
tooltip: {
borderRadius: 0,
borderWidth: 1,
backgroundColor: '#FFFFFF',
shadow: false,
style: {
font: 'bold 11px Arial, Verdana, sans-serif',
fontWeight: 'bold'
},
formatter: function() {
return '<b>'+ this.x +'</b><br/>'+ this.series.name +': '+ this.y +'<br/>';
}
},
plotOptions: {
column: {
dataLabels: {
enabled: false
},
shadow: false
}
},
series: [{ name: 'A', shadow: false, data: [8,2,8,4,6] },{ name: 'B', shadow: false, data: [1,4,2,3,4] },{ name: 'C', shadow: false, data: [4,16,8,12,16] },{ name: 'E', shadow: false, data: [8,4,6,8,2] },{
type:'line',
name:'Norm',
data:[
{
y:10.000000,
x:0.000000,
dataLabels: {
enabled: false,
align: 'left',
formatter:function(){return 'Norm: ' + this.y;},
style: {fontWeight:'bold'}
},
},
{
y:10.000000,
x:1.000000,
dataLabels: {
enabled: true,
align: 'right',
formatter:function(){return 'Norm: ' + this.y;},
style: {fontWeight:'bold'}
},
}
],
color: '#01A1EB',
lineWidth:1,
dashStyle:'Solid',
shadow: {
opacity:0.1
},
enableMouseTracking:false,
marker:{enabled:false},
xAxis:1,
showInLegend: true
chart=新高度图表。图表({
图表:{
renderTo:“chartcontainer”,
defaultSeriesType:“列”,
边界半径:0,
marginRight:22,
marginBottom:140
},
标题:{
文本:“测试规范”,
对齐:“左”
},
xAxis:[{
标题:{
文本:“x”,
风格:{
}
},
类别:['2008'、'2009'、'2010'、'2011'、'2012'],
标签:{
风格:{
}
}
},
{//范围值和范数值的辅助X轴
网格线宽:0,
标签:{
已启用:false
},
线宽:0,
宽度:0,
相反:是的,
数字:0,
maxPadding:0
}
],
亚克斯:{
标题:{
文本:“y”,
风格:{
}
},
标签:{
风格:{
}
}
},
图例:{
布局:“垂直”,
对齐:“左”,
垂直排列:“底部”,
宽度:700,
边界半径:0,
影子:错,
浮动:是的,
边框宽度:0
},
导航:{
按钮选项:{
已启用:false
}
},
工具提示:{
边界半径:0,
边框宽度:1,
背景颜色:“#FFFFFF”,
影子:错,
风格:{
字体:“粗体11px Arial,Verdana,无衬线”,
fontWeight:“粗体”
},
格式化程序:函数(){
返回“+this.x+”
“+this.series.name+”:“+this.y+”
”;
}
},
打印选项:{
专栏:{
数据标签:{
已启用:false
},
影子:错
}
},
系列:[{name:'A',shadow:false,data:[8,2,8,4,6]},{name:'B',shadow:false,data:[1,4,2,3,4]},{name:'C',shadow:false,data:[4,16,8,12,16]},{name:'E',shadow false,data:[8,4,6,8,2]}{
类型:'行',
名称:'Norm',
数据:[
{
y:10.000000,
x:0.000000,
数据标签:{
启用:false,
对齐:“左”,
格式化程序:函数(){return'Norm:'+this.y;},
样式:{fontWeight:'bold'}
},
},
{
y:10.000000,
x:100万,
数据标签:{
启用:对,
对齐:“右”,
格式化程序:函数(){return'Norm:'+this.y;},
样式:{fontWeight:'bold'}
},
}
],
颜色:“#01A1EB”,
线宽:1,
dashStyle:“实心”,
影子:{
不透明度:0.1
},
enableMouseTracking:false,
标记:{enabled:false},
xAxis:1,
showInLegend:对
}]
});
请参见我的JSFIDLE示例:
完全画出的线:
线路只走了一半:
你知道这是什么原因吗
干杯。改用y轴上的绘图线:
绘图线也是我的首选选项 但是,如果出于某种原因需要将其制作成一个系列,您可以这样做: 1) 将线的最小x值设置为-0.5,最大x值设置为4.5 2) 将xAxis最小值设置为0,最大值设置为4 3) 忘掉次x轴吧
第二个x轴似乎是问题的一部分。如果隐藏norm系列,然后重新显示,它将正确填充绘图区域。我必须使用该系列,因为在某些图表中,每行可能会出现多个步骤。但是你的建议,用最小值和最大值,去掉额外的值,效果很好
plotLines: [{
color: '#FF0000',
width: 1,
value: 10
}]
for the x axis:
xAxis: [{
min:0,
max:4,
}]
and then in the data:
...
y:10.000000,
x:-0.5,
...
y:10.000000,
x:4.5,