2016-03-25 16 views
0

私はプロットしてparralelプロットを行っています。それは動作しますが、巨大なデータに適用すると、非常に時間がかかります。なぜなら、私は多くの "トレース"マーカーを使っているからです。Plotly Parralelプロットを最適化する

どうすれば速くできますか?

私はまだそれを行う方法を示す再生可能な例があります:

#Create data 
markers=paste("markers",letters,sep="_") 
data=data.frame(
    mark=rep(markers,3), 
    map=c(rep(1,26) , rep(2,26) , rep(3,26)), 
    pos=sample(seq(1:100) , 26*3) 
    ) 

# Make the plot with Plotly 
library(plotly) 
plot_ly(data , x=map , y=pos, mode="markers+lines" , group=mark) 

そして、それが

My current plotly parallel plot

結果では、あなたの助けをありがとうございました!

答えて

0

各トレースについて、plotly.jsはデフォルトのプロットとレイアウトデータを計算する必要があるため、初期プロットはあまり速くありません。大きなデータセットの場合は、scatterの代わりにscatterglプロットタイプを使用する必要がありますが、できるだけ多くのトレースをプロットする必要がないようにデータを並べ替えるのが理想的です。

+0

あなたの答えはありがとうございますMiklos!どのようなフォーマットでもデータセットを並べ替えても大丈夫です!私はちょうどどのフォーマットが最も適切であるか分かりません。scatterglプロットタイプに関して、私はどのようにプロットしてそれを呼び出すことができますか?もう一度おねがいします – yholtz

+0

scatterglプロットを作成するには、 'type = 'scattergl''を' plot_ly'の呼び出しに追加するだけです。これだけでプロットが高速化されるはずですが、それを超えて、データポイントを単一のトレースに集約すること、つまりプロットしているxリストとyリストが1つだけで済むようにすることをお勧めします。 全開示 - 私は1トンのRを知らないが、私はplotly.jsで働いている! –

0

plotly.jsにネイティブ並列座標トレースparcoordsがあり、スケーラブルな操作用に作成されています。クロスフィルタリングとレンダリングにGPUを使用します。したがって、スタイリングの一部は通常のlinesよりも制約があります。ブラシフィルタリングに加えて、軸のタイトルをつかんで軸のドラッグ&ドロップも行います。

DOC:https://plot.ly/javascript/reference/#parcoords

例:APIバインディング通常、機能は、Pythonを介してアクセス可能であり、Rなどとして

すぎ、例えばhttps://plot.ly/python/parallel-coordinates-plot/

このページの今後の検索ヒットにこの質問を追加するのは、古い質問です。

関連する問題