zoukankan      html  css  js  c++  java
  • matplotlib-形状

    需要   import matplotlib.patches as mp  

    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib as mpl
    import matplotlib.patches as mp
    
    #解决能显示中文
    plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
    
    fig=plt.figure()  #定义第一个图纸
    ax = fig.add_subplot(1,1,1)
    
    xy1=np.array([0.2,0.2])
    xy2=np.array([0.2,0.8])
    xy3=np.array([0.8,0.2])
    xy4=np.array([0.8,0.8])
    circle=mp.Circle(xy1,0.1)  #创建圆对象
    #参数1 圆心位置    参数2 半径
    ax.add_patch(circle) #把圆对象添加到子图中
    
    rect=mp.Rectangle(xy2,0.2,0.1,color='r')  #创建矩形对象
    #参数1 矩形左下角坐标
    #参数2  宽度
    #参数3 高
    ax.add_patch(rect)
    
    polygon=mp.RegularPolygon(xy3,5,0.1)  #创建多边形对象
    #参数1 多边形中心坐标
    #参数2  边数     参数3 半径
    ax.add_patch(polygon)
    
    ellipse=mp.Ellipse(xy4,0.4,0.2,fill=False)  #创建椭圆对象
    #参数1 圆心
    #参数2 横向直径    参数3 纵向直径
    ax.add_patch(ellipse)
    
    plt.show()

    fill=False表示不填充          linewidth=2线的宽度          linestyle线的类型

    多边形顶点连接(自动封闭):point-1 --> point-2 --> point-3 --> point-4 --> point-1  

    pgon = mp.Polygon(([0.2,0.2], [0.2, 0.4], [0.6, 0.4], [0.6, 0.2]))
    ax.add_patch(pgon)


    xy=np.array([0.2,0.2])
    pp = mp.Arc(xy,width=0.2,height=0.2,angle=0,theta1=0,theta2=90) #创建圆弧对象
    #参数1 圆心坐标
    #width=0.2 横向长度
    #纵向高度 height
    #angle 椭圆旋转角度(逆时针)
    #theta1=0 起始角;theta2=90 终止角(度)
    pp = mp.Arrow(x=0.4,y=0.4,dx=0.2,dy=0.2,width=0.3)  #创建箭头对象
    #x 箭头尾的X坐标
    #y 箭头尾部的Y坐标
    #dx X方向的箭头长度
    # width 箭头宽度的比例因子。默认值为1时,尾部宽度为0.2,头部宽度为0.6。
            

    
    
    
    

    其它形状看官网   https://matplotlib.org/api/patches_api.html  

  • 相关阅读:
    第五届蓝桥杯JavaB组省赛真题
    第五届蓝桥杯JavaB组省赛真题
    第五届蓝桥杯JavaA组省赛真题
    第五届蓝桥杯JavaA组省赛真题
    第五届蓝桥杯JavaA组省赛真题
    第五届蓝桥杯JavaA组省赛真题
    FastReport的交叉表实际使用的一个例子
    成熟的人首先得明白自己是个什么样的人
    ACL 我为什么要发明一个轮子?
    利润就是被存储的,接到指令就可以被使用的劳动时间
  • 原文地址:https://www.cnblogs.com/liming19680104/p/10626409.html
Copyright © 2011-2022 走看看