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

背景:

有些数学题目经常要用到数形结合思想,尤其是一些函数题目,如果能够把函数图像画出来进行解题的话,思路会更加清晰明了。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绘制直角坐标系内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Python和GDAL给图片加坐标系的实现思路(坐标投影转换)

    ** 使用Python和GDAL给图片加坐标系 ** 假设你已经知道arcgis地理配准(如下图内容),懂一点python. ** -目的和背景 1.从地图网站获得一张PNG格式的截图,已知坐标系为WGS84和左上角坐标.arcgis地理配准再定义投影即可给它加上原图的坐标系. 2.假设有上千张图片,可用Python和GDAL给图片加坐标系. -实现思路 1.使用GDAL需要知道待投影图片的地理坐标信息.仿射矩阵参数. 仿射矩阵参数是干什么的?见:https://zhuanlan.zhihu.c

  • 解决python gdal投影坐标系转换的问题

    要将xian80地理坐标系转换成投影坐标系: xian1980 = """ GEOGCS["GCS_Xian_1980", DATUM["Xian_1980", SPHEROID["Xian_1980",6378140.0,298.257]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]]"&q

  • Python matplotlib绘图建立画布及坐标系

    目录 一.建立画布 二.用plt.subplot函数建立坐标系,并分别绘制折线图和柱状图 三.完整代码如下所示 四.对应效果图如下所示 一.建立画布 import matplotlib.pyplot as plt import numpy as np x=np.arange(8) y=np.arange(8) print(x,y) #建立画布 figsize,它用width和height来控制画布的宽和高 plt.figure(figsize=(8,6),dpi=90) #facecolor='

  • Python使用matplotlib实现在坐标系中画一个矩形的方法

    本文实例讲述了Python使用matplotlib实现在坐标系中画一个矩形的方法.分享给大家供大家参考.具体实现方法如下: import matplotlib.pyplot as plt from matplotlib.patches import Rectangle class Annotate(object): def __init__(self): self.ax = plt.gca() self.rect = Rectangle((0,0), 1, 1) self.x0 = None s

  • 基于python分享极坐标下的几类典型曲线

    目录 一.极坐标 二.直角坐标系与极坐标互换 三.几类典型的极坐标方程 四.代码绘制几类典型极坐标方程图像 导言: 忽然发现数学家还是很擅长发明新玩意构造新东西的,如很早的欧几里得几何体系,后来的笛卡尔直角坐标系,还有极坐标系,埃尔朗根纲领,一门学科的发展需要一代又一代的人前赴后继为其添砖加瓦,筑成一座大厦,今天我们来简单介绍一下极坐标系. 一.极坐标 极坐标系统是一套区别于笛卡尔直角坐标系的二维坐标系统,它是指在平面内取一个定点O,然后从O点引一条射线Ox,再选定一个长度单位和角度的正方向(通

  • python读取并定位excel数据坐标系详解

    测试数据:坐标数据:testExcelData.xlsx 使用python读取excel文件需要安装xlrd库: xlrd下载后的压缩文件:xlrd-1.2.0.tar.gz 解压后再进行安装即可,具体安装方法请另行百度. 代码 import xlrd import matplotlib.pyplot as plt import numpy as np #打开文件 data = xlrd.open_workbook(r'testExcelData.xlsx') #获取表格数目 nums = le

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

    背景: 有些数学题目经常要用到数形结合思想,尤其是一些函数题目,如果能够把函数图像画出来进行解题的话,思路会更加清晰明了.python绘图主要用到matplotlib绘图模块,平时我们看到的往往是下面这种图 用一个实线矩形把几何图形封闭起来,看起来好像在一个象限里面.现实中,我们通常采用描点作图,首先建立一个笛卡尔直角坐标系,然后根据一个自变量,一个因变量的在坐标系里面描一些点,然后用一条光滑曲线把这些点串起来,更像下面这种图 那么,我们怎么才能利用matplotlib模块画出上面的正弦函数呢?

  • 利用Python绘制有趣的万圣节南瓜怪效果

    关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日;而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints' Day). 为庆祝万圣节的来临,小孩会装扮成各种可爱的鬼怪向逐家逐户地敲门,要求获得糖果,否则就会捣蛋.而同时传说这一晚,各种鬼怪也会装扮成小孩混入群众之中一起庆祝万圣节的来临,而人类为了让鬼怪更融洽才装扮成各种鬼怪. 不知从何时开始,西方的节日一个个的走进了天朝,情人节.圣诞节.感恩节.万圣节

  • 利用python绘制数据曲线图的实现

    "在举国上下万众一心.众志成城做好新冠肺炎疫情防控工作的特殊时刻,我们不能亲临主战场,但我们能坚持在大战中坚定信心.不负韶华." 1.爬取新闻保存为json文件,并将绘图所需数据保存至数据库 数据库表结构: 代码部分: import pymysql import re import sys,urllib,json from urllib import request from datetime import datetime import pandas as pd Today=date

  • 利用python绘制中国地图(含省界、河流等)

    我们可以使用Basemap这个工具包来实现中国地图的绘制 首先需要加载一些包: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap Basemap包就是气象画图的利器,现在我们就可以愉快的画图了! plt.figure(1) map=Basemap() map.drawcoastlines() plt.title(r'$World\ Map$',fontsize=2

  • 利用python绘制正态分布曲线

    使用Python绘制正态分布曲线,借助matplotlib绘图工具: #-*-coding:utf-8-*- """ python绘制标准正态分布曲线 """ # ============================================================== import numpy as np import math import matplotlib.pyplot as plt def gd(x, mu=0, s

  • 中秋快到了利用 python 绘制中秋礼物

    目录 导语 正文 总结 导语 ​ 哈喽哈喽!大家上午好,我是木木子. 新的一天开始啦,之前写了很多的画图代码嗯哼!你们还记得嘛?我就不整理了蛮多滴,你们可以自己翻翻往期的文章哈,有简单的 也有难点儿的总有一款适合你们~嘿嘿. 话说--中秋也快到了,你们放几天假吖? 假期长的小伙伴儿知道回家带什么礼物更让家人开心嘛?假装不知道.jpg. 小编告诉你们:当然是带着你们的男朋友.女朋友回家了~,来来来,有了对象没得对象的都看过来哈,时间仓促,给你们的中秋福利送了哈,写一个简单的中秋表白的画图源码啦!

  • 利用Python绘制虎年烟花秀

    目录 一.演示效果 二.python代码 三.前端代码 一.演示效果 b站:虎年烟花演示 二.python代码 import pygame from math import * from pygame.locals import * import random class firew:          def __init__(self, pos, color, light, size, move):         self.pos = list(pos)         self.colo

  • 详解如何利用Python绘制迷宫小游戏

    目录 构思 绘制迷宫 走出迷宫 完整代码 更大的挑战 关于坐标系设置 周末在家,儿子闹着要玩游戏,让玩吧,不利于健康,不让玩吧,扛不住他折腾,于是想,不如一起搞个小游戏玩玩! 之前给他编过猜数字 和 掷骰子 游戏,现在已经没有吸引力了,就对他说:“我们来玩个迷宫游戏吧.” 果不其然,有了兴趣,于是和他一起设计实现起来,现在一起看看我们是怎么做的吧,说不定也能成为一个陪娃神器~ 先一睹为快: 构思 迷宫游戏,相对比较简单,设置好地图,然后用递归算法来寻找出口,并将过程显示出来,增强趣味性. 不如想

  • 如何利用 Python 绘制动态可视化图表

    目录 一.安装相关的模块 二.gif和matplotlib的结合 三.gif和plotly的结合 四.matplotlib多子图动态可视化 五.动态气泡图 一.安装相关的模块 首先第一步的话我们需要安装相关的模块,通过pip命令来安装 pip install gif 另外由于gif模块之后会被当做是装饰器放在绘制可视化图表的函数上,主要我们依赖的还是Python当中绘制可视化图表的matplotlib.plotly.以及altair这些模块,因此我们还需要下面这几个库 pip install "

  • 利用Python绘制酷炫的3D地图

    目录 1.重庆市3D地图 2.中国3D地图一 3.中国3D地图二 4.中国3D地图三 5.地球展示 之前我们介绍了很多Python地图可视化的内容,本次主要介绍如何Python绘制3D地图,还是比较神奇的,下面让我们一起一饱眼福吧! 1.重庆市3D地图 from pyecharts import options as opts from pyecharts.charts import Map3D from pyecharts.globals import ChartType # 经纬度 exam

随机推荐