使用WISP在scala中绘制数据帧

使用WISP在scala中绘制数据帧,scala,apache-spark,plot,Scala,Apache Spark,Plot,我需要使用WISP绘制数据帧。我正在Scala中使用ApacheSprak。然而,它似乎不能接受数据帧 +-----+--------------------+------------------+ |label| features| prediction| +-----+--------------------+------------------+ | 101|[1.497846976E9,10...|101.22752534884378| | 101

我需要使用WISP绘制数据帧。我正在Scala中使用ApacheSprak。然而,它似乎不能接受数据帧

+-----+--------------------+------------------+
|label|            features|        prediction|
+-----+--------------------+------------------+
|  101|[1.497846976E9,10...|101.22752534884378|
|  101|[1.497846976E9,10...|101.22752534884378|
|  101|[1.497846976E9,10...|101.22752534884378|
|  101|[1.497846976E9,10...|101.22752534884378|
|  101|[1.497846976E9,10...|101.22752534884378|
+-----+--------------------+------------------+
我还尝试使用下面的代码将我的datarame更改为Seq,但它不起作用

import org.apache.spark.sql.functions.{collect_list, collect_set}
val label=predictions.groupBy($"label").agg(collect_list($"label").alias("label"))
val predicted=  predictions.groupBy($"prediction").agg(collect_list($"prediction").alias("prediction"))

line(predicted)
它向我显示了以下错误:

Error:(157, 10) type mismatch;
 found   : org.apache.spark.sql.DataFrame
    (which expands to)  org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]
 required: com.quantifind.charts.repl.IterablePair[?,?,?,?]
    line(predicted)
使用WISP绘制如下数据帧有什么技巧吗?提前谢谢

更新

根据答案1,当我尝试安装vegas库时,我遇到了一个错误:

Error:Error while importing SBT project:<br/>...<br/><pre>[warn] ==== MapR Repository: tried
[warn]   http://repository.mapr.com/maven/com/github/aishfenton/vegas-spark_2.10_2.11/0.2.0/vegas-spark_2.10_2.11-0.2.0.pom
[info] Resolving org.scala-lang#scala-compiler;2.11.8 ...
[info] Resolving org.scala-lang.modules#scala-xml_2.11;1.0.4 ...
[info] Resolving org.scala-lang.modules#scala-parser-combinators_2.11;1.0.4 ...
[info] Resolving jline#jline;2.12.1 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.github.aishfenton#vegas-spark_2.10_2.11;0.2.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]      com.github.aishfenton:vegas-spark_2.10_2.11:0.2.0 (/Users/saeedtkh/Desktop/ML_Alpha/build.sbt#L15-34)
[warn]        +- ml:ml_2.11:1.0
[trace] Stack trace suppressed: run 'last *:ssExtractDependencies' for the full output.
[trace] Stack trace suppressed: run 'last *:update' for the full output.
[error] (*:ssExtractDependencies) sbt.ResolveException: unresolved dependency: com.github.aishfenton#vegas-spark_2.10_2.11;0.2.0: not found
[error] (*:update) sbt.ResolveException: unresolved dependency: com.github.aishfenton#vegas-spark_2.10_2.11;0.2.0: not found
[error] Total time: 27 s, completed Sep 22, 2017 1:06:23 PM</pre><br/>See complete log in <a href="file:/Users/saeedtkh/Library/Logs/IntelliJIdea2017.1/sbt.last.log">file:/Users/saeedtkh/Library/Logs/IntelliJIdea2017.1/sbt.last.log</a>

你到底想策划什么?你试过使用维加斯吗

获取数据帧列的直方图的示例:

将以下行添加到生成文件中

import vegas._
import vegas.render.WindowRenderer._
import vegas.sparkExt._

val plot = Vegas("approval date").
           withDataFrame(castedDf).
           mark(Bar).
           encodeX("columnName", Quant, bin=Bin(maxbins=20.0), sortOrder=SortOrder.Desc).
           show
示例代码


谢谢你的回复,我想在一张图上比较预测和标签(预测的实际值)。唯一的问题是,我不能在我的inteliJ想法中添加它的库。我想是因为我的scala版本是2.8.11。我已将build.sbt内容添加到问题中。谢谢。我明白了。我对wisp框架不是很熟悉。但Vegas允许你在两个变量之间绘制散点图。在这种情况下,它将是预测和标签。我已经在以前的代码中添加了依赖项信息。希望能有帮助。
"org.vegas-viz" %% "vegas" % "0.3.9",
"org.vegas-viz" %% "vegas-spark" % "0.3.9"
import vegas._
import vegas.render.WindowRenderer._
import vegas.sparkExt._

val plot = Vegas("approval date").
           withDataFrame(castedDf).
           mark(Bar).
           encodeX("columnName", Quant, bin=Bin(maxbins=20.0), sortOrder=SortOrder.Desc).
           show