Python matplotlib patches 绘图

  • Python matplotlib patches 绘图

# 创建画布和子图
fig, ax = plt.subplots()

# 去除 x 轴和 y 轴的边框线
ax.spines['bottom'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['right'].set_visible(False)

# 隐藏 x 轴和 y 轴的刻度线和刻度标签
ax.xaxis.set_ticks([])
ax.yaxis.set_ticks([])

# 设置坐标轴范围
ax.set_xlim([0, 10])
ax.set_ylim([0, 10])

Python matplotlib patches 绘图

class: FancyArrowPatch 

  • Help 文档中的相关部分

##======  ==========  =================================================
## |          Class   Name        Attrs                                            
## |          Arc3    ``arc3``    rad=0.0                                          
## |          Angle3  ``angle3``  angleA=90, angleB=0                              
  =================================================

 


# 绘制曲线
x = [1, 2, 3, 4, 5]
y = [2, 5, 4, 8, 1]
ax.plot(x, y)

# 添加弯曲箭头
start = (2, 4)  # 箭头起始点坐标
end = (5, 10)  # 箭头结束点坐标

# 使用FancyArrow类绘制弯曲箭头
arrow1 = FancyArrowPatch(start, end,
                            connectionstyle='arc3, rad=-0.4',  # 设置弯曲箭头的样式和曲率
                            mutation_scale=10,  # 控制箭头大小
                            color="red")

arrow2 = FancyArrowPatch(start, end,
                            connectionstyle='angle3, angleA=-60, angleB=-10  ',  # 设置弯曲箭头的样式和曲率
                            mutation_scale=10,  # 控制箭头大小
                            color="blue")


# 添加箭头到图中
ax.add_patch(arrow1)
ax.add_patch(arrow2)

# 显示图形
plt.pause(0.01)

class: Rectangle, Circle, Ellipse, Polygon, Wedge

  • 设置纵横比为相等 务必放在绘图的末尾
  • 确保纵横比设置在数据已经显示在图形中之后进行
  • 从而确保坐标轴的范围适应数据,并且纵横比能够正确应用。
ax.axis('equal')

  • 图像旋转
  • 设置纵横比为相等 务必放在绘图的末尾
  • 确保纵横比设置在数据已经显示在图形中之后进行
  • 从而确保坐标轴的范围适应数据,并且纵横比能够正确应用。

## |      angle : float, default: 0
## |      Rotation in degrees anti-clockwise about *xy*.

# 创建Rectangle对象,并添加到子图
rectangle = Rectangle((0.2, 0.2), 0.6, 0.4, facecolor='blue',\
                      edgecolor='black', \
                      angle=45, \
                      alpha=1)
ax.add_patch(rectangle)

# 创建Circle对象,并添加到子图
circle = Circle((0.8, 0.8), 0.2, facecolor='red', edgecolor='black')
ax.add_patch(circle)

 

# 创建Ellipse对象,并添加到子图
ellipse = Ellipse((0.5, 0.5), 0.4, 0.6, angle=45, facecolor='green', edgecolor='black')
ax.add_patch(ellipse)

# 创建Polygon对象,并添加到子图
polygon = Polygon([[0.2, 0.7], [0.4, 0.9], [0.6, 0.7], [0.4, 0.5],\
                   [0.3, 0.4]], closed=True, facecolor='yellow', edgecolor='black')
ax.add_patch(polygon)

# 创建Wedge对象,并添加到子图
wedge = Wedge((0.3, 0.3), 0.4, 30, 270, facecolor='purple', edgecolor='black')
ax.add_patch(wedge)

数据速览 GUI

 

 a.txt

1
2
3
4
5
6
7
8
9
10

b.txt

123
213
123
21
51
123
1245
21
12
4

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

River Chandler

谢谢,我会更努力学习工作的!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值