Matplotlib clip_on = False在x轴上不起作用

时间:2013-12-11 15:53:12

标签: python matplotlib

当我设置clip_on = False时,曲线超出y限制,但它不会超出x限制。我做错了什么,或者这是一个错误?

例如,以下代码:

import matplotlib.pyplot as plt
import numpy as np
x1 = np.arange(-10, 10, 0.01)
y1 = x1
ax = plt.subplot()
ax.set_xlim(-2,2)
ax.set_ylim(-1,1)
ax.plot(x1, y1, clip_on = False)

产生我期望的情节:

good

但是,我所要做的就是改变y限制,

fig = plt.figure()
ax = plt.subplot()
ax.set_xlim(-2,2)
ax.set_ylim(-3,3)
ax.plot(x1, y1, clip_on = False)

我得到以下情节:

bad

为什么第一个图表超出了y-limits,而第二个图表没有超出x-limits?如果重要,我使用matplotlib 1.3.0和TkAgg后端。

1 个答案:

答案 0 :(得分:1)

您可以通过使用当前版本的matplotlib(例如您提供的示例中为x1 = np.arange(-10, 10, 0.5))或通过设置市场营销来限制数据点的数量小于100来实现此目的(即使您没有有标记)作为情节选项之一,即ax.plot(x1, y1, clip_on = False, markevery=1)