利用python绘制笛卡尔直角坐标系

 更新时间:2022年03月07日 09:43:12   作者:帅帅de三叔  
这篇文章主要介绍了利用python绘制笛卡尔直角坐标系,python绘图主要用到matplotlib绘图模块,利用matplotlib模块画出上面的正弦函,需要的朋友可以参考一下

背景:

有些数学题目经常要用到数形结合思想,尤其是一些函数题目,如果能够把函数图像画出来进行解题的话,思路会更加清晰明了。python绘图主要用到matplotlib绘图模块,平时我们看到的往往是下面这种图

用一个实线矩形把几何图形封闭起来,看起来好像在一个象限里面。现实中,我们通常采用描点作图,首先建立一个笛卡尔直角坐标系,然后根据一个自变量,一个因变量的在坐标系里面描一些点,然后用一条光滑曲线把这些点串起来,更像下面这种图

那么,我们怎么才能利用matplotlib模块画出上面的正弦函数呢?先看代码,再听分解

代码:

import math
import numpy as np #导入数值计算模块
import matplotlib.pyplot as plt #导入绘图模块
import mpl_toolkits.axisartist as axisartist #导入坐标轴加工模块
fig=plt.figure(figsize=(4,2)) #新建画布
ax=axisartist.Subplot(fig,111) #使用axisartist.Subplot方法创建一个绘图区对象ax
fig.add_axes(ax) #将绘图区对象添加到画布中

ax.axis[:].set_visible(False) #隐藏原来的实线矩形

ax.axis["x"]=ax.new_floating_axis(0,0,axis_direction="bottom") #添加x轴
ax.axis["y"]=ax.new_floating_axis(1,0,axis_direction="bottom") #添加y轴

ax.axis["x"].set_axisline_style("->",size=1.0) #给x坐标轴加箭头
ax.axis["y"].set_axisline_style("->",size=1.0) #给y坐标轴加箭头
ax.annotate(s='x' ,xy=(2*math.pi,0) ,xytext=(2*math.pi,0.1)) #标注x轴
ax.annotate(s='y' ,xy=(0,1.0) ,xytext=(-0.5,1.0)) #标注y轴

plt.xlim(-6.3,6.3) #设置横坐标范围
plt.ylim(-1.1,1.1) #设置纵坐标范围
ax.set_xticks([-2*math.pi,-math.pi,0,math.pi,2*math.pi]) #设置x轴刻度
ax.set_yticks([-1,1]) #设置y轴刻度

y=[] #用来存放函数值
x=np.linspace(-2*math.pi,2*math.pi,100) #构造横坐标数据
for xi in x: #生成函数值
    y.append(math.sin(xi))#追加

plt.plot(x,y,color="blue") #描点连线
plt.show() #出图

代码解读:

工欲善其事必先利其器,画坐标轴当然要用到坐标轴加工类 axisartist,接下来就是用匠心精神不断打磨坐标轴。

首先,隐藏原来的实线矩形

ax.axis[:].set_visible(False)

其次,添加自定义x轴和y轴

ax.axis["x"]=ax.new_floating_axis(0,0,axis_direction="bottom") 
ax.axis["y"]=ax.new_floating_axis(1,0,axis_direction="bottom") 

接着,加箭头,设置箭头款式,并把坐标轴标注出来

ax.axis["x"].set_axisline_style("->",size=1.0) 
ax.axis["y"].set_axisline_style("->",size=1.0) 
ax.annotate(s='x' ,xy=(2*math.pi,0) ,xytext=(2*math.pi,0.1)) 
ax.annotate(s='y' ,xy=(0,1.0) ,xytext=(-0.5,1.0)) 

修缮刻度和范围:

plt.xlim(-6.3,6.3) 
plt.ylim(-1.1,1.1) 
ax.set_xticks([-2*math.pi,-math.pi,0,math.pi,2*math.pi]) 
ax.set_yticks([-1,1]) 

到这里,一个比较好看的正弦函数图像才算画出来,逻辑上来说,要使得坐标轴的标注位置恰当,加标注操作应该在设置坐标轴范围操作之后。

到此这篇关于利用python绘制笛卡尔直角坐标系的文章就介绍到这了,更多相关python绘制直角坐标系内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python GUI 图形用户界面

    Python GUI 图形用户界面

    这篇文章主要介绍了Python GUI 图形用户界面,图形用户界面是指采用图形方式显示的计算机操作用户界面,详细介绍需要的小伙伴可以参考一下下面文章详情
    2022-07-07
  • 详解Python如何检查一个数字是否为科技数

    详解Python如何检查一个数字是否为科技数

    科技数(Tech Number)是一种在数学上具有一定特殊性质的数字,这篇文章主要为大家详细介绍了如何使用Python检查一个数字是否为科技数,感兴趣的可以了解下
    2024-03-03
  • pytorch简介

    pytorch简介

    Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。这篇文章给大家介绍pytorch的相关知识,感兴趣的朋友一起看看吧
    2020-11-11
  • Matplotlib绘图基础之动画绘制详解

    Matplotlib绘图基础之动画绘制详解

    matplotlib的动画一直是一个强大但使用频率不高的功能,通过动画来展示数据和模型的变化过程,可使数据的可视化更加生动形象,下面就跟随小编一起学习一下Matplotlib是如何绘制动画的吧
    2023-08-08
  • pytest 用例执行失败后其他不再执行

    pytest 用例执行失败后其他不再执行

    本文主要介绍了pytest 用例执行失败后其他不再执行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算

    python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算

    这篇文章主要介绍了python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 一篇文章带你了解python字典基础

    一篇文章带你了解python字典基础

    这篇文章主要介绍了Python字典及字典基本操作方法,结合实例形式详细分析了Python字典的概念、创建、格式化及常用操作方法与相关注意事项,需要的朋友可以参考下
    2021-08-08
  • Python Django 前后端分离 API的方法

    Python Django 前后端分离 API的方法

    今天小编就为大家分享一篇Python Django 前后端分离 API的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • mac 安装python网络请求包requests方法

    mac 安装python网络请求包requests方法

    今天小编就为大家分享一篇mac 安装python网络请求包requests方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python与shell的3种交互方式介绍

    Python与shell的3种交互方式介绍

    这篇文章主要介绍了Python与shell的3种交互方式介绍,本文讲解了os.system、os.popen、subprocess模块等3种方法,需要的朋友可以参考下
    2015-04-04

最新评论