Spark学习(七):数据绘图工具Breeze-Viz

因为要进行数据分析,开发原型的过程中最好能绘图,上网查了一下,Spark或scala中比较常用的绘图工具是Breeze-Viz,于是参考博文上手Breeze-Viz。

Breeze-Viz介绍

breeze-viz是git开源项目scalanlp/breeze的一部分,它能在java/scala语言环境绘制x-y点图,统计图,二维矩阵灰度图。breeze项目现在用途很广泛,Spark MLlib很多机器学习算法建立在breeze之上。breeze中最主要的是它的breeze数学库,包括向量、矩阵等基本数据结构,各种数学函数、分布,数学常用算法等等。

Breeze-Viz项目搭建

Breeze-Viz搭建只要下载对应版本的jar包和依赖项就可以了。我用的scala版本是2.11,对应版本的Breeze-Viz jar包下载地址。页面的下方有所需依赖项和下载链接。

例程

顾名思义,breeze项目可能在NLP领域中用得比较多。以下代码来源于官方说明和例程:

import breeze.linalg.{linspace, DenseVector, DenseMatrix}
import breeze.plot._

object plot_test{
  def main(args: Array[String]): Unit = {
    val f = Figure()
    val p = f.subplot(0)
    val x = linspace(0.0,1.0)
    p += plot(x, x :^ 2.0)
    p += plot(x, x :^ 3.0, '.')
    p.xlabel = "x axis"
    p.ylabel = "y axis"
    f.saveas("lines.png") // save current figure as a .png, eps and pdf also supported

    val p2 = f.subplot(2,1,1)
    val g = breeze.stats.distributions.Gaussian(0,1)
    p2 += hist(g.sample(100000),100)
    p2.title = "A normal distribution"
    f.saveas("subplots.png")

    val f2 = Figure()
    f2.subplot(0) += image(DenseMatrix.rand(200,200))
    f2.saveas("image.png")
  }
}
subplots.png

image.png

看了这个小例程,下面就可以开始自己绘图啦!

你可能感兴趣的:(Spark学习(七):数据绘图工具Breeze-Viz)