Animate matplotlib parametric example
up vote
0
down vote
favorite
What is the SIMPLIST way to animate the Python matlabplot parametric example?
I want to update the data within a loop item by item. Sadly this looks terrible, and is always flashing every colour of the rainbow!
Is there a simple easy way that allows me to update data as it is calculated?
from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import
import numpy as np
import matplotlib.pyplot as plt
import math
plt.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
i = 10
theta = 0
x=
y=
z=
# Prepare arrays x, y, z
while (theta < 4*np.pi):
theta += 0.05
z += [i]
r = i**2 + 1
x += [r * math.sin(theta)]
y += [r * math.cos(theta)]
i +=1
ax.plot(x, y, z)
plt.pause(0.01)
python animation matplotlib curve
add a comment |
up vote
0
down vote
favorite
What is the SIMPLIST way to animate the Python matlabplot parametric example?
I want to update the data within a loop item by item. Sadly this looks terrible, and is always flashing every colour of the rainbow!
Is there a simple easy way that allows me to update data as it is calculated?
from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import
import numpy as np
import matplotlib.pyplot as plt
import math
plt.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
i = 10
theta = 0
x=
y=
z=
# Prepare arrays x, y, z
while (theta < 4*np.pi):
theta += 0.05
z += [i]
r = i**2 + 1
x += [r * math.sin(theta)]
y += [r * math.cos(theta)]
i +=1
ax.plot(x, y, z)
plt.pause(0.01)
python animation matplotlib curve
Did you look at this example?
– ImportanceOfBeingErnest
Nov 22 at 19:45
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
What is the SIMPLIST way to animate the Python matlabplot parametric example?
I want to update the data within a loop item by item. Sadly this looks terrible, and is always flashing every colour of the rainbow!
Is there a simple easy way that allows me to update data as it is calculated?
from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import
import numpy as np
import matplotlib.pyplot as plt
import math
plt.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
i = 10
theta = 0
x=
y=
z=
# Prepare arrays x, y, z
while (theta < 4*np.pi):
theta += 0.05
z += [i]
r = i**2 + 1
x += [r * math.sin(theta)]
y += [r * math.cos(theta)]
i +=1
ax.plot(x, y, z)
plt.pause(0.01)
python animation matplotlib curve
What is the SIMPLIST way to animate the Python matlabplot parametric example?
I want to update the data within a loop item by item. Sadly this looks terrible, and is always flashing every colour of the rainbow!
Is there a simple easy way that allows me to update data as it is calculated?
from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import
import numpy as np
import matplotlib.pyplot as plt
import math
plt.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
i = 10
theta = 0
x=
y=
z=
# Prepare arrays x, y, z
while (theta < 4*np.pi):
theta += 0.05
z += [i]
r = i**2 + 1
x += [r * math.sin(theta)]
y += [r * math.cos(theta)]
i +=1
ax.plot(x, y, z)
plt.pause(0.01)
python animation matplotlib curve
python animation matplotlib curve
edited Nov 22 at 17:12
asked Nov 22 at 16:49
DogBreath
296
296
Did you look at this example?
– ImportanceOfBeingErnest
Nov 22 at 19:45
add a comment |
Did you look at this example?
– ImportanceOfBeingErnest
Nov 22 at 19:45
Did you look at this example?
– ImportanceOfBeingErnest
Nov 22 at 19:45
Did you look at this example?
– ImportanceOfBeingErnest
Nov 22 at 19:45
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Disclaimer, this uses a library I wrote called celluloid. There was some discussion about its merits in another answer. That being said here's basically your code with some celluloid
lines sprinkled in:
import matplotlib
matplotlib.use('Agg')
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
import math
from celluloid import Camera
plt.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
camera = Camera(fig)
i = 10
x=
y=
z=
# Prepare arrays x, y, z
for theta in np.arange(0, 4*np.pi, 0.05):
z += [i]
r = i**2 + 1
x += [r * math.sin(theta)]
y += [r * math.cos(theta)]
i +=1
ax.plot(x, y, z, color='blue')
camera.snap()
anim = camera.animate(blit=False, interval=10)
anim.save('3d.mp4')
Which can be turned into a gif like this:
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53435352%2fanimate-matplotlib-parametric-example%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Disclaimer, this uses a library I wrote called celluloid. There was some discussion about its merits in another answer. That being said here's basically your code with some celluloid
lines sprinkled in:
import matplotlib
matplotlib.use('Agg')
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
import math
from celluloid import Camera
plt.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
camera = Camera(fig)
i = 10
x=
y=
z=
# Prepare arrays x, y, z
for theta in np.arange(0, 4*np.pi, 0.05):
z += [i]
r = i**2 + 1
x += [r * math.sin(theta)]
y += [r * math.cos(theta)]
i +=1
ax.plot(x, y, z, color='blue')
camera.snap()
anim = camera.animate(blit=False, interval=10)
anim.save('3d.mp4')
Which can be turned into a gif like this:
add a comment |
up vote
0
down vote
Disclaimer, this uses a library I wrote called celluloid. There was some discussion about its merits in another answer. That being said here's basically your code with some celluloid
lines sprinkled in:
import matplotlib
matplotlib.use('Agg')
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
import math
from celluloid import Camera
plt.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
camera = Camera(fig)
i = 10
x=
y=
z=
# Prepare arrays x, y, z
for theta in np.arange(0, 4*np.pi, 0.05):
z += [i]
r = i**2 + 1
x += [r * math.sin(theta)]
y += [r * math.cos(theta)]
i +=1
ax.plot(x, y, z, color='blue')
camera.snap()
anim = camera.animate(blit=False, interval=10)
anim.save('3d.mp4')
Which can be turned into a gif like this:
add a comment |
up vote
0
down vote
up vote
0
down vote
Disclaimer, this uses a library I wrote called celluloid. There was some discussion about its merits in another answer. That being said here's basically your code with some celluloid
lines sprinkled in:
import matplotlib
matplotlib.use('Agg')
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
import math
from celluloid import Camera
plt.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
camera = Camera(fig)
i = 10
x=
y=
z=
# Prepare arrays x, y, z
for theta in np.arange(0, 4*np.pi, 0.05):
z += [i]
r = i**2 + 1
x += [r * math.sin(theta)]
y += [r * math.cos(theta)]
i +=1
ax.plot(x, y, z, color='blue')
camera.snap()
anim = camera.animate(blit=False, interval=10)
anim.save('3d.mp4')
Which can be turned into a gif like this:
Disclaimer, this uses a library I wrote called celluloid. There was some discussion about its merits in another answer. That being said here's basically your code with some celluloid
lines sprinkled in:
import matplotlib
matplotlib.use('Agg')
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
import math
from celluloid import Camera
plt.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
camera = Camera(fig)
i = 10
x=
y=
z=
# Prepare arrays x, y, z
for theta in np.arange(0, 4*np.pi, 0.05):
z += [i]
r = i**2 + 1
x += [r * math.sin(theta)]
y += [r * math.cos(theta)]
i +=1
ax.plot(x, y, z, color='blue')
camera.snap()
anim = camera.animate(blit=False, interval=10)
anim.save('3d.mp4')
Which can be turned into a gif like this:
answered Nov 24 at 2:13
Jacques Kvam
1,173921
1,173921
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53435352%2fanimate-matplotlib-parametric-example%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Did you look at this example?
– ImportanceOfBeingErnest
Nov 22 at 19:45