作者:顾旭东-夏天 | 来源:互联网 | 2023-05-22 16:28
我正在尝试使用
Primefaces 5.1 的组件创建折线图.
我需要X轴显示时间.像这样的东西:
但只针对旧版本的文档.
我发现了几件事:
自定义primefaces图表
http://forum.primefaces.org/viewtopic.php?f=3&t=23891&p=78637#p78637
但是在5.1版本中没有这样的标签
,甚至没有属性extender=""
.
我根据展示创建了我的图表:
http://www.primefaces.org/showcase/ui/chart/date.xhtml
但这个例子并没有多大帮助,因为它只适用于日期.并且复杂化为String.我需要时间.
我想知道是否有人已经在较新版本的Primefaces中创建了类似的东西.
编辑:
再搜索一下,我找到了这个主题:
http://forum.primefaces.org/viewtopic.php?f=16&t=40301&p=127330&hilit=p%3Achart+date#p127330
我使用了它提到的例子,我可以使它工作.
我可以看到,当它是DateAxis时需要设置axis.setMax()
.最后看起来像这样:
它按我的需要工作,但有两件事我不明白:
第一:需要设置的原因axis.setMax()
.
第二:这个模式用的是axis.setTickFormat("%H:%#M:%S")
什么?
1> Douglas Nass..:
好吧,我想现在我找到了一个可以接受的解决方案
图表的最初问题是axis.setMax()
.
而使用的模式axis.setTickFormat
是:
http://www.jqplot.com/docs/files/plugins/jqplot-dateAxisRenderer-js.html
该模型:
Code Result Description
== Years ==
%Y 2008 Four-digit year
%y 08 Two-digit year
== MOnths==
%m 09 Two-digit month
%#m 9 One or two-digit month
%B September Full month name
%b Sep Abbreviated month name
== Days ==
%d 05 Two-digit day of month
%#d 5 One or two-digit day of month
%e 5 One or two-digit day of month
%A Sunday Full name of the day of the week
%a Sun Abbreviated name of the day of the week
%w 0 Number of the day of the week (0 = Sunday, 6 = Saturday)
%o th The ordinal suffix string following the day of the mOnth== Hours ==
%H 23 Hours in 24-hour format (two digits)
%#H 3 Hours in 24-hour integer format (one or two digits)
%I 11 Hours in 12-hour format (two digits)
%#I 3 Hours in 12-hour integer format (one or two digits)
%p PM AM or PM
== Minutes ==
%M 09 Minutes (two digits)
%#M 9 Minutes (one or two digits)
== SecOnds==
%S 02 Seconds (two digits)
%#S 2 Seconds (one or two digits)
%s 1206567625723 Unix timestamp (Seconds past 1970-01-01 00:00:00)
== MillisecOnds==
%N 008 Milliseconds (three digits)
%#N 8 Milliseconds (one to three digits)
== TimezOne==
%O 360 difference in minutes between local time and GMT
%Z Mountain Standard Time Name of timezone as reported by browser
%G -06:00 Hours and minutes between GMT
== Shortcuts ==
%F 2008-03-26 %Y-%m-%d
%T 05:06:30 %H:%M:%S
%X 05:06:30 %H:%M:%S
%x 03/26/08 %m/%d/%y
%D 03/26/08 %m/%d/%y
%#c Wed Mar 26 15:31:00 2008 %a %b %e %H:%M:%S %Y
%v 3-Sep-2008 %e-%b-%Y
%R 15:31 %H:%M
%r 3:31:00 PM %I:%M:%S %p
== Characters ==
%n \n Newline
%t \t Tab
%% % Percent Symbol
图表:
private void createDateModel() {
dateModel = new LineChartModel();
LineChartSeries series1 = new LineChartSeries();
series1.setLabel("Series 1");
series1.set("2014-01-01 00:10:50", 51);
series1.set("2014-01-01 00:10:51", 22);
series1.set("2014-01-01 00:10:52", 65);
series1.set("2014-01-01 00:10:53", 35);
dateModel.addSeries(series1);
dateModel.getAxis(AxisType.Y).setLabel("Values");
DateAxis axis = new DateAxis("Dates");
axis.setTickAngle(-50);
axis.setMax("2014-01-01 00:10:56");
axis.setTickFormat("%H:%#M:%S");
dateModel.getAxes().put(AxisType.X, axis);
}