如何在ggplot2中绘制参数曲线
How to draw a parametric curve in ggplot2
我想在 ggplot2 中绘制参数曲线。当只绘制点时,顺序无关紧要,它可以正常工作:
library(ggplot2)
phi = seq(0, 2*pi, length.out=100)
df1 = data.frame(x=(phi+3)*cos(phi), y=(phi+3)*sin(phi))
ggplot(data=df1, aes(x, y)) + geom_point()
不幸的是,ggplot2 隐式地对点进行排序,所以当我尝试画一条线时
ggplot(data=df1, aes(x, y)) + geom_line()
我明白了
这不是我想要的。这些点的连接顺序应与它们在数据框中的顺序相同。有没有办法在 ggplot2 中做到这一点?
(我阅读了 Plot a heart in R 中的答案,但我的问题是关于 ggplot2 的,使用极坐标不是一个选项)。
尝试以下操作:
library(ggplot2)
phi = seq(0, 2*pi, length.out=100)
df1 = data.frame(x=(phi+3)*cos(phi), y=(phi+3)*sin(phi))
ggplot(data=df1, aes(x, y)) + geom_point() + geom_path()
我想在 ggplot2 中绘制参数曲线。当只绘制点时,顺序无关紧要,它可以正常工作:
library(ggplot2)
phi = seq(0, 2*pi, length.out=100)
df1 = data.frame(x=(phi+3)*cos(phi), y=(phi+3)*sin(phi))
ggplot(data=df1, aes(x, y)) + geom_point()
不幸的是,ggplot2 隐式地对点进行排序,所以当我尝试画一条线时
ggplot(data=df1, aes(x, y)) + geom_line()
我明白了
这不是我想要的。这些点的连接顺序应与它们在数据框中的顺序相同。有没有办法在 ggplot2 中做到这一点?
(我阅读了 Plot a heart in R 中的答案,但我的问题是关于 ggplot2 的,使用极坐标不是一个选项)。
尝试以下操作:
library(ggplot2)
phi = seq(0, 2*pi, length.out=100)
df1 = data.frame(x=(phi+3)*cos(phi), y=(phi+3)*sin(phi))
ggplot(data=df1, aes(x, y)) + geom_point() + geom_path()