Как мне нарисовать 1000 точек на графике с разными цветами? - PullRequest
0 голосов
/ 05 февраля 2019

Я пытался иметь 1000 значений между 1 и 0, и если они соответствуют определенным правилам, которые содержатся в операторах if, я хочу, чтобы точки были наделены определенной формой и цветом.Я попытался запустить свой код, но все, что я получаю, это график с точкой в ​​(0, 0).

numOne <- sample(0:1, 1)
numTwo <- sample(0:1, 1)

plot(0,0, pch=5, col=5)

for(i in 999){
    a <- sample(0:1, 1)
    b <- sample(0:1, 1)

    if((a + b < 1) && (a - b < 0)){ lines(0, 0, pch=1, col=1) }
    if((a + b < 1) && (a - b < 0)){ lines(0, 0, pch=2, col=2) }
    if(!(a + b < 1) && (a - b < 0)){ lines(0, 1, pch=3, col=3) }
    if(!(a + b < 1) && (a - b < 0)){ lines(1, 0, pch=4, col=4) }

}

1 Ответ

0 голосов
/ 06 февраля 2019

Я не совсем уверен, что вы пытаетесь сделать, но вот как бы я поступил, делая то, что я думаю вы пытаетесь сделать:

library(dplyr)
library(ggplot2)

# create a dataframe with random x and y values
data <- data.frame(x = runif(n = 1000, min = 0, max = 1),
                   y = runif(n = 1000, min = 0, max = 1))

# add a new column to the data identifying the group
data <- data %>% 
           mutate(group = if_else(condition = (x + y < 1) & (x - y < 0), 
                                  true = 'a', 
                                  false = 'b'))

# plot the data with a different shape and color for each group
ggplot(data, 
       aes(x = x,
           y = y,
           color=group,
           shape=group)) +
   geom_point()

Here's the output

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