【问题标题】:Chart.js: Fixed horizontal location of vertical axisChart.js:固定垂直轴的水平位置
【发布时间】:2020-06-10 22:19:42
【问题描述】:

如何保证垂直轴的水平位置固定在屏幕边缘的像素方面?照片显示了轴位置如何根据刻度标签中的位数而变化。 (我需要照片中的 X 保持不变,以便绘图与页面上的其他元素对齐。)

我试过调整:

  • 选项>布局>填充>左;这会将所有内容向右移动,但垂直轴的位置仍然取决于 y 轴刻度标签中的位数。
  • 选项 > 刻度 > yAxes > 刻度 > 填充;这会更改标签和轴之间的空间,但不能保证垂直轴的位置。

(我正在使用选项 > responsive = false。)

【问题讨论】:

    标签: chart.js chart.js2


    【解决方案1】:

    也许有更好的方法,但这对我有用。

    在我设置的图表选项中:options > layout > padding > left 设置为默认像素量,适用于当比例标签只有两位数字标签时的情况。

    然后我为 yAxes 设置一个 ID,以便我以后可以访问它:options > scales > yAxes > id。

    然后在我的 JavaScript 中,在定义图表的代码之后,我添加了以下代码,如果比例标签有三位数(在我的情况下我将其设置为 1),则调整左侧填充:

    var axis = myLineChart.scales.<id of my y axis>;
    var max_tick_label = axis.ticks[0];
    if (max_tick_label >= 100) {
        myLineChart.options.layout.padding['left'] = 1;
        myLineChart.update();
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-25
      • 1970-01-01
      • 2015-02-15
      • 2011-06-16
      相关资源
      最近更新 更多