如何创建一个在两个轴上都有日期的折线图?

马丁

我需要使用 jasper-reports 实现两个日期类型的轴。

时间序列图表允许 x 轴上的日期和 y 轴上的数值,有没有办法实现两个日期类型轴,其中 y 轴和 x 轴都是日期类型?

彼得·弗里伯格

要将 y 轴设置为日期轴,您需要这样做。

1. 将 Date 中的 Date 转换valueExpression为 ajava.lang.Number,因为valueExpression只允许这个类(或子类)

相反,传递的java.util.DatevalueExpression打发时间以毫秒为单位java.lang.Long,通过调用Date.getTime()

<valueExpression><![CDATA[$F{myDateOnYAxis}.getTime()]]></valueExpression>

2.添加一个JRChartCustomizer将数字轴更改为带有相对格式器的日期轴

public class MyChartCustomizer implements JRChartCustomizer {

    @Override
    public void customize(JFreeChart jfchart, JRChart jrchart) {
        XYPlot plot = (XYPlot) jfchart.getPlot(); //get the plot

        //Create the new date axis for y
        DateAxis yDateAxis = new DateAxis();
        //Set desired time format
        DateFormat dateFormat = new SimpleDateFormat("MMM - yyyy"); 
        yDateAxis.setDateFormatOverride(dateFormat); 
        //Add your own Tickunit if you like (you can do with out also, comment out the below line and let JFreeChart decided)
        yDateAxis.setTickUnit(new DateTickUnit(DateTickUnitType.MONTH,3));

        //Set the new y-axis to the plot
        plot.setRangeAxis(yDateAxis);
    }
}

有关如何将 JRChartCustomizer 添加到您的设计 (jrxml) 的信息,请参阅示例参考

结果

结果

*一些用意大利语格式化的随机日期

用于使用 csv 数据源生成图形的示例 jrxml

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Test2DateGraph" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2347c131-1884-430a-b77f-59f08f896c8a">
	<property name="com.jaspersoft.studio.data.defaultdataadapter" value="Dates"/>
	<queryString language="csv">
		<![CDATA[]]>
	</queryString>
	<field name="Date1" class="java.util.Date"/>
	<field name="Date2" class="java.util.Date"/>
	<summary>
		<band height="353">
			<timeSeriesChart>
				<chart evaluationTime="Report" customizerClass="MyChartCustomizer">
					<reportElement x="10" y="50" width="530" height="256" uuid="4a93e72e-251b-4026-bb11-edc26ecd6599"/>
					<chartTitle/>
					<chartSubtitle/>
					<chartLegend/>
				</chart>
				<timeSeriesDataset>
					<timeSeries>
						<seriesExpression><![CDATA["SERIES 1"]]></seriesExpression>
						<timePeriodExpression><![CDATA[$F{Date2}]]></timePeriodExpression>
						<valueExpression><![CDATA[$F{Date2}.getTime()]]></valueExpression>
					</timeSeries>
				</timeSeriesDataset>
				<timeSeriesPlot>
					<plot/>
					<timeAxisFormat>
						<axisFormat/>
					</timeAxisFormat>
					<valueAxisFormat>
						<axisFormat/>
					</valueAxisFormat>
				</timeSeriesPlot>
			</timeSeriesChart>
		</band>
	</summary>
</jasperReport>

注意:如果您不使用 a timeSeriesChart,则需要对 x 轴进行相同的操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在一个图中绘制两个折线图时,在y轴上显示不同的缩放比例

来自分类Dev

Highcharts:如何在折线图的Y轴上设置第一个类别?

来自分类Dev

如何从Excel的一个表中的两个数据集构建折线图

来自分类Dev

如何从Excel的一个表中的两个数据集构建折线图

来自分类Dev

在左轴上创建一个 2 折线图,在右轴上创建一个条形图 Octave

来自分类Dev

折线图chart.js上有两个不同的x轴标签

来自分类Dev

如何在Excel中使用两个系列的序数/名义数据创建折线图?

来自分类Dev

