javascript - 如何使用 chartjs 将 x 轴值和线点移动到两条 x 轴线的中间?

标签 javascript html css chart.js

使用 chartjs,我设置了以下图表:

function myFunction(){
    var options = {
      type: 'line',
      data: {
        labels: ["1", "2", "3", "4", "5"],
        datasets: [
            {
                data: [26, 26, 29, 28, 29],
                borderWidth: 2,
                fill: false,
                lineTension: 0
            },              
            {
                data: [26, 26, 33, 28, 30],
                borderWidth: 2,
                fill: false,
                lineTension: 0,
            }
        ]
      },
      options: {
        scales: {
            yAxes: [{
            display: false,
            ticks: {
                suggestedMin: 0,
                beginAtZero: true   
            }
          }]
        }
      }
    }

    var ctx = document.getElementById('chartJSContainer').getContext('2d');
    new Chart(ctx, options);
}

Current situation

我想将点和 x 轴数字向右移动,以便它们位于轴线之间。 (如:1 介于 1 和 2 之间;2 介于 2 和 3 之间;等等)见下文:

How I want it to be

我该怎么做?

最佳答案

以下是您可以执行此操作的方法:

ꜰɪʀꜱᴛ

将默认图表类型设置为 bar ,如下所示:

var options = {
      type: 'bar',
      data: {
         ...

ꜱᴇᴄᴏɴᴅ

将第一个数据集类型设置为line,这样:

...
datasets: [{
         type: 'line',
         data: [26, 26, 29, 28, 29],
         ...

ᴡᴏʀᴋɪɴɢ ᴇxᴀᴍᴘʟᴇ⧩

function myFunction() {
   var options = {
      type: 'bar',
      data: {
         labels: ["1", "2", "3", "4", "5"],
         datasets: [{
            type: 'line',
            data: [26, 26, 29, 28, 29],
            borderColor: 'rgba(0, 119, 220, 1)',
            borderWidth: 2,
            fill: false,
            lineTension: 0
         }, {
            data: [26, 26, 33, 28, 30],
            borderWidth: 2
         }]
      },
      options: {
         scales: {
            yAxes: [{
               display: false,
               ticks: {
                  suggestedMin: 0,
                  beginAtZero: true
               }
            }]
         }
      }
   }

   var ctx = document.getElementById('chartJSContainer').getContext('2d');
   new Chart(ctx, options);
}

myFunction();
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<canvas id="chartJSContainer"></canvas>

关于javascript - 如何使用 chartjs 将 x 轴值和线点移动到两条 x 轴线的中间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45587663/

相关文章:

javascript - 如何摆脱 Vue JS 项目中的 Delete `··` (prettier/prettier) 错误

javascript - 数据表 Ajax 搜索

html - 在电子邮件中使用 CSS 圆圈

javascript - javascript文件中的 "style xyz.css"是什么意思

css - 更改字体后,Google Charts 重绘速度变慢

javascript - 勾选间隔和类别。仅第一类节目

javascript - 如果存在另一个类,则更改类

C# - 使用 webbrowser 控件将字符串传递到网页中的文本框

提交 HTML 表单而不在 iOS 设备上填充

html - 三列,2个宽度取决于内部元素,中间取决于其他两个