【问题标题】:Auto scaling y-axis自动缩放 y 轴
【发布时间】:2022-11-23 05:37:10
【问题描述】:

版本 1

如果我在 PowerShell 中执行以下操作:

$json = @"

{
    "chart": {
        "data": {
            "labels": [
                "2022-06-30",
                "2022-07-01",
                "2022-07-05",
                "2022-07-06",
                "2022-07-07"
            ],
            "datasets": [
                {
                    "data": [
                        5801404000000.0,
                        6060626000000.0,
                        6085791000000.0,
                        6035882000000.0,
                        6053350000000.0
                    ],
                    "label": "Net Liquidity"
                }
            ]
        },
        "options": {
            "scales": {}
        },
        "type": "bar"
    }
}

"@

Invoke-RestMethod -Method Post -Uri 'https://quickchart.io/chart' -Body $json -ContentType 'application/json' -OutFile C:\temp\test-2.png

Start-Process C:\temp\test-2.png

我得到以下信息:

看起来不错!请注意,y 轴已适当缩放。

版本 2

但是,如果我改为执行以下操作:

$json = @"

{
    "chart": {
        "data": {
            "labels": [
                "2022-06-30",
                "2022-07-01",
                "2022-07-05",
                "2022-07-06",
                "2022-07-07"
            ],
            "datasets": [
                {
                    "data": [
                        5801404000000.0,
                        6060626000000.0,
                        6085791000000.0,
                        6035882000000.0,
                        6053350000000.0
                    ],
                    "label": "Net Liquidity"
                }
            ]
        },
        "options": { },
        "type": "bar"
    }
}

"@

Invoke-RestMethod -Method Post -Uri 'https://quickchart.io/chart' -Body $json -ContentType 'application/json' -OutFile C:\temp\test-2.png

Start-Process C:\temp\test-2.png

我得到以下信息:

请注意,y 轴现在从 0 开始。

差异

版本 1 使用:

"options": {
            "scales": {}
        },

而版本 2 使用:

"options": { },

问题

这是快速图表中的错误吗?还是这种行为是故意的?如果是这样,这是否记录在某处?

【问题讨论】:

    标签: quickchart


    【解决方案1】:

    如果未设置 scales 对象,则 QuickChart 默认设置 ticks.beginAtZero。不幸的是,这与 vanilla Chart.js v2 渲染器不一致,但出于向后兼容的原因它仍然存在(这里是开源版本的code pointer)。

    您可以通过自己设置 options.scales(如您观察到的那样)或使用不包含任何默认行为的 Chart.js v3 来避免这种情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 2020-04-06
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多