【下载TeeChart for Java最新版本】
(一)在图表上混合系列类型
TeeChart Pro提供了一个空的Chart Canvas作为数据系列的背景,这意味着没有预定义图表类型。您可以将所需的图表类型定义为要显示的系列类型的混合。由于某些系列类型的特殊性质,在图表上混合一些系列类型是不切实际的。当您到达添加新系列时,TeeChart会通过在图表库中显示不合适的系列类型来帮助您,您可以在一个图表中放置的系列数量没有实际限制。
1.1 添加新系列
按代码添加系列,例:
public void jButton1_actionPerformed(ActionEvent e) { Bar bar1 = new Bar(tChart1.getChart().chart); bar1.fillSampleValues(10); }};
1.2 选择系列的轴
bar1.setHorizontalAxis(HorizontalAxis.TOP);bar1.setVerticalAxis(VerticalAxis.RIGHT);
每个轴可以关联1个以上的系列,TeeChart将决定适合与Axis匹配的系列的最佳比例,但您可以自己更改Axis scales,可以添加附加轴,它们将复制与前4轴相对应的刻度。
1.3 连接系列
public void bFuncion_actionPerformed(ActionEvent e) {Bar bar1 = new Bar();bar1.fillSampleValues();Line line1 = new Line();com.steema.teechart.functions.Average average1 = new com.steema.teechart.functions.Average();line1.setFunction(average1);line1.setDataSource(bar1);line1.checkDataSource();}
1.4 更改系列order
tChart1.exchangeSeries(0,1); //Change Series(0) with Series(1) in the index order
*注意,交换Series后,系列的索引将被更改。因此,如果代码重新运行,上面的代码行将永久地交换2系列’0’和’1’,因为0变为1,1变为0。将系列设置为“Active:=假”将从图表中隐藏系列,但保持其数据内容不变。
(二)Series Value list
TeeChart系列通过TChartValueList组件将其值存储在可访问和可修改的Valuelist中。
2.1 使用Values的示例
upDatePoint(valueIndex,tChart1.getAxes().getLeft().calcPosPoint(e.Y));
调用UpdatePoint Sub例程来修改Bar的值:
private void upDatePoint(int Bar, double Y){if(Bar < tChart1.getSeries(0).getCount()){tChart1.getSeries(0).getYValues().setValue(Bar,Y);tChart1.paint(tChart1.getGraphics());}}
2.2 Series events
2.2.1 OnGetSeriesPointerStyle
对于那些使用TChart指针的系列,您可以使用OnGetSeriesPointer事件访问和修改指针:如果Point高于最后一个,则绘制一个Uptriangle,如果更低,则绘制一个UpTriangle等。
if(e.ValueIndex > 0) { if(line1.getYValues().getValue(e.ValueIndex) > line1.getYValues().getValue(e.ValueIndex - 1)) { e.Style = PointerStyles.TRIANGLE; } else if(line1.getYValues().getValue(e.ValueIndex) < line1.getYValues().getValue(e.ValueIndex - 1)) { e.Style = PointerStyles.DOWNTRIANGLE; } else { e.Style = PointerStyles.DIAMOND; } } else { e.Style = PointerStyles.DIAMOND; }
2.2.2 OnGetSeriesMark
使用OnGetSeriesMark事件在运行时修改标记内容。以下代码根据相对于最后一个的值改变MarkText,TeeChart支持通过DragMarks工具在重叠的情况下拖动标记:
if(e.ValueIndex > 0) { if(line1.getYValues().getValue(e.ValueIndex) >line1.getYValues().getValue(e.ValueIndex - 1)) { e.MarkText = e.MarkText + " (Up)"; } else if(line1.getYValues().getValue(e.ValueIndex) <line1.getYValues().getValue(e.ValueIndex - 1)) { e.MarkText = e.MarkText + " (Down)"; } else { e.MarkText = e.MarkText + " (No Change)"; } } }
购买Steema正版授权,请点击“咨询在线客服”哟!

标签:图表Java图表控件teechart
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!