比如,画直线、抛物线、指数函数的效果,是这样的、这样的和这样的:
而我们想画出的效果,是这样的、这样的,还有这样的:
本日就给大家分享,如何利用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,绘制都雅的数学坐标系与函数图像就讲完了,感谢大家的不雅观看,我们下节课再见。