Je cherche, mais je ne trouve toujours pas de réponse à une question assez simple - comment pouvons-nous produire un tracé de points simple d'une variable avec ggplot2 dans R?
avec la commande plot
c'est très simple:
plot(iris$Sepal.Length, type='p')
Mais lorsque j'essaie de passer une variable à qplot et que je spécifie geom = "point", j'obtiens une erreur "Error in UseMethod (" scale_dimension ")".
Comment pouvons-nous faire un tracé comme celui-ci, mais avec ggplot2?
Vous pouvez créer manuellement un vecteur d'index avec seq_along
.
library(ggplot2)
qplot(seq_along(iris$Sepal.Length), iris$Sepal.Length)
En fait, vous ne tracez pas une variable, mais deux. La variable X est l'ordre de vos données. La réponse à ce que vous voulez d'après votre exemple est:
library(ggplot2)
ggplot(iris, aes(y = Sepal.Length, x = seq(1, length(iris$Sepal.Length)))) + geom_point()
La réponse à votre question serait plus proche de ceci:
ggplot(iris, aes(x = Sepal.Length)) + geom_dotplot()
Une alternative à l'utilisation de qplot
et sans spécifier le paramètre data
:
ggplot(mapping=aes(x=seq_along(iris$Sepal.Length), y=iris$Sepal.Length)) +
geom_point()
ou:
ggplot() +
geom_point(aes(x=seq_along(iris$Sepal.Length), y=iris$Sepal.Length))
require(ggplot2)
x= seq(1,length(iris$Sepal.Length))
Sepal.Length= iris$Sepal.Length
data <- data.frame(x,Sepal.Length)
ggplot(data) + geom_point(aes(x=x,y=Sepal.Length))
library(ggplot2)
qplot(1:nrow(iris), Sepal.Length, data = iris, xlab = "Index")
ou
ggplot(data = iris, aes(x = 1:nrow(iris), y = Sepal.Length)) +
geom_point() +
labs(x = "Index")