matplotlib—画正弦、余弦函数图
一.导入模块
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] # 用于正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
二.创建数据
1.从-pi到pi平均取256个点
#获取x坐标
X=np.linspace(-np.pi,np.pi,256,endpoint=True)
2.根据X的值,求正弦和余弦函数
#获取y坐标
sin,cos=np.sin(X),np.cos(X)
三.开始画图
1.画正弦,余弦函数图
plt.plot(X,sin,"b-",lw=2.5,label="正弦")
plt.plot(X,cos,"r-",lw=2.5,label="余弦")'''
X: x轴
sin: y轴
cos: y轴
b-: color="blue",linestyle="-"的简写
lw: linewidth
'''
2.将x,y轴同时拉伸1.5倍
plt.xlim(X.min()*1.5,X.max()*1.5)
plt.ylim(cos.min()*1.5,cos.max()*1.5)
3.设置x,y轴的坐标刻度
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
plt.yticks([-1,0,1])
4.获取Axes对象
ax=plt.gca()
5.隐藏右边界和上边界
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
6.将x,y坐标轴刻度显示到下方位置
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
7.平移坐标轴
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
四.为函数图添加特殊点
1.设定x轴值并找出点坐标位置,根据两点绘制一条直线
t=2*np.pi/3 #设定点x轴值#第一个列表是x轴坐标值,第二个列表是y轴坐标值plt.plot([t,t],[0,np.sin(t)],color ='b',linewidth=2.5,linestyle="--")
#这两个点坐标分别为(t,0)和(t,np.sin(t)),根据两点画直线l1plt.plot([t,t],[0,np.cos(t)],color ='r',linewidth=2.5,linestyle="--")
#这两个点坐标分别为(t,0)和(t,np.cos(t)),根据两点画直线l2
2.用绘制散点图的方法在正弦,余弦函数上标注这两个点的位置
plt.scatter([t,],[np.sin(t),], 50, color ='b')
plt.scatter([t,],[np.cos(t),], 50, color ='r')
3.为图表添加注释
plt.annotate(r'$\sin(\frac{2\pi}{3})=-\frac{1}{2}$',xy=(t, np.sin(t)), #点的位置xycoords='data', #注释文字的偏移量xytext=(50,50), #文字离点的横纵距离textcoords='offset points',fontsize=13, #注释的大小arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2")) #箭头指向的弯曲度
plt.annotate(r'$\cos(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',xy=(t, np.cos(t)), xycoords='data',xytext=(-50,-50),textcoords='offset points',fontsize=13,arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))
4.获取x,y轴的刻度,并设置字体
for label in ax.get_xticklabels()+ax.get_yticklabels(): #获取刻度label.set_fontsize(18) #设置刻度字体大小label.set_bbox(dict(facecolor='r',edgecolor='g',alpha=0.2)) #set_bbox为刻度添加边框#facecolor:背景填充颜色#edgecolor:边框颜色#alpha:透明度
5.显示图例
plt.legend(loc='upper left')
第4步添加边框时,一般用以下这个代码,此步骤主要是为了使坐标轴刻度更清晰
label.set_bbox(dict(facecolor='w',edgecolor='None',alpha=0.5))
五.重要参数知识
plt
•利用np.linspace(-np.pi,np.pi,256,endpoint=True)
可以快速生产数据
• 通过plt.gca()获得当前的Axes对象ax
• 通过plt.xlim()方法来实现图表的留白
• 通过plt.xticks()、plt.yticks() 来设置坐标轴刻度
• 通过plt.annotate() 方法来为图表添加注释
• for label in ax.get_xticklabels() + ax.get_yticklabels():
方式来遍历图表中的label对象
matplotlib—画正弦、余弦函数图相关推荐
- c语言画正弦余弦函数,用C/C++绘制出余弦曲线和正弦曲线(不使用库函数)
用C/C++绘制出余弦曲线和正弦曲线(不使用库函数) 用C/C++绘制出余弦曲线和正弦曲线(不使用库函数) - 余弦函数 - 正弦函数 #include #include #define PI 3.1 ...
- python绘制时间序列图_python matplotlib 画dataframe的时间序列图实例
python matplotlib 画dataframe的时间序列图实例 在python中经常会用到pandas来处理数据,最常用的数据类型是dataframe,但是有时候在dataframe有时间字 ...
- 如何用python画出一般函数图_如何使用python的matplotlib画一元一次函数图像
python是一个很有趣的语言,可以在命令行窗口运行.python中有很多功能强大的模块,这篇经验告诉你,如何利用python的matplotlib模块,绘制一元一次函数的图像. 工具/原料 wind ...
- 怎么用python画简单的图-Python | 用matplotlib画些简单的图
环境是python3.7,工具使用的是jupyter-notebook交互式笔记本 引入相关库 from pandas import DataFrame,Series import matplotli ...
- 【Python】Matplotlib绘制正余弦曲面图
Matplotlib绘制正弦曲面图 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d impor ...
- python怎么画简单图-Python | 用matplotlib画些简单的图
环境是python3.7,工具使用的是jupyter-notebook交互式笔记本 引入相关库 from pandas import DataFrame,Series import matplotli ...
- 用Python画一个sin函数图
Matplotlib可视化模块安装 初次使用Python需首先安装Matplotlib的可视化模块实现数据的可视化. 打开anaconda3输入 pip install matplotlib 导入模块 ...
- python 绘制正弦余弦函数 matplotlib的基本使用
"""matplotlib的基本使用 """ import matplotlib.pyplot as mp import numpy as ...
- 使用matplotlib画简单的3d图
import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D#设置三维坐标 fi ...
最新文章
- 小程序 sha1和服务器有关系吗,微信小程序使用sha1实现密码加密的方法介绍
- Android M 权限
- “重金求来”Alibaba技术官并发编程笔记,附Java面经
- Sublime Text 3 Mac常用快捷键与注意事项
- Android 中Touch(触屏)事件传递机制
- [RN] React Native 使用 Redux 比较详细和深刻的教程
- 音视频学习(五)——H.264视频码流
- python实现excel到word转换
- python jinja2_Python模块学习 - jinja2
- 数据结构——基数排序(经典以空间换时间案例)
- Opencv图像识别从零到精通(34)---SIFI
- ios 在window和mac上另类打包方式
- QUIC不可靠的数据报扩展(An Unreliable Datagram Extension to QUIC)
- 血栓清道夫机器人_这几种食物是血管“清道夫”,每天吃一点,清除血管垃圾,防血栓...
- [实用技巧] (转帖)关于MyDocument.exe -- 打印店病毒
- 副业兼职: 在家就可以做的兼职项目推荐
- nginx开启https功能
- 多线程的40个面试题总结(上)
- VMware GPU虚拟化简介
- CentOS安装网站安全狗