Как я могу нарисовать звезды в цвете? - PullRequest
1 голос
/ 12 августа 2011

У меня есть матрица 5x7, которую я хочу построить в виде диаграммы радара или паука? Например:

stars(mtcars[, 1:7], locations = c(0,0), radius = FALSE,
      key.loc=c(0,0), main="Motor Trend Cars", lty = 2)

stars plot

Мне бы хотелось, чтобы каждая из этих линий была разного цвета (и / или другого стиля), чтобы я мог разобрать, на что я смотрю.

1 Ответ

6 голосов
/ 12 августа 2011

Следующее предложение немного взломано.Я уверен, что возможно более элегантное решение.

  1. Получите источник функции stars и сделайте копию: назовем ее stars2
  2. Добавить дополнительный аргументв списке аргументов stars2: col.lines = NULL
  3. Измените следующий код с: polygon(s.x[i, ], s.y[i, ], lwd = lwd, lty = lty, col = col.stars[i]) на polygon(s.x[i, ], s.y[i, ], lwd = lwd, lty = lty, border = col.lines[i], col = col.stars[i])
  4. Позвоните stars2, указав цвет для каждой звезды.

Пример вызова и вывода (слева = до, справа = после) приведены ниже.

stars2(mtcars[, 1:7], locations = c(0,0), radius = FALSE,key.loc=c(0,0), 
       main="Motor Trend Cars", lty = 2,col.lines = 1:nrow(mtcars))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...