2016-06-16 18 views
0

ハイチャートグラフに矩形を追加して、方向を強調表示したい(より暑い、より寒い)。そのためには、白から赤、そして白から青へのグラデーションを使って作業したいと思います。ハイチャートの矩形にグラデーションを適用する方法

しかし、私はSVG gradient styleをHighchartsで使用されているコードにどのように適用できないのでしょうか。鉱山は、私がここにグラデーションスタイルを追加するにはどうすればよい

var rect = chart.renderer.rect(0, 90, 45, 273, 0).attr({ 
    fill: 'none', 
    stroke: '#009900', 
    'stroke-width': 1 
}).add(); 

here is a fiddle)このように見えますか?

答えて

2

グラデーションオブジェクトを定義し、プロパティを埋めるためにそれを渡すことができます:

Fiddle

var gradient = { 
     linearGradient: [0, 0, 0, 400], 
     stops: [ 
      [0, '#000'], 
      [1, '#ff0000'] 
     ] 
    }; 
    var rect = chart.renderer.rect(0, 90, 45, 273, 0).attr({ 
     fill: gradient, 
     stroke: '#009900', 
     'stroke-width': 1 
    }).add(); 
+0

Cool。本当にありがとう!しかし、私はこれらの4つのパラメータが何を表しているかを知ることに成功しませんでした。あなたは私にこれらを説明する文書を送ることができますか?私は2番目の青い矩形([fiddle here](http://jsfiddle.net/luftikus143/6g5ttbfr/9/))を追加し、私が定義しなければならない設定について混乱させる。 – luftikus143

+1

@ luftikus143については、http://www.highcharts.com/docs/chart-design-and-style/colorsをご覧ください。これはあなたを助けるかもしれない – Afsar

+0

ヒントのためにありがとう。それは私を助け、方法を見つけましたが、私はそれらの4つの価値がどのように機能するのかを理解するとは言いません。 – luftikus143

0

以下のようにDOMを定義して追加する必要があります。

<defs> 
<linearGradient id="linear" y2="0%" x2="100%" y1="0%" x1="0%"> 
<stop stop-color="#05a" offset="0%"> 
<stop stop-color="#a55" offset="50%"> 
<stop stop-color="#0a5" offset="100%"> 
</linearGradient> 
</defs> 
<rect stroke-width="1" stroke="#009900" fill="url(#linear)" height="273" width="45" y="90" x="0"> 

参考:http://vanseodesign.com/web-design/svg-linear-gradients/

+0

はい、それは私が上記のように言及した文書に言うものですよくしかし、それはHighchartsの使用では機能しません。私の質問は、SVGとハイチャートの 'chart.renderer.rect'の使い方をどのように組み合わせるかです。添付できる属性のリストがあります。ここでグラデーションを使用する方法は何ですか? – luftikus143

関連する問題