分页: 1 / 1
这个图用Python matplotlib应该怎么做?
发表于 : 2023年 1月 29日 11:59
由 TheMatrix
这个是y
2=x
3-2x+1的图。用Python matplotlib plot函数做,在切线垂直于x-轴的地方就会出现曲线不连续,因为这里需要比较密集的x值。而Windows 10 calculator graphing mode做的图就不错,很光滑。不知道怎么做出来的。

Re: 这个图用Python matplotlib应该怎么做?
发表于 : 2023年 1月 29日 12:06
由 verdelite
plot的时候有style,可以选择line那样的。matlab是这样的,R也是,我想matplotlib号称学习的matlab,那也可以。
Re: 这个图用Python matplotlib应该怎么做?
发表于 : 2023年 1月 29日 12:14
由 TheMatrix
verdelite 写了: 2023年 1月 29日 12:06
plot的时候有style,可以选择line那样的。matlab是这样的,R也是,我想matplotlib号称学习的matlab,那也可以。
matplotlib plot函数本身就是line mode。就是你给出一些点,然后它给你以直线连起来。点图好像是另一个函数。
代码: 全选
def run():
fig, ax = plt.subplots(1,1)
#ax.set_aspect(1)
x = np.linspace(-3.5, 3.5, 2000)
y = np.sqrt(x**3-2*x+1)
y2 = -y
plt.plot(x,y, color="blue")
plt.plot(x,y2, color="blue")
plt.show()
Re: 这个图用Python matplotlib应该怎么做?
发表于 : 2023年 1月 29日 12:19
由 verdelite
TheMatrix 写了: 2023年 1月 29日 12:14
matplotlib plot函数本身就是line mode。就是你给出一些点,然后它给你以直线连起来。点图好像是另一个函数。
代码: 全选
def run():
fig, ax = plt.subplots(1,1)
#ax.set_aspect(1)
x = np.linspace(-3.5, 3.5, 2000)
y = np.sqrt(x**3-2*x+1)
y2 = -y
plt.plot(x,y, color="blue")
plt.plot(x,y2, color="blue")
plt.show()
你把y=0的三个x值插入到x linspace里面去。
Re: 这个图用Python matplotlib应该怎么做?
发表于 : 2023年 1月 29日 12:24
由 TheMatrix
verdelite 写了: 2023年 1月 29日 12:19
你把y=0的三个x值插入到x linspace里面去。
嗯。可以试试。
y=0的三个x值需要solve。然后要插入到x的linspace中去,还要按照顺序。我想想怎么插入。
Re: 这个图用Python matplotlib应该怎么做?
发表于 : 2023年 1月 29日 12:54
由 TheMatrix
TheMatrix 写了: 2023年 1月 29日 12:24
嗯。可以试试。
y=0的三个x值需要solve。然后要插入到x的linspace中去,还要按照顺序。我想想怎么插入。
嗯。效果还可以。
局部放大之后能看到直线连接,这一点不如Windows 10 calculator graphing mode。它那个不知道是什么处理方式。