Сообщение об ошибке R qplot: палитра форм может обрабатывать максимум 6 дискретных значений, потому что более 6 становится трудно различить - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь сделать qplot для построения матрицы точечной диаграммы.

qplot(X, Y, data=Customers, shape = Z,facets=ColA~ColB, size=I(3), xlab="X",ylab="Y")

Где Z - категориальная переменная с более чем 6 уровнями. 1004

У меня вопрос, как указать форму вручную?

Ответы [ 2 ]

3 голосов
/ 25 мая 2020

Лучше вызвать график напрямую через ggplot и установить масштаб формы вручную вместо использования qplot:

ggplot(data=Customers, aes(x=X, y=Y, shape=Z)) + 
         geom_point(size=1) +
         labs(x="X",y="Y")+ 

         scale_shape_manual(values=c(4,29,30,53,23,53,64,53,23)) + 
         facet_grid(ColA~ColB)

На этой странице есть легенда всех доступных форм для построения в ggplot: https://www.datanovia.com/en/blog/ggplot-point-shapes-best-tips/

Qplot - это «быстрый и грязный» метод построения графиков, а вызов команд построения графиков через ggplot позволяет вам иметь больший контроль над выводом.

0 голосов
/ 25 мая 2020

Мой первый совет - избегать qplot. Короткий синтаксис никому не идет. Попробуйте

ggplot(Customers, aes(x = X, y = Y, shape = Z)) +
  theme_bw() +
  geom_point(size = 3) +
  xlab("X") + ylab("Y") +
  facet_grid(ColA ~ ColB)

, и теперь вы можете легко читать и добавлять дополнительные слои, то есть ручные цвета. См. документацию о том, как задавать цвета различными способами.

ggplot(Customers, aes(x = X, y = Y, shape = Z)) +
  theme_bw() +
  geom_point(size = 3) +
  xlab("X") + ylab("Y") +
  scale_colour_manual(values = c("red", "blue", "green", _more_colors_)) +
  facet_grid(ColA ~ ColB)

мой любимый

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