首页 > 解决方案 > 使用基本图形的点图

问题描述

我有这个数据集,我想从中画一个点图(不是用 ggplot 函数)。

    species measurement test  ref         log
1    asinus           1 73.6 76.6 -0.03995205
2    asinus           2 67.1 69.9 -0.04088161
3    asinus           3 24.5 24.8 -0.01217054
4    asinus           4 39.8 41.1 -0.03214121
5    asinus           5 29.0 31.0 -0.06669137
6  caballus           1 79.8 76.6  0.04092643
7  caballus           2 71.7 69.9  0.02542510
8  caballus           3 33.4 24.8  0.29771225
9  caballus           4 52.9 41.1  0.25239522
10 caballus           5 34.7 31.0  0.11275248
11    grevy           1 85.5 76.6  0.10991930
12    grevy           2 78.9 69.9  0.12111558
13    grevy           3 30.2 24.8  0.19699827
14    grevy           4 50.2 41.1  0.20000691
15    grevy           5 35.0 31.0  0.12136086
16    kiang           1 85.0 76.6  0.10405418
17    kiang           2 79.4 69.9  0.12743272
18    kiang           3 25.9 24.8  0.04339932
19    kiang           4 43.7 41.1  0.06133998
20    kiang           5 32.1 31.0  0.03486883
structure(list(species = c("asinus", "asinus", "asinus", "asinus", 
"asinus", "caballus", "caballus", "caballus", "caballus", "caballus", 
"grevy", "grevy", "grevy", "grevy", "grevy", "kiang", "kiang", 
"kiang", "kiang", "kiang"), measurement = c(1L, 2L, 3L, 4L, 5L, 
1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L), 
    test = c(73.6, 67.1, 24.5, 39.8, 29, 79.8, 71.7, 33.4, 52.9, 
    34.7, 85.5, 78.9, 30.2, 50.2, 35, 85, 79.4, 25.9, 43.7, 32.1
    ), ref = c(76.6, 69.9, 24.8, 41.1, 31, 76.6, 69.9, 24.8, 
    41.1, 31, 76.6, 69.9, 24.8, 41.1, 31, 76.6, 69.9, 24.8, 41.1, 
    31), log = c(-0.0399520510117144, -0.0408816052621281, -0.0121705356202551, 
    -0.0321412092117974, -0.0666913744986721, 0.0409264277092181, 
    0.0254250983658109, 0.297712246811718, 0.252395217362064, 
    0.112752482467667, 0.10991929919617, 0.121115578612065, 0.196998271209887, 
    0.200006905195494, 0.121360857004267, 0.104054179743772, 
    0.127432719013326, 0.0433993155345553, 0.0613399805993553, 
    0.0348688256508241)), class = "data.frame", row.names = c(NA, 
-20L))

我使用了这个命令:

dotplot (measurement ~ log)

我有两个问题:

  1. 我想更改 x 和 y 轴意味着我希望代码出现在 x 中,日志出现在 y 轴中。

  2. 我想根据物种列对点进行颜色编码。

  3. 我想连接属于单一物种的点。

标签: rgraphics

解决方案


要回答您的前两个问题:

library(lattice)

dotplot(log ~ measurement, 
        data = df,
        groups = species, 
        horizontal = FALSE)

应该返回

点图

我真的不知道如何连接这些点......


推荐阅读