I\'m searching but still can\'t find an answer to a quite simple question - how can we produce a simple dot plot of one variable with ggplot2 in R?
with plot<
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))
You can manually create an index vector with seq_along
.
library(ggplot2)
qplot(seq_along(iris$Sepal.Length), iris$Sepal.Length)
Actually, you are not plotting one variable, but two. X-variable is the order of your data. The answer to what you want based on your example is:
library(ggplot2)
ggplot(iris, aes(y = Sepal.Length, x = seq(1, length(iris$Sepal.Length)))) + geom_point()
The answer to your question would be closer to this:
ggplot(iris, aes(x = Sepal.Length)) + geom_dotplot()
library(ggplot2)
qplot(1:nrow(iris), Sepal.Length, data = iris, xlab = "Index")
or
ggplot(data = iris, aes(x = 1:nrow(iris), y = Sepal.Length)) +
geom_point() +
labs(x = "Index")
An alternative to using qplot
and without specifying the data
param:
ggplot(mapping=aes(x=seq_along(iris$Sepal.Length), y=iris$Sepal.Length)) +
geom_point()
or:
ggplot() +
geom_point(aes(x=seq_along(iris$Sepal.Length), y=iris$Sepal.Length))