我有一个函数,
x= (z-z^2.5)/(1+2*z-z^2)
y = z-z^2.5
如何绘制一张图形,其中z
是唯一的变量,x轴
显示函数x
的值,y轴
显示函数y
的值,z
的范围从0到5
?
我有一个函数,
x= (z-z^2.5)/(1+2*z-z^2)
y = z-z^2.5
如何绘制一张图形,其中z
是唯一的变量,x轴
显示函数x
的值,y轴
显示函数y
的值,z
的范围从0到5
?
## z ranges from 0 to 5
z = seq(0,5,0.01)
## x and y are functions of z
x = (z-z^2.5)/(1+2*z-z^2)
y = z-z^2.5
##plot
plot(x,y, pch=20, cex=0.5)
plot(x[1:242],y[1:242], type='l', xlab='x', ylab='y',
xlim=range(x), ylim=range(y))
lines(x[243:501],y[243:501])
但是要小心解释这个图。从z=0到z=1,有一些棘手的问题。
最初的回答
ggplot2
。# z ranges from -1000 to 1000 (The range can be arbitrary)
z = seq(-1000,1000,.25)
# x as a function of z
x = (z-z^2.5) / ((1+2*z)-z^2)
# y as a function of z
y = z-z^2.5
# make a dataframe of x,y and z
df <- data.frame(x=x, y=y, z=z)
# subset the df where z is between 0 and 5
df_5 <- subset(df, (df$z>=0 & df$z<=5))
# plot the graph
library(ggplot2)
ggplot(df_5, aes(x,y))+ geom_point(color="red")
@G5W的回答已经很好了,只需要在你的数据集中使用subset()
选择0
和5
之间的值进行绘图,并使用ggplot2
库即可。