package net.huadong.idev.chart.factory;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.huadong.idev.chart.charts.AreaStackOptionBean;
import net.huadong.idev.chart.charts.BarLineMashupOptionBean;
import net.huadong.idev.chart.charts.BarOptionBean;
import net.huadong.idev.chart.charts.ChinaMapOptionBean;
import net.huadong.idev.chart.charts.FunnelOptionBean;
import net.huadong.idev.chart.charts.GaugeOptionBean;
import net.huadong.idev.chart.charts.LineOptionBean;
import net.huadong.idev.chart.charts.PieOptionBean;
import net.huadong.idev.chart.charts.RoseDiagramOptionBean;
import net.huadong.idev.chart.charts.ThermometerOptionBean;
import net.huadong.idev.chart.charts.component.AreaStackChartsDataBean;
import net.huadong.idev.chart.charts.component.BarToolTipBean;
import net.huadong.idev.chart.charts.component.ChartsAreaStackSeriesBean;
import net.huadong.idev.chart.charts.component.ChartsBarDataBean;
import net.huadong.idev.chart.charts.component.ChartsBarSeriesBean;
import net.huadong.idev.chart.charts.component.ChartsChinaMapToolTipBean;
import net.huadong.idev.chart.charts.component.ChartsDataBean;
import net.huadong.idev.chart.charts.component.ChartsFunnelSeriesBean;
import net.huadong.idev.chart.charts.component.ChartsGaugeSeriesBean;
import net.huadong.idev.chart.charts.component.ChartsLineDataBean;
import net.huadong.idev.chart.charts.component.ChartsLineSeriesBean;
import net.huadong.idev.chart.charts.component.ChartsMapSeriesBean;
import net.huadong.idev.chart.charts.component.ChartsPieSeriesBean;
import net.huadong.idev.chart.charts.component.ChartsRoseSeriesBean;
import net.huadong.idev.chart.charts.component.ChartsTitleBean;
import net.huadong.idev.chart.charts.component.ChartsToolBoxBean;
import net.huadong.idev.chart.charts.component.ChartsToolTipBean;
import net.huadong.idev.chart.charts.component.DataRange;
import net.huadong.idev.chart.charts.component.LegendBean;
import net.huadong.idev.chart.charts.component.MapDataBean;
import net.huadong.idev.chart.charts.component.PieDataBean;
import net.huadong.idev.chart.charts.component.RoamController;
import net.huadong.idev.chart.charts.component.ThermometerBean;
import net.huadong.idev.chart.charts.component.ThermometerSeriesBean;
import net.huadong.idev.chart.charts.component.XAxisBean;
import net.huadong.idev.chart.charts.component.YAxisBean;
import net.huadong.idev.chart.charts.component.part.AxisLabel;
import net.huadong.idev.chart.charts.component.part.DataView;
import net.huadong.idev.chart.charts.component.part.DataZoom;
import net.huadong.idev.chart.charts.component.part.Feature;
import net.huadong.idev.chart.charts.component.part.GaugeDetail;
import net.huadong.idev.chart.charts.component.part.Label;
import net.huadong.idev.chart.charts.component.part.MagicType;
import net.huadong.idev.chart.charts.component.part.MapItemStyle;
import net.huadong.idev.chart.charts.component.part.MapItemStyleEmphasis;
import net.huadong.idev.chart.charts.component.part.MapItemStyleNormal;
import net.huadong.idev.chart.charts.component.part.MapTypeControl;
import net.huadong.idev.chart.charts.component.part.Mark;
import net.huadong.idev.chart.charts.component.part.Restore;
import net.huadong.idev.chart.charts.component.part.SaveAsImage;
import net.huadong.idev.chart.charts.component.part.TextStyle;
import net.huadong.idev.chart.charts.component.part.ThermometerBaseItemStyle;
import net.huadong.idev.chart.charts.component.part.ThermometerItemStyle;
import net.huadong.idev.chart.factory.tool.Toolkit;
/**
* 创建图形工厂
*
*
* @author LIBOYI
* @date 2015-6-17
* @version 2.0
*
*/
public class ChartsFactory {
/**
* 创建仪表盘
*
* @return
* @param text
* 仪表盘文本名称
* @param fontSize
* 字体大小
* @param value仪表盘的值
*/
public static GaugeOptionBean createGauge(String text, int fontSize, String value) {
GaugeOptionBean option = new GaugeOptionBean();
// 设置标题
ChartsTitleBean title = new ChartsTitleBean();
title.setText(text);
TextStyle textStyle = new TextStyle();
textStyle.setFontSize(fontSize);
title.setTextStyle(textStyle);
option.setTitle(title);
// 设置工具提示
ChartsToolTipBean tooltip = new ChartsToolTipBean();
tooltip.setFormatter("{c}%");
option.setTooltip(tooltip);
// 设置工具栏
ChartsToolBoxBean toolbox = new ChartsToolBoxBean();
option.setToolbox(toolbox);
// 设值
List<ChartsGaugeSeriesBean> series = new ArrayList<ChartsGaugeSeriesBean>();
ChartsGaugeSeriesBean gaugeSeries = new ChartsGaugeSeriesBean();
GaugeDetail detail = new GaugeDetail();
detail.setFormatter("{value}%");
gaugeSeries.setName("");
gaugeSeries.setDetail(detail);
String data[] = new String[1];
data[0] = value;
gaugeSeries.setData(data);
gaugeSeries.setType("gauge");
series.add(gaugeSeries);
option.setSeries(series);
return option;
}
/**
* 创建柱状图/柱状堆积
*
* @return
* @param text标题
* @param fontSize字体大小
* @param xAxisName
* x轴名称
* @param yAxisName
* y轴名称
* @param yAxisUnit
* 单位 如"%"、"℃"之类
* @param xData
* x轴值
* @param dataList数据
*/
public static BarOptionBean createBar(String text, int fontSize, String xAxisName, String xData[], String yAxisName, String yAxisUnit, List<ChartsBarDataBean> dataList) {
String trigger = "axis";
String x = "center";
@SuppressWarnings("unused")
String y = "top";
@SuppressWarnings("unused")
boolean isShow = true;
String formatter = "{value}" + yAxisUnit;
List<ChartsBarSeriesBean> series = new ArrayList<ChartsBarSeriesBean>();
// 拿到图例
String legend[] = new String[dataList.size()];
if (!Toolkit.isEmpty(dataList) && dataList.size() > 0) {
for (int i = 0; i < dataList.size(); i++) {
legend[i] = dataList.get(i).getName();
ChartsBarSeriesBean temp = new ChartsBarSeriesBean();
temp.setName(dataList.get(i).getName());
temp.setStack(dataList.get(i).getStack());
temp.setData(dataList.get(i).getData());
temp.setType("bar");
series.add(temp);
}
ChartsBarDataBean bar = dataList.get(0);
if (bar.getData().length == 1) {
y = "bottom";
trigger = "item";
}
} else {
series = new ArrayList<ChartsBarSeriesBean>();
ChartsBarSeriesBean seriesBean = new ChartsBarSeriesBean();
seriesBean.setData(new String[] {});
series.add(seriesBean);
}
BarOptionBean option = new BarOptionBean();
// 设置标题
ChartsTitleBean title = new ChartsTitleBean();
title.setText(text);
TextStyle textStyle = new TextStyle();
textStyle.setFontSize(fontSize);
option.setTitle(title);
// 设置工具提示
BarToolTipBean tooltip = new BarToolTipBean();
tooltip.setTrigger(trigger);
option.setTooltip(tooltip);
// 设置工具栏
/*
* ChartsToolBoxBean toolbox=new ChartsToolBoxBean(); String
* type[]={"bar","line"}; Feature feature=new Feature(); feature.setMark(new
* Mark(true)); feature.setDataView(new DataView(true)); feature.setDataZoom(new
* DataZoom(false)); feature.setMagicType(new Magic
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
echarts后台封装(java) (101个子文件)
ChartsFactory.java 38KB
Toolkit.java 29KB
ChartsDataBeanFactory2.java 4KB
ChartsDataBeanFactory.java 4KB
TextStyle.java 3KB
ChinaMapOptionBean.java 3KB
BarLineMashupOptionBean.java 3KB
LineOptionBean.java 3KB
BarOptionBean.java 3KB
ThermometerOptionBean.java 3KB
AxisLabel.java 2KB
SubtextStyle.java 2KB
AreaStackOptionBean.java 2KB
FunnelOptionBean.java 2KB
DataRange.java 2KB
XAxisBean.java 2KB
Label.java 2KB
Feature.java 2KB
RoseDiagramOptionBean.java 2KB
PieOptionBean.java 2KB
HalfRingOptionBean.java 2KB
CrossStyle.java 2KB
LegendBean.java 2KB
ChartsMapSeriesBean.java 2KB
GaugeToolBoxBean.java 2KB
ThermometerSeriesBean.java 1KB
ChartsAreaStackSeriesBean.java 1KB
RoamController.java 1KB
ChartsPieSeriesBean.java 1KB
ThermometerBaseItemStyle.java 1KB
MagicTypeTitle.java 1KB
PieToolBoxBean.java 1KB
GaugeOptionBean.java 1KB
ChartsToolBoxBean.java 1KB
ChartsToolTipBean.java 1KB
ChartsTitleBean.java 1KB
ChartsBarSeriesBean.java 1KB
ChartsRoseSeriesBean.java 1KB
BaseItemStyle.java 1KB
ChartsGaugeSeriesBean.java 1KB
ChordStyle.java 1KB
ChartsSeriesBean.java 1KB
SeriesData2.java 1KB
MagicType.java 1KB
AreaStackChartsDataBean.java 1KB
AxisTick.java 994B
AxisLine.java 987B
YAxisBean.java 981B
PieMagicType.java 940B
SeriesData.java 922B
ThermometerToolTipBean.java 882B
ChartsBarDataBean.java 834B
Pointer.java 805B
DataZoom.java 802B
Funnel.java 802B
MapItemStyle.java 794B
PieItemStyle.java 784B
MarkTitle.java 774B
DataView.java 774B
ShadowStyle.java 768B
ItemStyle.java 757B
ThermometerItemStyle.java 729B
ChartsFunnelSeriesBean.java 724B
SplitLine.java 707B
FunnelItemStyle.java 672B
AreaStackItemStyle.java 666B
MapTypeControl.java 648B
ThermometerBean.java 635B
DataZoomTitle.java 625B
ChartsChinaMapToolTipBean.java 594B
AreaChartsToolTipBean.java 593B
LineStyle.java 589B
BarToolTipBean.java 585B
ChartsLineDataBean.java 562B
PieItemStyleNormal.java 558B
Mark.java 550B
LabelLine.java 535B
AreaStyle.java 531B
MapDataBean.java 516B
ScatterData.java 499B
SaveAsImage.java 489B
FunnelBaseItemStyle.java 488B
PieDataBean.java 483B
ChartsDataBean.java 469B
GaugeBean.java 466B
MapLabel.java 460B
AreaStackNormalItemStyle.java 458B
SplitArea.java 452B
AxisPointer.java 441B
Restore.java 438B
GaugeDetail.java 419B
ChartsLineSeriesBean.java 417B
PieItemStyleEmphasis.java 399B
MapBaseItemStyle.java 333B
MapItemStyleEmphasis.java 258B
MapItemStyleNormal.java 253B
ItemStyleEmphasis.java 246B
ItemStyleNormal.java 241B
NodeStyle.java 215B
PieMagicTypeOption.java 98B
共 101 条
- 1
- 2
资源评论
ma_tian_tian
- 粉丝: 1
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功