图表形状(Plot)sts北方站长站 组成图表还有一个最重要的类,负责描述数据的图表形状,我们称之为Plot。Plot应能绘制多组数据,而这组数据呢,我们专门用一个模型来描述它,这就是DataSeries。由于我们在这里讨论的是二维图表,所以DataSeries应能提供两组分别代表X和Y坐标的数据。还是来看看它们的类图(图2-6):
sts北方站长站
sts北方站长站图2-6
sts北方站长站 为了plot能绘制多组数据,除了从ChartWidget继承来的draw(Graphics)方法外,plot还提供了draw(Graphics,DataSeries,int)方法,用来绘制单组的数据。下面的代码更能说明问题:
sts北方站长站public abstract class Plot implements ChartWidgetsts北方站长站 {sts北方站长站 protected int x; sts北方站长站 protected int y; sts北方站长站 protected int width; sts北方站长站 protected int height; sts北方站长站 protected XAxis xAxis; sts北方站长站 protected YAxis yAxis; sts北方站长站 protected ArrayList dataSeries;sts北方站长站 public int getX(){return x;} sts北方站长站 public int getY(){return y;} sts北方站长站 public int getWidth(){return width;} sts北方站长站 public int getHeight(){return height;} sts北方站长站 public void addDataSeries(DataSeries ds)sts北方站长站 {sts北方站长站 dataSeries.add(ds); sts北方站长站 }sts北方站长站 public void removeDataSeries(DataSeries ds)sts北方站长站 {sts北方站长站 dataSeries.remove(ds); sts北方站长站 }sts北方站长站 public void draw(Graphics g) sts北方站长站 {sts北方站长站 for( int i=0;i<dataSeries.size();i++ )sts北方站长站 draw(g,(DataSeries)dataSeries.get(i),i); sts北方站长站 }sts北方站长站 public abstract void draw(Graphics g,DataSeries ds,int index);sts北方站长站 } |
sts北方站长站 Plot类也被设计成了抽象类,具体的绘制方法由子类为实现。而DataSeries类的过于简单,在此我们就不列出代码了。
sts北方站长站
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面