2

私は実際に、複数のしきい値を表示するために HighCharts を使用しようとしています。

これが私のコードの一部です。

特にここ:

var translatedThreshold = series.yAxis.translate(threshold1),
        y1 = Math.round(series.yAxis.len - translatedThreshold),
        y2 = y1 + 2; // 0.01 would be fine, but IE9 requires 2

    // Apply gradient to the path
    series.graph.attr({
        stroke: {
            linearGradient: [0, y1, 0, y2],
            stops: [
                [0, colorAbove],
                [1, colorBelow]
            ]
        }
     });

    // Apply gradient to the area
    if (series.area) {
        series.area.attr({
            fill: {
                linearGradient: [0, y1, 0, y2],
                stops: [
                    [0, colorAbove],
                    [1, colorBelow]
                ]
            }
         });
    }        

実際には、2 つのしきい値があり、1 つは 0 で、もう 1 つは 3 です。

ドットのしきい値は正しいです (値が 0 ~ 3 で、色の値が ColorMiddle であるため、青いドットが表示されます)。

曲線と面積については、シリーズ グラフに追加する方法がわからないため、colorMiddle の値は表示されません。

series.yAxis.translate(threshold2) で translatorThreshold2 を使用し、それらを series.area.attr に追加する必要があると思いますが、正確な方法はわかりません。

誰にもアイデアはありますか?

EDIT1 : しきい値の線 (下の例では青色) を表示できましたが、領域が正しく塗りつぶされていません。領域は 0 から 300 の間の青色で、色は緑色 (colorMiddle ではなく、colorAbove とも呼ばれます) である必要があります。

結果はここに表示されます:http: //jsfiddle.net/LeLwu/27/(ChromeとFirefoxではたまたま異なります...)

4

0 に答える 0