栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

matplotlib绘制cos,sin曲线

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

matplotlib绘制cos,sin曲线

参考资料:
https://blog.csdn.net/qq_44503987/article/details/97620193
https://www.runoob.com/w3cnote/matplotlib-tutorial.html
https://zhidao.baidu.com/question/579467333.html
https://blog.csdn.net/weixin_36384501/article/details/112215755

pyplot绘图和axes绘图
https://blog.csdn.net/Dontla/article/details/98327176

1.np模块
linespace函数,linespace(x,y,n), 可以产生某区间内间隔相等的n个数

2.matplotlib.pyplot模块
—plot函数
函数表达式 pyplot.plot(x,y,format_string,**kwargs)
x代表x轴的数据
y代表y轴的数据
format_string 用于精致曲线显示的字符串
**kwargs 想要画多条曲线时,可以继续填写第二条曲线的x,y,format_string

— rcParams函数
使用rc配置文件来定义图形的各种默认属性,称为rc配置或rc参数
参考:https://blog.csdn.net/qq_30815237/article/details/87903024

figure(figsize(a,b),dpi=c)可以设置图的大小
subplot(a,b,c)设置子图
xlim(a,b)设置x轴上下限
xticks(list[])设置x轴记号
plt.gca() 获取当前子图
plt.legend( )函数,给图像加上图例
zip()函数,参数为一系列元组对象,返回一个元组列表

—scatter函数
参考:https://blog.csdn.net/qiu931110/article/details/68130199/
用于生成一个scatter散点图

import numpy as np
import matplotlib.pyplot as plt

plt.figure(figsize=(8,5), dpi=80)
plt.subplot(1,1,1)
plt.scatter([1,1,3],[4,2,3],[20,100,400],color = ['blue','red','green'])
plt.show()

运行

—plt.annotate()函数
用于标注文字的函数,传入文字内容,需要标记的点,传入标注文字的位置,传入箭头格式等…
plt.annotate(s=‘str’,xy=(x,y) ,xytext=(l1,l2) , …)
参考https://blog.csdn.net/qq_36387683/article/details/101377416
代码

import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rc('font',family = 'SimHei',size = 7)  #设置字体
mpl.rcParams['axes.unicode_minus'] = False #取消默认保存负号为方块
# mpl.rcParams['lines.linestyle'] = '-.'#线条样式
# mpl.rcParams['lines.linewidth'] = 3#线条宽度
plt.rc('lines',linewidth = 1,linestyle = '-.') #设置线条
mpl.rcParams["image.cmap"] = ['gray']#灰度空间
plt.title("(-Π,Π)上的sin,cos曲线") #设置标题
plt.ylabel("y坐标")
X = np.linspace(-np.pi, np.pi, 32, endpoint=True)
C,S = np.cos(X), np.sin(X)
plt.plot(X,C,"go-")#绿色,坐标点为⚪,实线
plt.plot(X,C,"go-",linewidth=2.5, linestyle="-", label="cosine")#绿色,坐标点为⚪,实线
plt.plot(X,S,'rp-.')#红色,坐标点为实心五角,点划线
plt.plot(X,S,'rp-.',linewidth=2.5, linestyle="-", label="sine")#红色,坐标点为实心五角,点划线
#优化边界
xmin ,xmax = X.min(), X.max()
ymin, ymax = C.min(), C.max()
dx = (xmax - xmin) * 0.2
dy = (ymax - ymin) * 0.2
plt.xlim(xmin - dx, xmax + dx)
plt.ylim(ymin - dy, ymax + dy)
#设置记号是Π,并显示,使用了LaTeX
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],[r'$-1$', r'$0$', r'$+1$'])
#移动脊柱
ax = plt.gca()
ax.spines['right'].set_color('none')#将右、上两条脊柱设置为透明
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')#移动下、左的脊柱到坐标原点。'data'是坐标轴名字
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
#添加图例
plt.legend(loc='upper right')
t = 2*np.pi/3
plt.plot([t,t],[0,np.cos(t)], color ='blue', linewidth=2.5, linestyle="--")
plt.scatter([t,],[np.cos(t),], 50, color ='blue')
#xycoords指定坐标轴,xytext表示文字标注最左端点的位置,arrowprops是设置箭头
plt.annotate(r'$sin(frac{2pi}{3})=frac{sqrt{3}}{2}$',
         xy=(t, np.sin(t)), xycoords='data',
         xytext=(+10, +30), textcoords='offset points', fontsize=16,
         arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))
plt.plot([t,t],[0,np.sin(t)], color ='red', linewidth=2.5, linestyle="--")
plt.scatter([t,],[np.sin(t),], 50, color ='red')
plt.annotate(r'$cos(frac{2pi}{3})=-frac{1}{2}$',
         xy=(t, np.cos(t)), xycoords='data',
         xytext=(-90, -50), textcoords='offset points', fontsize=16,
         arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))
plt.show()

代码运行后得到下列图形

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331090.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号