通过按日期分组从一个表创建多个折线图的系列

来自分类Dev

SSRS:如何在折线图轴上隐藏一个数据字段的标签,而又使另一个可见?

来自分类Dev

如何从一个js函数创建多个折线图

来自分类Dev

如何使用ggplot在一个图表中创建条形图和折线图

来自分类Dev

EXCEL:希望将两个图表合并到一个折线图中(取平均值)

来自分类Dev

如何使用gnuplot在一个图中绘制具有不同x范围的折线图

来自分类Dev

React d3-如何:在一个折线图上有几个战神

来自分类Dev

如何在折线图中的两个折线之间添加填充?

来自分类Dev

如何在highChart.js折线图中的Y轴上的标签中显示最后一个数据点值

来自分类Dev

使用bokeh流化两个折线图

来自分类Dev

图中两个系列/折线图的交点

来自分类Dev

我如何在R中的折线图中做一个折线或空白

来自分类Dev

当两个折线图相交时绘制一条垂直线-SSRS

来自分类Dev

无法将两个折线图放在同一ggplot图中

来自分类Dev

如何对齐条形图和两个折线图?

来自分类Dev

当折线图不是从第一个 x 轴刻度开始时,如何使 x 轴刻度之间的间距保持一致

来自分类Dev

如何在折线图(geom_line)R ggplot2上删除一个点?

来自分类Dev

每分钟在Excel中创建一个折线图

来自分类Dev

熊猫绘制一个折线图,柱上颜色发生变化

来自分类Dev

MySql 慢查询,在两个表上都有一个连接和条件

来自分类Dev

如何在折线图中的高亮点上画一个圆?

来自分类Dev

D3如何找到折线图中最后一个点的高度

Related 相关文章

  1. 1

    在一个图中绘制两个折线图时,在y轴上显示不同的缩放比例

  2. 2

    Highcharts:如何在折线图的Y轴上设置第一个类别?

  3. 3

    如何从Excel的一个表中的两个数据集构建折线图

  4. 4

    如何从Excel的一个表中的两个数据集构建折线图

  5. 5

    在左轴上创建一个 2 折线图,在右轴上创建一个条形图 Octave

  6. 6

    折线图chart.js上有两个不同的x轴标签

  7. 7

    如何在Excel中使用两个系列的序数/名义数据创建折线图?

  8. 8

    通过按日期分组从一个表创建多个折线图的系列

  9. 9

    SSRS:如何在折线图轴上隐藏一个数据字段的标签,而又使另一个可见?

  10. 10

    如何从一个js函数创建多个折线图

  11. 11

    如何使用ggplot在一个图表中创建条形图和折线图

  12. 12

    EXCEL:希望将两个图表合并到一个折线图中(取平均值)

  13. 13

    如何使用gnuplot在一个图中绘制具有不同x范围的折线图

  14. 14

    React d3-如何:在一个折线图上有几个战神

  15. 15

    如何在折线图中的两个折线之间添加填充?

  16. 16

    如何在highChart.js折线图中的Y轴上的标签中显示最后一个数据点值

  17. 17

    使用bokeh流化两个折线图

  18. 18

    图中两个系列/折线图的交点

  19. 19

    我如何在R中的折线图中做一个折线或空白

  20. 20

    当两个折线图相交时绘制一条垂直线-SSRS

  21. 21

    无法将两个折线图放在同一ggplot图中

  22. 22

    如何对齐条形图和两个折线图?

  23. 23

    当折线图不是从第一个 x 轴刻度开始时,如何使 x 轴刻度之间的间距保持一致

  24. 24

    如何在折线图(geom_line)R ggplot2上删除一个点?

  25. 25

    每分钟在Excel中创建一个折线图

  26. 26

    熊猫绘制一个折线图,柱上颜色发生变化

  27. 27

    MySql 慢查询,在两个表上都有一个连接和条件

  28. 28

    如何在折线图中的高亮点上画一个圆?

  29. 29

    D3如何找到折线图中最后一个点的高度

热门标签

归档