私はggplot2を使ってヒートマップを作成しようとしています。私はthis exampleを見つけましたが、これは本質的に私のデータを複製しようとしていますが、難しかったです。ggplot2でヒートマップを作成する方法は?
people,apple,orange,peach
mike,1,0,6
sue,0,0,1
bill,3,3,1
ted,1,1,0
私は果物の名前はx軸上にあり、人がy軸上にある簡単なヒートマップを作成したいと思います:私のデータは、このようになりますシンプルな.csvファイルであります。グラフには四角形が描かれていなければなりません。各四角形の色は消費された果物の数です。 mike:peach
に対応する四角形は、最も暗くなるはずです。
data <- read.csv("/Users/bunsen/Desktop/fruit.txt", head=TRUE, sep=",")
fruit <- c(apple,orange,peach)
people <- data[,1]
(p <- ggplot(data, aes(fruit, people)) + geom_tile(aes(fill = rescale), colour = "white") + scale_fill_gradient(low = "white", high = "steelblue"))
を私はx軸とy軸上の人々の果実の数を取得し、このデータをプロットする場合:ここで
は私がヒートマップを作成しようとする使用していたコードです。果物の数を表す色のグラデーションも得られません。ヒートマップとして表示された人が食べた果物の数で、x軸上の果物の名前を取得するにはどうすればよいですか?私はRに取得しています 電流出力は次のようになります。dr.bunsen @正直に言うと
@GeekOnAcid私は元の質問内のデータと上記のコードを実行しようとしたが、それは失敗しました:再スケール(値)でエラー:使用法:rescale(x、newrange)xは数値オブジェクトで、newrangeは新しいminとmaxです。どうしたの? – Ali
@AliSharifiはい、そうです。 'ggplot2'や' recale'機能を削除した他のパッケージや、他の機能にシフトされたパッケージには何らかの変更があったに違いありません。あなたが必要とするのは、最小と最大を指定するために数値ベクトルを再スケーリングする 'scales'パッケージから' rescale'を使うことです。完全に再現できるようにコードを更新しました。 –
@GeekOnAcid完璧! – Ali