2016-12-07 10 views
-2

私は光沢のあるプロットで名前としてシャイニーな入力を使いたいです。ggplot2シリーズ名と凡例ラベルとして光沢がありますか?

ggplot() + 
    ... 
    geom_point(data=data.frame(), aes(x=x, y=y, color=paste(input$name)), 
     size = 3) + 
    scale_color_manual(values=c("df1"="blue", "df2"="blue", 
     paste(input$name)="red")) 

それは文字列としてpaste(input$name)を認識しません:

は、ここに私のコードです。ここではエラーメッセージは次のとおりです。

1512:  scale_color_manual(values=c("df1"="blue", "df2"="blue", 
1513:  paste(input$name)= 
          ^

誰もがこれを適切に構築する方法を知っていますか?

+0

なぜ私はそれをしますか?私は正常に動作していない両方のタグを提供し、他のすべてのギオムは正常に動作しています。問題はggplot2関数が 'paste(input $ name)'を関数内の文字列を呼び出す関数として認識しないことです。私は誰かがそれを回避する方法を考え出しているかどうか尋ねています。プロットの20行すべてを投稿しなかったのは、コード内に専有情報を含む20行を検閲して検閲する必要がないからです。 – milkmotel

答えて

1

あなたがしているような文字列や記号、式を混在させることはできません。あなたはaes()マッピングで文字列を使用したい場合は、aes_またはaes_stringpasteは必要ありません)を使用

aes_string(x="x", y="y", color=input$name) 

そして、あなたが名前のベクトルで=の左側の式を置くことができません。代わりにsetNames()のようなものを使用してください。

values = setNames(c("blue", "blue", "red"), c("df1", "df2", input$name)) 

上記要求されたとして、あなたはreproducible exampleが含まれている場合、それは可能な解決策を適切にテストすることができますので、将来的に容易になるだろう。これはまったく光栄ではありません。これはちょうどggplotとRの仕組みです。

関連する問題