Matplotlib学习(14)--生成形状

1.生成形状
代码如下:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

fig,ax = plt.subplots()

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])
# 圆形:圆心坐标为xy1,半径为0.05
circle = mpatches.Circle(xy1,0.05)
ax.add_patch(circle)
# 矩形:左下角纵坐标,宽和高
rect = mpatches.Rectangle(xy2,0.2,0.1,color='r')
ax.add_patch(rect)
# 多边形
plygon = mpatches.RegularPolygon(xy3,5,0.1,color='g')
ax.add_patch(plygon)
# 椭圆
ellipse = mpatches.Ellipse(xy4,0.4,0.2,color='y')
ax.add_patch(ellipse)

plt.axis('equal')
plt.grid(True)

plt.show()

运行结果
在这里插入图片描述
2.美化图形

import numpy as np
import matplotlib.pyplot as plt
# ggplot美化图形
plt.style.use('ggplot')

fig, axes = plt.subplots(ncols=2, nrows=2)
ax1, ax2, ax3, ax4 = axes.ravel()
# 两行十列的数组
x, y = np.random.normal(size=(2, 100))
# print(plt.style.available)可以查看左右样式
ax1.plot(x, y, 'o')

x = np.arange(0, 10)
y = np.arange(0, 10)

ncolors = len(plt.rcParams['axes.prop_cycle'])
shift = np.linspace(0, 10, ncolors)

for s in shift:
    ax2.plot(x, y + s, '-')
x = np.arange(5)
y1, y2, y3 = np.random.randint(1, 25, size=(3, 5))
width = 0.25

ax3.bar(x, y1, width)
ax3.bar(x + width, y2, width)
ax3.bar(x + 2 * width, y3, width)

for i, color in enumerate(plt.rcParams['axes.prop_cycle']):
    print(color)
    xy = np.random.normal(size=2)
    ax4.add_patch(plt.Circle(xy, radius=0.3, color=color['color']))
ax4.axis('equal')
plt.show()

运行结果
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值