【问题标题】:Bluemix Apache Spark Service - plotting for scala?Bluemix Apache Spark 服务 - 为 scala 绘图?
【发布时间】:2015-12-17 14:15:55
【问题描述】:

有没有办法在适用于 Scala 的 Jupyter 笔记本中使用任何类型的绘图,例如适用于 Python 的 Matplotlib?

谢谢。

【问题讨论】:

标签: scala apache-spark plot ibm-cloud jupyter


【解决方案1】:

对于 Bluemix 上的 Scala 笔记本,我主要使用了两个绘图库(按优先顺序):

  1. Brunel [推荐]:我推荐使用 Brunel,因为它已经安装在 Bluemix 的笔记本服务器中。这允许您使用布鲁内尔魔法命令%%brunel
// 示例 Scala 单元调用 %%布鲁内尔 data('https://raw.githubusercontent.com/Brunel-Visualization/Brunel/master/python/examples/data/whiskey.csv') 点 x(Rating) y(Age) bin(Rating,Age)

作为参考,这里有一些示例 Scala 笔记本示例:example 1example 2

  1. Lightning-Viz:对于 Lightning-Viz,您需要一个自定义客户端 jar lightning-scala_2.10-0.2.0.jar,我已经重新编译它以与 Scala 2.10 兼容。在你的 Scala 单元中,你会做这样的事情......
/** 为可视化加载 Lightning Scala 客户端 */ %AddJar https://github.com/joshisa/lightning-scala/raw/master/dist/lightning-scala_2.10-0.2.0.jar -f 导入 org.viz.lightning._ 导入 scala.util.Random // 主机不应包含尾部斜杠 val lgn = Lightning(host="https://lightningviz.mybluemix.net"); lgn.auth = 无 lgn.createSession() println("Woot!,我们有一个闪电对象。Bazinga!"); println(""); val x = Array.fill(100)(Random.nextDouble()); val y = Array.fill(100)(Random.nextDouble()); val somegroup = Array.fill(100)(Random.nextFloat() * 5).map(_.toInt); val somelabels = (Array(“点 0”、“点 1”、“点 2”、“点 3”、“点 4”、“点 5”、“点 6”、“点 7”、“点 8” , "第 9 点", "第 10 点", “第 11 点”、“第 12 点”、“第 13 点”、“第 14 点”、“第 15 点”、“第 16 点”、“第 17 点”、“第 18 点”、“第 19 点”、“第 20 点”、 “第 21 点”、“第 22 点”、“第 23 点”、“第 24 点”、“第 25 点”、“第 26 点”、“第 27 点”、“第 28 点”、“第 29 点”、“第 30 点”、 “第 31 点”、“第 32 点”、“第 33 点”、“第 34 点”、“第 35 点”、“第 36 点”、“第 37 点”、“第 38 点”、“第 39 点”、“第 40 点”、 “第 41 点”、“第 42 点”、“第 43 点”、“第 44 点”、“第 45 点”、“第 46 点”、“第 47 点”、“第 48 点”、“第 49 点”、“第 50 点”、 “第 51 点”、“第 52 点”、“第 53 点”、“第 54 点”、“第 55 点”、“第 56 点”、“第 57 点”、“第 58 点”、“第 59 点”、“第 60 点”、 “第 61 点”、“第 62 点”、“第 63 点”、“第 64 点”、“第 65 点”、“第 66 点”、“第 67 点”、“第 68 点”、“第 69 点”、“第 70 点”、 “第 71 点”、“第 72 点”、“第 73 点”、“第 74 点”、“第 75 点”、“第 76 点”、“第 77 点”、“第 78 点”、“第 79 点”、“第 80 点”、 “第 81 点”、“第 82 点”、“第 83 点”、“第 84 点”、“第 85 点”、“第 86 点”、“第 87 点”、“第 88 点”、“第 89 点”、“第 90 点”、 “点 91”、“点 92”、“点 93”、“点 94”、“点 95”、“点 96”、“点 97”、“点 98”、“点 99”)); val somesize = Array.fill(100)(Random.nextDouble() * 20 + 5); val xaxis = "示例 x 轴标签"; val yaxis = "示例 y 轴标签"; val alpha = 数组(0.6); val viz = lgn.scatter(x, y, somegroup, labels=somelabels, alpha=alpha, size=somesize, xaxis=xaxis, yaxis=yaxis); val vizhtml = viz.getHTML kernel.magics.html(s""" ${vizhtml} """);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2016-09-07
    相关资源
    最近更新 更多