ChartJS 将散点图添加到水平堆叠条形图. js

zbdgwd5y  于 2022-11-06  发布在  Chart.js
关注(0)|答案(1)|浏览(171)

我有下面的水平堆叠条形图。x1c 0d1x
然而,我试图在图表上添加粉红色散点(基于正确的y轴数字),但它们没有显示出来。有人能告诉我我做错了什么吗?
看起来如果我把图表改成普通的条形图,而不是水平的,点就会显示出来,但是我需要它是水平的。
下面是我的组件.ts代码:

public disproportionChartData = [
    {
      label: "Disproportionality",
      data: [100, 40, 0, -40, -90],
      type: "scatter",
      fill: false,
    },
    {
      label: "Population 1 %",
      data: [-10, -40, -80, -70, -20],
    },
    {
      label: "Population 2 %",
      data: [10, 20, 30, 50, 90],
    },
  ];
  public disproportionChartLabels = [
    "Type 1",
    "Type 2",
    "Type 3",
    "Type 4",
    "Type 5",
  ];
  public disproportionChartOptions = {
    responsive: true,
    legend: {
      position: "top",
    },
    title: {
      display: false,
    },
    scales: {
      xAxes: [
        {
          position: "top",
          stacked: true,
          ticks: {
            callback(value) {
              return Math.abs(value);
            },
            min: -100,
            max: 100,
          },
        },
      ],

      yAxes: [
        {
          stacked: true,
          position: "left",
          ticks: {
            callback: function (value, index, values) {
              return value < 0 ? -value : value;
            },
          },
        },
        {
          stacked: true,
          position: "right",
          ticks: {
            callback(value) {
              return value;
            },
            min: -100,
            max: 100,
          },
        },
      ],
    },
  };

下面是我的html代码:

<canvas
  baseChart
  [datasets]="disproportionChartData"
  [labels]="disproportionChartLabels"
  [options]="disproportionChartOptions"
  [chartType]="'horizontalBar'"
>
</canvas>

更新
得到这个工作感谢user 2057925,但是,有人知道我可以添加一个标签到工具提示(以匹配类型)

例如,工具提示的标题应该是“Type 4”,而不是-90。左侧y轴上的每个类型都将有一个粉红色的点。或者,完全删除工具提示,只在每个点旁边有一个标题

e5nqia27

e5nqia271#

我认为您可以指定散点图使用的轴的idtype。此外,使用xAxisIDyAxisID将散点数据集与这些轴相关联。AFAIK散点需要数据点来显示这些点。
EDIT:添加了工具提示回调,以始终显示标签。
编辑2:添加了DataLabels插件https://github.com/chartjs/chartjs-plugin-datalabels,以显示粉红色点右侧的标签。
第一个

相关问题