Построение двойных (присутствующих / отсутствующих) данных ggplot2 geom_point - PullRequest
2 голосов
/ 03 октября 2019

Попытка построить данные присутствия / отсутствия в geom_point ggplot.

Col1 Col2 Col3
Name Case 1
Name Case2 0
Name Case3 1
Name2 Case 1
Name2 Case2 0
Name2 Case3 1

Я попытался:

library(ggplot2)
library(dplyr)

plot <- df %>%
  ggplot(aes(x=Col2, y=Col1, fill = Col3, size = 7)) +
  geom_point() +
  theme(axis.text.x = element_text(angle = 90, hjust = .1, vjust=0.5))

И оказалось, что все пробелы заполнены:None of the 0 in the dataframe are respected and all of the spaces are filled

Ответы [ 3 ]

1 голос
/ 03 октября 2019

Если вы просто хотите показать отсутствие или присутствие, возможно, смена альфа сработает.

df<- read.table(header=TRUE, text="Col1 Col2 Col3
Name Case 1
Name Case2 0
Name Case3 1
Name2 Case 1
Name2 Case2 0
Name2 Case3 1")

library(ggplot2)

#need to convert col3 from a continuous value to a discrete value.
ggplot(df, aes(x=Col2, y=Col1, alpha = factor(Col3) )) +
  geom_point(size = 10) +
  theme(axis.text.x = element_text(angle = 90, hjust = .1, vjust=0.5))

Другой вариант - использовать эстетику цвета и определить собственную цветовую палитру «Белый» идругого цвета.

enter image description here

1 голос
/ 03 октября 2019

fill не является свойством geom_point, если только вы специально не задаете фигуру, которая его уважает.

ggplot(df, aes(x=Col2, y=Col1, fill = factor(Col3))) +
  geom_point(size = 7, shape = 21)

enter image description here

(Вам необходимо установить size в geom_point, вне aes.)

В качестве альтернативы, вы можете изменить shape на Col3:

ggplot(df, aes(x=Col2, y=Col1, shape = factor(Col3))) +
  geom_point(size = 7) +
  scale_shape_manual(values = c(1, 16))

enter image description here

1 голос
/ 03 октября 2019

Как насчет использования цвета? ggplot(aes(x=Col2, y=Col1, fill = Col3, colour = Col3, size = 7))

...