from pylab import *
import numpy
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist
#导入辅助工具包里面的坐标轴系设置方法axisartist
X = np.linspace(-np.pi*6, np.pi*6, 2048, endpoint=True)
C,S = np.sin(X), 2*(np.cos(X))
# 创建一个新的 1 * 1 的子图,接下来的图样绘制在其中的第 1 块(也是唯一的一块)
fig = plt.figure()
ax = axisartist.Subplot(fig, 111)
fig.add_axes(ax)
#隐藏原来的所有坐标轴
ax.axis[:].set_visible(False)
#ax.new_floating_axis代表添加新的坐标轴,给x坐标轴加上箭头
ax.axis["x"] = ax.new_floating_axis(0,0)
ax.axis["x"].set_axisline_style("-|>", size = 1.0) #实心箭头
#添加y坐标轴,且加上箭头
ax.axis["y"] = ax.new_floating_axis(1,0)
ax.axis["y"].set_axisline_style("-|>", size = 1.0)
#设置x、y轴上刻度显示方向
ax.axis["x"].set_axis_direction("top")
ax.axis["y"].set_axis_direction("right")
# 绘制曲线,使用蓝色的、连续的、宽度为 1 (像素)的线条
ax.plot(X, C, linewidth=1, linestyle="-", label="sin(X)")
ax.plot(X, S, linewidth=1, linestyle="-", label="2*cos(X)")
legend(loc='upper left')
# 设置轴的上下限
xlim(-np.pi*3, np.pi*3)
ylim(-4, 4)
# 设置横轴记号
xticks([-np.pi*3, -np.pi*2,-np.pi, 0, np.pi, np.pi*2,np.pi*3],
[r'$-\pi*3$', r'$-\pi*2$', r'$-\pi$', r'$0$', r'$+\pi$', r'$+\pi*2$', r'$+\pi*3$'])
yticks(np.linspace(-3, 3, 7, endpoint=True))
savefig("math2.png",dpi = 460) #以dpi保存图像
plt.show()