Используйте разные цвета/формы для диаграммы рассеяния с двумя группами в R
В этой статье мы рассмотрим различные подходы к цветам/формам для диаграмм рассеяния с двумя группами в языке программирования R.
График в R можно использовать для визуального анализа данных. Библиотека ggplot2 в R используется для создания визуализации данных. Пакет можно скачать и установить в рабочее пространство с помощью следующей команды:
install.packages("ggplot2")
Фрейм данных может использоваться для хранения организованных табличных данных, расположенных в строках и столбцах. Данные столбца могут быть сгруппированы. Затем точки данных можно классифицировать по сегментам аргументов на основе значений, содержащихся в этих группах.
Объект ggplot можно использовать для создания объекта графика. Он также принимает столбцы фрейма данных для построения и аргументирует эстетические сопоставления, где в столбцах фрейма данных можно отображать такие атрибуты, как цвет, размер и форма.
Метод имеет следующий синтаксис:
ggplot(data , aes = )
Arguments :
- data – The data to plot
- aes – The aesthetic mappings to use
К объекту ggplot можно добавить метод geom_point(), чтобы отображать данные в виде точек, представляющих значения данных.
Использование функции geom_point() для окрашивания точек, соответствующих различным группам
Параметр цвета можно добавить к эстетическим отображениям объекта ggplot, чтобы придать цвета значениям точек данных. Параметр цвета может быть назначен сгруппированному столбцу фрейма данных, который по умолчанию назначает разные цвета значениям, принадлежащим к разным группам.
ggplot(data, aes (...,colour = ))
R
# installing the reqd library library ( "ggplot2" ) # creating a data frame data_frame <- data.frame ( col1 = c ( "g1" , "g2" , "g1" , "g1" , "g2" , "g1" , "g2" , "g2" ), col2 = 1:8, col3 = LETTERS [1:8] ) print ( "Data Frame" ) print (data_frame) # plotting the col1 and col2 of data frame # and assigning colors based on col1 ggplot (data_frame, aes (col1,col2,colour=col1))+ geom_point () |
Выход
[1] "Data Frame" > print(data_frame) col1 col2 col3 1 g1 1 A 2 g2 2 B 3 g1 3 C 4 g1 4 D 5 g2 5 E 6 g1 6 F 7 g2 7 G 8 g2 8 H
Изменение цвета нанесенных точек
Чтобы обеспечить настраиваемые цвета для точек данных, можно использовать метод пакета ggplot2, scale_color_manual. Этот метод можно использовать для получения как шестнадцатеричного, так и строкового вектора значений цвета. Затем вектор присваивается параметру values этого метода. Длина вектора должна быть эквивалентна количеству групп. Затем метод назначает разные цвета в соответствии с сгруппированным столбцом фрейма данных.
scale_color_manual(values = col-vec)
Arguments :
- col-vec – The color vector
R
# installing the reqd library library ( "ggplot2" ) # creating a data frame data_frame <- data.frame ( col1 = c ( "g1" , "g2" , "g1" , "g1" , "g2" , "g1" , "g2" , "g2" ), col2 = 1:8, col3 = LETTERS [1:8] ) print ( "Data Frame" ) print (data_frame) # assigning colors to different grouped # points cols <- c ( "blue" , "orange" ) # plotting the col1 and col2 of data frame # and assigning colors based on col1 ggplot (data_frame, aes (col1,col2,colour=col1))+ geom_point ()+ # assigning customised colours to the plot scale_color_manual (values = cols) |
Выход
[1] "Data Frame" > print(data_frame) col1 col2 col3 1 g1 1 A 2 g2 2 B 3 g1 3 C 4 g1 4 D 5 g2 5 E 6 g1 6 F 7 g2 7 G 8 g2 8 H
Изменение формы нанесенных точек
Точкам данных на графике можно присвоить различные формы. По умолчанию окружности строятся в указанных точках. Если мы хотим настроить форму, значение номера формы можно указать в методе geom_point() в качестве аргумента формы. Например, фигура № 15 используется для построения квадратов, а фигура № 17 — треугольников.
geom_point(shape = )
R
# installing the reqd library library ( "ggplot2" ) # creating a data frame data_frame <- data.frame ( col1 = c ( "g1" , "g2" , "g1" , "g1" , "g2" , "g1" , "g2" , "g2" ), col2 = 1:8, col3 = LETTERS [1:8] ) print ( "Data Frame" ) print (data_frame) # assigning colors to different grouped # points cols <- c ( "blue" , "orange" ) # plotting the col1 and col2 of data frame # and assigning square based shape ggplot (data_frame, aes (col1,col2,colour=col1))+ geom_point (shape = 15) |
Выход
[1] "Data Frame" > print(data_frame) col1 col2 col3 1 g1 1 A 2 g2 2 B 3 g1 3 C 4 g1 4 D 5 g2 5 E 6 g1 6 F 7 g2 7 G 8 g2 8 H
Назначение фигур на основе групп нанесенных точек
Если мы хотим отобразить группы в разных формах и цветах, мы можем указать и использовать оба параметра в эстетических сопоставлениях объекта ggplot. Форма и цвет могут быть назначены сгруппированному столбцу фрейма данных. В приведенном ниже фрагменте кода кружки оранжевого цвета назначаются группе «g1», а треугольники синего цвета — группе «g2».
R
# installing the reqd library library ( "ggplot2" ) # creating a data frame data_frame <- data.frame ( col1 = c ( "g1" , "g2" , "g1" , "g1" , "g2" , "g1" , "g2" , "g2" ), col2 = 1:8, col3 = LETTERS [1:8] ) print ( "Data Frame" ) print (data_frame) # assigning colors to different grouped points cols <- c ( "blue" , "orange" ) # plotting the col1 and col2 of data frame and # assigning square based shape ggplot (data_frame, aes (col1,col2,colour=col1,shape=col1))+ geom_point () |
Выход
[1] "Data Frame" > print(data_frame) col1 col2 col3 1 g1 1 A 2 g2 2 B 3 g1 3 C 4 g1 4 D 5 g2 5 E 6 g1 6 F 7 g2 7 G 8 g2 8 H
Однако, если мы не назначаем параметр цвета точкам, принадлежащим к разным группам, то разным точкам данных назначаются только разные фигуры черного цвета.
R
# installing the reqd library library ( "ggplot2" ) # creating a data frame data_frame <- data.frame ( col1 = c ( "g1" , "g2" , "g1" , "g1" , "g2" , "g1" , "g2" , "g2" ), col2 = 1:8, col3 = LETTERS [1:8] ) print ( "Data Frame" ) print (data_frame) # assigning colors to different grouped # points cols <- c ( "blue" , "orange" ) # plotting the col1 and col2 of data frame # and assigning square based shape ggplot (data_frame, aes (col1,col2,shape=col1))+ geom_point () |
Выход
[1] "Data Frame" > print(data_frame) col1 col2 col3 1 g1 1 A 2 g2 2 B 3 g1 3 C 4 g1 4 D 5 g2 5 E 6 g1 6 F 7 g2 7 G 8 g2 8 H