java好用的画图软件_java/scala下的最好用的数据绘图工具breeze-viz

背景介绍

您可能会问,为什么不适用MATLAB等比较专业的绘图软件来绘图呢?这是因为我们要做的工作是集文本处理和数据绘图于一体。专业绘图软件适合于使用向量、矩阵等数据结构绘图,然而,我们面对的是如自然语言一样的log文本。在自然语言处理方面,Scala、Python等现在语言使用十分方便。若您是搞Spark,使用Scala再合适不过了!!

breeze-viz介绍

breeze-viz是git开源项目scalanlp/breeze的一部分,它能在java/scala语言环境绘制x-y点图,统计图,二维矩阵灰度图

现在我们介绍viz能够绘制的3类图形

点、线图

1527060124761832.png

它用2个breeze vector变量分别表示横坐标点和竖坐标点,在x-y轴上绘制出点。同一图上可同时绘制 . + - 3种形状的点,用以对比不同竖坐标数据。

统计图

1527060124251429.png

它可以将离散数据集中的数据分布在每个区间里的个数统计出来,表示一种区间统计信息。viz用scala Array存储数据,通过指定区间个数和数据的跨度自动划分区间长度。

二维矩阵图

1527060126755467.png

它能将矩阵里面的数据按值的相对大小以灰度形式显示,上图便是元素随机赋值的矩阵的表示效果,是不是特别像80年度信号不好的黑白电视。

项目搭建

breeze-viz

我们下载breeze-viz jar包后还有下载它的全部Compile Dependencies(scala runtime/compiler除外),就在maven breeze-viz网页下面,因为运行的时候需要这些jar Dependencies。

breeze

term macros

缺失的便是macros,你就去breeze的Compile Dependencies里下载它的依赖macros。

下载其他依赖…

创建绘图工程

大功告成!!import breeze.linalg.{DenseMatrix => BDM, DenseVector => BDV, linspace} import breeze.plot._ /** * Created by Administrator on 2016/1/13. */ object Test { def main(args: Array[String]) { val a = new BDV[Int](1 to 3 toArray) val b = new BDM[Int](3, 3, 1 to 9 toArray) 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("d:\\lines.png") val p2 = f.subplot(2, 1, 1) val g = breeze.stats.distributions.Gaussian(0, 1) p2 += hist(g.sample(100000), 1000) p2.title = "A normal distribution" f.saveas("d:\\subplots.png") val f2 = Figure() f2.subplot(0) += image(BDM.rand(200, 200)) f2.saveas("d:\\image.png") } }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

一些样例

1527060127698487.png

1527060127386443.png

1527060128370573.png

作者介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值