# 1创建2个图形区域,一个叫做green,大小是16,8,一个叫做red,大小是10,6
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#1
plt.figure(figsize=(30,10))
rect1 = [1/30, 1/10, 16/30, 8/10] # [左, 下, 宽, 高] 规定的矩形区域 (全部是0~1之间的数,表示比例)
rect2 = [18/30, 1/10, 10/30, 6/10]
green = plt.axes(rect1)
red = plt.axes(rect2)
#2
x1 = np.linspace(0.0, 8.0)
x2 = np.linspace(0.0, 5.0)
x3 = np.linspace(0.0, 5.0)
y1=np.sin(x1)
y2=np.cos(x2)
y3=np.sin(x3)
green.plot(x1, y1, color='green', ms=3, label="y=sin(x)")
red.plot(x3, y3, color='green', ms=3,label="y=sin(x)")
red.plot(x2, y2, color='red', ms=3,label="y=cos(x)")
#3
#r'$xxxx$'
#xy=标注点位置
#xytext:描述框相对xy位置
#textcoords='offset points',以xy为原点偏移xytext
#arrowprops = 画弧线箭头,'---->', rad=.2-->0.2弧度
green.annotate(r'$sin(π/6)=1/2$',xy=(np.pi/6,1/2),xytext=(+30,-30),textcoords='offset points',fontsize=16,
arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
#4
x_major_locator=MultipleLocator(np.pi/2)
y_major_locator=MultipleLocator(1/2)
green.xaxis.set_major_locator(x_major_locator)
green.yaxis.set_major_locator(y_major_locator)
red.xaxis.set_major_locator(x_major_locator)
red.yaxis.set_major_locator(y_major_locator)
#5
green.spines['top'].set_visible(False)
green.spines['right'].set_visible(False)
green.spines['bottom'].set_position(('data',0))#data表示通过值来设置x轴的位置,将x轴绑定在y=0的位置
green.spines['left'].set_position(('data',0))#data表示通过值来设置y轴的位置,将y轴绑定在x=0的位置
red.spines['top'].set_visible(False)
red.spines['right'].set_visible(False)
red.spines['bottom'].set_position(('data',0))#data表示通过值来设置x轴的位置,将x轴绑定在y=0的位置
red.spines['left'].set_position(('data',0))#data表示通过值来设置y轴的位置,将y轴绑定在x=0的位置
#6
green.legend(loc='upper right')
red.legend(loc='upper right')
plt.show()
手机扫一扫
移动阅读更方便
你可能感兴趣的文章