如何设置 R 图像的点形状与线类型

参数及对应的标记形状如下:

这里写图片描述

需要注意的是,如果我们输出的是位图,填充标记符号 15-18 可能在渲染后出现失真的情况,它们将会出现锯齿,像素化,并且无法居中,无论它们是否源自相同的绘制平台。而标记符号 19 和 21-25 在填充区域外部有一个边框,这在绝大多数绘制平台中会使得它们在渲染后具有一个相对平滑的边缘。如果我们想让标记符号 21-25 看起来实心,那么我们就需要将其填充色(bg)调整为与边框色(col)一致,否则它们看起来就是空心的。

1、标准图形

我们可以使用 pch 参数设置数据点标记的形状,还可以用 lty 和 lwd 来调整它的类型和宽度,其中不同类型的线对应着不同的名称或数字序号。

set.seed(331)

# 添加数据点标记 
# 构建绘图区域 
par(mar=c(3,3,2,2))
plot(NA, xlim=c(1,4), ylim=c(0,1))

# 实心圆圈点+实线 
points(1:4, runif(4), type="b", pch=19)
# 空心方框点+粗虚线 
points(1:4, runif(4), type="b", pch=0,  lty=2, lwd=3)

points(1:4, runif(4), type="b", pch=23,# 菱形点 
       lty="dotted", cex=2,            # 点状线+数据点标记放大两倍 
       col="#000099", bg="#FF6666")    # 蓝色线,红色填充 

这里写图片描述

2、ggplot2

通过 ggplot2,我们可以对图中的点形状与线类型进行全局的部署(例如我们想让所有数据点都由方形表示,所有的线都为虚线),或者通过一个变量来调整它们。

# 示例数据 
    df <- read.table(header=T, text='
      cond xval yval
         A    1  2.0
         A    2  2.5
         B    1  3.0
         B    2  2.0
    ')


    library(ggplot2)

    # 使用标准的线与点作图 
    # group = cond 表示我们以这个变量区分不同组别的点线关系 
    ggplot(df, aes(x=xval, y=yval, group = cond)) +
        geom_line() +
        geom_point()

    # 设置全局的点形状和线类型 
    ggplot(df, aes(x=xval, y=yval, group = cond)) +
        geom_line(linetype="dashed",  # 虚线 
                  size = 1.5) +       # 粗线 
        geom_point(shape = 0,         # 空心方块 
                   size = 4)          # 大型点标记 

    # 根据变量 cond 调整点形状和线类型 
    ggplot(df, aes(x=xval, y=yval, group = cond)) +
        geom_line(aes(linetype=cond), # 线的类型取决于cond 
                  size = 1.5) +       # 粗线 
        geom_point(aes(shape=cond),   # 点形状取决于cond 
                   size = 4)          # 大型点标记 


    # 和之前类似,这里我们同时改变了线类型和点形状的设置
    ggplot(df, aes(x=xval, y=yval, group = cond)) +
        geom_line(aes(linetype=cond), # 线的类型取决于cond 
                  size = 1.5) +       # 粗线 
        geom_point(aes(shape=cond),   # 点形状取决于cond 
                   size = 4) +        # 大型点标记 
        scale_shape_manual(values=c(6,5)) +                  # 改变点形状 
        scale_linetype_manual(values=c("dotdash", "dotted")) # 改变线类型 

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

以上内容转自 数析学院 ,原文还有 如何设置空心点形状 等内容,有需要的同学可以直接查看 原文

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值