1、AbstractChart
public abstract class AbstractChart { public static String[] colors = {"#d01f3c", "#356aa0", "#C79810", "#006400", "#7CFC00", "#1E90FF", "#A0522D", "#FFA500", "#00CED1", "#00FF7F", "#4B0082", "#2F4F4F", "#00FF00", "#FFD700", "#FF8C00"}; protected Graph g = new Graph(); private String title; //标题 public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String render(){ g.title(title, "{font-size:20px;}"); g.set_bg_colour("#F0F8FF"); setProperty(); return g.render(); } protected abstract void setProperty(); }
2、LineChart
public class LineChart extends AbstractChart{ private String xLegend; //x轴图例 private int yMax; //y轴最大值 private int yLabelSteps; //y轴标签个数 public String getXLegend() { return xLegend; } public void setXLegend(String legend) { xLegend = legend; } public int getYMax() { return yMax; } public void setYMax(int max) { yMax = max; } public int getYLabelSteps() { return yLabelSteps; } public void setYLabelSteps(int labelSteps) { yLabelSteps = labelSteps; } public void set_data(List<String> datas){ g.set_data(datas); } public void set_links(List<String> datas){ g.set_links(datas); } public void line(int width, String colour, String text, int size, int circles){ g.line(width, colour, text, size, circles); } public void line_hollow(String width, String dot_size, String colour, String text, String font_size){ g.line_hollow(width, dot_size, colour, text, font_size); } public void set_x_labels(List<String> datas){ g.set_x_labels(datas); } @Override protected void setProperty() { g.set_x_label_style("12", "#000000", 0, 1, ""); if(xLegend!=null) g.set_x_legend(xLegend, 12, "#000000"); g.set_y_max(yMax); g.y_label_steps(yLabelSteps); } }
3、PieChart
public class PieChart extends AbstractChart{ private String toolTip; //提示标签 public String getToolTip() { return toolTip; } public void setToolTip(String toolTip) { this.toolTip = toolTip; } public void pie_values(List<String> values, List<String> labels, List<String> links){ g.pie_values(values, labels, links); //颜色 int len = (values.size() <= colors.length) ? values.size() : colors.length; List<String> colours = new ArrayList<String>(); for(int i=0;i<len;i++){ colours.add(colors[i]); } g.pie_slice_colours(colours); } @Override protected void setProperty() { g.set_tool_tip(toolTip); g.pie(40, "#505050", "{font-size: 12px; color: #404040;}"); } }
4、BarChart
public class BarChart extends AbstractChart{ private int yMax; //y轴最大值 private int yLabelSteps; //y轴标签个数 public int getYMax() { return yMax; } public void setYMax(int max) { yMax = max; } public int getYLabelSteps() { return yLabelSteps; } public void setYLabelSteps(int labelSteps) { yLabelSteps = labelSteps; } public void set_data(List<String> datas){ g.set_data(datas); } public void set_links(List<String> datas){ g.set_links(datas); } public void addBar(Data_set bar){ g.getData_sets().add(bar); g.bar("0"); } public void set_x_labels(List<String> datas){ g.set_x_labels(datas); } @Override protected void setProperty() { g.set_x_label_style("12", "#000000", 0, 2, ""); g.set_x_tick_size(3); g.set_y_max(yMax); g.y_label_steps(yLabelSteps); } }
5、Bar3DChart
public class Bar3DChart extends AbstractChart{ private int yMax; //y轴最大值 private int yLabelSteps; //y轴标签个数 public int getYMax() { return yMax; } public void setYMax(int max) { yMax = max; } public int getYLabelSteps() { return yLabelSteps; } public void setYLabelSteps(int labelSteps) { yLabelSteps = labelSteps; } public void set_data(List<String> datas){ g.set_data(datas); } public void set_links(List<String> datas){ g.set_links(datas); } public void addBar(Data_set bar){ g.getData_sets().add(bar); g.bar_3D("50", "#D54C78", "", 8); } public void set_x_labels(List<String> datas){ g.set_x_labels(datas); } @Override protected void setProperty() { g.set_x_label_style("12", "#000000", 0, 2, ""); g.x_axis_colour("#909090", "#ADB5C7"); g.set_x_axis_3d(3); g.set_y_max(yMax); g.y_label_steps(yLabelSteps); } }