gpt4 book ai didi

apache-spark - 是否有更好的界面可以向Zeppelin添加Highcharts支持

转载 作者:行者123 更新时间:2023-12-02 03:13:25 26 4
gpt4 key购买 nike

Apache ZeppelinAngularJS有很好的支持。虽然Scala和Javascript之间存在差距。

我正在尝试向Zeppelin添加Highcharts支持以填补这一空白。主要目标是直接从Spark DataFrame绘制它。

经过几轮重构,我想出了以下界面。

github.com/knockdata/zeppelin-highcharts

这是两个选择。 哪个选项更好?

选项A

这是绘制图表的示例。

highcharts(bank,
"marital",
List("name" -> "age", "y" -> avg(col("balance")), "orderBy" -> col("age")),
new Title("Marital Job Average Balance").x(-20),
new Subtitle("Source: Zeppelin Tutorial").x(-20),
new XAxis("Age").typ("category"),
new YAxis("Balance(¥)").plotLines(Map("value"->0, "width"->1)),
new Tooltip().valueSuffix("¥"),
new Legend().layout("vertical").align("right").verticalAlign("middle")
)

这是没有额外选项的代码。
highcharts(bank,
"marital",
List("name" -> "age",
"y" -> avg(col("balance")),
"orderBy" -> col("age")))

选项B

我通过@honnix的答案启发了这个选项。它具有更多的语法糖。
highcharts(bank).series("marital")
.data("name" -> "age", "y" -> avg(col("balance")))
.orderBy(col("age"))
.title(Title("Marital Job Average Balance").x(-20))
.subtitle(Subtitle("Source: Zeppelin Tutorial").x(-20))
.xAxis(XAxis("Age").typ("category"))
.yAxis(YAxis("Balance(¥)").plotLines("value"->0, "width"->1))
.tooltip(Tooltip().valueSuffix("¥"))
.legend(Legend().layout("vertical").align("right").verticalAlign("middle"))
.plot

一个简单的没有选项的情节将是
highcharts(bank).series("marital")
.data("name" -> "age", "y" -> avg(col("balance")))
.orderBy(col("age"))
.plot

它将在此处生成图表。

Marital Job Average Balance

最佳答案

最好使用某种链接方法来传递这些参数,因为将一些列表放到一个apply()方法中有点难以阅读。

关于apache-spark - 是否有更好的界面可以向Zeppelin添加Highcharts支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38530410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com