|
| 1 | +#!/usr/bin/ env python3 |
| 2 | +#coding = utf-8 |
| 3 | +import matplotlib.pyplot as plt |
| 4 | +import numpy as np |
| 5 | + |
| 6 | +#主要使用plt选择对象,这是面向过程的绘图方法 |
| 7 | + |
| 8 | +#定义函数 |
| 9 | +x = np.linspace(-4*np.pi,4*np.pi,1000 ) |
| 10 | +a = np.sin(x)*np.cos(x) |
| 11 | + |
| 12 | +#定义画布,绘制图像 |
| 13 | +ax = plt.figure(figsize=(8,4), dpi=100) |
| 14 | +plt.plot(x,a,color='red',label=r'$y=\sin(x)\cos(x)$') |
| 15 | +#显示图例 |
| 16 | +plt.legend(loc=3) |
| 17 | + |
| 18 | +#指定轴标签的位置 |
| 19 | +xticks = np.arange(-2*np.pi,3*np.pi,np.pi/2) |
| 20 | +yticks = np.arange(-1,1.5,0.5) |
| 21 | +#设置轴标签内容 |
| 22 | +plt.xticks(xticks,[r'$2\pi$',r'$ -\frac{3\pi}{2}$','$-\pi$',r'$ -\frac{\pi}{2}$',r'o', r'$ \frac{\pi}{2}$','$\pi$',r'$ \frac{3\pi}{2}$','$2\pi$']) |
| 23 | +plt.yticks(yticks,['-1','-0.5','0.0','0.5','1.0'],fontsize=4) |
| 24 | + |
| 25 | +plt.xlim(-11,11,1.0) |
| 26 | +plt.ylim(-1.5,1.5) |
| 27 | + |
| 28 | +#设置图表标题 |
| 29 | +plt.title(r'$y=\sin(x)\cos(x)$-graph') |
| 30 | +plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 |
| 31 | +plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 |
| 32 | + |
| 33 | +#获取绘图对象的操作 |
| 34 | +ax = plt.gca() |
| 35 | +#去掉边框 |
| 36 | +ax.spines['top'].set_color('none') |
| 37 | +ax.spines['right'].set_color('none') |
| 38 | +#移位置,设为原点相交 |
| 39 | +ax.xaxis.set_ticks_position('bottom') |
| 40 | +ax.spines['bottom'].set_position(('data',0)) |
| 41 | +ax.yaxis.set_ticks_position('left') |
| 42 | +ax.spines['left'].set_position(('data',0)) |
| 43 | + |
| 44 | +#设置箭头 |
| 45 | +plt.annotate('',xy=(0,1.5),xytext=(0,1.4), fontsize=8, |
| 46 | + arrowprops=dict(facecolor='black',headwidth=4)) |
| 47 | +plt.annotate('',xy=(11.0,0),xytext=(10.9,0), fontsize=4, |
| 48 | + arrowprops=dict(facecolor='black',headwidth=4)) |
| 49 | + |
| 50 | + |
| 51 | +#添加文字 |
| 52 | +plt.text(1,1,u'$y=\sin(x)\cos(x)$') |
| 53 | +plt.text(0,0,'0') |
| 54 | +plt.savefig(u'../savefig/rectangular_coordirate-y=sin(x)cos(x).png') |
| 55 | + |
| 56 | +plt.show() |
| 57 | + |
0 commit comments