python学习之matplotlib实战

import numpy as np
def main():
    # print("hello")
    # line
    import matplotlib.pyplot as plt
    x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
    # print(x)
    c, s = np.cos(x), np.sin(x)
    plt.figure(1)  # 绘制第一个图
    plt.plot(x, c, color="blue", linewidth=1.0, linestyle='-', label="COS", alpha=0.5)  # 绘制cos
    plt.plot(x, s,  color="red", linewidth=1.0, linestyle='--', label="SIN", alpha=0.5)  # 绘制sin
    plt.title("cos & sin")  # 添加标题
    ax = plt.gca()  # 轴的编辑器
    ax.spines["right"].set_color("none")
    ax.spines["top"].set_color("none")
    ax.spines["left"].set_position(("data", 0))
    ax.spines["bottom"].set_position(("data", 0))
    ax.xaxis.set_ticks_position('bottom')
    ax.yaxis.set_ticks_position('left')
    plt.xticks([-np.pi, -np.pi / 2, 0,np.pi /2 , np.pi ],
               [r'$-\pi$',r'$-\pi/2$',r'$0$', r'$+\pi/2$',r'$+\pi$'])
    plt.yticks(np.linspace(-1,1,5,endpoint=True))
    for label in ax.get_xticklabels()+ ax.get_yticklabels():
        label.set_fontsize(16)
        label.set_bbox(dict(facecolor='white', edgecolor='None'
                                                         ,alpha=0.2))
    plt.legend(loc='upper left')
    plt.grid()
   # plt.axis([-1,1,-0.5,1])
    plt.fill_between(x,np.abs(x)<0.5,c ,c >0.5,color='green',alpha=0.25)
    t =1
    plt.plot([t,t],[0,np.cos(t)],'y',linewidth=3,linestyle='--')
    plt.annotate('cos(1)',xy=(t,np.cos(1)), xycoords ='data', xytext=(+10,+30),arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')
                )
    plt.show()


if __name__ == '__main__':
    main()

  

posted @ 2018-05-26 23:49  流星小子  阅读(200)  评论(0编辑  收藏  举报