Как построить матрицу 60x2 с разными цветами и маркерами в R? - PullRequest
0 голосов
/ 07 мая 2018

a - это матрица размеров 60 * 2.

> dim(a)
[1] 60  2

plot(a) дает это enter image description here

Как настроить сюжет так, чтобы

  • строка 1-30: квадратные сплошные маркеры; строка 31-60: круговые сплошные маркеры.
  • строка 1-10: градиент от белого к красному;
  • строка 31-40: градиент от белого к красному;
  • строка 11-20: градиент от белого к желтому;
  • строка 41-50: градиент от белого к желтому;
  • строка 21-30: градиент от белого к голубому;
  • строка 51-60: градиент от белого к голубому;

Большое спасибо за помощь @ Wietze314. Я получил этот сюжет ниже. Желтые точки очень светлые, так есть ли способ нарисовать для них черную рамку?

enter image description here

1 Ответ

0 голосов
/ 07 мая 2018

Используйте аргументы col и pch, чтобы указать цвет и форму для каждой точки данных.

a <- data.frame(x = rep(1:10,6), y = rep(1:6, each = 10))

WhRd <- colorRampPalette(c("white", "red"))
WhYl <- colorRampPalette(c("white", "yellow"))
WhBl <- colorRampPalette(c("white", "blue"))

plot(a,
     col = rep(c(WhRd(10),
             WhYl(10),
             WhBl(10)),2),
     pch = c(rep(15,30),
             rep(16,30)))

Чтобы добавить границу, просто нанесите дополнительные точки поверх исходных

points(a,
     col = 'black',
     pch = c(rep(0,30),
             rep(1,30)))
...