Ask Your Question

Revision history [back]

This is not very surprising, since the plot3d returns a sum of Point object primitives, instead of a single primitive, each one will send a one-line string to jmol, see https://git.sagemath.org/sage.git/tree/src/sage/plot/plot3d/shapes2.py

A possible workaround (for 10000 points, not 100000) is to use ployly: install it from a terminal:

sage -pip install plotly

and then do something like (slightly modified from plotly's website to be run on your own worksheet):

import plotly
plotly.offline.init_notebook_mode(connected=True)
from plotly.offline import iplot
import plotly.plotly as py
import plotly.graph_objs as go

# Create random data with numpy
import numpy as np
N = 10000
random_x = np.random.randn(N)
random_y = np.random.randn(N)
random_z = np.random.randn(N)

trace = go.Scatter3d(
    x = random_x,
    y = random_y,
    z = random_z,
    mode = 'markers'
)
data = [trace]
iplot(data)

This is not very surprising, since the plot3d returns a sum of Point object primitives, instead of a single primitive, each one will send a one-line string to jmol, see https://git.sagemath.org/sage.git/tree/src/sage/plot/plot3d/shapes2.py

A possible workaround (for 10000 points, not 100000) is to use ployly: plotly: install it from a terminal:

sage -pip install plotly

and then do something like (slightly modified from plotly's website to be run on your own worksheet):

import plotly
plotly.offline.init_notebook_mode(connected=True)
from plotly.offline import iplot
import plotly.plotly as py
import plotly.graph_objs as go

# Create random data with numpy
import numpy as np
N = 10000
random_x = np.random.randn(N)
random_y = np.random.randn(N)
random_z = np.random.randn(N)

trace = go.Scatter3d(
    x = random_x,
    y = random_y,
    z = random_z,
    mode = 'markers'
)
data = [trace]
iplot(data)