标记出正弦与余弦函数的交点,并给相交部分上色
代码如下:
"""
Author: yeahthon
Date : 2019-08-09 15:15:29
E-mail: yeahthon@163.com
"""
import numpy as np
import matplotlib.pyplot as plt
#Draw function image with the XKCD style
plt.xkcd()
x = np.linspace(-np.pi, np.pi)
plt.plot(x, np.cos(x), x, np.sin(x))
#instantiate a Axes object
ax = plt.gca()
#set axes
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))
#set scale
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
['$-\pi$', '$-\pi/2$', '$0$', '$\pi/2$', "$\pi$"])
plt.yticks([-1, 0, 1])
#add image
plt.legend(['cosine', 'sine'], loc='upper left', frameon=False)
#add the x coordinate information of intersection point
plt.text(np.pi / 4 - 0.15, -0.017, r"$\pi/4$")
plt.plot([np.pi/4, np.pi/4], [0, np.cos(np.pi/4)], '--k')
#add the y coordinate information of intersection point
plt.text(-0.6, np.cos(np.pi/4) - 0.05, r"$sqrt{2}/2$")
plt.plot([0, np.pi/4], [np.cos(np.pi/4), np.cos(np.pi/4)], '--k')
#fill in the area(π/4~π/2)with color
plt.fill_between(np.linspace(0, np.pi/4),
np.sin(np.linspace(0, np.pi/4)))
#fill in the area(π/4~π/2)with color
plt.fill_between(np.linspace(np.pi/4, np.pi/2),
np.cos(np.linspace(np.pi/4, np.pi/2)))
#show image
plt.show()
运行如图: