SVGはグラデーションの塗りつぶしの色を操作します

ネバーモア

単純なsvg長方形のグラデーション塗りつぶしの色をプログラムで操作したいと思います。

2つの解決策があります。複数の四角形を描画し、それらを連結して大きな四角形を作成するのは好きではありません。だから私はこのグラデーションカラーアプローチを試しています。

私がやったことは、SVGが長方形の描画を開始する前に、「linearGradiant」タグに「stop」タグを挿入しようとしたことです。しかし、どういうわけか私のコードは機能していません。

コードを実行した後、長方形が描画されたことがわかりましたが、長方形はレンダリングされませんでした。塗りつぶしを「url(#c1)」から「blue」に変更すると、四角形が青にレンダリングされることがわかりました。

コードはAngularJSディレクティブを使用しています。

'use strict'

angular.module('StanfordClinicalGenomics').directive('chromosomeFillChart', ['$compile', '$location',function($compile,$location) {

return {

    restrict: 'E',
    templateUrl: "app/directives/chromosome_fill/chromosome_fill.html",
    scope: {
        data: "=data",
        cid: "=cid",
        vid: "=vid",
    },
    controller: function($scope, $element, $attrs, $compile, $http, $route, $rootScope, $timeout) {

        var data = $scope.data;

        if ($scope.cid){
            var chart = d3.select('chromosome-fill-chart[cid='+"'"+$scope.cid+"'"+'] svg.withFill') //this is just a selector
            .attr("width", 30)
            .attr("height", 100);


            $timeout(function(){
                angular.element("#c"+$scope.cid).append($compile('<stop offset="33%" stop-color="skyblue" />')($scope));

                angular.element("#c"+$scope.cid).append($compile('<stop offset="33%" stop-color="#FF6" />')($scope));
                $scope.$apply();
                var bar = chart.append("g")
                .append("rect")
                .attr("width", 30)
                .attr("fill", "url(#c"+$scope.cid+")")
                .attr("height",data[0]);


            });       
        }
    }
}

}]);

以下はhtmlです:

<svg class="withFill">
<defs>
  <linearGradient id="c{{cid}}" x1="0%" y1="0%" x2="0%" y2="100%"></linearGradient>
</defs>
</svg>

以下は私のChromeブラウザのコードです:

<chromosome-fill-chart data="[100,20,76]" cid="1" class="ng-isolate-scope">
<svg class="withFill" width="30" height="100">

    <defs>
      <linearGradient id="c1" x1="0%" y1="0%" x2="0%" y2="100%">
          <stop offset="33%" stop-color="skyblue" class="ng-scope"></stop>
          <stop offset="33%" stop-color="#FF6" class="ng-scope"></stop>
      </linearGradient>
    </defs>


<g><rect width="30" fill="url(#c1)" height="100"></rect></g>
</svg>
</chromosome-fill-chart>
ポール・ルボー

<stop>要素には、角度ではなくd3を追加する必要がありますAngularがHTML / default名前空間にある要素を$compile()作成すると確信してstopいます。ただし、それらはSVG名前空間にある必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MPAndroidChart塗りつぶしの色のグラデーション

分類Dev

パネルを3色のグラデーションで塗りつぶします

分類Dev

matplotlibのグラデーションの塗りつぶしと色の変化

分類Dev

WPFチャートはグラデーションの塗りつぶしを削除します

分類Dev

グラデーション塗りつぶしSVGをjqueryで

分類Dev

SVG要素を繰り返し線形グラデーションカラーで塗りつぶします

分類Dev

ヒストグラムを色のグラデーションで塗りつぶす方法は?

分類Dev

2つ以上の定義された色のグラデーションによる連続スケールでの塗りつぶしまたは色付け

分類Dev

Rのグラデーションスケールでポリゴンを塗りつぶします

分類Dev

プログラムで色を少し暗いバージョンの塗りつぶしにします

分類Dev

左から右にグラデーションを塗りつぶします

分類Dev

wpfのスライダーコントロールの背景として背景または画像のグラデーションを塗りつぶす方法は?

分類Dev

円形のグラデーション塗りつぶしでsvg形状を作成するにはどうすればよいですか?

分類Dev

雲または任意のフォームを色で塗りつぶします(アニメーション)

分類Dev

棒グラフggplot2Rの色のグラデーションで棒を塗りつぶす

分類Dev

PDFBOX:グラデーションは特定の形状だけを塗りつぶすのではありません

分類Dev

GradientColorを使用して、塗りつぶしまたはストロークのグラデーションを完全にXMLで定義できますか?

分類Dev

グラデーションを使用して、ツールとしてのみ(目に見えるグラデーションなしで)長方形をいくつかの色で塗りつぶす方法は?

分類Dev

cssグラデーション1色塗りつぶし40pxと別の塗りつぶしcalc(100%-40px)

分類Dev

複数の色の塗りつぶしグラデーションによるタイル密度プロット

分類Dev

iOS用Swiftのグラデーション塗りつぶし-グラフ

分類Dev

iOS用Swiftのグラデーション塗りつぶし-グラフ

分類Dev

ホバー時にグラデーションsvgを単色で塗りつぶす方法

分類Dev

matplotlibの3Dバーにグラデーション塗りつぶしをプロットする方法

分類Dev

ggplot2で図形を色のグラデーションで塗りつぶす方法

分類Dev

グラデーション塗りつぶしの丸い矢印の形

分類Dev

ggplot2の密度プロットにグラデーション塗りつぶしを適用する

分類Dev

jqueryを使用してSVGの塗りつぶしをアニメーション化しますか?

分類Dev

ggplot:グラデーション塗りつぶしの高点と低点

Related 関連記事

  1. 1

    MPAndroidChart塗りつぶしの色のグラデーション

  2. 2

    パネルを3色のグラデーションで塗りつぶします

  3. 3

    matplotlibのグラデーションの塗りつぶしと色の変化

  4. 4

    WPFチャートはグラデーションの塗りつぶしを削除します

  5. 5

    グラデーション塗りつぶしSVGをjqueryで

  6. 6

    SVG要素を繰り返し線形グラデーションカラーで塗りつぶします

  7. 7

    ヒストグラムを色のグラデーションで塗りつぶす方法は?

  8. 8

    2つ以上の定義された色のグラデーションによる連続スケールでの塗りつぶしまたは色付け

  9. 9

    Rのグラデーションスケールでポリゴンを塗りつぶします

  10. 10

    プログラムで色を少し暗いバージョンの塗りつぶしにします

  11. 11

    左から右にグラデーションを塗りつぶします

  12. 12

    wpfのスライダーコントロールの背景として背景または画像のグラデーションを塗りつぶす方法は?

  13. 13

    円形のグラデーション塗りつぶしでsvg形状を作成するにはどうすればよいですか?

  14. 14

    雲または任意のフォームを色で塗りつぶします(アニメーション)

  15. 15

    棒グラフggplot2Rの色のグラデーションで棒を塗りつぶす

  16. 16

    PDFBOX:グラデーションは特定の形状だけを塗りつぶすのではありません

  17. 17

    GradientColorを使用して、塗りつぶしまたはストロークのグラデーションを完全にXMLで定義できますか?

  18. 18

    グラデーションを使用して、ツールとしてのみ(目に見えるグラデーションなしで)長方形をいくつかの色で塗りつぶす方法は?

  19. 19

    cssグラデーション1色塗りつぶし40pxと別の塗りつぶしcalc(100%-40px)

  20. 20

    複数の色の塗りつぶしグラデーションによるタイル密度プロット

  21. 21

    iOS用Swiftのグラデーション塗りつぶし-グラフ

  22. 22

    iOS用Swiftのグラデーション塗りつぶし-グラフ

  23. 23

    ホバー時にグラデーションsvgを単色で塗りつぶす方法

  24. 24

    matplotlibの3Dバーにグラデーション塗りつぶしをプロットする方法

  25. 25

    ggplot2で図形を色のグラデーションで塗りつぶす方法

  26. 26

    グラデーション塗りつぶしの丸い矢印の形

  27. 27

    ggplot2の密度プロットにグラデーション塗りつぶしを適用する

  28. 28

    jqueryを使用してSVGの塗りつぶしをアニメーション化しますか?

  29. 29

    ggplot:グラデーション塗りつぶしの高点と低点

ホットタグ

アーカイブ