Python 中的 matplotlib . patches . regular polygon 类
原文:https://www . geesforgeks . org/matplotlib-patches-regular polygon-in-class-python/
Matplotlib 是 Python 中一个惊人的可视化库,用于数组的 2D 图。Matplotlib 是一个多平台数据可视化库,构建在 NumPy 数组上,旨在与更广泛的 SciPy 堆栈一起工作。
matplot lib . patches . regular polygon
matplotlib . patches . regular polygon 类用于添加正多边形面片。
语法:class matplotlib . patches . regular polygon(xy,numVertices,半径=5,方向=0,kwargs) 参数:**
xy: 一个长度为 2 的元组(x,y)的中心。
numVertices: 表示顶点数。
半径:从中心到每个顶点的距离。
方位:用于旋转多边形(以弧度为单位)。
下表列出了有效的 kwargs
| 财产 | 描述 | | --- | --- | | agg _ 筛选器 | 接受(m,n,3)浮点数组和返回(m,n,3)数组的 dpi 值的筛选函数 | | 希腊字母的第一个字母 | 浮动或无 | | 愉快的 | 弯曲件 | | 抗锯齿或 aa | 未知的 | | 帽式 | { '对接','圆形','突出' } | | 剪辑盒 | Bbox | | 剪辑 _on | 弯曲件 | | 剪辑路径 | [(路径,转换)|补丁|无] | | 颜色 | rgba 元组的颜色或序列 | | 包含 | 请求即付的 | | edgecolor 或 ec 或 edgecolors | 颜色或无或“自动” | | facecolor 或 fc 或 facecolors | 颜色或无 | | 数字 | 数字 | | 充满 | 弯曲件 | | 眩倒病 | 潜艇用热中子反应堆(submarine thermal reactor 的缩写) | | 舱口 | {'/',' \ ',' | ','-','+',' x ',' O ',' O ',' ', '*'} | | in _ 布局 | 弯曲件 | | 连接样式 | { '斜接','圆形','斜角' } | | 生活方式 | {'-', '–', '-.',':',",(偏移量,开-关-序列),…} | | 线宽 | 浮动或无 | | 路径效果 | 抽象路径效应 | | 采摘者 | 无、布尔、浮点或可调用 | | 路径效果 | 抽象路径效应 | | 采摘者 | 浮动或可调用[[艺术家,事件],元组[布尔,字典]] | | 光栅化 | 布尔或无 | | 草图 _ 参数 | (比例:浮动,长度:浮动,随机性:浮动) | | 突然的 | 布尔或无 | | 改变 | matplotlib . transforms . transform | | 全球资源定位器(Uniform Resource Locator) | 潜艇用热中子反应堆(submarine thermal reactor 的缩写) | | 看得见的 | 弯曲件 | | 更糟 | 漂浮物 |例 1:
Python 3
import matplotlib.pyplot as plt
from matplotlib.patches import RegularPolygon
import numpy as np
coord = [[0, 0, 0],
[0, 1, -1],
[-1, 1, 0],
[-1, 0, 1],
[0, -1, 1],
[1, -1, 0],
[1, 0, -1]]
colors = [["Green"],
["Green"],
["Green"],
["Green"],
["Green"],
["Green"],
["Green"]]
labels = [['1'], ['2'],
['3'], ['4'],
['5'], ['6'],
['7']]
# Horizontal cartesian coords
hcoord = for c in coord]
# Vertical cartersian coords
vcoord = [2\. * np.sin(np.radians(60)) * (c[1] - c[2]) /3.
for c in coord]
fig, ax = plt.subplots(1)
ax.set_aspect('equal')
# Add some coloured hexagons
for x, y, c, l in zip(hcoord, vcoord, colors, labels):
# matplotlib understands lower
# case words for colours
color = c[0].lower()
hex = RegularPolygon((x, y),
numVertices = 6,
radius = 2\. / 3.,
orientation = np.radians(30),
facecolor = color,
alpha = 0.2,
edgecolor ='k')
ax.add_patch(hex)
# Also add a text label
ax.text(x, y + 0.2, l[0], ha ='center',
va ='center', size = 20)
# add scatter points in hexagon centers
ax.scatter(hcoord, vcoord, c =.lower()
for c in colors],
alpha = 0.5)
plt.show()
输出:
例 2:
Python 3
import matplotlib.pyplot as plt
from matplotlib.patches import RegularPolygon
from matplotlib.collections import PatchCollection
import numpy as np
xy = np.random.random((10, 2))
z = np.random.random(10)
patches = [RegularPolygon((x, y),
5, 0.1)
for x, y in xy]
collection = PatchCollection(patches,
array = z,
edgecolors ='brown',
lw = 2)
fig, ax = plt.subplots()
ax.patch.set(facecolor ='green')
ax.add_collection(collection)
ax.autoscale()
plt.show()
输出:
版权属于:月萌API www.moonapi.com,转载请注明出处