2012-04-18 22 views
0

を用いscale_colour_manualためのベクトルを生成http://had.co.nz/ggplot2/scale_manual.htmlでggplot2マニュアルは次のような構造を使用することを提案します。私は限りだは、2つの入力ベクトル

A = c("8","4","6","10"); B = c("red","blue","darkgreen","orange") 

rbind(A,B) 
    [,1] [,2] [,3]  [,4]  
A "8" "4" "6"   "10"  
B "red" "blue" "darkgreen" "orange" 

しかし、私は、「X」の配列にそれを有効にする方法を確認していないどのように1は、二つの配列からこの構造体を生成しない

= "Y"の割り当て。

これは一般的なRの質問であり、ggplot2に固有の質問ではありません。しかし、私はggplot2にタグをつけているので、将来同じ問題を抱える人に役立つでしょう。何かアドバイス歓迎...

答えて

3

これは動作するはずです:

values = B 
names(values) = A 
> all.equal(values, 
+  c("8" = "red","4" = "blue","6" = "darkgreen", "10" = "orange")) 
[1] TRUE 

あなたはそのPythonの辞書の模倣の後にある行動。 keyvalueのペアがあり、特定のキーを参照すると値が返されます。このRの例では、keysは文字ベクトルの名前であり、valuesはベクトル内の値です。 ggplot2の場合、これは明示的にキー(例えば"8")をカラー値("red")に結合します。

+0

お返事が遅れて申し訳ありません - 私はstackoverflowから通知を受け取ると思っていましたが、設定が間違っている必要があります) – Sujai

+1

ggplot2フォーラムの有益なメンバーから、 (scale_colour_manualを使用するという元の問題に追加の解決策が追加されました。誰にでも使用できるようにリンクされています):https://groups.google.com/forum/?fromgroups#!topic/ggplot2/0k9xjSzx6aw – Sujai

関連する問題