在Julia / matplotlib中的动画期间将文本保留在轴内

时间:2017-01-30 08:37:14

标签: matplotlib julia

我使用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位于轴外 enter image description here

1 个答案:

答案 0 :(得分:1)

我在定义文本元素时通过设置选项 clip_on 解决了这个问题:

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