首页 > 解决方案 > Dygraphs如何为一个轴实现两个标签

问题描述

我有一个带有一个数据系列的 Dygraphs 图。特殊性是我想为这个系列实现两个 y 标签。左侧 y 轴上的百分比和右侧 y 轴上的值。

我尝试实现两个数据系列(一个用于百分比,一个用于值)。但我不知道如何避免第二系列的绘制。

这是我目前的选择:

this.options = {
  width: 700, height: 300, labels: ['Time', 'Y1', 'Y2'],
  ylabel: 'Coupled Power [%]',
  y2label: 'Signal Value [µW]',
  series: {
    'Y1': {axis: 'y1'},
    'Y2': {axis: 'y2'}
    },
};

这是我期望的一个例子:

在此处输入图像描述

我的问题是如何避免绘制 Y2 系列,或者如果我不能,我怎样才能为一个数据系列设置两个 y 标签?

标签: javascriptdygraphs

解决方案


图表的标签绝对放置在图表的内部div。该图绘制在canvas.

使用 jQuery 或纯 javascript DOM 查询使用以下类定位子 div

<div class="dygraph-axis-label dygraph-axis-label-y">000</div>

获取父级并确定文本是否左对齐:text-align: left;或者left位置是否> width*0.5。

<div style="position: absolute; font-size: 14px; width: 50px; top: 242.259px; left: 500px; text-align: left;">
    <div class="dygraph-axis-label dygraph-axis-label-y">000</div>
</div>

保留这些父 div 的列表以及何时收集所有内容。从 DOM 中删除它们。也许您可以直接删除它,但这是安全的方法。


推荐阅读