2つのデータフレームでgeom_tileプロットを作成します

ネイトウォーカー

以下は、geom_tileを使用してヒートマップを作成しようとするRコードです。プロット内で、ボックスのアウトラインと、ヒートマップを完成させるための塗りつぶし(コードではexitspeedというタイトル)もあるx // y座標の個別のペア(コードではplatelocsideとplatelocheightというタイトル)をプロットする必要があります。これが、プロットしたいデータフレームの現在の構造です(コードでは「df」とラベル付けされています)。

structure(list(platelocheight = c(2.594, 3.803, 3.254, 3.599, 
3.617, 3.297, 2.093, 3.611, 2.842, 3.316, 2.872, 3.228, 3.633, 
4.28, 3.309, 2.8, 2.632, 3.754, 2.207, 3.604, 3.443, 2.188, 3.452, 
2.553, 3.382, 3.067, 2.986, 2.785, 2.567, 3.804), platelocside = c(0.059, 
-1.596, -0.65, -0.782, -0.301, -0.104, 0.057, -0.807, 0.003, 
1.661, 0.088, -0.32, -1.115, -0.146, -0.364, -0.952, 0.254, 0.109, 
-0.671, -0.803, -0.212, -0.069, -0.09, -0.472, 0.434, 0.337, 
0.723, 0.508, -0.197, -0.635), exitspeed = c(69.891, 73.352, 
83.942, 85.67, 79.454, 85.277, 81.078, 73.573, 77.272, 59.263, 
97.343, 91.436, 76.264, 83.479, 47.576, 84.13, 60.475, 61.093, 
84.54, 69.959, 88.729, 88.019, 82.18, 83.684, 86.296, 90.605, 
79.945, 59.899, 62.522, 77.75)), .Names = c("platelocheight", 
"platelocside", "exitspeed"), row.names = c(NA, 30L), class = "data.frame")
> 

コードを実行すると、出力でボックスのアウトラインを取得できますが、他のデータフレーム(タイトルdf)はプロットされませんでした。2つの別々のデータフレームをプロットできるgeom_tileを誰が使用するか知っている人はいますか?前もって感謝します!

library(RODBC)
library(ggplot2)


con=odbcConnect('ID',uid='username', pwd = 'password')

