【发布时间】:2020-06-26 08:55:28
【问题描述】:
我正在尝试在 z 轴为时间的 3D 散点图中可视化多个 2d 轨迹 (x, y)。
import numpy as np
import pandas as pd
import plotly.express as px
# Sample data: 3 trajectories
t = np.linspace(0, 10, 200)
df = pd.concat([pd.DataFrame({'x': 900 * (1 + np.cos(t + 5 * i)), 'y': 400 * (1 + np.sin(t)), 't': t, 'id': f'id000{i}'}) for i in [0, 1, 2]])
# 3d scatter plot
fig = px.scatter_3d(df, x='x', y='y', z='t', color='id', )
fig.update_traces(marker=dict(size=2))
fig.show()
我有一个大小为 2000x1000 的地图的 .png 文件。轨迹的 (x, y) 坐标对应于地图的像素位置。
我想在 3d 散点图的“地板”上看到地图的图像。
我已尝试使用此代码添加图像:
from scipy import misc
img = misc.imread('images/map_bg.png')
fig2 = px.imshow(img)
fig.add_trace(fig2.data[0])
fig.show()
如果我旋转/缩放,我希望图像位于散点图的“地板”上并随散点图一起移动。这是一个模拟:
附加说明:可以有任意数量的轨迹,对于我的应用程序,重要的是每个轨迹都自动绘制成不同的颜色。我正在使用plotly.express,但只要满足这些要求,我可以使用其他 plotly 包。
【问题讨论】:
-
请包含您尝试的图像。
-
感谢@vestland:我添加了错误尝试导致的图像。
-
运气好能找到解决方案吗?
-
不,不走运 :( 我搬到了别的地方。但我仍然有兴趣找到解决方案。
标签: python plotly plotly-python scatter3d