• 【机器学习】matplotlib库练习-函数绘图


    # 1创建2个图形区域,一个叫做green,大小是16,8,一个叫做red,大小是10,6
    # 2绿色区域画一条绿色的正弦曲线,红色区域化两条线,一条是绿色的正弦曲线,一条是红色的余弦曲线
    # 3在green的绿色的正弦曲线上,把sin(π/6)=1/2这个公式参照课件中的标注方式进行标注
    # 4坐标轴的刻度分别是x:-π,-π/2,π/2,π y:-1,-0.5,0,0.5,1
    # 5坐标轴的交点要求在原点坐标,设置坐标轴,隐去右边线和上边线,将下边线和左边线设置为原点
    # 6将图例设置显示并放在图形的右上方
    import numpy as np
    import  matplotlib.pyplot as plt
    from matplotlib.pyplot import MultipleLocator
    
    # 显示中文
    plt.rcParams['font.sans-serif'] = ['SimHei']
    # 解决无法显示负号
    plt.rcParams['axes.unicode_minus'] = False
    
    #1
    plt.figure(figsize=(30,10))
    rect1 = [1/30, 1/10, 16/30, 8/10] # [左, 下, 宽, 高] 规定的矩形区域 (全部是0~1之间的数,表示比例)
    rect2 = [18/30, 1/10, 10/30, 6/10]
    green = plt.axes(rect1)
    red = plt.axes(rect2)
    # plt.show()
    
    #2
    x1 = np.linspace(0.0, 8.0)
    x2 = np.linspace(0.0, 5.0)
    x3 = np.linspace(0.0, 5.0)
    y1=np.sin(x1)
    y2=np.cos(x2)
    y3=np.sin(x3)
    green.plot(x1, y1, color='green', ms=3, label="y=sin(x)")
    red.plot(x3, y3, color='green', ms=3,label="y=sin(x)")
    red.plot(x2, y2, color='red', ms=3,label="y=cos(x)")
    # plt.show()
    
    #3
    #r'$xxxx$'
    #xy=标注点位置
    #xytext:描述框相对xy位置
    #textcoords='offset points',以xy为原点偏移xytext
    #arrowprops = 画弧线箭头,'---->', rad=.2-->0.2弧度
    green.annotate(r'$sin(π/6)=1/2$',xy=(np.pi/6,1/2),xytext=(+30,-30),textcoords='offset points',fontsize=16,
                 arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
    # plt.show()
    
    #4
    x_major_locator=MultipleLocator(np.pi/2)
    y_major_locator=MultipleLocator(1/2)
    green.xaxis.set_major_locator(x_major_locator)
    green.yaxis.set_major_locator(y_major_locator)
    red.xaxis.set_major_locator(x_major_locator)
    red.yaxis.set_major_locator(y_major_locator)
    # plt.show()
    
    #5
    green.spines['top'].set_visible(False)
    green.spines['right'].set_visible(False)
    green.spines['bottom'].set_position(('data',0))#data表示通过值来设置x轴的位置,将x轴绑定在y=0的位置
    green.spines['left'].set_position(('data',0))#data表示通过值来设置y轴的位置,将y轴绑定在x=0的位置
    red.spines['top'].set_visible(False)
    red.spines['right'].set_visible(False)
    red.spines['bottom'].set_position(('data',0))#data表示通过值来设置x轴的位置,将x轴绑定在y=0的位置
    red.spines['left'].set_position(('data',0))#data表示通过值来设置y轴的位置,将y轴绑定在x=0的位置
    # plt.show()
    
    #6
    green.legend(loc='upper right')
    red.legend(loc='upper right')
    plt.show()
  • 相关阅读:
    AM8 自定义表情包的实现方法
    Create STKNetDiskC Instance Error
    怎样实现文件发文功能
    企业云盘的数据备份
    一种可行的文档协同编辑方法实现
    【OI】二分图最大匹配
    【OI】位运算操作
    【OI】关于快速幂的简单理解
    【OI】线性筛
    【OI】指针线段树&指针
  • 原文地址:https://www.cnblogs.com/LPworld/p/13303078.html
Copyright © 2020-2023  润新知