使用新数据和自动收报机值更新Matplotlib 3D

时间:2014-03-08 16:34:07

标签: python matplotlib ticker

当我在3D.plot上使用axes.cla()删除所有线条时,修改轴线然后再次调用该图形上的draw(),轴标签和线条变粗。它只在轴上用自动收报机修改。我的猜测是我必须以某种方式删除旧轴标签,我该怎么做?

以下是我所谈论的最小示例代码。我将重绘链接到画布上的鼠标单击。代码是针对Python 3的。(我已经尝试使用clf()并重新绘制整个图形,但在3D模式下它不起作用。)

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.ticker as ticker

def onclick(event):
    event.inaxes.cla()
    event.inaxes.w_xaxis.set_major_locator(ticker.LinearLocator())
    event.inaxes.w_xaxis.set_major_locator(ticker.LinearLocator())
    event.canvas.draw()


fig = plt.figure()
axes = fig.add_subplot(111, projection='3d')

fig.canvas.mpl_connect('button_press_event', onclick)

plt.show()

1 个答案:

答案 0 :(得分:0)

我通过不使用cla()得到了解决方法。我只删除了axes.linesaxes.collections中的地图数据。