web-dev-qa-db-ja.com

Matlabでの密度の散布図

データセット1とデータセット2を1つの縦棒グラフにプロットします。残念ながらデータは巨大なので、それは単なる点のほんの一部であり、密度を見ることができません。私はhist3やその他の提案を試しましたが、データセットが上書きされ、ビニングがひどく見えます。

散布密度プロットをプロットする別の方法はありますか?それのためのMatlab関数は本当にありませんか?そうでない場合、そのようなプロットを簡単に生成するにはどのプログラムを使用できますか?

この2つの例の組み合わせ:

Example1

Example2
(ソース: bcgsc.ca

10
C.Colden

@ Emil Albert の訂正に感謝(転置が欠落していた)


hist3 を計算して、結果を imagesc で表示することの何が問題になっていますか?

data1 = randn(1,1e5); %// example data
data2 = randn(1,1e5) + .5*data1 ; %// example data correlated to above
values = hist3([data1(:) data2(:)],[51 51]);
imagesc(values.')
colorbar
axis equal
axis xy

enter image description here


真のデータ値に応じて Axesを使用する場合は、hist3の2番目の出力を使用してビンの中心の位置を取得し、それらをimagescに渡します。 :

data1 = randn(1,1e5); %// example data
data2 = 2*randn(1,1e5) + 1.2*data1 + 4; %// example data correlated to above
[values, centers] = hist3([data1(:) data2(:)],[51 51]);
imagesc(centers{:}, values.')
colorbar
axis xy

enter image description here

20
Luis Mendo

ファイル交換で Violin Plot を試してみてください。それは非常にカスタマイズ可能です。いつも使っています。 @Jonasに感謝します。

2
yuk