小编Max*_*ion的帖子

遍历标记时出现“ ValueError:无法识别的标记样式-d”

我正在尝试对pyplot允许不同标记样式的绘图进行编码。这些图是循环生成的。从列表中选择标记。为了演示起见,我还列出了颜色列表。该版本是Python 2.7.9IPython 3.0.0matplotlib 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=...比较工作。

我认为这与特殊字符有关。我试过其他标记:这些标记 …

python matplotlib ipython anaconda

2
推荐指数
1
解决办法
5081
查看次数

标签 统计

anaconda ×1

ipython ×1

matplotlib ×1

python ×1