专业编程基础技术教程

网站首页 > 基础教程 正文

使用python,绘制美观且标准的数学坐标系与函数图像

ccvgpt 2024-11-26 00:58:52 基础教程 3 ℃

使用Matplotlib的默认画板,画出的函数图像真的太丑了。

比如,画直线、抛物线、指数函数的效果,是这样的、这样的和这样的:

使用python,绘制美观且标准的数学坐标系与函数图像

而我们想画出的效果,是这样的、这样的,还有这样的:

今天就给大家分享,如何使用python,绘制美观的数学坐标系与函数图像。


1.坐标系的绘制

为了绘制数学中的坐标轴,需要使用axis-artist库。

定义draw_clear_board函数,用于绘制一个干净的坐标系:

函数传入left、right、down和up,分别表示坐标轴的左、右、下、上四个边界:

在函数中,首先创建一个画板board和一个坐标轴axis。

然后将坐标轴添加到画板中,并设置坐标轴的刻度,另外还要隐藏原来画板上的坐标轴。

接着定义x轴的显示样式。这里使用new_floating函数,创建一个新的悬浮坐标。

使用set_line_style,设置坐标轴的样式,也就是在x轴的末端绘制一个箭头。

使用set_direction,设置x轴的刻度方向。"top"表示x轴的刻度朝上。

使用set_xlim设置x轴的显示范围。其中left和right分别表示x轴的最左端和最右端。

按照同样的方式,设置y轴的样式。

接着在main函数中,设置left和right两个变量,表示坐标轴的最左端和最右端。调用draw_clear_board函数,绘制一个-8到8的坐标系。


2.直线的绘制

下面是直线的绘制代码。

设置函数draw_linear_function绘制一元一次函数。

函数传入直线的斜率k和截距b,left和right为自变量x的取值范围。

在函数中,使用numpy的lin-space,在left和right之间,构造出100个相同间距的浮点数,保存至x。

然后计算函数值y。

调用plot,绘制函数的图像:

在main函数中,绘制三条直线,三条直线的斜率分别为正、负和0:

接着运行程序,会得到三条不同颜色的直线。


3.其他函数图像的绘制

编写绘制抛物线、幂函数、指数函数和对数函数的代码如下:

绘制这些不同的函数,逻辑上和绘制直线是一样的,只是函数计算的方式不同。

例如,一元一次函数,是根据k和b计算直线,而二次函数是根据a、b、c计算抛物线。

幂函数、指数函数、对数函数,也分别有相应的计算方法,分别是计算x的a次方、a的x次方、以a为底,x的对数。

在main函数中,完成直线的绘制后,绘制两条抛物线,它们的开口分别是向上和向下:

绘制前,需要重新设置画板和绘制坐标轴,这里通过draw_clear_board实现:

接着要绘制幂函数、指数函数和对数函数:

为了不让函数值的范围过大,我们要重新调整自变量x的取值范围。

也就是将坐标轴横轴的最左端和最右端,从-8到8调整到-2到2。

这样函数图像会看起来更合适。

具体来说,绘制x的平方和x的3次方,两个幂函数:


2的x次方,3的x次方,两个指数函数:

最后是以2为底和以10为底,两个对数函数:

特别要说明的是,对数函数的自变量取值范围是大于0的,也就是传入的left,不能小于等于0。

我们可以设置一个非常小的数字,这里取的是0.0001。

那么到这里,使用python,绘制美观的数学坐标系与函数图像就讲完了,感谢大家的观看,我们下节课再会。

猜你喜欢

最近发表
标签列表