实现的效果是在原有的chart图上再显示其他chart图。
比如本例在原来管状图上再动态显示折线图
如下图:
首先新建报表,新建数据源,使用birt默认数据源,新建数据集,使用刚才的数据源,查询语句里写上:
select *
from orderdetails
这里我选择orderdetails表,因为该表的数值数据列比较多,方便后面的设计。且我设置了只取数据集的前10行数据,如下图:
因为birt似乎不支持top 10或者哪里应该注意的我没注意到,反正总是提示错误,拿出来运行就可以。
我们再来设计一个参数,新建参数,设置该参数为列表框,值为静态的"PRICEEACH"和“QUANTITYORDERED”(这是我们查询的数据列).如下图:
好了,我们来设计一个柱状图,设置要显示的数据,如下图:
然后设置一下柱状图的名字为chart1(过会会用到).
现在我们点击设计器空白处,选择script,在beforeFactory方法里写上以下代码:
importPackage(Packages.org.eclipse.birt.chart.model.data.impl);
importPackage(Packages.org.eclipse.birt.chart.model.component.impl);
importPackage(Packages.org.eclipse.birt.chart.model.type.impl);
importPackage(Packages.org.eclipse.birt.chart.model.attribute);
importPackage(Packages.org.eclipse.birt.chart.model.attribute.impl);
chart1 = reportContext.getDesignHandle().findElement("chart1"); //获取我们设置的chart图
chartIns = chart1.getReportItem().getProperty( "chart.instance" );
xAxis =chartIns.getAxes().get(0); //得到x轴对象
yAxis1 = xAxis.getAssociatedAxes().get(0); //得到y轴对象
for( i=0; i < params["param1"].value.length; i++){ 对我们选择的参数进行遍历
var seriesDefinit = SeriesDefinitionImpl.create(); //生成一个SeriesDefinition对象
var lineSeries = LineSeriesImpl.create(); //生成一个折线系列
lineSeries.getLabel().setVisible(true); //设置折线显示数值
lineSeries.getMarker().setType(MarkerType.STAR_LITERAL); //设置拆线上的标记为星型
lineSeries.getLineAttributes().setColor(ColorDefinitionImpl.create(111,111,111)); //设置折线的颜色
var data = QueryImpl.create("row[\"" + params["param1"].value
+ "\"]" ); //得到我们选择的参数相应的数值
lineSeries.getDataDefinition().add(data) //把数据添加到折线里
seriesDefinit.getSeries().add( lineSeries ); //添加这个折线到SeriesDefinition对象里
yAxis1.getSeriesDefinitions().add( seriesDefinit );
}
大概就是这样,最后发点牢骚,LineSeriesImpl.create()这里生成的居然不是LineSeries对象,而是Series对象,要程序运行时自动判断,我不知道为什么birt要这样设计哦。还有,setType(MarkerType.STAR_LITERAL),查看了MarkerType的字段,似乎还有一个是STAR,不过是int类型,而STAR_LITERAL却是MarkerType类型,不知道为什么这样设置,我传了个int类型的STAR进去,死活提示脚本有错(birt的错误提示能让人发疯)。传了个MarkerType类型的STAR_LITERAL就正常运行了。
分享到:
相关推荐
软件可能提供图表显示、数据分析工具、数据导出选项等功能,便于用户深入研究测量结果并生成专业的报告。 综上所述,BIRD驻波比测试仪是通信系统维护和优化的得力助手,其多种模式和功能使用户能够全面了解和解决...
开发者需要学习如何准备数据,设置图表参数(如颜色、轴标签等),以及在小程序中动态更新图表。理解`wxCharts`的API是关键,这涉及到数据绑定和事件监听。 3. **MD5加密**:MD5是一种广泛使用的哈希函数,常用于...
开发者需要准备数据,然后调用API设置图表样式,最后在页面上渲染。折线图能清晰地展示趋势变化,对于监控数据或者展示动态信息非常有用。 3. **MD5加密**:MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希...
开发者需要配置数据,设置图表样式,然后在小程序页面中引入并渲染图表组件。 3. **MD5**:MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意长度的数据转化为固定长度的摘要,常用于数据...
开发者需要理解数据结构化和图表配置选项,如设置数据系列、坐标轴、图例等,并且能动态更新图表数据,以实现交互式的效果。此外,还需要考虑性能优化,避免在大量数据时影响用户体验。 3. **MD5加密**: MD5...
这些库通常提供了丰富的API和配置选项,能够定制图表的颜色、样式、数据动态更新等功能。开发者需要理解如何将数据绑定到图表上,以及如何响应用户交互,例如点击事件和图例切换。 3. **MD5**: MD5(Message-...
2. 折线图:在数据分析和可视化场景中,折线图是一种常用的图表类型,用于展示数据随时间的变化趋势。微信小程序提供了丰富的图表库,如ECharts-for-WeChat,可以帮助开发者快速实现这种功能。通过JS文件处理数据并...
综上所述,这个小程序源码包涉及了微信小程序的基础开发、富文本展示、数据可视化以及数据安全等关键领域,对于想要学习和开发小程序的开发者来说,是一个很好的学习资源。通过理解和运用这些知识点,开发者可以创建...
综上所述,这个`bluebird.zip`小程序精选源码集合了富文本解析、数据可视化(折线图)、数据安全(MD5)和异步控制(Bluebird Promise)等多个关键点。对于开发者来说,这是一份很好的学习资源,涵盖了小程序开发中...
开发者需要了解如何配置数据、设置样式,并将图表嵌入到小程序页面中。 3. **MD5加密**: MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意长度的信息转化为固定长度的摘要值。在小程序中...
报表元素如表格、图表、文本框等可以轻松添加,并且可以通过绑定数据源来填充动态数据。 2. **数据源集成**:Birt支持多种数据源,包括关系型数据库(如MySQL、Oracle)、XML文件、Web服务等。开发者可以根据需求...
开发者需要了解如何配置数据、设置样式,并将图表嵌入到小程序页面中。 3. **MD5加密**: MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意长度的信息转化为固定长度的摘要值。在小程序中,...
首先,需要在小程序项目中引入`echarts-for-wx`,然后在页面的`onLoad`生命周期函数中初始化图表,设置数据,最后在对应的画布组件中渲染。通过调整`option`配置项,可以定制折线图的颜色、样式、坐标轴等细节,以...
开发者需要准备数据,设置图表配置,然后在小程序页面上渲染图表。这有助于用户更直观地理解复杂的数据信息。 3. **MD5**: MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它将任意长度的输入转换为...
例如,JavaFX的`LineChart`类提供了一个用户友好的API,用于创建数据可视化图表。首先,你需要定义X轴和Y轴的数据类型,然后创建`NumberAxis`对象。接着,使用`XYChart.Series`表示数据系列,并将其添加到`LineChart...
这些库不仅支持静态图表,还能动态更新数据,实现交互式图表,使用户能够更直观地理解数据。 2. **Algorithm Visualizer概述** Algorithm Visualizer是这样一个平台,它允许用户查看算法的每一步执行过程,包括...
3. **图表和图像**:说明如何在PDF中正确显示图表、图像和其他图形元素,包括分辨率和格式转换问题。 4. **互动元素**:如果支持,可能包括如何添加超链接、书签和表单字段到PDF报告中。 5. **性能优化**:提供技巧...