这个图用Python matplotlib应该怎么做?

STEM版,合并数学,物理,化学,科学,工程,机械。不包括生物、医学相关,和计算机相关内容。

版主: verdeliteTheMatrix

回复
头像
TheMatrix楼主
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 271
帖子: 13564
注册时间: 2022年 7月 26日 00:35

这个图用Python matplotlib应该怎么做?

帖子 TheMatrix楼主 »

这个是y2=x3-2x+1的图。用Python matplotlib plot函数做,在切线垂直于x-轴的地方就会出现曲线不连续,因为这里需要比较密集的x值。而Windows 10 calculator graphing mode做的图就不错,很光滑。不知道怎么做出来的。

图片

图片
头像
verdelite
论坛元老
论坛元老
帖子互动: 1039
帖子: 24253
注册时间: 2022年 7月 21日 23:33

Re: 这个图用Python matplotlib应该怎么做?

帖子 verdelite »

plot的时候有style,可以选择line那样的。matlab是这样的,R也是,我想matplotlib号称学习的matlab,那也可以。
头像
TheMatrix楼主
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 271
帖子: 13564
注册时间: 2022年 7月 26日 00:35

Re: 这个图用Python matplotlib应该怎么做?

帖子 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()
头像
verdelite
论坛元老
论坛元老
帖子互动: 1039
帖子: 24253
注册时间: 2022年 7月 21日 23:33

Re: 这个图用Python matplotlib应该怎么做?

帖子 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里面去。
头像
TheMatrix楼主
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 271
帖子: 13564
注册时间: 2022年 7月 26日 00:35

Re: 这个图用Python matplotlib应该怎么做?

帖子 TheMatrix楼主 »

verdelite 写了: 2023年 1月 29日 12:19 你把y=0的三个x值插入到x linspace里面去。
嗯。可以试试。

y=0的三个x值需要solve。然后要插入到x的linspace中去,还要按照顺序。我想想怎么插入。
头像
TheMatrix楼主
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 271
帖子: 13564
注册时间: 2022年 7月 26日 00:35

Re: 这个图用Python matplotlib应该怎么做?

帖子 TheMatrix楼主 »

TheMatrix 写了: 2023年 1月 29日 12:24 嗯。可以试试。

y=0的三个x值需要solve。然后要插入到x的linspace中去,还要按照顺序。我想想怎么插入。
嗯。效果还可以。

图片

局部放大之后能看到直线连接,这一点不如Windows 10 calculator graphing mode。它那个不知道是什么处理方式。
回复

回到 “STEM”