“ValueError:无法识别的标记样式'hline'”。 Matplotlib plot() 和 scatter() 函数无法识别一堆标记

Posted

技术标签:

【中文标题】“ValueError:无法识别的标记样式\'hline\'”。 Matplotlib plot() 和 scatter() 函数无法识别一堆标记【英文标题】:"ValueError: Unrecognized marker style 'hline' ". A bunch of markers not being recognised by Matplotlib plot() and scatter() functions“ValueError:无法识别的标记样式'hline'”。 Matplotlib plot() 和 scatter() 函数无法识别一堆标记 【发布时间】:2021-03-16 04:02:11 【问题描述】:

'matplotlib.markers' documentation page 中给出的以下标记列表无法被 plot()scatter() 函数识别。

正在显示错误消息"ValueError: Unrecognized marker style <marker-style>"

我怎样才能让它们工作?

import numpy as np
import matplotlib.pyplot as plt
x,y = np.random.rand(10), np.random.rand(10)
plt.plot(x, y, marker='hline')
plt.scatter(x, y, marker='hline')

我正在使用 Spyder 4.1.5、Python 3.8.1。

显示此错误的标记列表:

“|”线

“_”线

0 (TICKLEFT) 滴答声

1 (TICKRIGHT) 滴答声

2 (TICKUP) 提示

3 (TICKDOWN) 标记

4 (CARETLEFT) 左转字符

5 (CARETRIGHT) 转折点

6 (CARETUP) 护理

7 (CARETDOWN) 插入标记

8 (CARETLEFTBASE) caretleft(以基为中心)

9 (CARETRIGHTBASE) caretright(以基为中心)

10 (CARETUPBASE) caretup(以基地为中心)

11 (CARETDOWNBASE) 插入标记(以基为中心)

【问题讨论】:

使用您引用的链接的marker 列中的值。在这种情况下,它将是 marker="_" 谢谢@etch_45 您对其余的标记 0 (TICKLEFT) 到 11 (CARETDOWNBASE) 有任何想法吗? 只使用不带引号的数字。请参阅下面的更新答案。 【参考方案1】:

您引用的链接的marker 列中列出的值是要传递给绘图的marker=" " 参数的值。

代码示例marker="_"(hline):

plt.plot(x, y, marker="_")

产量:

marker=11 的代码示例(脱字符号)

plt.plot(x,y, marker=11)

产量:

【讨论】:

以上是关于“ValueError:无法识别的标记样式'hline'”。 Matplotlib plot() 和 scatter() 函数无法识别一堆标记的主要内容,如果未能解决你的问题,请参考以下文章