楼主: casey_c
5681 2

[学习分享] 如何设置 R 图像的点形状与线类型 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.1003
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

楼主
casey_c 发表于 2017-2-7 10:53:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
参数及对应的标记形状如下:

1.png


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


1、标准图形

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


  1. set.seed(331)
  2.    
  3.     # 添加数据点标记
  4.     # 构建绘图区域
  5.     par(mar=c(3,3,2,2))
  6.     plot(NA, xlim=c(1,4), ylim=c(0,1))
  7.    
  8.     # 实心圆圈点+实线
  9.     points(1:4, runif(4), type="b", pch=19)
  10.     # 空心方框点+粗虚线
  11.     points(1:4, runif(4), type="b", pch=0,  lty=2, lwd=3)
  12.    
  13.     points(1:4, runif(4), type="b", pch=23,# 菱形点
  14.            lty="dotted", cex=2,            # 点状线+数据点标记放大两倍
  15.            col="#000099", bg="#FF6666")    # 蓝色线,红色填充
复制代码
2.png

2、ggplot2

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


  1. # 示例数据
  2.     df <- read.table(header=T, text='
  3.       cond xval yval
  4.          A    1  2.0
  5.          A    2  2.5
  6.          B    1  3.0
  7.          B    2  2.0
  8.     ')
  9.    
  10.    
  11.     library(ggplot2)
  12.    
  13.     # 使用标准的线与点作图
  14.     # group = cond 表示我们以这个变量区分不同组别的点线关系
  15.     ggplot(df, aes(x=xval, y=yval, group = cond)) +
  16.         geom_line() +
  17.         geom_point()
  18.    
  19.     # 设置全局的点形状和线类型
  20.     ggplot(df, aes(x=xval, y=yval, group = cond)) +
  21.         geom_line(linetype="dashed",  # 虚线
  22.                   size = 1.5) +       # 粗线
  23.         geom_point(shape = 0,         # 空心方块
  24.                    size = 4)          # 大型点标记
  25.    
  26.     # 根据变量 cond 调整点形状和线类型
  27.     ggplot(df, aes(x=xval, y=yval, group = cond)) +
  28.         geom_line(aes(linetype=cond), # 线的类型取决于cond
  29.                   size = 1.5) +       # 粗线
  30.         geom_point(aes(shape=cond),   # 点形状取决于cond
  31.                    size = 4)          # 大型点标记
  32.    
  33.    
  34.     # 和之前类似,这里我们同时改变了线类型和点形状的设置
  35.     ggplot(df, aes(x=xval, y=yval, group = cond)) +
  36.         geom_line(aes(linetype=cond), # 线的类型取决于cond
  37.                   size = 1.5) +       # 粗线
  38.         geom_point(aes(shape=cond),   # 点形状取决于cond
  39.                    size = 4) +        # 大型点标记
  40.         scale_shape_manual(values=c(6,5)) +                  # 改变点形状
  41.         scale_linetype_manual(values=c("dotdash", "dotted")) # 改变线类型
复制代码


3.png 4.png 5.png 6.png

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

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:ggplot2 Points Point gplot type 如何

沙发
jiangbeilu 学生认证  发表于 2017-2-7 11:03:14
给出原文链接么?

藤椅
casey_c 发表于 2017-2-8 13:26:48
jiangbeilu 发表于 2017-2-7 11:03
给出原文链接么?
直接百度 数析学院 ,在 R 语言行动指南课程包里面

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-29 08:35