タグ付けされた質問 「ggplot2」

ggplot2は、「グラフィックの文法」の原則に基づいて、Hadley Wickhamによって書かれた、積極的に保守されているR用のオープンソースのチャート描画パッケージです。Rの基本的なプロットとラティスパッケージを部分的に置き換え、クリーンでパワフルで直交性のある楽しいAPIを提供します。

1
ggplot2のgeom_pointのnpc座標
どのように私は得ることができますのx、yの座標geom_pointでggplot参照フレームが全体のプロットイメージですか、? 私はいくつかのgeom_pointを使ってggplotを作成できます: library(ggplot2) my.plot <- ggplot(data.frame(x = c(0, 0.456, 1), y = c(0, 0.123, 1))) + geom_point(aes(x, y), color = "red") これは与える: これをgrobに変換することにより、紫色の矢印でマークされた、プロットパネルに関する座標など、このggplotに関する追加情報を抽出できます。ただし、これは軸が占めるスペースを無視します。 my.grob <- ggplotGrob(my.plot) my.grob$grobs[[6]]$children[[3]]$x # [1] 0.0454545454545455native 0.46native 0.954545454545454native my.grob$grobs[[6]]$children[[3]]$y # [1] 0.0454545454545455native 0.157272727272727native 0.954545454545454native 緑の矢印でマークされた画像全体の左下隅から測定を開始するときに、x、y座標の値を取得するにはどうすればよいですか? 可能であれば、ggplotのテーマを考慮した解決策を求めています。のようなテーマを追加すると、Axesに影響し、プロットされた画像全体に対して点の位置もシフトします。+ theme_void() 更新:軸のフォントサイズは、プロットの幅と高さに応じて変化し、プロットパネルの相対サイズに影響することに気付きました。そのため、プロット幅とプロット高さを定義せずにnpc単位で位置を指定するのは簡単ではありません。可能な場合は、geom_pointsの位置をプロット幅とプロット高さの関数として指定します。
10 r  ggplot2  grob 

1
ggplotグラフの個々のバーに画像を挿入する方法
さまざまな統計でさまざまなNBAルーキーを比較しようとしています。r/ dataisbeautifulグラフのように、グラフの最後にプレーヤーの顔を追加できれば、グラフが見栄えが良いと思いました。私のコードは現在これです: a3 %>% ggplot(aes(x = reorder(Player, PPM), y = PPM)) + geom_bar(stat = "identity", aes(fill = Player)) + geom_text(aes(label = PPM), size = 3, position = position_dodge(width = 1), hjust = -0.1) + coord_flip() + theme_minimal() + xlab("Player") + ylab("Points Per Minute") + theme(legend.position = "none") これは私のグラフが現在どのように見えるかです
9 r  image  ggplot2 

3
Rの線密度ヒートマップ
問題の説明 プロットしたい数千行(約4000)があります。ただし、すべての線を使用してプロットすることは不可能でありgeom_line()、たとえばalpha=0.1、線の密度が高い場所とない場所を示すためだけに使用することはできません。私はPythonで似たようなものに出くわしました。特に、回答の2番目のプロットは本当に良さそうですが、似たようなものをで達成できるかどうかはわかりませんggplot2。したがって、このようなもの: サンプルデータセット パターンを示すセットを使用してこれを示す方がはるかに理にかなっていますが、ここではランダムな正弦曲線を生成しました。 set.seed(1) gen.dat <- function(key) { c <- sample(seq(0.1,1, by = 0.1), 1) time <- seq(c*pi,length.out=100) val <- sin(time) time = 1:100 data.frame(time,val,key) } dat <- lapply(seq(1,10000), gen.dat) %>% bind_rows() ここで答えたようなヒートマップ を試してみましたが、このヒートマップは、完全な軸上の点の接続(直線など)を考慮せず、時間ごとの「ヒート」を示します。 質問最初の図に示されているのと同様のラインのヒートマップを 使用して、Rでどのようにできggplot2ますか?
8 r  ggplot2  plot  heatmap 

1
Rに2つの軸を持つ凡例をプロットする方法はありますか?
2つの軸を持つ凡例をプロットしたいと思います。具体的には、分類された2つの空間オブジェクトを組み合わせました。1つはイベントの強度を示し、2つ目はその場所でのイベントの確率を示します。結合されたラスターのピクセルが各カテゴリに分類される場所を示す凡例を作成します。作成する凡例は次のようになります 。2つの軸を持つ凡例。 分類されたデータの通常の凡例は次のようになります:元の凡例 これは私が使用しているデータのタイプの再現可能な例です: library(raster) library(rasterVis) # setseed set.seed(999) # create raster (example of what would be the outcome of combining intensity and probability rasters) plot.me<- raster(xmn=-110, xmx=-90, ymn=40, ymx=60, ncols=40, nrows=40) val <- c(100:104, 200:204, 300:304, 400:404) plot.me<- setValues(plot.me, sample(val,ncell(plot.me),replace=T)) ###### Plotting plot.me <- ratify(plot.me) levelplot(plot.me,att="ID" , col.regions=c("#beffff","#73dfff","#d0ff73","#55ff00", "#73b2ff","#0070ff","#70a800","#267300", …

1
ggridgesのridgeplotに垂直方向のカラーグラデーションを追加するにはどうすればよいですか?
ggridgesのパッケージには、いずれかのソリッドカラーでridgeplotsを描くことができます: ggplot(iris, aes(x=Sepal.Width, y=Species))+ geom_density_ridges(alpha=0.33, scale=2, fill="#0570b0", colour=alpha(0.1))+ theme_classic() または水平方向の色のグラデーション: ggplot(iris, aes(x=Sepal.Width, y=Species, fill=..x..))+ geom_density_ridges_gradient(scale=2,colour=alpha(0.1))+ theme_classic()+ scale_fill_gradient(low="#0570b0", high="White") しかし、この例(D3.jsを使用して描画されたもの)のように、垂直方向の色のグラデーションを持つ同様のグラフを作成できるかどうかを知りたいです。Rで同様のものを実装する方法はありますか? 画像ソースONS:自殺や薬物中毒で死亡する可能性が最も高い中年世代
8 r  ggplot2  ggridges 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.