Я определил следующую анимацию в Julia, используя matplotlib. Анимация перемещает видимую область вдоль синей линии слева направо. Я поместил несколько текстовых элементов вдоль синей линии. Я хотел бы сделать их видимыми, как только они появятся в поле зрения (в соответствии с ограничениями по осям). Однако, поскольку вы можете видеть, что текстовые элементы видны на белой области вне осей, прежде чем они перемещаются в фактические оси. Как я могу это предотвратить?Сохранять текст внутри осей во время анимации в Julia/matplotlib
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 находится за пределами осей
Параметр '10' является там, потому что вы программируете его там: 'text (10,0.3," 10 ")' помещает текст в позицию (10, 0.3). Из вашего вопроса не становится ясно, что вы хотели бы иметь вместо этого. Поэтому, пожалуйста, отредактируйте его соответствующим образом, четко указав ожидаемое поведение. – ImportanceOfBeingErnest
@ImportanceOfBeingErnest Я редактировал вопрос. Надеюсь, это более понятно. – miga89
Итак, в приведенном выше графике вы хотели бы, чтобы '10' вообще не был виден или у него было другое место? – ImportanceOfBeingErnest