如何在图表JS中使酒吧破灭?

发布于 2025-02-02 18:11:43 字数 179 浏览 3 评论 0原文

大家好,我是新来的图表JS,我需要使酒吧破灭。我使用版本 - “ Chart.js”:“^3.7.0”,

我需要我的条形,我的条形看起来像此图像

Hello Everyone I am new to chart JS , I need to make bars dashed . I am currenlty using version - "chart.js": "^3.7.0" ,

I need my bars look like This Image

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

咆哮 2025-02-09 18:11:43

您可以通过扩展Chart.barcontroller来创建自定义图表类型图表类型“ rel =” nofollow noreferrer”>在这里。

请查看以下可运行的代码,然后查看其工作原理。

class DashedBorderBar extends Chart.BarController {
  draw() {
    super.draw(arguments);
    const ctx = this.chart.ctx;
    ctx.save();
    const dataset = this.chart.data.datasets[0];
    ctx.strokeStyle = dataset.dashedBorderColor;
    ctx.lineWidth = dataset.dashedBorderWidth;
    ctx.setLineDash(dataset.borderDash);    
    this.getMeta().data.forEach(d => {      
      ctx.strokeRect(d.x - d.width / 2, d.y, d.width, d.height + ctx.lineWidth);
    });
    ctx.restore();
  }
};
DashedBorderBar.id = 'dashedBorderBar';
DashedBorderBar.defaults = DashedBorderBar.defaults;
Chart.register(DashedBorderBar);

new Chart('myChart', {
  type: 'dashedBorderBar',
  data: {
    labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
    datasets: [{
      label: 'Dataset',
      backgroundColor: 'rgba(255, 99, 132, 0.2)',
      data: [65, 59, 80, 81, 56, 45, 40],
      dashedBorderColor: 'blue',
      dashedBorderWidth: 3,
      borderDash: [10, 5]
    }]
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.8.0/chart.min.js"></script>
<canvas id="myChart" height="120"></canvas>

You can create a custom chart type by extending Chart.BarController as explained here.

Please take a look at below runnable code and see how it works.

class DashedBorderBar extends Chart.BarController {
  draw() {
    super.draw(arguments);
    const ctx = this.chart.ctx;
    ctx.save();
    const dataset = this.chart.data.datasets[0];
    ctx.strokeStyle = dataset.dashedBorderColor;
    ctx.lineWidth = dataset.dashedBorderWidth;
    ctx.setLineDash(dataset.borderDash);    
    this.getMeta().data.forEach(d => {      
      ctx.strokeRect(d.x - d.width / 2, d.y, d.width, d.height + ctx.lineWidth);
    });
    ctx.restore();
  }
};
DashedBorderBar.id = 'dashedBorderBar';
DashedBorderBar.defaults = DashedBorderBar.defaults;
Chart.register(DashedBorderBar);

new Chart('myChart', {
  type: 'dashedBorderBar',
  data: {
    labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
    datasets: [{
      label: 'Dataset',
      backgroundColor: 'rgba(255, 99, 132, 0.2)',
      data: [65, 59, 80, 81, 56, 45, 40],
      dashedBorderColor: 'blue',
      dashedBorderWidth: 3,
      borderDash: [10, 5]
    }]
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.8.0/chart.min.js"></script>
<canvas id="myChart" height="120"></canvas>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文