问答详情
源自:3-2 基本线图绘制

本节代码如下

#encoding=utf-8
import numpy as np
from numpy.linalg import *
import matplotlib.pyplot as plt
#本节主要讲解对 mataplotlib 使用

def main():
    #line 画线
    #定义x变量范围
    x = np.linspace(-np.pi,np.pi,256,endpoint=True)
    #定义 c,s 两个三角函数,变量都是x
    c,s=np.cos(x),np.sin(x)

    plt.figure(1)
    #开始画函数c的曲线,并设置线的样式
    plt.plot(x,c,color="blue",linewidth=1.0,linestyle="-",label="COS",alpha=0.5)
    # 开始画函数s的曲线,并设置线的样式
    plt.plot(x,s,"r*",label="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")
    #设置x轴和y轴的坐标显示
    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))
    #设置 legend 图例图标
    plt.legend(loc="upper left")
    #设置 grid 网格线
    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)

    plt.show()


if __name__=="__main__":
    main()

   

提问者:小小程序员一枚 2020-07-03 15:24

个回答

  • 小小程序员一枚
    2020-07-03 15:25:26

    如题所述


    最后一点annotation 没有写了