chart.js - ChartJS : two axes in horizontalBar chart

标签 chart.js

使用标准条形图,我能够成功创建一个图表,其中两个数据集绘制在两个 y 轴上。此处的工作示例:https://jsfiddle.net/pe8kxjqc/12/如何创建与左侧标签和顶部和底部两个数据集轴相同的水平条形图图表?

水平条形图似乎没有按预期处理第二个轴。我尝试了以下方法,但效果不如预期:

var data = {
labels: ["Label1", "Label2", "Label3", "Label4", "Label5"],
datasets: [
{
   "label": "Total V",
   "xAxisID": "v",
   "backgroundColor": "rgba(53,81,103,1)",
   "borderColor": "rgba(53,81,103,.4)",
   "data": [100,90,80,70,60]
},
{
   "label": "Total C",
   "xAxisID": "c",
   "backgroundColor": "rgba(255,153,0,1)",
   "borderColor": "rgba(255,153,0,.4)",
   "data": [10,9,8,7,6]
}]};

var options = {scales:{
xAxes:[
   {position:"top",id:"v", gridLines:{color:"rgba(53,81,103,.4)"}},
   {position:"bottom",id:"c", gridLines:{color:"rgba(255,153,0,.4)"}}
]}};

var ctx = document.getElementById("myChart");
new Chart(ctx, {type: "horizontalBar",data:data, options:options});

最佳答案

你可以为 barhorizo​​ntalBar 动态配置你可以使用这个配置

Fiddle demo

var data = {
  labels: ["Label1", "Label2", "Label3", "Label4", "Label5"],
  datasets: [{
    "label": "Total V",
    "yAxisID": "A",
    "backgroundColor": "rgba(53,81,103,1)",
    "borderColor": "rgba(53,81,103,.4)",
    "data": [100, 90, 80, 70, 60]
  }, {
    "label": "Total C",
    "yAxisID": "A",
    "backgroundColor": "rgba(255,153,0,1)",
    "borderColor": "rgba(255,153,0,.4)",
    "data": [10, 9, 8, 7, 6]
  }]
};

var options = {
  scales: {
    yAxes: [{
      id: 'A',
      position: 'left'
    }]
  }
};

var ctx = document.getElementById("myChart");
new Chart(ctx, {
  type: "horizontalBar",
  data: data,
  options: options
});

关于您的问题,实际问题是 var options={...} 它只能用于 bar 图表。希望你明白

更新

将上图中的选项替换为所需的轴刻度

var options = {scales:{yAxes:[{id: 'A',position: 'left',gridLines:{color:"rgba(53,81,103,.4)"}},{position:"top",id:"c", gridLines:{color:"rgba(255,153,0,.4)"},ticks: { min: 0,max: 100,}},]}};

updated fiddle

关于chart.js - ChartJS : two axes in horizontalBar chart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44121651/

相关文章:

javascript - y=0 网格线(或轴?)未显示在 chart.js 中

javascript - 如何从雷达图中的鼠标悬停结果中删除数据值?

javascript - Chart.js 图例位置错误

javascript - React Native Chart 不显示数据

javascript - Ionic 3 + Angular 4 + chart.js - 从数组加载数据

javascript - Chart.js - 打印包含 Chart.js Canvas 的网页会打印出数百个空白页

javascript - x 轴无法工作,因为我没有正确使用 moment.js

javascript - 使用 Pagedjs 时 Chartjs 图表损坏

javascript - 在 chart.js 中显示比标签更多的数据集

javascript - ng2-charts:如何在 typescript 中动态设置图表标题