如何在Python中以3D方式绘制图像?

时间:2019-02-07 16:52:39

标签: python matplotlib 3d plotly

使用Python将图像插入2d图表已得到回答here ...如何在3d中做到这一点?寻找这样的内容(图像来自MATLAB example)...

Image plotted in 3D chart using MATLAB

1 个答案:

答案 0 :(得分:0)

我不认为这是情节设计图像插入的方式,更多的是在情节中添加背景图像。请参考下面的示例,了解如何使用images对象的layout属性。要了解更多信息,请阅读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