これは私が生成したグラフのイメージです:Current Series ChartDC.jsシリーズチャートのさまざまな行に異なる線パターンをプロットするにはどうすればよいですか?
すべての行に同じパターンを適用したラインチャートオブジェクトにdashStyle関数を適用しました。私は別のパターン(破線、点線、平面線など)を持つ各ラインとのシリーズチャートをプロットする必要があります。チャート関数の "c"オブジェクトには多くの属性があります。どの属性がデータ値に対応しているのかわかりません。 "c"オブジェクトのデータ属性には、 "_dc/dc.baseMixin/_chart.data()"のようなものがあります.JavaScriptとDCの新機能で、何が起こっているのか完全に理解していません。
折れ線グラフで、異なる線の異なるパターンをプロットする方法はありますか?
は、ここでは、この例に言及した後に実施された私の現在のコードです:http://dc-js.github.io/dc.js/examples/range-series.html
focusChart
.width(920)
.height(380)
.chart(function(c) { console.log(c);return dc.lineChart(c).dashStyle([2,3]).interpolate('cardinal').evadeDomainFilter(true); })
.x(d3.scale.linear().domain([1995,2017]))
.brushOn(false)
.yAxisLabel("Topic Weight")
.xAxisLabel("Year")
.elasticY(true)
.dimension(series1Dimension)
.group(series1Group)
.colorAccessor(function(d){
return d.key.split(",")[0].slice(5);
})
.colors(TopicColorScale)
focusChart.seriesAccessor(function(d) {return " " + d.key[0];})
.keyAccessor(function(d) {return +d.key[1];})
.valueAccessor(function(d) {return +d.value;})
.legend(dc.legend().x(400).itemHeight(13).gap(1).horizontal(10).legendWidth(540).itemWidth(210));
focusChart.yAxis().tickFormat(function(d) {return d3.format('d')(d);});
focusChart.xAxis().tickFormat(function(d) {return d3.format('d')(d);});
focusChart.margins().left += 20;
任意の助けもいただければ幸いです!
ありがとうございます!私は提案されたようにチャート関数の3番目の引数(Key)を使って、各行に対して異なるdashStyleロジックを実装することができました。あなたは素晴らしいです! また、異なるパターンを追加する方法があるかどうか尋ねたいと思いますか?私は20行をプロットしていますが、dashStyleメソッドはパターンのバリエーションを十分に作り出すのに役立ちました。もっと知りたいのは興味があるだけです。 –
[SVGの 'marker-pattern'をまだサポートしているブラウザはありません(https://stackoverflow.com/questions/41555688/svg-repeating-markers-through-the-line-path)。しかし、その質問は[行の別の答え](https://stackoverflow.com/a/41108752/676195)にリンクしています。これは、行に沿った%位置にテキストシンボルを配置できることを示しています。 – Gordon