Matplotlib имеет интерфейс Path
, который работает очень похоже: http://matplotlib.org/users/path_tutorial.html
Но вам придется загрузить текст и сделать некоторые munging себя. Но рассмотрим этот пример:
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)
Если вы просто хотите, чтобы показать цифры PostScript в IPython, вы могли бы рассмотреть PostCanvas: http://www.feiri.de/pcan/ – Alan