page59-一种能够累加数据的ADT(可视化版本) [可用于数据挖掘可视化工具]

public class VisualAccumulator

  VisualAccumulator() 创建一个累加器

  void addDataValue(double val) 添加一个新的数据值

  double mean() 所有数据值的平均值

  String toString() 对象的字符串表示

所用到的java类有:

【 VisualAccumulator.java 】如下

 1 public class VisualAccumulator {
 2     
 3     private double total;
 4     private int N;
 5 
 6     public VisualAccumulator(int trials , double max){
 7         
 8         StdDraw.setXscale(0, trials);
 9         StdDraw.setYscale(0, max);
10         StdDraw.setPenRadius(.005);
11     }
12     
13     public void addDataValue(double val){
14         
15         N ++;
16         total += val;
17         StdDraw.setPenColor(StdDraw.DARK_GRAY);
18         StdDraw.point(N, val);
19         StdDraw.setPenColor(StdDraw.RED);
20         StdDraw.point(N, total/N);
21         
22     }
23     public double mean(){
24         return total/N;
25     }
26     public String toString(){
27         return "mean  (" + N + "values: )" + String.format("%7.5f", mean());
28     }
29 }

【TestVisualAccumulator.java 如下 】

 1 public class TestVisualAccumulator {
 2 
 3     
 4     public static void main(String[] args) {
 5 
 6         int T = Integer.parseInt(args[0]);
 7         VisualAccumulator a = new VisualAccumulator(T, 1.0);
 8         for (int t = 0; t < T; t++) 
 9             a.addDataValue(StdRandom.uniform());
10         StdOut.println(a);
11     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
12 }

 

最后可视化的结果如下图:

 

转载于:https://www.cnblogs.com/pacoson/p/4003915.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值