如何在highcharts中使Y轴值不从0开始?如何在HighCharts中强制显示X轴上的最后一个类别数据?

如何在highcharts中使Y轴值不从0开始?如何在HighCharts中强制显示X轴上的最后一个类别数据?,highcharts,Highcharts,所以,这里我有两件事要做。即使经过足够多的头脑风暴,我也无法确定需要修改哪些参数才能使我的图形按需要显示数据。 这是我的图表的输出:。我希望输出如下: 基本上有两件事我想让它工作。 首先,我想,使Y标签不从0开始将使图形工作。但我无法确定需要更改哪个参数 其次,对于X轴数据,我将一组日期作为类别传递给XAxis系列。我想每隔七天显示一次日期。我已经成功地实现了这一点。我面临的问题是,我想有力地展示今天的日期。今天的日期是我代码的XAxisData数组中的最后一个元素,我正在将它传递给X轴的“类别

所以,这里我有两件事要做。即使经过足够多的头脑风暴,我也无法确定需要修改哪些参数才能使我的图形按需要显示数据。 这是我的图表的输出:。我希望输出如下:

基本上有两件事我想让它工作。 首先,我想,使Y标签不从0开始将使图形工作。但我无法确定需要更改哪个参数

其次,对于X轴数据,我将一组日期作为类别传递给XAxis系列。我想每隔七天显示一次日期。我已经成功地实现了这一点。我面临的问题是,我想有力地展示今天的日期。今天的日期是我代码的XAxisData数组中的最后一个元素,我正在将它传递给X轴的“类别”。所以,我这里的问题是,如何强制显示Axis类别的最后一个元素?(可选问题)是否有更好的方法,使用datetime? 以下是我的图形代码:

function setPriceParameterAndDisplay(){
document.getElementById('container').style.visibility='visible';
Highcharts.chart('container', {
    chart: {
        type: 'area'
    },
    title: {
        text: StockHeading ,
    },
    subtitle: {
         text: '<a style=\"color:blue;\" href=\"https://www.alphavantage.co\">Source: Alpha Vantage</a>'
    },
    xAxis: {
        categories: XAxisData,
          minTickInterval: 6,

   showLastLabel: true,

    },
    yAxis: [{
        title: {
            text: 'Stock Price',
        },
         },{
        title: {
            text: 'Volume '
        },
        labels: {
            format: '{value}m',
        },
        opposite:true,

    }],
    plotOptions: {
    label: {
    enabled: false,
},
        line: {

            enableMouseTracking: true
        },
        series: {
        marker: {
                enabled: false
            },}
    },
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'middle'
    },
    series: [{
        name: '".$symbol."',
        label: {
    enabled: false,
},
        type: 'area',
        color: '#F66464',
        data: PriceData,
        tooltip: {
                valueDecimals: 2
            }

    }, {
        name: '".$symbol." Volume' ,
        label: {
    enabled: false,
},
        type: 'column',
        color: '#FFFFFF',
         yAxis: 1,
        data: StockVolume,
        tooltip: {
                valueDecimals: 2
            }


    }]
});}
函数setPriceParameterAndDisplay(){
document.getElementById('container').style.visibility='visible';
Highcharts.chart('容器'{
图表:{
类型:“区域”
},
标题:{
正文:股票标题,
},
副标题:{
文本:“”
},
xAxis:{
类别:XAxisData,
minTickInterval:6,
showLastLabel:true,
},
亚克斯:[{
标题:{
文字:“股价”,
},
},{
标题:{
文本:“卷”
},
标签:{
格式:“{value}m”,
},
相反:是的,
}],
打印选项:{
标签:{
启用:false,
},
行:{
enableMouseTracking:true
},
系列:{
标记:{
已启用:false
},}
},
图例:{
布局:“垂直”,
对齐:“右”,
垂直排列:“中间”
},
系列:[{
名称:‘$symbol’,
标签:{
启用:false,
},
类型:'区域',
颜色:'#F66464',
数据:价格数据,
工具提示:{
数值小数:2
}
}, {
名称:“.”$symbol.“卷”,
标签:{
启用:false,
},
键入:“列”,
颜色:“#FFFFFF”,
亚克西斯:1,,
数据:库存量,
工具提示:{
数值小数:2
}
}]
});}

1。使面积系列不从零开始(y轴)

您需要为此系列指定
阈值
属性。默认值为
0
,这就是问题的原因

API参考:


2。强制始终为最后一点显示x轴标签

默认情况下,Highcharts会自动计算并决定要显示的刻度。标签显示在记号所在的位置。因此,为了确保某些特定的记号出现在轴上,请使用
tickPosition
(手动定义所有记号)或
tickPositioner
(在将Highcharts创建的记号传递给图表构造函数之前修改它们)

API参考资料:


如果添加部分数据输入,则故障排除会容易得多。也就是说,对于y轴问题,看看昨天的这个问题:卡米尔是正确的。你应该接受他的回答。