Highcharts 如何在Highstock图表中仅对x轴进行分类并消除不必要的缩放

Highcharts 如何在Highstock图表中仅对x轴进行分类并消除不必要的缩放,highcharts,Highcharts,我想创建一个带有导航器、范围选择器、y轴(从两侧开始)和图形扇区的条形图。我使用Highcharts.Chart()实现它,但是它的x轴没有正确地到达。当我将类别更改为[“2017-2-3']后正确创建x轴时,范围选择器将转到1970(默认值),因此我将日期转换为毫秒。现在x轴中有不需要的值。我只想显示类别数组中显示的x轴值。目前1m、3m、6m未工作,我认为这是由于x轴问题造成的 jsfiddle: 只需为xAxis //tickInterval : 2, 首先,您有未排序的数据。如果要反转

我想创建一个带有导航器、范围选择器、y轴(从两侧开始)和图形扇区的条形图。我使用
Highcharts.Chart()
实现它,但是它的x轴没有正确地到达。当我将类别更改为[“2017-2-3']后正确创建x轴时,范围选择器将转到1970(默认值),因此我将日期转换为毫秒。现在x轴中有不需要的值。我只想显示类别数组中显示的x轴值。目前1m、3m、6m未工作,我认为这是由于x轴问题造成的

jsfiddle:


只需为
xAxis

//tickInterval : 2,

首先,您有未排序的数据。如果要反转数据,请使用
反转的
选项

另外,
Range Selector
tickInterval
也有错误。如果使用
datetime
轴,则基本单位为一毫秒

但是,要仅显示
类别
数组中的日期,请使用标签的
勾选位置
选项和
格式化程序
功能:

    xAxis: {
        reversed: true,
        minRange: 1,
        type: 'datetime',
        tickPositions: categories,
        labels: {
            formatter: function() {
                return Highcharts.dateFormat('%Y-%m', this.value);
            }
        }
    },
现场演示:

API参考:

(1)首先,始终确保在类别中插入时间戳,并将其格式化为:

(1-1)xAxis.labels.formatter函数[用于x轴标签]

(1-2)navigator.xAxis.labels.formatter函数[用于导航标签格式)

(2) 其次,如果将数据推入(xAxis.categories),请确保正在清除(xAxis.categories)。因为highcharts不会对数组进行排序。如果只分配新数组,则可以

(三)注意:根据类别数组中的值,导航会获得一些值,如xAxis min和xAxis Max。当您更改数据时,这些值会保留,这就是为什么导航会崩溃。因此,更改数据时,请确保更新。您可以使用0表示导航器的最小值,使用类别。使用长度表示导航器的最大值。 您还可以访问dataMin和dataMax中的更新值

希望这个答案对你有帮助

    xAxis: {
        reversed: true,
        minRange: 1,
        type: 'datetime',
        tickPositions: categories,
        labels: {
            formatter: function() {
                return Highcharts.dateFormat('%Y-%m', this.value);
            }
        }
    },