130

在 R 中,该plot()函数采用一个pch参数来控制绘图中点的外观。我正在制作具有数万个点的散点图,并且更喜欢一个小但不太小的点。基本上,我觉得pch='.'太小了,但pch=19太胖了。中间有什么东西或某种方式可以以某种方式缩小点吗?

4

3 回答 3

112

试试这个cex论点:

?par

  • cex
    一个数值,给出绘图文本和符号相对于默认值的放大量。请注意,某些图形函数(例如 plot.default)具有此名称的参数,该参数与此图形参数相乘,而某些函数(例如点)接受可回收的值向量。如果提供了长度大于 1 的向量,则其他用途将仅采用第一个值。
于 2010-04-05T18:16:18.363 回答
97

pch=20返回大小"."之间的符号。和 19。

这是一个实心符号(这可能是您想要的)。

除此之外,即使是 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))

图表示例

于 2010-04-05T18:28:31.790 回答
26

正如rcs所说,cex将在基本图形包中完成这项工作。我认为您不愿意在其中制作图表,ggplot2但如果您这样做,则有一个size美学属性,您可以轻松控制(ggplot2具有用户友好的函数参数:您可以输入例如而不是输入cex(字符扩展),并且你会得到2毫米点)。ggplot2size = 2

这是示例:

### 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)
于 2010-04-05T18:31:47.133 回答