我使用Anaconda和gdsCAD并在正确安装所有软件包时出错.如下所述:http://pythonhosted.org/gdsCAD/
TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('S32') dtype('S32') dtype('S32')
我的导入看起来像这样(最后我导入了所有东西):
import numpy as np from gdsCAD import * import matplotlib.pyplot as plt
我的示例代码如下所示:
something = core.Elements() box=shapes.Box( (5,5),(1,5),0.5) core.default_layer = 1 core.default_colors = 2 something.add(box) something.show()
我的错误消息如下所示:
--------------------------------------------------------------------------- TypeError Traceback (most recent call last)in () 31 puffer_wafer = shapes.Circle((0.,0.), puffer_wafer_radius, puffer_line_thickness) 32 bp.add(puffer_wafer) ---> 33 bp.show() 34 wafer = shapes.Circle((0.,0.), wafer_radius, wafer_line_thickness) 35 bp.add(wafer) C:\Users\rpilz\AppData\Local\Continuum\Anaconda2\lib\site-packages\gdscad-0.4.5-py2.7.egg\gdsCAD\core.pyc in _show(self) 80 ax.margins(0.1) 81 ---> 82 artists=self.artist() 83 for a in artists: 84 a.set_transform(a.get_transform() + ax.transData) C:\Users\rpilz\AppData\Local\Continuum\Anaconda2\lib\site-packages\gdscad-0.4.5-py2.7.egg\gdsCAD\core.pyc in artist(self, color) 952 art=[] 953 for p in self: --> 954 art+=p.artist() 955 return art 956 C:\Users\rpilz\AppData\Local\Continuum\Anaconda2\lib\site-packages\gdscad-0.4.5-py2.7.egg\gdsCAD\core.pyc in artist(self, color) 475 poly = lines.buffer(self.width/2.) 476 --> 477 return [descartes.PolygonPatch(poly, lw=0, **self._layer_properties(self.layer))] 478 479 C:\Users\rpilz\AppData\Local\Continuum\Anaconda2\lib\site-packages\gdscad-0.4.5-py2.7.egg\gdsCAD\core.pyc in _layer_properties(layer) 103 # Default colors from previous versions 104 colors = ['k', 'r', 'g', 'b', 'c', 'm', 'y'] --> 105 colors += matplotlib.cm.gist_ncar(np.linspace(0.98, 0, 15)) 106 color = colors[layer % len(colors)] 107 return {'color': color} TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('S32') dtype('S32') dtype('S32')
小智.. 5
从图形安装到此绘图问题,gdsCAD一直很痛苦。
此问题是由于将错误的数据类型传递给colors函数。可以通过在core.py中编辑以下行来解决
colors += matplotlib.cm.gist_ncar(np.linspace(0.98, 0, 15))
至
colors += list(matplotlib.cm.gist_ncar(np.linspace(0.98, 0, 15)))
如果您不知道core.py的位置。只需输入:
from gdsCAD import * core
这将为您提供core.py文件的路径。祝好运 !
从图形安装到此绘图问题,gdsCAD一直很痛苦。
此问题是由于将错误的数据类型传递给colors函数。可以通过在core.py中编辑以下行来解决
colors += matplotlib.cm.gist_ncar(np.linspace(0.98, 0, 15))
至
colors += list(matplotlib.cm.gist_ncar(np.linspace(0.98, 0, 15)))
如果您不知道core.py的位置。只需输入:
from gdsCAD import * core
这将为您提供core.py文件的路径。祝好运 !