Arhn - архитектура программирования

Построение точек с цветом и формой на основе переменных данных

Я пытаюсь сделать точечную диаграмму с цветами каждой точки, соответствующей одной переменной, и формой каждой точки, соответствующей другой переменной. Вот некоторые примеры данных и код, который я использовал для создания второго графика:

Example data:(of 3 points)
 X    Y    att1    att2

.5    .5    1       A
.24   .8    3       B
.6    .7    5       C

code:(for image2)
> plot(X,Y, col=statc[att2], pch = 15)
> legend("right", statv, fill=statc)

Where:
> statv
[1] "A"  "B" "C"  
> statc
[1] "red"    "blue"   "orange"

Я сделал это по отдельности, но не знаю, как сделать оба. Вот два сюжета:

1введите здесь описание изображения

2введите здесь описание изображения

Например: я хочу, чтобы цвета применялись к точкам с одинаковым att1, а формы применялись к точкам с одинаковым att2.

06.12.2013

Ответы:


1

Одной из областей, в которой ggplot2 превосходит другие графики системы R, является сопоставление параметров графика с переменными данных (через механизм эстетики).

library(ggplot2)
dat <- data.frame(X =runif(20),
                     Y =runif(20),
                     att1 = gl(5,20/5),
                     att2 =gl(3,20/3))
ggplot(dat,aes(x=X,y=Y,color=att1,shape=att2)) +
    geom_point(size=5) 

введите здесь описание изображения

Вы можете сделать это и на базовом графике, но вы должны создать легенду вручную...

plot(dat$X,dat$Y,pch=as.integer(dat$att1),col=as.integer(dat$att1))

введите здесь описание изображения

06.12.2013
  • Я получаю сообщение об ошибке при попытке сопоставить непрерывную переменную с формой. Однако переменная просто принимает небольшое количество различных значений. Можно ли как-то сопоставить переменную с формой/цветом с помощью ggplot? 07.02.2017
  • Это отвечает на мой собственный вопрос: мне пришлось добавить + scale_shape_identity() 08.02.2017
  • Следующий вопрос: что делать, если att1 принимает значения больше 25? Они не могут быть сопоставлены с pch-значением, т. е. формой. 08.02.2017
  • Размер точки будет обрабатывать непрерывную переменную. Возможно, попробуйте использовать размер точки вместо цвета для этого атрибута. Однако вы хотели бы нормализовать размеры до некоторого разумного диапазона. В качестве альтернативы вы можете разбить свои непрерывные значения на 25 ячеек, возможно, на основе квантилей, и использовать форму для представления вашего нового атрибута, объединенного в ячейки. 09.02.2017

  • 2

    Это то, что вы хотите? [df — ваши данные, отформатированные, как указано выше.]

    library(ggplot2)
    ggplot(df) + geom_point(aes(x=X,y=Y,color=factor(att1),shape=att2),size=5)
    

    Производит это с вашими данными:

    06.12.2013
  • Ага. Спасибо за помощь! ggplot, кажется, путь. 06.12.2013
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..