将Markevery Kwarg与Axhline一起使用

时间:2019-04-18 20:10:01

标签: python python-2.7 matplotlib

我试图使用ax.axvline在其上绘制带有标记的垂直线,但标记仅显示在图的底部和顶部。我已经尝试过markevery kwarg,但即使更改它对正常的线图也有效,但是当我更改它时似乎没有任何效果。有人知道这是因为没有沿轴指定离散值还是我做错了吗?

我意识到我可以自己绘制一条垂直线并指定标记,但是鉴于axvline的目的,我认为我应该使用它。

这是我正在谈论的示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-10,10)
y = x**2-15.


fig = plt.figure(figsize=(4,4))
ax = plt.subplot(111)

ax.plot(y,x) #Test curve

ax.plot(2+np.zeros(len(x)),x,marker='X',markevery=1) #another way to plot what I want.

ax.axvline(0,c='r',marker='X',markevery=1) #markerevery doesn't seem to work

plt.show()

enter image description here

1 个答案:

答案 0 :(得分:0)

正如ImportanceofBeingErnest所述,markerevery分支不适用于axvlineaxhline,因为从技术上讲,只有2个点可用于在边界处画线。