1

Inserting an image into a 2d chart using Python has been answered here... how do I do this in 3d? Looking for something like this (image comes from a MATLAB example)...

Image plotted in 3D chart using MATLAB

zelusp
  • 3,500
  • 3
  • 31
  • 65

1 Answers1

0

I don't think that's how plotly has designed the image insertion, its more of adding a background image to the plot. Please refer the below example of what can be achieved using images property of layout object. To know more read here

import pandas as pd
import numpy as np
import plotly.plotly as py
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)



x, y, z = np.random.multivariate_normal(np.array([0,0,0]), np.eye(3), 200).transpose()
trace1 = go.Scatter3d(
    x=x,
    y=y,
    z=z,
    mode='markers',
    marker=dict(
        size=12,
        line=dict(
            color='rgba(217, 217, 217, 0.14)',
            width=0.5
        ),
        opacity=0.8
    )
)

x2, y2, z2 = np.random.multivariate_normal(np.array([0,0,0]), np.eye(3), 200).transpose()
trace2 = go.Scatter3d(
    x=x2,
    y=y2,
    z=z2,
    mode='markers',
    marker=dict(
        color='rgb(127, 127, 127)',
        size=12,
        symbol='circle',
        line=dict(
            color='rgb(204, 204, 204)',
            width=1
        ),
        opacity=0.9
    )
)
data = [trace1, trace2]
layout = go.Layout(
    margin=dict(
        l=0,
        r=0,
        b=0,
        t=0
    ),
    xaxis= dict(visible = False),
    yaxis= dict(visible = False),
    images= [dict(
                  source= "https://images.plot.ly/language-icons/api-home/python-logo.png",
                  xref= "x",
                  yref= "y",
                  x= 1,
                  y= 3,
                  sizex= 4,
                  sizey= 4,
                  sizing= "stretch",
                  opacity= 0.3,
                  layer= "below")]
)
fig = go.Figure(data=data, layout=layout)
iplot( fig )

plotly insert image

Naren Murali
  • 19,250
  • 3
  • 27
  • 54
  • Hmmm, I couldn't get your code to execute. Does this solution change the perspective of the image by rotating the chart or does it just stay in the background as 2d? I really need the image to rotate as well – zelusp Feb 09 '19 at 20:57