我正在尝试对pyplot允许不同标记样式的绘图进行编码。这些图是循环生成的。从列表中选择标记。为了演示起见,我还列出了颜色列表。该版本是Python 2.7.9,IPython 3.0.0,matplotlib 1.4.3.
这是一个简单的代码示例:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(0,10)
y=x**2
markers=['d','-d','-']
colors=['red', 'green', 'blue']
for i in range(len(markers)):
plt.plot(x, y, marker=markers[i], color=colors[i])
plt.show()
Run Code Online (Sandbox Code Playgroud)
这样就只能生成marker ='d'的图,因为'-d'它会返回错误:
...
C:\Users\batman\AppData\Local\Continuum\Anaconda\lib\site-packages\matplotlib\markers.pyc in set_marker(self, marker)
245 self._marker_function = self._set_vertices
246 except ValueError:
--> 247 raise ValueError('Unrecognized marker style {}'.format(marker))
248
249 self._marker = marker
ValueError: Unrecognized marker style -d
Run Code Online (Sandbox Code Playgroud)
但是,我可以改为编写它plt.plot(x, y, markers[i], color=colors[i])。在color=...比较工作。
我认为这与特殊字符有关。我试过其他标记:这些标记 …