在Scala中,是否可以使用Plotly的Scatter3d?

3
我的目标是在一个三维空间/图表/图形中显示点。在Python中,似乎是可能的:https://plot.ly/python/3d-scatter-plots/ 但是在Scala中,我没有找到这个对象/类/特征:
  1. 网站只涉及曲面:https://plot.ly/scala/
  2. Plotly文档中没有包含Scatter3d,只有Scatter,不支持3D:https://asidatascience.github.io/scala-plotly-client/latest/api/#co.theasi.plotly.Scatter
  3. ThreeDPlot类似乎无法在不绘制曲面的情况下显示3D点:https://asidatascience.github.io/scala-plotly-client/latest/api/#co.theasi.plotly.ThreeDPlot,Z坐标集很奇怪(例如Iterable [Iterable [Double]]而不是更简单的Iterable [Double])
  4. Github页面使用3D点,但仅在2D空间中显示,仅使用X和Y坐标:https://github.com/ASIDataScience/scala-plotly-client

2个回答

4

很遗憾,最新版本尚不支持3D散点图。

但是我已经fork了这个项目,并添加了基本的3D散点图支持。下面是可以直接从sbt控制台运行的示例:

val (x,y,z) = (Vector(1.0, 3.0, 3.0),Vector(2.0, 5.0, 1.0),Vector(5.0, 7.0, -1.0))
val p = ThreeDPlot().withScatter3D(x,y,z,ScatterOptions().copy(mode = Seq(ScatterMode.Marker)));
draw(p, "hello-plotly");

我还开了一个拉取请求,以便审核并可能合并提交。


现在,Scala Plotly客户端的0.3.0-SNAPSHOT版本已经发布--请参见此PR获取使用说明。我将在接下来的几天内发布新的完整版本并更新文档。感谢Landlocked Surfer的贡献! - Pascal Bugnion

-2

您可以使用matplotlib(尤其是mplot3d

需要注意的是,matplotlib不支持Scala原生格式,因此在显示和/或使用之前,您需要将Scala数据转换为matplotlib格式,或者使用this module,它是:

Scala + Spark缺失的MatPlotLib

敬礼


我必须使用Plotly,抱歉。 - JarsOfJam-Scheduler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接