在Julia/matplotlib中制作动画时,将文本保留在轴内

在Julia/matplotlib中制作动画时,将文本保留在轴内,matplotlib,julia,Matplotlib,Julia,我使用matplotlib在Julia中定义了以下动画。动画将沿蓝线从左向右移动可见区域。我沿着蓝线放置了几个文本元素。我想让它们一出现在视野中就可见(如轴限制所指定)。但是,正如您所看到的,文本元素在移动到实际轴之前,在轴外部的白色区域中是可见的。我怎样才能防止这种情况 using PyPlot, PyCall @pyimport matplotlib.animation as animation # define initial plot fig = figure(facecolor="

我使用matplotlib在Julia中定义了以下动画。动画将沿蓝线从左向右移动可见区域。我沿着蓝线放置了几个文本元素。我想让它们一出现在视野中就可见(如轴限制所指定)。但是,正如您所看到的,文本元素在移动到实际轴之前,在轴外部的白色区域中是可见的。我怎样才能防止这种情况

using PyPlot, PyCall
@pyimport matplotlib.animation as animation


# define initial plot
fig = figure(facecolor="white")
ax = gca()
ax[:set_ylim](-1,+1)


plot([-10,10],[0,0],"b-*",linewidth=2.0)
for i = -10:2:10
  text(i,0.3,"$(i)",fontsize=30)
end


xdata = -10:0.1:10
# use animate function to change xlim 
function animate(k)
  k+=1
  # change axis limits
  lim = ax[:set_xlim](xdata[k]-1,xdata[k]+1)
  return (lim,nothing)
end
numMaxFrames = length(xdata)
anim = animation.FuncAnimation(fig, animate, frames=numMaxFrames, interval=50,repeat=true)
示例:10在轴之外

在定义文本元素时,我通过启用选项clip\u解决了这个问题:

text(i,0.3,"$(i)",fontsize=30,clip_on=true)

10
在那里,因为您将其编程为在那里:
text(10,0.3,“10”)
将文本放置在位置(10,0.3)。从你的问题来看,你并不清楚你想要什么。所以请相应地编辑它,清楚地说明预期的行为。@ImportanceOfBeingErnest我编辑了这个问题。我希望这更容易理解。因此,在上面的绘图中,您希望
10
完全不可见,或者将其放置在不同的位置?我希望在x限制包含10时,立即显示10。动画会更改x限制,以便“摄影机”沿蓝线从左向右移动。