python的matplotlib曲线绘制Demo

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

#显示中文必须要用
plt.rcParams['font.sans-serif']=['SimHei'] # 用于正常显示中文标签
plt.rcParams['axes.unicode_minus']=False   # 用来正常显示负号
x = np.linspace(-np.pi,np.pi,256,endpoint=True)
sin,cos = np.sin(x),np.cos(x)

#绘制正弦、余弦函数图,并将图形显示出来
plt.plot(x,sin,"b-",lw=2.5,label="正弦sin()")
plt.plot(x,cos,"r-",lw=2.5,label="余弦cos()")
#调整坐标轴
plt.xlim(x.min()*1.5,x.max()*1.5)
plt.ylim(cos.min()*1.5,cos.max()*1.5)
#设置坐标轴标签
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])
#设置标题
plt.title("绘图实例之COS()&SIN()",fontsize=16,color="green")
#设置坐标轴边框的显示情况
ax=plt.gca()  #获取Axes对象
ax.spines['right'].set_color('none')    #隐藏右边界
ax.spines['top'].set_color('none')      #隐藏上边界
#调整坐标轴位置
ax.xaxis.set_ticks_position('bottom')   #x轴坐标刻度设置在坐标轴下面
ax.spines['bottom'].set_position(('data',0))  #x轴坐标轴平移至经过零点(0,0)位置
ax.yaxis.set_ticks_position('left')           #y轴坐标刻度设置在坐标轴下面
ax.spines['left'].set_position(('data',0))    #y轴坐标轴平移至经过零点(0,0)位置
#添加图例
plt.legend(loc="upper left",fontsize=12)
#添加连线
t1 = 2*np.pi/3 #设定第一个点的x轴值
t2 = -np.pi    #设定第二个点的x轴值
plt.plot([t1,t1],[0,np.sin(t1)],color ='b',linewidth=1.5,linestyle="--")
#第一个列表是x轴坐标值,第二个列表是y轴坐标值
#这两个点坐标分别为(t1,0)和(t1,np.sin(t1)),根据两点画直线
plt.plot([t2,t2],[0,np.cos(t2)],color ='r',linewidth=1.5,linestyle="--")
#这两个点坐标分别为(t2,0)和(t2,np.cos(t2)),根据两点画直线

#添加点
plt.scatter([t1,],[np.sin(t1),], 50, color ='b')
plt.scatter([t2,],[np.cos(t2),], 50, color ='r')
#添加注释
plt.annotate(r'$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',
             xy=(t1,np.sin(t1)),    #点的位置
             xycoords='data',       #注释文字的偏移量
             xytext=(+10,+30),      #文字离点的横纵距离
             textcoords='offset points',
             fontsize=14,      #注释的大小
             arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))   #箭头指向的弯曲度

plt.annotate(r'$\cos(-\pi)=-1$',
             xy=(t2,np.cos(t2)),   #点的位置
             xycoords='data',      #注释文字的偏移量
             xytext=(0,-40),       #文字离点的横纵距离
             textcoords='offset points',
             fontsize=14,    #注释的大小
             arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))   #箭头指向的弯曲度

#设置填充
plt.fill_between(x,np.abs(x)<0.5,sin,sin>0.5,color='g',alpha=0.8)
#设置正弦函数的填充区域,颜色为绿色(green),其中的一种方式
plt.fill_between(x,cos,where=(-2.5<x)&(x<-0.5),color='purple')
#设置余弦函数的填充区域,颜色为紫色(purple),另外一种方式
#绘制网格线
plt.grid()
#保存
#plt.savefig("C:\\绘图实例之COS()&SIN().PNG",dpi=300)
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值