时间序列,可缩放图表
我们已经在Highcharts 配置语法一章中看到了用于绘制此图表的配置。现在让我们考虑以下示例,以进一步了解时间序列,可缩放图表。
配置
现在让我们讨论采取的其他配置/步骤。
图表
配置图表以使其可缩放。chart.zoomType 决定用户可以通过拖动鼠标缩放的尺寸。可能的值是 x、y 或 xy。
chart.setZoomType(BaseChart.ZoomType.X)
plotOptions
使用 plotOptions 配置图表区域。
chart.setAreaPlotOptions(new AreaPlotOptions() .setFillColor(new Color() .setLinearGradient(0, 0, 0, 1) .addColorStop(0, 69, 114, 167) .addColorStop(1, 2, 0, 0, 0) ) .setMarker(new Marker() .setEnabled(false) .setHoverState(new Marker() .setEnabled(true) .setRadius(5) ) ) .setShadow(false) .setHoverStateLineWidth(1) );
示例
HelloWorld.java
package com.tutorialspoint.client; import org.moxieapps.gwt.highcharts.client.Axis; import org.moxieapps.gwt.highcharts.client.BaseChart; import org.moxieapps.gwt.highcharts.client.Chart; import org.moxieapps.gwt.highcharts.client.Color; import org.moxieapps.gwt.highcharts.client.Legend; import org.moxieapps.gwt.highcharts.client.Series; import org.moxieapps.gwt.highcharts.client.ToolTip; import org.moxieapps.gwt.highcharts.client.plotOptions.AreaPlotOptions; import org.moxieapps.gwt.highcharts.client.plotOptions.Marker; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.user.client.ui.RootPanel; public class HelloWorld implements EntryPoint { public void onModuleLoad() { Chart chart = new Chart() .setZoomType(BaseChart.ZoomType.X) .setSpacingRight(20) .setChartTitleText("USD to EUR exchange rate from 2006 through 2008") .setChartSubtitleText("Click and drag in the plot area to zoom in") .setLegend(new Legend() .setEnabled(false)) .setToolTip(new ToolTip() .setShared(true) ) .setLegend(new Legend() .setEnabled(false) ) .setAreaPlotOptions(new AreaPlotOptions() .setFillColor(new Color() .setLinearGradient(0, 0, 0, 1) .addColorStop(0, 69, 114, 167) .addColorStop(1, 2, 0, 0, 0) ) .setMarker(new Marker() .setEnabled(false) .setHoverState(new Marker() .setEnabled(true) .setRadius(5) ) ) .setShadow(false) .setHoverStateLineWidth(1) ); chart.getXAxis() .setType(Axis.Type.DATE_TIME) .setMaxZoom(14 * 24 * 3600000) //fourteen days .setAxisTitleText(null); chart.getYAxis() .setAxisTitleText("Exchange rate") .setMin(0.6) .setStartOnTick(false) .setShowFirstLabel(false); chart.addSeries(chart.createSeries() .setType(Series.Type.AREA) .setName("USD to EUR") .setPlotOptions(new AreaPlotOptions() .setPointInterval(24 * 3600 * 1000) .setPointStart(getTime("2006-01-01")) ) .setPoints(new Number[] { 0.8446, 0.8445, 0.8444, 0.8451, 0.8418, 0.8264, 0.8258, 0.8232, 0.7158, 0.714, 0.7119, 0.7129, 0.7129, 0.7049, 0.7095 }) ); RootPanel.get().add(chart); } private static final DateTimeFormat dateTimeFormat = DateTimeFormat.getFormat("yyyy-MM-dd"); private long getTime(String date) { return dateTimeFormat.parse(date).getTime(); } }
结果
验证结果。
gwt_highcharts_line_charts.html