1. ホーム
  2. r

[解決済み] ggplot2 オブジェクトの軸の範囲を抽出するにはどうしたらいいですか?

2023-01-07 06:25:54

質問

のオブジェクトがあります。 ggplot2 というように myPlot のように、X軸とY軸の範囲をどのように特定すればよいのでしょうか?

プロットを再スケールしたり、軸の範囲を変更したりすることができるので、データ値の範囲の単純な倍数ではないようです。 findFn (以下 sos から)、Google は、軸の範囲を設定する方法以外の関連する結果を引き出していないようです。

どのように解決するのですか?

ggplot2 の新しいバージョンでは、この情報は ggplot_build(p) の出力の中から見つけることができます。 p はあなたのggplotオブジェクトです。

古いバージョンのggplot (< 0.8.9)では、次の解決策が有効です。

そして、Hadleyが新しいバージョンをリリースするまでは、これが役に立つかもしれません。もし、プロットで限界を設定しないなら、ggplot オブジェクトには何も情報がないでしょう。しかし、その場合、あなたはggplot2のデフォルトを使用して、データからxlimとylimを取得することができます。

> ggobj = ggplot(aes(x = speed, y = dist), data = cars) + geom_line()
> ggobj$coordinates$limits

$x
NULL

$y
NULL

制限を設定すると、オブジェクトの中で利用可能になります。

> bla = ggobj + coord_cartesian(xlim = c(5,10))
> bla$coordinates$limits
$x
[1]  5 10

$y
NULL