df=sqlQuery(con,"select platelocheight, platelocside, exitspeed from tm_sample where pitchcall='InPlay' 
and exitspeed is not null")

topKzone <- 3.5
botKzone <- 1.6
inKzone <- -0.95
outKzone <- 0.95
kZone <- data.frame(
  x=c(inKzone, inKzone, outKzone, outKzone, inKzone),
  y=c(botKzone, topKzone, topKzone, botKzone, botKzone)
)

ggplot(kZone, aes(x,y)) +
  geom_tile(data=df, aes(x=platelocside, y=platelocheight, fill= exitspeed)) +
  scale_fill_distiller(palette = "Spectral") +
  geom_path(lwd=1.5, col="black") +
  coord_fixed() 
onlyphantom

問題は、2つのデータフレームの使用ではなく、geom_tile()それ自体の実装にあることです。

あなたが交換した場合geom_tile異なるGEOMのために、と言うgeom_pointか、geom_hexたとえば、あなたはプロットが完全にレンダリングされていることを参照してくださいね。

library(ggplot2)
ggplot(kZone, aes(x,y)) +
  geom_hex(data=df, aes(x=platelocside, y=platelocheight, col=exitspeed)) +
  scale_fill_distiller(palette = "Spectral") +
  geom_path(lwd=1.5, col="black") +
  coord_fixed() 

これを生成します: ここに画像の説明を入力してください

理解 geom_tile

geom_tile 連続的なxおよびyスケールを使用しているため、データでは適切な選択ではありません。これにより、ヒートマップのようなグラフィックと比較して、散布図のようなものでより実行可能な選択になります。

あなたは例を見ることができます:

ggplot(mtcars, aes(x=as.factor(gear), y=as.factor(cyl), fill=hp))+
    geom_tile()

ここに画像の説明を入力してください

2つの連続変数で呼び出す場合と比較して:

ggplot(mtcars, aes(x=wt, y=mpg, fill=hp))+
    geom_tile()

何もプロットされていないように見えるほど実際には非常に小さいタイルが表示されます。

質問に戻ると、df使用しているものplatelocsideplatelocheightは、数値の連続変数としての両方あります。それはgeom_hex理想的とは言えない選択になります。あなた使用することを主張するならgeom_tile、私は2つの解決策のうちの1つを使用するでしょう:

解決策1

タイルの代わりにポイントを取得するcolにはfill、の代わりに使用します(xyは因子変数ではないため)

library(ggplot2)
ggplot(kZone, aes(x,y)) +
  geom_tile(data=df, aes(x=platelocside, y=platelocheight, col=exitspeed), size=4) +
  scale_fill_distiller(palette = "Spectral") +
  geom_path(lwd=1.5, col="black") +
  coord_fixed() 

解決策2

メイクxy因子変数:

df$h <- round(df$platelocheight)
df$s <- round(df$platelocside)

ggplot(kZone, aes(x,y)) +
  geom_tile(data=df, aes(x=s, y=h, fill=exitspeed)) +
  scale_fill_distiller(palette = "Spectral") +
  geom_path(lwd=1.5, col="black") +
  coord_fixed() 

ここに画像の説明を入力してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

geom_tileヒートマップを2番目のインジケーターgeom_tileレイヤーでオーバーレイする方法は?

分類Dev

データを変換し、geom_tileでヒートマップを作成する方法は?

分類Dev

R-ggplot2 geom_tileは、ヒートマップとは異なるグラフを作成します

分類Dev

データフレームの列をループして、ggplot2でプロットを作成します

分類Dev

ヒートマップにバープロットレイヤーを追加します(geom_tile)

分類Dev

2つのデータフレームからプロットを作成するときに、ggplotの凡例を手動で作成します

分類Dev

geom_raster() または geom_tile または geom_rect() で複数のレイヤーをプロットする

分類Dev

タイルごとに複数の凡例カテゴリ(塗りつぶし)を含むgeom_tileプロットを作成します

分類Dev

2つの同一のデータフレームの列をループしてプロットします

分類Dev

2つのy軸を持つ2つのデータフレームからプロットを作成します

分類Dev

2つのy軸でデータフレームをプロットする

分類Dev

2つのパンダデータフレーム列間の差異の分布をプロットします

分類Dev

2つのパンダデータフレームをそれぞれサブプロットスタイルで並べてプロットします

分類Dev

geom_tileプロットのy軸を変数で並べ替えます

分類Dev

2つのデータフレーム値に基づいてプロットを色分けします

分類Dev

ggplot に 2 番目の geom_tile レイヤーを追加します。

分類Dev

異なるグラフを使用して、2つのデータフレームのデータを1つのプロットに結合します

分類Dev

ggplot2を使用して、ヒートマップのように整列するように2つのgeom_tileを並べてプロットするにはどうすればよいですか?

分類Dev

新しいデータフレームを作成せずに、Rのggplot2を使用して、異なるデータフレームからの2つの系列を互いにプロットするにはどうすればよいですか?

分類Dev

因子変数のモードまたはRでヒートマップを作成する他の方法でgeom_tileを埋めます

分類Dev

R ggplot2:グループ化されたサンプルの塗りつぶしをgeom_tileのバイナリデータと統合する

分類Dev

パンダは4つのデータフレームシリーズから2つのサブプロットをプロットします

分類Dev

rの2つのデータフレームから連絡先マップを作成します

分類Dev

ggplot2 geom_tile:非連続データをプロットするときに行間に間隔を空けない方法

分類Dev

ggplot2のgeom_tileマップの平滑化-データの補間

分類Dev

R:1つのデータフレーム内の値のセットをループして、2番目のデータフレームを更新します

分類Dev

2つの異なるデータフレームを使用して、積み上げ面積プロットにラインプロットを課します

分類Dev

プロット関数は、このデータフレームに1つの量のみをプロットします。理由は何でしょうか?

分類Dev

2つのデータフレームを連結し、パンダに重複をドロップします

Related 関連記事

  1. 1

    geom_tileヒートマップを2番目のインジケーターgeom_tileレイヤーでオーバーレイする方法は?

  2. 2

    データを変換し、geom_tileでヒートマップを作成する方法は?

  3. 3

    R-ggplot2 geom_tileは、ヒートマップとは異なるグラフを作成します

  4. 4

    データフレームの列をループして、ggplot2でプロットを作成します

  5. 5

    ヒートマップにバープロットレイヤーを追加します(geom_tile)

  6. 6

    2つのデータフレームからプロットを作成するときに、ggplotの凡例を手動で作成します

  7. 7

    geom_raster() または geom_tile または geom_rect() で複数のレイヤーをプロットする

  8. 8

    タイルごとに複数の凡例カテゴリ(塗りつぶし)を含むgeom_tileプロットを作成します

  9. 9

    2つの同一のデータフレームの列をループしてプロットします

  10. 10

    2つのy軸を持つ2つのデータフレームからプロットを作成します

  11. 11

    2つのy軸でデータフレームをプロットする

  12. 12

    2つのパンダデータフレーム列間の差異の分布をプロットします

  13. 13

    2つのパンダデータフレームをそれぞれサブプロットスタイルで並べてプロットします

  14. 14

    geom_tileプロットのy軸を変数で並べ替えます

  15. 15

    2つのデータフレーム値に基づいてプロットを色分けします

  16. 16

    ggplot に 2 番目の geom_tile レイヤーを追加します。

  17. 17

    異なるグラフを使用して、2つのデータフレームのデータを1つのプロットに結合します

  18. 18

    ggplot2を使用して、ヒートマップのように整列するように2つのgeom_tileを並べてプロットするにはどうすればよいですか?

  19. 19

    新しいデータフレームを作成せずに、Rのggplot2を使用して、異なるデータフレームからの2つの系列を互いにプロットするにはどうすればよいですか?

  20. 20

    因子変数のモードまたはRでヒートマップを作成する他の方法でgeom_tileを埋めます

  21. 21

    R ggplot2:グループ化されたサンプルの塗りつぶしをgeom_tileのバイナリデータと統合する

  22. 22

    パンダは4つのデータフレームシリーズから2つのサブプロットをプロットします

  23. 23

    rの2つのデータフレームから連絡先マップを作成します

  24. 24

    ggplot2 geom_tile:非連続データをプロットするときに行間に間隔を空けない方法

  25. 25

    ggplot2のgeom_tileマップの平滑化-データの補間

  26. 26

    R:1つのデータフレーム内の値のセットをループして、2番目のデータフレームを更新します

  27. 27

    2つの異なるデータフレームを使用して、積み上げ面積プロットにラインプロットを課します

  28. 28

    プロット関数は、このデータフレームに1つの量のみをプロットします。理由は何でしょうか?

  29. 29

    2つのデータフレームを連結し、パンダに重複をドロップします

ホットタグ

アーカイブ