当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R plot.default 默认散点图函数


R语言 plot.default 位于 graphics 包(package)。

说明

在活动图形窗口中绘制带有轴和标题等装饰的散点图。

用法

## Default S3 method:
plot(x, y = NULL, type = "p",  xlim = NULL, ylim = NULL,
     log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
     ann = par("ann"), axes = TRUE, frame.plot = axes,
     panel.first = NULL, panel.last = NULL, asp = NA,
     xgap.axis = NA, ygap.axis = NA,
     ...)

参数

x, y

xy 参数提供绘图的 x 和 y 坐标。定义坐标的任何合理方式都是可以接受的。详细信息请参见函数xy.coords。如果单独提供,它们的长度必须相同。

type

1 个字符的字符串,给出所需的绘图类型。可以使用以下值,详细信息请参见plot"p" 表示点,"l" 表示线,"b" 表示点和线,"c" 表示由线连接的空点,"o" 表示重叠绘制点和线,"s""S" 表示楼梯台阶,"h" 表示histogram-like 垂直线。最后,"n" 不会产生任何点或线。

xlim

绘图的 x 限制 (x1, x2)。请注意,x1 > x2 是允许的,并且会导致“反转轴”。

默认值 NULL 表示应使用要绘制的 finite 值的范围。

ylim

绘图的 y 范围。

log

如果 x 轴为对数,则包含 "x";如果 y 轴为对数,则包含 "y";如果两个轴都为对数,则包含 "xy""yx"

main

绘图的主标题,另请参阅 title

sub

情节的副标题。

xlab

x 轴的标签,默认为 x 的说明。

ylab

y 轴的标签,默认为 y 的说明。

ann

一个逻辑值,指示默认注释(标题以及 x 和 y 轴标签)是否应出现在绘图上。

axes

一个逻辑值,指示是否应在绘图上绘制两个轴。使用graphical parameter "xaxt""yaxt" 仅抑制其中一个轴。

frame.plot

指示是否应在图周围绘制方框的逻辑。

panel.first

在设置绘图轴之后但在进行任何绘图之前要评估的 ‘expression’。这对于绘制背景网格或散点图平滑很有用。请注意,这是通过惰性求值实现的:从其他 plot 方法传递此参数很可能不起作用,因为它可能求值得太早。

panel.last

在绘图后但在添加轴、标题和框之前要计算的表达式。请参阅有关 panel.first 的评论。

asp

宽高比,请参阅 plot.window

xgap.axis, ygap.axis

轴间隙系数,作为 gap.axis 传递给两个 axis() 调用(默认情况下,当 axes 为 true 时)。

...

其他graphical parameters(参见par和下面的“详细信息”部分)。

细节

常用的graphical parameters有:

col

线和点的颜色。可以指定多种颜色,以便每个点都可以指定自己的颜色。如果颜色少于点数,则它们会以标准方式回收。线条将全部以指定的第一种颜色绘制。

bg

开放绘图符号的背景颜色向量,请参阅 points 。注意:这与 par("bg") 的设置不同。

pch

绘制字符或符号的向量:请参阅points

cex

一个数值向量,给出绘制字符和符号相对于默认值应缩放的量。这是 par("cex") 的倍数。 NULLNA 相当于 1.0 。请注意,这不会影响注释:见下文。

lty

线型向量,请参阅par

cex.maincol.labfont.sub

主副标题和轴注释的设置,请参见 titlepar

lwd

线宽向量,请参阅par

注意

panel.firstpanel.last 的存在是一个历史异常:默认图没有 ‘panels’,与例如pairs 绘图。如需更多控制,请使用 lower-level 绘图函数: plot.default 依次调用 plot.newplot.windowplot.xyaxisboxtitle ,并且可以通过以下方式构建绘图单独调用它们,或者通过调用 plot(type = "n") 并添加更多元素。

plot通用已从graphics包到base封装在R4.0.0。目前已从graphics命名空间允许从那里导入它的包继续工作,但这可能会在未来版本中改变R.

例子

Speed <- cars$speed
Distance <- cars$dist
plot(Speed, Distance, panel.first = grid(8, 8),
     pch = 0, cex = 1.2, col = "blue")
plot(Speed, Distance,
     panel.first = lines(stats::lowess(Speed, Distance), lty = "dashed"),
     pch = 0, cex = 1.2, col = "blue")

## Show the different plot types
x <- 0:12
y <- sin(pi/5 * x)
op <- par(mfrow = c(3,3), mar = .1+ c(2,2,3,1))
for (tp in c("p","l","b",  "c","o","h",  "s","S","n")) {
   plot(y ~ x, type = tp, main = paste0("plot(*, type = \"", tp, "\")"))
   if(tp == "S") {
      lines(x, y, type = "s", col = "red", lty = 2)
      mtext("lines(*, type = \"s\", ...)", col = "red", cex = 0.8)
   }
}
par(op)

##--- Log-Log Plot  with  custom axes
lx <- seq(1, 5, length.out = 41)
yl <- expression(e^{-frac(1,2) * {log[10](x)}^2})
y <- exp(-.5*lx^2)
op <- par(mfrow = c(2,1), mar = par("mar")-c(1,0,2,0), mgp = c(2, .7, 0))
plot(10^lx, y, log = "xy", type = "l", col = "purple",
     main = "Log-Log plot", ylab = yl, xlab = "x")
plot(10^lx, y, log = "xy", type = "o", pch = ".", col = "forestgreen",
     main = "Log-Log plot with custom axes", ylab = yl, xlab = "x",
     axes = FALSE, frame.plot = TRUE)
my.at <- 10^(1:5)
axis(1, at = my.at, labels = formatC(my.at, format = "fg"))
e.y <- -5:-1 ; at.y <- 10^e.y
axis(2, at = at.y, col.axis = "red", las = 1,
     labels = as.expression(lapply(e.y, function(E) bquote(10^.(E)))))
par(op)

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Cleveland, W. S. (1985) The Elements of Graphing Data. Monterey, CA: Wadsworth.

Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press.

也可以看看

plotplot.windowxy.coords。对于数千个点,请考虑使用 smoothScatter 代替。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 The Default Scatterplot Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。