web-dev-qa-db-ja.com

R散布図のポイントのサイズを制御しますか?

Rでは、plot()関数は、プロット内のポイントの外観を制御するpch引数を取ります。私は数万点の散布図を作成しており、小さいながらも小さすぎないドットを好みます。基本的に、pch='.'は小さすぎますが、pch=19は太すぎます。途中に何かがありますか、何らかの方法でドットを縮小する方法はありますか?

105
Nick

cex引数を試してください:

?par

  • cex
    デフォルト値に対してプロットテキストとシンボルを拡大する量を示す数値。 plot.defaultなどの一部のグラフィックス関数には、このグラフィカルパラメーターを乗算するこの名前の引数があり、ポイントなどの一部の関数はリサイクルされる値のベクトルを受け入れることに注意してください。他の用途では、長さが1より大きいベクトルが指定された場合、最初の値のみが使用されます。
88
rcs

pch = 20は、サイズがbetween "。"のシンボルを返します。および19。

それはfilledシンボルです(おそらくあなたが望むものです)。

それとは別に、Rの基本的なグラフィックシステムでも、ユーザーはシンボルのサイズ、色、形状をきめ細かく制御できます。例えば。、

dfx = data.frame(ev1=1:10, ev2=sample(10:99, 10), ev3=10:1)

with(dfx, symbols(x=ev1, y=ev2, circles=ev3, inches=1/3,
                  ann=F, bg="steelblue2", fg=NULL))

Graph example

93
doug

rcsが述べられているように、cexは基本グラフィックパッケージでジョブを実行します。 ggplot2でグラフを作成するつもりはないが、そうすることで簡単に制御できるsizeの美しい属性があると思います(ggplot2にはcex(文字展開)を入力する代わりに、ggplot2たとえば、size = 2と入力すると、2mmポイントが得られます)。

以下に例を示します。

### base graphics ###
plot(mpg ~ hp, data = mtcars, pch = 16, cex = .9)

### ggplot2 ###
# with qplot()
qplot(mpg, hp, data = mtcars, size = I(2))
# or with ggplot() + geom_point()
ggplot(mtcars, aes(mpg, hp), size = 2) + geom_point()
# or another solution:
ggplot(mtcars, aes(mpg, hp)) + geom_point(size = 2)
19
aL3xa