42の変数があり、それらの相関行列をMatlabで計算しました。今、それをスキーマボールで視覚化したいと思います。誰かがこれをMatlabでどのように行うことができるか提案/経験がありますか?次の写真は私のポイントをよりよく説明します:
写真では、変数間の各放物線は、変数間の相関の強さを意味します。線が太いほど相関が高くなります。相関の強さを強調するために別の色を使用した図2のスタイルよりも、図1のスタイルの方が好きです。
ちょっと終わったと思います。コードは見つかります ここgithubで 。ドキュメントはファイルに含まれています。
黄色/マゼンタ色(正/負の相関関係)、およびラベルのフォントサイズとラベルがプロットされる角度を構成できるため、必要に応じて、周囲に沿って均等に分布させないようにできます。グループ化...
これらのグラフを実際に印刷したり、MATLABの外部で使用したりする場合は、ベクター形式(epsなど)を使用することをお勧めします。また、ズームイン/ズームアウトしたときにテキストのサイズが変更されるのも厄介ですが、ズーム機能をハッキングせずに修正する方法はわかりません:/
schemaball % demo
schemaball(arrayfun(@num2str,1:10,'uni',false), Rand(10).^8,11,[0.1587 0.8750],[0.8333 1],2*pi*sin(linspace(0,pi/2-pi/20,10)))
schemaball(arrayfun(@num2str,1:50,'uni',false), Rand(50).^50,9)
my versionを完成させて FEX:schemaball に送信し、リンクをできるだけ早く更新します。
Gunther Struyf の貢献にはいくつかの違いがあります。
デモ、カスタムラベル、クリエイティブのカスタマイズのexamplesに従ってください。注:最初の図は saveas()
でエクスポートされ、他のすべての図は export_fig
でエクスポートされました。
schemaball
x = Rand(10).^3;
x(:,3) = 1.3*mean(x,2);
schemaball(x, {'Hi','how','is','your','day?', 'Do','you','like','schemaballs?','NO!!'})
h = schemaball;
set(h.l(~isnan(h.l)), 'LineWidth',1.2)
set(h.s, 'MarkerEdgeColor','red','LineWidth',2,'SizeData',100)
set(h.t, 'EdgeColor','white','LineWidth',1)
デフォルトのカラーマップ:
画面上レンダリングを改善するために、デフォルトでアンチ/エイリアスグラフィックスを生成する実験的な-hgVersion 2
スイッチを使用してMATLABを起動できます(ソース: HG2 update | Undocumented Matlab ) 。ただし、Figureを保存しようとすると、ファイルには通常の古いアンチエイリアス処理されたレンダリングが含まれるため、Guntherのスキーマボールのプリントスクリーンイメージを次に示します。
重要な更新:
FileExchangeサブミッションを使用して、Matlabでこれを実行できます。
http://www.mathworks.com/matlabcentral/fileexchange/48576-circulargraph
ここにMatlabの例があります:
http://uk.mathworks.com/examples/matlab/3859-circular-graph-examples
これはこの種の美しいプロットを与えます:
偶然にも、Cleve Moler(MathWorksの主任数学者)は彼の最新の blog post にこの種のプロットの例を示しました(例の例ほど美しくなく、接続線は直線的です)放物線よりも、機能的に見えます)。残念ながら、彼はコードを直接含めていませんでしたが、投稿にコメントを残しておけば、たいていは喜んで情報を共有してくれます。
さらに優れているのは、高度に接続されたノードの空間的近接性を最大化するために、配列の行/列を並べ替えるためにコードを適用(今回も含む)することです。最終的に、三日月形の太いビットが最も高度に接続されたノードを表す、三日月形の接続線のエンベロープができます。
ただし、残念ながら、サンプルプロットで非常に細い高解像度のラインを取得するために彼のコードを拡張する必要がある場合、MATLABの現在のアンチエイリアス処理されていないグラフィックスは、まだ十分ではないと思います。
最近、MATLABデータと D3視覚化ライブラリ を同様のグラフで実験しています-関心のある円形の視覚化にはいくつかの関連するタイプがあり、それらの多くはインタラクティブです。もう1つの役立つ、よく焼き上げられた、自由に利用できるオプションは Circos で、これはおそらく、人気のあるプレスで見たこれらのグラフのよりきれいなバージョンのほとんどの原因です。