問題タブ [r-grid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
5199 参照

r - R - PDF にページ番号を追加する

PDF にページ番号を追加するのに問題があります。ページ/プロットを挿入する方法は次のとおりです。

onefile はページ番号でファイルに名前を付けているようですが、同じファイルにページ番号を表示したいです。

編集
@Gavin のコード サンプルを変更して、グラフィック タイプを混合してページ番号を取得する作業バージョンを作成しました。

0 投票する
2 に答える
632 参照

r - グリッドユニットオブジェクトの追加

したがって、セットアップは次のようになります。

unitオブジェクトをhjust次の場所に渡すことで、x軸のラベルを調整できます。

しかし、私が把握していないユニットオブジェクト(?unitによると可能性があります)を追加することについて何かがあります:

次のエラーが発生します。

さらなる文脈として、私はここでバプティストを介してやや不可解な回避策をつなぎ合わせようとしています

0 投票する
1 に答える
3156 参照

r - グリッドを使用して ggplot2 オブジェクトを編集し、数式をファセット ラベルに追加するにはどうすればよいですか?

ggplot2 で facet_wrap() を使用してギリシャ文字をファセット ラベルに入れる必要があります。facet_grid() についても同じことを説明しているリンクを見つけました。次のコードを使用して、これをデータに適用しました。

これはうまく機能し、まさに私が望むことを行います。ただし、代わりに facet_wrap() を使用する必要があります (両方のパラメーターの個別の y 軸を取得し、さらに多くのパラメーターを異なる列と行にプロットするため)。私は次のことを試しました:

しかし、facet_wrap に「ラベラー」関数がないため、これは機能しませんでした。グリッドを使用してこれをどのように行うことができますか?

0 投票する
2 に答える
3299 参照

r - R のグリッドを使用して単位を npc からネイティブに変換する

私の問題の核心:

grid パッケージの convertUnit、convertX、および convertY 関数を使用して、npc 単位をネイティブ単位に変換しようとしています。(npc = 正規化された親座標、おそらく ndc 単位として知られている、ベース グラフィックス R の一部に正規化されたデバイス座標。プロットがグラフ化されるネイティブ単位に到達しようとしているので、xlim および ylim 単位に関して.)しかし、私がこれをやろうとすると:

ネイティブの x 座標として 9 に近い数値を期待している場合。convertX は、代わりにデバイス座標/ピクセルで単位を返しているようです。

理由: ベース ロケーター タイプのデバイスを使用して npc 座標を返し、それらの npc 座標から、グラフがプロットされたネイティブ座標に変換しようとしています。ベース グラフィックスのロケーターまたは grid.locator を使用できますが、npc からネイティブに変換して、この新しいノンブロッキング ロケーターの機能をグリッド/ラティス グラフィックスに拡張しようとしています。convertUnit と convertY も機能しません。

質問 グリッドが npc からアクティブなプロット ウィンドウのネイティブ座標に戻すことは可能ですか? convertX がネイティブ座標ではなくピクセルを返すのはなぜですか?

よろしくお願いします。

タグとずさんな間違いのために編集され、前に xyplot が除外されました。申し訳ありませんが、それは xyplot に当てはまります。

0 投票する
4 に答える
35017 参照

r - ggplotsの「不均衡な」グリッドを取得するにはどうすればよいですか?

を使用すると、次のようなものを使用して、grid.arrange複数の図をグリッドに配置ggplotして、マルチパネルの図を作成できます。

いくつかのggplot2プロットを生成してから、

最初の列全体に1つのプロットがあり、2番目の列に3つのプロットがある、「不均衡な」2列のレイアウトを取得するにはどうすればよいですか?grid.arrangeあるグリッド(たとえばplot5、上記)を別のプロットに対してプロットするために使用することで、「グリッドオブグリッド」アプローチを試してみましたが、次のようになりました。

ArrangeGrob(...、as.table = as.table、clip = clip、ma​​in = main、:入力はgrobsである必要があります!のエラー

アップデート:

アドバイスありがとうございます。調べてみviewportsますgrid。それまでの間、@ DWinのおかげで、「wq」パッケージの関数は、私のドキュメント layOutのコンパイル図に対して非常にうまく機能しました。Sweaveここに画像の説明を入力してください

アップデート2:

コマンド(@baptisteによって提案されたarrangeGrob)もうまく機能し、非常に直感的に見えます-少なくとも2つの列の幅を変更するのは簡単でした。また、「wq」パッケージを必要としないという利点もあります。

たとえば、Sweaveファイルのコードは次のとおりです。

これにより、次の出力が生成されます。 ここに画像の説明を入力してください

ところで、なぜ「>NA」が表示されるのか誰か教えてください。

0 投票する
1 に答える
7940 参照

r - R YaleToolkit:スパークラインの目盛りラベルのフォントサイズを変更するには?

私はこの関数をsparklinesRですばやく簡単に使用していますが、y軸の目盛りラベルの醜い重なりを避けるためにフォントサイズを変更する方法がわかりません。これが私のコードです(再現可能な例については以下を参照してください):

sparklines(gamma.df, sub=c(1:23),outer.margin = unit(c(2, 2, 2, 2), "cm"))

そして結果のプロット:

ここに画像の説明を入力

でy軸を完全に抑えることができそうです

sparklines(gamma.df, sub=c(1:23),yaxis=FALSE,outer.margin = unit(c(2, 2, 2, 2), "cm"))

しかし、私が本当に欲しいのは、目盛りの数字を縮小することです(そして、線の下に灰色の塗りつぶしを追加しますが、画面上にポリゴンを描画する必要があるように見えますが、これはおそらく別の質問に値するのに十分な問題です...と別のパッケージ)。

ドキュメントは、 gparが関連している可能性があることを示唆しています:「グラフィックス パラメーターのリストが必要なすべての場合において、有効なパラメーター名は、適切な呼び出しで gpar に渡された場合に有効な名前と同じです。」しかし、私の試みのどれもどこにも到達していないように見えるので、それを理解するには少し助けが必要です (cex.axis と axis() についても同様です)。R のgridグラフィックスに関する専門家はいますか? より良い品質のスパークライン スタイルの出力を提供する、十分に文書化された完全に異なるアプローチ (ggplot2?) へのリンクも歓迎します。

私の問題を再現するデータとコードの例を次に示します。

そして、これは、y 軸の目盛りに醜い重なり合った数値を含む結果のデータ プロットの例です。

ここに画像の説明を入力

更新: @geek-on-acid の非常に役立つplotコードと Tufte フォーラムのコード (以下を参照) を使用して、YaleToolkitパッケージを使用せず、問題ないように見える別のスパークライン メソッドを思いつきました。再現可能な例(実際には2行だけですが、私の教育のためにここに注釈が付けられています):

これが結果の画像です。これは基本的に私の問題の解決策です。y 軸の目盛りは、データの最大値と最小値のみを表示し、垂直線を表示しないことで、見栄えを良くしようとしています。@geek-on-acid に、それらすべての下部に沿って単一の x 軸を取得する方法に関するヒントをありがとう。

ここに画像の説明を入力

最後に、完全を期すために、 Tufte フォーラムで見つけた Jason Dieterle によるTufte のスタイルに近いスパークラインのコードをいくつか含めます。それらは私のものよりもはるかに見栄えがしますが、コードは一度に 1 つのプロットしか実行しません。元の投稿は次のとおりです。

そして、彼の出力は次のようになります (少し拡大):

ここに画像の説明を入力

YaleToolkit パッケージに加えて、stats.stackexchangeで知ったが試していないsparkTableパッケージがあります。R-forge には、スパークラインを作成するための別のパッケージのエントリがありますが、これはアクティブでも有用でもないようです。

0 投票する
1 に答える
308 参照

r - ベクトル化された方法でgridSVGでポイントをアニメーション化する方法は?

gridSVGパッケージを使用してアニメーション化されたSVGプロットを作成する方法を学び始めています。テストとして、開始位置から終了位置に移動して、一連のポイントをアニメートしたいと思います。この例は、パッケージの最初のビネットの例に大まかに基づいています。

まず、いくつかのデータ:

基本的な考え方は、「新しいページを描画し、最初のフレームのコンテンツを追加し、アニメーション化してから、SVGに保存する」というもののようです。私の最初の試みは、すべてのポイントを同じ場所に描画します。grid.animate各ポイントを個別に移動する必要があることをどのように伝えるかがわかりません。

を使用して、独自のgrobに各ポイントを描画することで、これを回避できlapplyます。これは機能しますが、不格好に感じます–それを行うためのベクトル化された方法があるはずです。

も使ってみましたが、パラメータanimUnitの指定方法がわかりません。id

単一のグロブ内の複数のポイントをアニメーション化できますか、それともループなしでポイントをアニメーション化できますか?

0 投票する
2 に答える
2182 参照

r - grid.xaxis でラベルを回転

grid.xaxis(at=, lab=)-option を使用して xaxis のラベルをたとえば 90 度回転させることはできないようですgpar

grid.text()個別のビューポートを作成して?を使用する以外に、誰もが回避策を知っています。

0 投票する
3 に答える
2341 参照

r - grImportでインポートされたグラフィックをggplot2の軸目盛りラベルとして使用するにはどうすればよいですか(グリッド関数を使用)?

の洗練されたインポートと描画の能力をgrImportの素晴らしいグラフ作成の能力と組み合わせることができることを望んでいますが、私は単にシステムを十分にggplot2理解していないため、私が望むものを達成するためのエレガントな方法を見つけることができません。グラフのx軸の目盛りラベルを、を使用してインポートされた画像gridに置き換えたいと思います。ggplot2grImport

どちらのパッケージも関数を使用するので、フレームワーク内でgrid使用する方法があることを望んでいます。これは理想的ですが、少なくともデバイスの既存のプロットで使用することもできます。そのようなことについてより多くの知識を持っている人は、これを行うための強力な方法を知っていますか?または、グロブやビューポートなどについて学ぶのに役立つ詳細情報を誰かに教えてもらえますか?グリッドグラフィックモデルに関するPaulMurrelのRグラフィックブックの無料の章を読みましたが、リンクを作成するためのggplot2の内部動作については十分に理解していません。grid.symbols()ggplot2

私の質問は、画像をプロットポイントとして使用することに関する既存の質問と非常に似ていますが、プロットポイントよりも軸ラベルに関心があります。ただし、2つのタスクがどれほど類似しているか、およびそのソリューションをこの目的に適合させることができるかどうかについては、興味があります。私はそれを自分で理解することができませんでした。

これは私の最初の投稿なので、画像を投稿することは許可されていませんが、このコードは私が望むものに近いものを実現しています。注:このアプローチでは、移植性がなく、不十分な醜い醜いハックを使用します。私が作成したい最終的なプロットにはファセット( )があり、x軸は各軸の目盛りで異なる画像をfacet_grid持つ因子であり、連続変数ではありません。そのため、より一般的で堅牢なソリューションを探しています。多くの試行錯誤を必要としません。

0 投票する
1 に答える
2193 参照

r - どのように ggplot2 グロブをデータに関連付けますか?

たとえば、ポイントの ggplot が与えられた場合、特定のポイントが対応するデータの行をどのように見つけますか?

サンプルプロット:

grid.ls+でポイントを含むグロブを取得できますgrid.get

この最後の変数には、xy 座標やポイントサイズなどの詳細が含まれています (試してみてください) が、各ポイントが対応するunclass(point_grobs[[1]])データの行を取得する方法は明らかではありません。mtcars


なぜ私がこれを行うのかについてのkohskeの質問に答えるgridSVGために、インタラクティブな散布図を作成するために使用しています。ポイントの上にマウスを移動すると、コンテキスト情報が表示されます。mtcars の例では、車の名前またはデータ フレームのその行のその他の値を含むツールチップを表示できます。

これまでの私のハックなアイデアは、id列を非表示のテキスト ラベルとして含めることです。

次に、ポイント グロブからテキスト グロブまでグロブのツリーをトラバースし、ラベルによってインデックス付けされたデータセットの行を表示します。

これは扱いにくく、あまり一般化できません。idポイント グロブ内に値を格納する方法があれば、よりクリーンになります。