問題タブ [gtable]

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 投票する
0 に答える
1977 参照

r - ggplot2を使用してy軸を右側に切り替えます

私は ggplot2 で 1 x 2 の図を作成しており、図の 1 つの y 軸をプロットの右側に配置したいと考えています。私はほとんどそれを手に入れました、これがMWEです、

ただし、右側のプロットの axis.tick.margin はめちゃくちゃです (下の図を参照)。どういうわけかこれを自動化したいと思います。古いハックを検索しましたが、ggplot2 v2.0.0 へのアップグレードで壊れたようです。何かアドバイス?

ここに画像の説明を入力

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

r - ggplot2 プロット間に複数の曲線を追加する

私は 2 つの ggplot2 プロットを持っており、シリーズ (10-100) のわずかに異なる曲線を描画したいと考えています。つまり、2 パネル レイアウトを使用し、左側のプロットから右側のプロットに接続線を引きたいと考えています。これまでのところ、物事をグロブに変換し、gtable パッケージを使用して曲線を追加することで、これを実行しようとしました。

説明するために、私は次のようなものを持っています:

次のようなプロットを作成します。

出力

これはほぼ正しいですが、curveGrob オブジェクトの最後の部分だけが表示されています。追加されたグロブの z-index をいじってみましたが、プロットされた最後のグロブは常に他のグロブを上書きします。既存のコードで表示されている 1 つの曲線だけではなく、2 つのプロット領域間に 10 個の曲線すべてを表示する必要があることを除いて、プロットを同じに見せたいです。

では、既存のコードを変更して 10 個の曲線すべてを表示するか、別の方法を使用して同じ効果を得るにはどうすればよいでしょうか? 主なプロットは、示されているおもちゃの例よりもかなり複雑であるため、ggplot2 を使用して立ち往生しています。

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

r - ファセットの全体的なラベル

以下は、2 セットのファセットを含むグラフを生成するための最小限のコードです。

Donatello と Raphael の名前が上部と右側の軸に表示されるように、全体的なファセット ラベルを追加する方法がわかりません。

SO で同様のソリューションをいくつか見ましたが、コードの頭や尾を作ることはできません。私の難問に対する答えを教えてください。

同様の質問がここにありますが、ファセットが 2 つ以上ある場合は失敗します。ラベルはグラフ内のどこかに表示されます。一般的なケースでこれを機能させる方法はありますか?

そこで、上記のリンクでrawrのソリューションを試してみましたが、複数の列で同じ場所になりました。rawr のソリューションに更新されたコードを次に示しますが、予想外の場所にラベルを生成しています (ソリューションを理解していないため)。

一般的なファセット ラベルの幅を指定しているコードの部分を教えてください。

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

r - バープロットとラインプロットのggplot2オーバーレイ

2 つの y 軸で 2 つのプロットを重ね合わせる方法について、このサイトの誰かからコードを 1 行ずつコピーしました。ただし、この例では 2 つの折れ線グラフを使用していますが、オーバーレイしたい折れ線グラフと棒グラフが 1 つずつあります。オーバーレイをまったく取得できないようで、ライン プロットをプロットするだけです。助けてください。ありがとう。

出力がこれとまったく同じ(または非常に似ている)ようにし写真たい:ただし、バープロットを「かわす」必要がある

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

r - 二重軸で「The Economist」チャートを再現

私はエコノミストからこのチャートを再現しようとして いました (左側のもの)。このグラフは、ロシアの億万長者の数を左側の y 軸に、その他の地域の億万長者の数を右側にプロットしています。

  1. ロシアの億万長者のグラフを作成します ( p1)。
  2. その他のグラフを作成します ( p2)。
  3. Kohskeによるコードを使用して、p1p2を 2 つの y 軸グラフに結合します。

データ: (の内容billionaire.csv)

コード:

「Number in Russia」と「Rest of the world」のテキストを、選択したフォントと色で書式設定するために、ggtitle. しかし、手順 3 でチャートを結合した後、 のタイトルp2が見つからないため、これだけが得られました

ここに画像の説明を入力

私が達成しようとしているのは
、1. テキスト「Rest of world」を、選択した色とフォント ファミリ (デフォルトの Helvetica ではありません) で
追加することです。 2. x 軸にラベル 1996 を追加します。

どんな助けでも大歓迎です。ありがとう!

編集: データ セットと完全なコードが追加されました。 EDIT2: 参考までに、ここからすべてのOfficiana
フォントを取得しました: http://people.oregonstate.edu/~hanshumw/Specie%20I.D./Signage%20Backup/FONT%20Officina%20full/
グリッドレベルでプロットをいじって機能させる

このチャンクを の前ggsave(...)に置くと、結果は次のようになります。

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

r - facet_grid を使用した各サブプロットの y 軸

この質問に対する答えがうまくいきません。私とそのユーザーの両方が望んでいるのは、facet_grid() を使用するときにすべての列に軸の目盛りとラベルを追加することです。

ファセット時に各サブプロットの y 軸を表示する

再現可能な例とソリューションを実行すると (abc=as.data.frame(abc) を追加して初期エラーを修正した後)、エラー メッセージが表示されます。

gtable_add_grob(g, grobs = list(segmentsGrob(1, 0, 1, 1), segmentGrob(1, ) のエラー: すべての入力の長さが 1 ではないか、「grobs」と同じ長さではありません

元の例はえーと、少し奇妙なので、私は自分の再現可能な例を作成しました:-)。同じエラーメッセージが表示されます

答えは次のようになります。

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

r - 同じページに複数の ggplot2 プロットをプロットし、それらすべてに垂直線を追加する方法

同様の質問複数の ggplot2 プロットを整列させ、それらすべてに影を追加する方法

上記の質問に数日を費やしましたが、成功しませんでした。

質問

プロットに垂直線を追加したい。どうやってするか?

データ

ここからダウンロードするか、次のようなミニデータをダウンロードできます

コード

次の写真が表示されます:

いいね!

ここに画像の説明を入力

しかし、コードをリリースすると:

縦線が 1 本しか表示されず、上のプロットと散布図が上書きされました。

また、次のコードを使用して、Claus Wilke のソリューションを模倣しようとしています。

しかし、私は縦線しか得られません。

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

r - gtable() の t、b、l、r 座標を管理して、セカンダリ y 軸のラベルと目盛りを適切にプロットする方法

私は facet_wrap を使用しており、セカンダリ y 軸もプロットできました。ただし、ラベルは軸の近くにプロットされるのではなく、非常に遠くにプロットされます。グロブの gtable (t、b、l、r) の座標系を操作する方法を理解すれば、すべてが解決されることがわかります。誰かが実際に何をどのように描写しているかを説明できますか - t:r = c(4,8,4,4) は何を意味しますか?

ggplot を使用したセカンダリ yaxis のリンクは多数ありますが、nrow/ncol が 1 を超えると失敗します。グリッドジオメトリとグロブの位置管理の基本を教えてください。

編集:コード

@Sandyここにコードとその出力があります

唯一の問題は、最後の行でセカンダリ y 軸ラベルがパネルの内側にあることでした。これを解決しようとしましたが、できませんでした