Forum Archive

How to make my 3D scatter graph rotating to view

Kangaroo

This is my program:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x =[1,2,3,4,5,6,7,8,9,10]
y =[5,6,2,3,13,4,1,2,4,8]
z =[2,3,3,3,5,7,9,11,9,10]

ax.scatter(x, y, z, c='r', marker='o')

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()

I don't know why my graph is fixed in one position.It is difficult to check every point when my data become larger.
So,I want to make my graph rotating automatically since it is easy to view every point.
Does anyone can help me?

abcabc

Does this help?

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x =[1,2,3,4,5,6,7,8,9,10]
y =[5,6,2,3,13,4,1,2,4,8]
z =[2,3,3,3,5,7,9,11,9,10]

ax.scatter(x, y, z, c='r', marker='o')

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

for i in range(0, 360, 45):
    ax.view_init(None, i)
    plt.show()


abcabc

Does this help?

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x =[1,2,3,4,5,6,7,8,9,10]
y =[5,6,2,3,13,4,1,2,4,8]
z =[2,3,3,3,5,7,9,11,9,10]

ax.scatter(x, y, z, c='r', marker='o')

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

for i in range(0, 360, 45):
    ax.view_init(None, i)
    plt.show()

Also see this link
https://forum.omz-software.com/topic/1961/putting-a-matplotlib-plot-image-into-a-ui-imageview
You can generate and save the images and then make a gif or carousel. Built-in examples contain code to generate gif and here is the code to make a image carousel.
https://gist.github.com/balachandrana/de389c3bd84f006ad4c8d5e3d1cd4a8d