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()

运行

matplotlib绘制cos,sin曲线

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

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)

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')
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')

plt.annotate(r'$\sin(\frac{2\pi}{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{2\pi}{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()

代码运行后得到下列图形

matplotlib绘制cos,sin曲线

Original: https://blog.csdn.net/weixin_46624670/article/details/120820391
Author: albedohale
Title: matplotlib绘制cos,sin曲线

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/765929/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球