如何使用 Chart JS 将条形图转换为三角形图表?

如何解决如何使用 Chart JS 将条形图转换为三角形图表?

如何使用 Chart JS 将条形图转换为三角形图表?

例如:示例条形图:如何将其转换为三角形而不是条形?

var ctx = document.getElementById('myChart');
var myChart = new Chart(ctx,{
    type: 'bar',data: {
        labels: ['Red','Blue','Yellow','Green','Purple','Orange'],datasets: [{
            label: '# of Votes',data: [12,19,3,5,2,3],backgroundColor: [
                'rgba(255,99,132,0.2)','rgba(54,162,235,'rgba(255,206,86,'rgba(75,192,'rgba(153,102,255,159,64,0.2)'
            ],borderColor: [
                'rgba(255,1)',1)'
            ],borderWidth: 1
        }]
    },options: {
        scales: {
            y: {
                beginAtZero: true
            }
        }
    }
});

解决方法

您可以使用 scatter 图表并为每个值定义单独的 datasets

请查看您修改后的代码,看看它是如何工作的。

const labels = ['Red','Blue','Yellow','Green','Purple','Orange'];
const data = [12,19,3,5,2,3];
const colors = ['255,99,132','54,162,235','255,206,86','75,192,192','153,102,255',159,64'];

const datasets = labels.map((l,i) => ({
  label: l,data: [{ x: i + 1 - 0.45,y: 0 },{ x: i + 1,y: data[i] },{ x: i + 1 + 0.45,y: 0 }],fill: true,backgroundColor: 'rgba(' + colors[i] + ',0.2)',borderColor: 'rgb(' + colors[i] + ')',showLine: true,borderWidth: 1,lineTension: 0,pointRadius: 0,pointHitRadius: 0
}));

new Chart('myChart',{
  type: 'scatter',data: {
    datasets: datasets
  },options: {
    scales: {
      y: {
        beginAtZero: true
      },x: {
        min: 0,max: labels.length + 1,ticks: {
          callback: (v,i) => labels[i - 1] 
        },grid: {
          display: false
        }
      }
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.3.2/chart.min.js"></script>
<canvas id="myChart" height="110"></canvas>

,

您必须实现自己的自定义图表类型才能执行此操作,因为默认情况下这是不可能的,您可以在文档中阅读如何实现自己的图表类型:https://www.chartjs.org/docs/master/developers/charts.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?