Ich definierte die folgende Animation in Julia mit Matplotlib. Die Animation bewegt den sichtbaren Bereich entlang der blauen Linie von links nach rechts. Ich habe mehrere Textelemente entlang der blauen Linie platziert. Ich möchte sie sichtbar machen, sobald sie im Sichtfeld erscheinen (wie durch die Achsengrenzen vorgegeben). Wie Sie jedoch sehen können, sind die Textelemente auf dem weißen Bereich außerhalb der Achsen sichtbar, bevor sie sich in die tatsächlichen Achsen bewegen. Wie kann ich das verhindern?Behalten Sie Text innerhalb der Achsen während der Animation in 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)
Beispiel: 10 liegt außerhalb der Achsen
Die '10' ist da, weil du es dort programmierst: 'text (10,0.3," 10 ")' plaziert den Text an Position (10, 0.3). Aus Ihrer Frage wird nicht klar, was Sie stattdessen haben möchten. Also editieren Sie es bitte entsprechend und geben Sie das erwartete Verhalten an. – ImportanceOfBeingErnest
@ImportanceOfBeingErnest Ich habe die Frage bearbeitet. Ich hoffe, das ist verständlicher. – miga89
Also in der obigen Handlung, möchten Sie die '10' überhaupt nicht sichtbar haben, oder haben Sie es an einer anderen Position? – ImportanceOfBeingErnest