龙空技术网

Python100天42: 利用Matplotlib 绘制函数 y = x^2 图像坐标移动

洪较瘦不着调退役it人 115

前言:

目前小伙伴们对“python输出图形函数”可能比较关注,姐妹们都想要分析一些“python输出图形函数”的相关内容。那么小编也在网上汇集了一些对于“python输出图形函数””的相关文章,希望你们能喜欢,大家快快来学习一下吧!

前面我们使用工具绘制了三角函数的图像

Python100天41: matplotlib画动态函数图的探索

Python100天38: 通过程序代码来画数学函数图像

通过函数的动态绘图我们其实会有一个直观的概念,所谓的函数图像是在一个坐标系内,所有(x,y)坐标对应 的点连接起来就是函数图像了。x是横坐标,y是纵坐标。

通常情况下x 可以计算出 y 的值,请注意不管函数如何定义,一个自变量 X 确定后一定有一个因变量Y与之对应。有人会问抛物线向左向右的开口 x是自变量么,此时的抛物线函数只是个函数而已,x已经不符合自变量的原始定义了。

现在开始研究干净函数 y = x^2 的图像

一般情况下坐标 (0,0) 是左下角,整个图像是有四个边框的,而数学课本上原点通常居中,坐标轴也是居中的。

在数学中我们的函数的图像基本上 (0,0) 是在中心。

怎么实现坐标轴居中呢?

import matplotlib.pyplot as pltimport numpy as np# x定义域x=np.linspace(-3,3,50)# y轴值域y=x**2 plt.figure(num=3,figsize=(8,5)) plt.plot(x,y,color='red',linewidth=3.0,linestyle='-')plt.xlim(-1,2)plt.ylim(-2,3)plt.xlabel('x')plt.ylabel('y')new_ticks=np.linspace(-1,2,5)plt.xticks(new_ticks) plt.yticks([-2.2,-1,1,1.5,2.4],       [r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$'])ax=plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0)) ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0)) ax.set_title('y = x^2',fontsize=14,color='r') plt.show()

new_ticks=np.linspace(-2,2,5) # x的范围改为对称了,这样看起来美观点new_ticks=np.linspace(-2,2,10) # 刻度太小,我就取了 10个频数

# 设置 x,y 轴的范围以及 label 标注plt.xlim(-1,2)plt.ylim(-2,3)plt.xlabel('x')plt.ylabel('y')
#  Y方向上给不同的刻度上给定一个标签plt.yticks([-2.2,-1,1,1.5,2.4],[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$'])

在matplotlib的图中,默认有四个轴,两个横轴和两个竖轴,可以通过ax = plt.gca()方法获取,gca是‘get current axes’的缩写,获取图像的轴,总共有四个轴top、bottom、left和right

ax=plt.gca() ax.spines['bottom']获取底部的轴,

通过set_position方法,设置底部轴的位置,

例如:ax.spines['bottom'].set_position(('data',0))

表示设置底部轴移动到竖轴的0坐标位置,设置left的方法相同

# Y 轴是左边框框,所以要移动# x轴是下边框,所以要移动ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))# x轴是下边框,所以要移动ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))

实际上是 底部的 X轴向上移动 ,Y 轴向右移动,这样两个軕的交点位置重点定义为中心点了。

对比移动X,y轴位置 前后的效果,发现图像没有变,变的是坐标轴的位置,于是就可以看到和数学函数一样的图形展示了。

由于axes会获取到四个轴,而我们只需要两个轴,所以我们需要把另外两个轴隐藏,把顶部和右边轴的颜色设置为none,将不会显示。

# 畸变plot画图的区域四边都有杠,因此先把上边框,右边框的颜色去掉ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')

视频加载中...

标签: #python输出图形函数 #python直线交点