Matplotlib基线绘制

绘制余弦正弦图像,横轴坐标为(-π, π)
1、 基本图像绘制

import matplotlib.pyplot as plt
import numpy as np

def main():

    x = np.linspace(-np.pi, np.pi, 256, endpoint=True)  # 从 -pi到pi,有256个点
    c = np.cos(x)
    s = np.sin(x)
    plt.figure(1)
    plt.plot(x, c)  # 第一个参数是自变量,第二个参数是因变量
    plt.plot(x, s)
    plt.show()

if __name__ == "__main__":
    main()

结果为:
在这里插入图片描述
2、属性变化

import matplotlib.pyplot as plt
import numpy as np

def main():

    x = np.linspace(-np.pi, np.pi, 256, endpoint=True)  # 从 -pi到pi,有256个点
    c = np.cos(x)
    s = np.sin(x)
    plt.figure(1)

    # 第一个参数是自变量,第二个参数是因变量,线的颜色,线宽,线型,标签,透明度
    plt.plot(x, c, color="blue", linewidth=1.0, linestyle="-", label="cos", alpha=0.5)
    # r* 表示的是线型为*的红色线
    plt.plot(x, s, "r*", label="sin")
    plt.title("cos & sin")  # 加标题
    plt.show()

if __name__ == "__main__":
    main()

结果为:
在这里插入图片描述

3、

import matplotlib.pyplot as plt
import numpy as np

def main():

    x = np.linspace(-np.pi, np.pi, 256, endpoint=True)  # 从 -pi到pi,有256个点
    c = np.cos(x)
    s = np.sin(x)
    plt.figure(1)

    # 第一个参数是自变量,第二个参数是因变量,线的颜色,线宽,线型,标签,透明度
    plt.plot(x, c, color="blue", linewidth=1.0, linestyle="-", label="cos", alpha=0.5)
    # r* 表示的是线型为*的红色线
    plt.plot(x, s, "r*", label="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))  # 底部边框位置放到中心去
    plt.title("cos & sin")  # 加标题
    plt.show()

if __name__ == "__main__":
    main()

结果为:
在这里插入图片描述
4、

import matplotlib.pyplot as plt
import numpy as np

def main():

    x = np.linspace(-np.pi, np.pi, 256, endpoint=True)  # 从 -pi到pi,有256个点
    c = np.cos(x)
    s = np.sin(x)
    plt.figure(1)

    # 第一个参数是自变量,第二个参数是因变量,线的颜色,线宽,线型,标签,透明度
    plt.plot(x, c, color="blue", linewidth=1.0, linestyle="-", label="cos", alpha=0.5)
    # r* 表示的是线型为*的红色线
    plt.plot(x, s, "r*", label="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))

    # 设置轴的显示
    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.title("cos & sin")  # 加标题
    plt.show()

if __name__ == "__main__":
    main()

结果为:
在这里插入图片描述
5、 改变显示范围:
plt.axis([-1, 1, 0.5, 1]) # 指定横轴最小最大,纵轴最小最大

结果为:
在这里插入图片描述
6、在4的基础上,加入这一行来进行填充:

plt.fill_between(x, np.abs(x) < 0.5, c, c > 0.5, color="green", alpha=0.25)

其中,x指的是横轴。x<0.5,对应的cos函数是1,所以从1开始往上填充。x>0.5的时候,对应的是0,所以从0开始往上填充
效果为:
在这里插入图片描述
7、在6的基础上,加注释:

plt.plot([t, t], [0, np.cos(t)], "y", linewidth=3, linestyle="--") # 加条线

在这里插入图片描述
8、在7的基础上,加注释:

 plt.annotate("cos(1)", xy=(t, np.cos(1)), xycoords="data", xytext=(+10, +30),
            textcoords="offset points", arrowprops=dict(arrowstyle='->', connectionstyle='arc3, rad=0.2'))
#   xy=(t, np.cos(1)) 要加入的点的位置, xytext=(+10, +30) 加入注释的偏移量,  textcoords说明是在相对位置  connectionstyle箭头的弧度

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值