Dygraphs:一个有两个y轴的系列

时间:2013-12-11 21:04:43

标签: javascript dygraphs

我想做的是绘制一个系列,其中两个y轴“锁定”到相同的数据 - 例如,可以读取的°F和°C温度(或英尺和米等)关闭任一轴,但只绘制一组点。

我尝试过的事情:

1)创建两个系列,第二个包含已转换的值,并在另一个的“顶部”上绘图(在这种情况下,有一个1.51的常量转换值):

日期,1单元,converted_unit2
2012-03-19,1.598333,3.108333
2012-03-20,1.542083,3.052083
2012-03-21,1.483333,2.993333

一般工作;但是,Dygraphs动态地将两个y轴动态地缩放为“漂亮”,因此这两个系列并不总是直接相互叠加。

2)将第二个系列的可见性设置为FALSE:

系列:{'converted_unit2':{axis:'y2'}}, 能见度:[true,false]

不起作用:Dygraphs默认将不可见系列的辅助y轴缩放为0到1。

3)好的,让它们都可见,但将第二个系列设置为透明:

系列:{'converted_unit2':{axis:'y2'}}, 颜色:['#000080','rgba(0,0,0,0)']

几乎有效 - 但它的副作用是动态图例中第二个系列的标签现在是透明的。并且,由于轴仍然被独立地计算为“漂亮”,它们并不完全对齐 - 次要y轴可能比第一个y轴偏离几个百分点。

(我还尝试将第二个系列可见性设置为FALSE并使用从yAxisRange()获得的值手动设置第二个y-asix,这很有效,但第二个y轴没有正确响应缩放图形。)

有没有办法轻松为单个系列创建两个“锁定”在一起的y轴?

谢谢, 布莱恩

2 个答案:

答案 0 :(得分:0)

这里的问题相同;)

我们曾经使用第二个系列中的单个数据点(允许第二个轴)和两个轴的固定轴范围(从第一个范围计算的第二个范围)添加第二个(从属)轴。第二种颜色设置为透明,第二种标签被隐藏...工作正常,直到我们不得不切换到动态缩放轴...

  

动态图例中的第二个系列现在是透明的

嗯,您可以使用css进行更改(因为它是内联样式,您必须使用!important来覆盖它)或js(删除内联样式或更改它)。

是的,第二个(从属)轴的选项会很棒!

答案 1 :(得分:0)

将第二个系列的笔触宽度设置为0:

series: {
    converted_unit2: {
        axis: 'y2',
        strokeWidth: 0
        },
    }