题目:
根据如下绘图写出相应代码
(1)绘图函数:y=sin(x),y=cos(x),x=np.linspace(-np.pi,np.pi,256,endpoint=True)
(2)绘制填充区域:
紫色区域:(-2.5<x)&(x<0.5)
绿色区域:np.abs(x)<0.5,sinx>0.5
紫色的设置:color='purple'
1.导入模块
import pandas as pd
import numpy as np
from pandas import Series ,DataFrame
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
%matplotlib inline
2.自变量数据
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
3.定义正弦余弦函数
s,c=np.sin(x),np.cos(x)
4.绘图
plt.plot(x,s)
plt.plot(x,c)
5.定义图形的属性
#显示网格
plt.grid()
#设置x轴和y轴的刻度
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',0,r'$\pi/2$',r'$\pi$'])
plt.yticks([-1,0,1])
#增加图例(图列一定要在绘图后添加)
plt.legend(['sin()','cos()'])
6.将坐标移到中间
ax=plt.gca()#获取当前对象的坐标轴
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position('center')
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
7.图形的填充
plt.fill_between(x,c,where=(x>-2.5)&(x<-0.5),facecolor='purple')
plt.fill_between(x,s,where=(x>0.5)&(x<np.pi-0.5),facecolor='green')
8.添加注释
注解设置-注解和数据使用相同坐标 被注解数据的位置 终点坐标 xycoords='data' 注解文字位置,起点坐标 xytext=(5,38) 箭头属性和风格
t=2*np.pi/3
plt.annotate(r'$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',xy=(t,np.sin(t)),xycoords='data',xytext=(2.5, 1),\
arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))