Javascript 如何使highchart跨越整个x轴?
我有这方面的代码,当我增加年数时Javascript 如何使highchart跨越整个x轴?,javascript,highcharts,Javascript,Highcharts,我有这方面的代码,当我增加年数时 xAxis: { .... min: 0, max: 3, // This is dynamic 该图表仅限于0,1年。我如何使图表从一端延伸到另一端,使其看起来像这样 编辑:问题是,x轴投资年数来自一个变量,年数发生变化,例如,在这个问题中,年数是3,因此图表需要在x轴上从0到3从左到右展开,如屏幕截图所示,我使用max在x轴上显示3年,我将在y轴上绘制的3个值也将来自变量,例如,它的“22286122
xAxis: {
....
min: 0,
max: 3, // This is dynamic
该图表仅限于0,1年。我如何使图表从一端延伸到另一端,使其看起来像这样
编辑:问题是,x轴投资年数来自一个变量,年数发生变化,例如,在这个问题中,年数是3,因此图表需要在x轴上从0到3从左到右展开,如屏幕截图所示,我使用max在x轴上显示3年,我将在y轴上绘制的3个值也将来自变量,例如,它的“2228612269286”,我将只有这3个值,图形将从0开始。所以我不能在序列中放入任何其他任意值
var chart=Highcharts.chart'container'{
颜色:['762232','EFCA32','007788'],
标题:{
正文:,
},
图表:{
类型:'区域',
背景颜色:空,
//spacingRight:5,
间距:5,
间距底部:5,
风格:{
fontFamily:'Arial,无衬线',
},
打印边框宽度:1,
plotBorderColor:'ccc',
},
xAxis:{
gridZIndex:4,
网格线宽度:1,
时间间隔:1,
宽度:0,
对,,
gridLineColor:'762232',
数字:0,
maxPadding:0,
分:0,,
最高:3,
标题:{
文字:“投资年限”,
},
标签:{
启用:对,
},
},
亚克斯:{
网格线宽:0,
相反:是的,
标题:{
文本:“假设值”,
},
showFirstLabel:false,
showLastLabel:false,
定位器:功能{
var prevTickPos=this.tickPositions,
tickPositions=[prevTickPos[0],prevTickPos[prevTickPos.length-1],
series=this.chart.series;
级数.函数{
tickPositions.push.processedYData[s.processedYData.length-1];
};
表1.SortFunction a,b{
返回a-b;
};
返回位置;
},
标签:{
启用:对,
对齐:对,
reserveSpace:没错,
},
},
工具提示:{
已启用:!1,
},
打印选项:{
面积:{
起点:0,
堆叠:错误,
线条颜色:“762232”,
线宽:1,
不透明度:1,
数据标签:{
作物:!1,
颜色:“762232”,
对齐:“右”,
y:5,
},
标记:{
已启用:!1,
符号:'圆',
半径:1,
国家:{
悬停:{
已启用:!1,
},
},
},
},
},
系列:[{
数据:[]
}, {
数据:[]
}, {
数据:[]
}]
};
document.getElementById'chartInit'.addEventListener'click',函数{
chart.update{
系列:[{
数据:[022286]
}, {
数据:[012286]
}, {
数据:[09286]
}]
};
};
初始图
您需要以[x,y]格式定义数据,并使用yearsInSived变量作为第二个点的值
const yearsInvested = 10;
chart.update({
series: [{
data: [
[0, 0],
[yearsInvested, 22286]
]
}, {
data: [
[0, 0],
[yearsInvested, 12286]
]
}, {
data: [
[0, 0],
[yearsInvested, 9286]
]
}]
});
现场演示:
API参考:Hi@dota2pro,您能详细解释一下这个问题吗?似乎不需要使用“最小值”和“最大值”属性。@ppotaczek问题是,x轴投资年数来自一个变量,年数会发生变化,例如,在这个问题中,年数是3,因此图表需要在x轴上从0到3从左到右展开,正如屏幕截图中所示,我使用“最大值”在x轴上显示3年,我将在y轴上绘制的3个值也将来自变量,例如,它的“2228612269286”,我将只有这3个值,图形将从0开始。所以我不能在seriesSorry中放入任何其他任意值,但我仍然不能完全理解。如果不使用min/max,绘图将覆盖整个x轴,例如:@ppotaczek您的JSFIDLE的问题是您为序列输入了任意值。在您的示例中,例如,我只在y轴上绘制了最后一个值,即33333 222 10000,因此图表必须从0开始并转到这些值,我没有其他值来填充序列。但我仍然需要显示图表跨度超过3年或任何年份,x轴系列:[{数据:[4457133712228633333333]},{数据:[2457937711228622222222]},{数据:[145753771928610000]},{好,例如:您想在整个x轴上显示该系列?是否可以将y轴标题保留在左侧,同时仍将y轴标签保留在右侧,因为假设值放在屏幕截图中,而$values放在右侧?这是Highchart版本6.1.1 Hi@dota2pro的屏幕截图,是的,您需要创建另一个y轴,仅带有标题。例子: