首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Highcharts tick interval

Highcharts tick interval
EN

Stack Overflow用户
提问于 2015-10-12 14:18:45
回答 3查看 1.4K关注 0票数 1

我有一个折线图。数据的索引始终为100。我希望yAxis始终从100开始。我将yAxis设置为...

代码语言:javascript
运行
AI代码解释
复制
yAxis: {min: 0, tickinterval: 100}

它将我的yAxis设置为{0,100,200,-}。它确实适用于我的大多数数据,但当数据很大时,计时间隔会发生变化。它从{0,5k,10k...}开始。我应该如何设置我的间隔,使100在yAxis中始终可见?

EN

回答 3

Stack Overflow用户

发布于 2015-10-13 13:03:42

对于yAxis,将min设置为100,将startOnTick设置为false,就可以从100开始显示该轴。要确保100的记号可见,可以使用tickPositioner并重定义记号的位置。

代码语言:javascript
运行
AI代码解释
复制
$(function () {
    $('#container').highcharts({
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },

        yAxis: {
            min: 100,
            startOnTick: false,
            tickPositioner: function() {
                var oldPos = this.tickPositions,
                    len = oldPos.length,
                    pos = [100],
                    i;
                for(i = 0; i<len; i++) {
                    if(oldPos[i] > 100) {
                        pos.push(oldPos[i]);
                    }
                }
                return pos;
            }
        },

        series: [{
            data: [200,400,300, 2000,2500,5000,60000,7e7] 
        }]
    });
});

示例:http://jsfiddle.net/w14kqf4d/

当使用大比例时,标签的格式将为0.1k。要更改这一点,您可以使用labels的formatformatter

票数 1
EN

Stack Overflow用户

发布于 2015-10-13 16:14:06

我将使用第二个轴,并使用tickPositions属性来完成此操作。

示例如下:

如果数字较大,则100将出现在刻度之间。当刻度间隔为100时,第二个轴的100将出现在主轴标签的前面,不会被注意到。

或者,也可以将第二个y轴设置为相反方向,并且始终在右侧可见:

您也可以忘记第二个y轴,而使用带标签的地图线:

如果这些示例对您都不起作用,您还可以查看一下tickPositioner函数,看看是否可以用它解决一些问题:

票数 0
EN

Stack Overflow用户

发布于 2015-10-12 14:22:29

Here is a fiddle

代码语言:javascript
运行
AI代码解释
复制
yAxis: {
        min: 100,
    },
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33083472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档