問題タブ [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.
r - ggplot2/gtable を使用して 2 つのプロットの幅を一致させる
垂直に配置された 2 つのプロットのプロット領域の幅を一致させようとしています (両方のプロットのデータの範囲は同じです)。gtable を使用してそれらをまとめてから、余白を操作して調整してみました。下のプロットには軸の目盛りやラベルがないため、同じマージンを設定すると、プロットがわずかにずれてしまうようです。プロット領域の左側の領域の合計幅がどのように計算されるかは明確ではありません。テキストラベルの幅が何らかの形で追加されているようで、その幅を知る方法がありません。plot.margin
(実験によって幅を一致させることはできますが、これらのような多くのプロットを生成する必要があり、ソリューションが任意のデータで機能することを望みますpanel.margin
。margin
)axis.text.y
および(非推奨)axis.ticks.margin.y
ですが、役に立ちません。最小限の作業例を次に示します。
このソリューションをオンラインで見つけました: https://github.com/hadley/ggplot2/wiki/Align-two-plots-on-a-page。簡単な例では機能しますが、実際のプロットは文字化けします。問題が何であるかを理解するのに十分なggplot2内部の知識を理解していません。このソリューションのもう 1 つの制限は、この例では両方のプロットの高さが同じであり、下のプロットの高さを上のプロットの約 1/10 にしたいことです。
r - Rでのテーブルの条件付きフォーマットカラーリング
を使用して PDF をエクスポートするtableGrob
ときに、条件付きでセル/行を書式設定する方法はありますか? gridExtra
データフレームの条件付き数値に基づいて、PDF 出力の行の色の背景/塗りつぶしの書式を変更したいと考えています。
サンプルデータ:
現在、出力をフォーマットするための簡単なテーマがあります。
これは私の簡単なPDF出力コードです:
列の数値a
とb
サンプル データの数値は、実際には成功したイベントと失敗したイベントです。成功率をすぐに見つけて、それを出力用のテーブルに追加します。
私が達成したいと思っているのは、PDF の表の行全体をフォーマットすることです。これにより、50% 以上の値df1
はこの色#C4122E
でフォーマットされ、50% 未満の場合は次のようにフォーマットされます。#1B458F
r - gWidgets (R) で gtable 行の背景色をカスタマイズする方法
gtable
次のようながあるとしましょうgwindow
:
その行の列の値に基づいて、個々の行の背景色を任意に設定できるようにしたいと思います (たとえば、母音のあるすべての行を赤にします)。
これは可能ですか?私は Gtk についてあまり詳しく知りませんが、Gtk 関数を適用して色を変更するために行オブジェクトにアクセスする方法など、誰かが私を正しい方向に向けることができるかどうかを知ることができます。
ご協力いただきありがとうございます!
r - ggplot 2.2.0 で壊れた gtable_add_grob コードの回避策を探しています
複数のファセット変数を含むプロットでは、ggplot2 は、「内部」変数のすべてのレベルにまたがる単一のスパニング ファセット ストリップを使用するのではなく、「外部」変数のファセット ラベルを繰り返します。パッケージgtable_add_grob
から使用して、繰り返される外側のファセット ラベルを単一のスパニング ファセット ストリップでカバーするために使用しているコードがあります。gtable
残念ながら、ファセット ストリップのグロブ構造が変更されたため、このコードは ggplot2 2.2.0 では機能しなくなりました。具体的には、ggplot2 の以前のバージョンでは、ファセット ラベルの各行に独自のグロブ セットがありました。ただし、バージョン 2.2.0 では、ファセット ラベルの各垂直スタックが単一のグロブのように見えます。これによりコードが破損し、修正方法がわかりません。
数か月前に回答した SO の質問から取った具体的な例を次に示します。
3 つのレベルのファセットを持つプロットから始めます。
次に、上部の 2 つのファセット ストリップをスパニング ストリップで覆い、ストリップ ラベルが繰り返されないようにします。
これは、このプロットが ggplot2 2.1.0 でどのように見えるかです:
ただし、ggplot2 2.2.0 で同じコードを試すと、ストリップ ラベルを変更せずに元のプロットが返されます。元のプロットのグロブ構造を見ると、p
なぜこれが起こっているのかがわかります。この質問の下部にあるグロブ テーブルに貼り付けました。スペースを節約するために、ファセット ストリップに関連する行のみを含めました。
列を見るとcells
、プロットの 2.1.0 バージョンでは、各行の最初の 2 つの数字が 3、4、または 5 のいずれかであり、プロット内の他のグロブに対するグロブの垂直位置を示していることに注意してください。上記のコードでは、t
とのl
引数gtable_add_grob
が 3 または 4 の値に設定されています。これは、スパン ストリップでカバーしたかったファセット ストリップ行であるためです。
2.2.0 バージョンのプロットの列を見てcells
ください。最初の 2 つの数値は常に 6 であることに注意してください。また、バージョン 2.1.0 では 24 の代わりにファセット ストリップが 8 つのグロブで構成されていることにも注意してください。バージョン 2.2.0 では、3 つのファセット ラベルの各スタックが、3 つの個別のグロブではなく、1 つのグロブになっているようです。したがって、t
andのb
引数gtable_add_grob
を 6 に変更しても、3 つのファセット ストリップすべてがカバーされます。次に例を示します。
gtable_add_grob
それで、その非常に長い導入の後、ここに私の質問があります: ggplot2 バージョン 2.1.0 で使用して作成したもののように見える ggplot2 バージョン 2.2.0 でスパニング ファセット ストリップを作成するにはどうすればよいですか? 簡単な調整があることを願っていますが、大手術が必要な場合は、それも問題ありません.
ggplot 2.1.0
ggplot2 2.2.0