在Y轴中显示时间 - 气泡图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Y轴中显示时间 - 气泡图相关的知识,希望对你有一定的参考价值。

我在Bubble Chart遇到了ng2-charts(最新补充)。我试图根据Y轴的时间和X轴的值显示数据。我的数据类似于x:[10,35,60]和y:[“7.00 AM”],r将是相同的x值。基本上我想显示一个日期的多个数据,但给出的样本数据集与我的数据集不同。你能帮我吗?还有一件事,我想从工具提示中隐藏r

示例代码

html

 <div style="display: block">
      <canvas baseChart [datasets]="bubbleChartData" [options]="bubbleChartOptions"
    [colors]="bubbleChartColors" [legend]="bubbleChartLegend" [chartType]="bubbleChartType"
    (chartHover)="chartHovered($event)" (chartClick)="chartClicked($event)"></canvas>
    </div>

TS

 public bubbleChartType: ChartType = 'bubble';
  public bubbleChartLegend = true;

  public bubbleChartData: ChartDataSets[] = [
    {
      data: [
        { x: 10, y: 10, r: 10 },
        { x: 15, y: 5, r: 15 },
        { x: 26, y: 12, r: 23 },
        { x: 7, y: 8, r: 8 },
      ],
      label: 'Series A',
      backgroundColor: 'green',
      borderColor: 'blue',
      hoverBackgroundColor: 'purple',
      hoverBorderColor: 'red',
    },
  ];

这个Y轴只支持数字,但我想像11:15 AM一样绑定时间

我想要的是

What I want

答案

您可以使用自定义标签格式化程序来显示时间值而不是数字。

times = [
  "3:00 am",
  "7:00 am",
  "11:00 am",
  "3:00 pm",
  "7:00 pm",
  "11:00 pm",
]

public bubbleChartOptions: ChartOptions = {
  responsive: true,
  scales: {
    xAxes: [{ ticks: { min: 0, max: 30, } }],
    yAxes: [{
      ticks: {
        min: 0, max: 5,
        callback: value => this.times[value]
      }
    }]
  }
};

public bubbleChartData: ChartDataSets[] = [
  {
    data: [
      { x: 7, y: 0, r: 8 },
      { x: 10, y: 1, r: 10 },
      { x: 15, y: 2, r: 15 },
      { x: 26, y: 3, r: 23 },
    ],
    label: 'Series A',
  },
];

例如,请参阅此stackblitz

这是图像输出:

enter image description here

以上是关于在Y轴中显示时间 - 气泡图的主要内容,如果未能解决你的问题,请参考以下文章

修复气泡图图例

Plotly / Dash:如何在气泡图的边缘强制裁剪?

当我在 plotly 中绘制气泡图时出现错误

如何使用 seaborn 制作气泡图

R ggplot气泡图局部气泡显示没有在单个图表中

为 ggplot 气泡图创建同心圆图例