gpt4 book ai didi

python - 使用 matplotlib 渲染后记

转载 作者:太空宇宙 更新时间:2023-11-04 03:36:22 25 4
gpt4 key购买 nike

是否可以在 Matplotlib 中输出后记?例如这个小方 block :

newpath
0 0 moveto
1 0 lineto
1 1 lineto
0 1 lineto
0 0 lineto
stroke

我想在 Matplotlip 中加载这段代码并在 IPython 上渲染它(只是一个例子)。

最佳答案

Matplotlib 有一个 Path 接口(interface),其工作方式非常相似: http://matplotlib.org/users/path_tutorial.html

但是您将不得不加载文本并自己进行一些修改。但是考虑这个例子:

import matplotlib.path as mpath
import matplotlib.patches as patches
import matplotlib.pyplot as plt

从您的示例中的文本开始,作为字符串。

instr = """newpath
0 0 moveto
1 0 lineto
1 1 lineto
0 1 lineto
0 0 lineto
stroke"""

拆分换行符,并删除第一行和最后一行。也许最后一个应该用于最终格式化?

verts = instr.split('\n')[1:-1]
verts

将每一行转换为一个坐标和一个代码。

code_lookup = {'moveto': mpath.Path.MOVETO,
'lineto': mpath.Path.LINETO}

coords = [(i.split(' ')[0], i.split(' ')[1]) for i in verts]
codes = [code_lookup[i.split(' ')[2]] for i in verts]

# set the last code to close the polygon
codes[-1] = mpath.Path.CLOSEPOLY

构造多边形。

mypath = mpath.Path(coords, codes)
mypatch = patches.PathPatch(mypath, facecolor='orange', lw=2)

绘制结果。

fig, ax = plt.subplots(subplot_kw={'aspect': 1.0, 
'xlim': [-1,2],
'ylim': [-1,2]})


ax.add_patch(mypatch)

enter image description here

关于python - 使用 matplotlib 渲染后记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28854513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com