Есть много подходов. Я лично создал бы изображение в Python Imaging Library, используя ImageDraw , draw.text, конвертировал в массив NumPy (usint NumPy's asarray ) и затем рендерил с помощью Matplotlib . (Требуется пакет обслуживания Matplotlib ).
Полный код (в 2.5):
import numpy, pylab
from PIL import Image, ImageDraw, ImageFont
import matplotlib.axes3d as axes3d
sz = (50,30)
img = Image.new('L', sz, 255)
drw = ImageDraw.Draw(img)
font = ImageFont.truetype("arial.ttf", 20)
drw.text((5,3), 'text', font=font)
img.save('c:/test.png')
X , Y = numpy.meshgrid(range(sz[0]),range(sz[1]))
Z = 1-numpy.asarray(img)/255
fig = pylab.figure()
ax = axes3d.Axes3D(fig)
ax.plot_wireframe(X, -Y, Z, rstride=1, cstride=1)
ax.set_zlim((0,50))
fig.savefig('c:/test2.png')
Очевидно, что предстоит проделать небольшую работу: устранить оси, изменить угол обзора и т. Д.