Skip to content

Commit e8ce24c

Browse files
committed
update: sunburst charts support
1 parent e8a20d0 commit e8ce24c

File tree

19 files changed

+237
-60
lines changed

19 files changed

+237
-60
lines changed

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/chart/BarChart.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.github.koooooo7.echarts4j.chart;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
34
import com.github.koooooo7.echarts4j.option.chart.XAxis;
45
import com.github.koooooo7.echarts4j.option.chart.YAxis;
56
import lombok.Builder;
67
import lombok.Data;
78
import lombok.EqualsAndHashCode;
89
import lombok.experimental.SuperBuilder;
910

11+
import java.util.List;
1012
import java.util.Objects;
1113

1214
@Data
@@ -26,4 +28,20 @@ public void postProcessor() {
2628
getChartOptions().setYAxis(YAxis.builder().build());
2729
}
2830
}
31+
32+
@Data
33+
@SuperBuilder
34+
@JsonInclude(JsonInclude.Include.NON_NULL)
35+
public static class BarDataItem {
36+
private String name;
37+
private Integer value;
38+
private String groupId;
39+
private String childGroupId;
40+
private String symbol;
41+
private Object symbolSize;
42+
private Integer symbolRotate;
43+
private Boolean symbolKeepAspect;
44+
private List<?> symbolOffset;
45+
46+
}
2947
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/chart/ChartType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public enum ChartType {
2020
Pie("pie"),
2121
Scatter("scatter"),
2222
EffectScatter("effectScatter"),
23-
Radar("radar");
23+
Radar("radar"),
24+
Sunburst("sunburst");
2425
private final String type;
2526
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/chart/LineChart.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.github.koooooo7.echarts4j.chart;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
34
import com.github.koooooo7.echarts4j.option.chart.XAxis;
45
import com.github.koooooo7.echarts4j.option.chart.YAxis;
56
import lombok.Builder;
67
import lombok.Data;
78
import lombok.EqualsAndHashCode;
89
import lombok.experimental.SuperBuilder;
910

11+
import java.util.List;
1012
import java.util.Objects;
1113

1214
@Data
@@ -26,4 +28,20 @@ public void postProcessor() {
2628
getChartOptions().setYAxis(YAxis.builder().build());
2729
}
2830
}
31+
32+
@Data
33+
@SuperBuilder
34+
@JsonInclude(JsonInclude.Include.NON_NULL)
35+
public static class LineDataItem {
36+
private String name;
37+
private Integer value;
38+
private String groupId;
39+
private String childGroupId;
40+
private String symbol;
41+
private Object symbolSize;
42+
private Integer symbolRotate;
43+
private Boolean symbolKeepAspect;
44+
private List<?> symbolOffset;
45+
46+
}
2947
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,33 @@
11
package com.github.koooooo7.echarts4j.chart;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
34
import lombok.Builder;
45
import lombok.Data;
56
import lombok.EqualsAndHashCode;
67
import lombok.experimental.SuperBuilder;
78

9+
import java.util.List;
10+
811
@Data
912
@SuperBuilder
1013
@EqualsAndHashCode(callSuper = true)
1114
public class RadarChart extends BaseChart<RadarChart> {
1215
@Builder.Default
1316
private ChartType chartType = ChartType.Radar;
17+
18+
@Data
19+
@SuperBuilder
20+
@JsonInclude(JsonInclude.Include.NON_NULL)
21+
public static class RadarDataItem {
22+
private String name;
23+
private Integer value;
24+
private String groupId;
25+
private String childGroupId;
26+
private String symbol;
27+
private Object symbolSize;
28+
private Integer symbolRotate;
29+
private Boolean symbolKeepAspect;
30+
private List<?> symbolOffset;
31+
32+
}
1433
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.github.koooooo7.echarts4j.chart;
2+
3+
import com.github.koooooo7.echarts4j.option.embedded.Emphasis;
4+
import com.github.koooooo7.echarts4j.option.embedded.ItemStyle;
5+
import com.github.koooooo7.echarts4j.option.embedded.Label;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
import lombok.EqualsAndHashCode;
9+
import lombok.experimental.SuperBuilder;
10+
11+
import java.util.List;
12+
13+
14+
@Data
15+
@SuperBuilder
16+
@EqualsAndHashCode(callSuper = true)
17+
public class SunburstChart extends BaseChart<SunburstChart> {
18+
@Builder.Default
19+
private ChartType chartType = ChartType.Sunburst;
20+
21+
@Data
22+
@Builder
23+
public static class SunburstDataItem {
24+
private String name;
25+
private Integer value;
26+
private Label label;
27+
private ItemStyle itemStyle;
28+
private Emphasis emphasis;
29+
private List<?> children;
30+
}
31+
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/chart/Legend.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,17 @@ public class Legend {
3838
@Data
3939
@JsonInclude(JsonInclude.Include.NON_NULL)
4040
public static class ItemStyle {
41+
private FuncStr color;
4142

4243
}
4344

4445
@Builder
4546
@Data
4647
@JsonInclude(JsonInclude.Include.NON_NULL)
4748
public static class LineStyle {
49+
private String color;
50+
private Integer width;
51+
private FuncStr type;
4852

4953
}
5054

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/embedded/AreaStyle.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@
88
@Builder
99
@JsonInclude(JsonInclude.Include.NON_NULL)
1010
public class AreaStyle {
11+
private String color;
12+
private String origin;
1113
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.github.koooooo7.echarts4j.option.embedded;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
7+
@Data
8+
@Builder
9+
@JsonInclude(JsonInclude.Include.NON_NULL)
10+
public class Emphasis {
11+
private Label label;
12+
private ItemStyle itemStyle;
13+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.github.koooooo7.echarts4j.option.embedded;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.type.FuncStr;
45
import lombok.Builder;
56
import lombok.Data;
67

78
@Data
89
@Builder
910
@JsonInclude(JsonInclude.Include.NON_NULL)
1011
public class ItemStyle {
12+
private FuncStr color;
1113
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,26 @@
11
package com.github.koooooo7.echarts4j.option.embedded;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.option.chart.Legend;
5+
import com.github.koooooo7.echarts4j.type.FuncStr;
46
import lombok.Builder;
57
import lombok.Data;
68

9+
import java.util.List;
10+
711
@Data
812
@Builder
913
@JsonInclude(JsonInclude.Include.NON_NULL)
1014
public class Label {
15+
private Boolean show;
16+
private FuncStr position;
17+
private Integer distance;
18+
private FuncStr rotate;
19+
private List<Integer> offset;
20+
private Integer minMargin;
21+
private FuncStr formatter;
22+
private Integer fontSize;
23+
private ItemStyle itemStyle;
24+
private LineStyle lineStyle;
25+
1126
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package com.github.koooooo7.echarts4j.option.embedded;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.type.FuncStr;
45
import lombok.Builder;
56
import lombok.Data;
67

78
@Data
89
@Builder
910
@JsonInclude(JsonInclude.Include.NON_NULL)
1011
public class LineStyle {
12+
private String color;
13+
private Integer width;
14+
private FuncStr type;
1115
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/embedded/Tooltip.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ public class Tooltip {
1313
private FuncStr formatter;
1414
private FuncStr valueFormatter;
1515
private Integer padding;
16+
private TextStyle textStyle;
1617
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/series/BarChartSeriesOption.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,6 @@ public class BarChartSeriesOption extends GenericSeriesOption implements SeriesO
2828
private String barCategoryGap;
2929

3030

31-
@Data
32-
@SuperBuilder
33-
@JsonInclude(JsonInclude.Include.NON_NULL)
34-
public static class BarDataItem {
35-
private String name;
36-
private Integer value;
37-
private String groupId;
38-
private String childGroupId;
39-
private String symbol;
40-
private Object symbolSize;
41-
private Integer symbolRotate;
42-
private Boolean symbolKeepAspect;
43-
private List<?> symbolOffset;
4431

45-
}
4632

4733
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/series/GenericSeriesOption.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import com.github.koooooo7.echarts4j.chart.ChartType;
5+
import com.github.koooooo7.echarts4j.option.embedded.AreaStyle;
6+
import com.github.koooooo7.echarts4j.option.embedded.Emphasis;
7+
import com.github.koooooo7.echarts4j.option.embedded.ItemStyle;
8+
import com.github.koooooo7.echarts4j.option.embedded.Label;
9+
import com.github.koooooo7.echarts4j.option.embedded.LineStyle;
510
import com.github.koooooo7.echarts4j.option.embedded.TextStyle;
611
import com.github.koooooo7.echarts4j.option.embedded.Tooltip;
712
import com.github.koooooo7.echarts4j.type.FuncStr;
@@ -37,6 +42,11 @@ public class GenericSeriesOption implements SeriesOption {
3742
private Boolean connectNulls;
3843
private Boolean clip;
3944
private Boolean show;
45+
private Label label;
46+
private ItemStyle itemStyle;
47+
private LineStyle lineStyle;
48+
private AreaStyle areaStyle;
49+
private Emphasis emphasis;
4050
private Object data;
4151
private Boolean large;
4252
private Integer largeThreshold;

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/series/LineChartSeriesOption.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,6 @@ public class LineChartSeriesOption extends GenericSeriesOption implements Series
1919
private List<?> data;
2020

2121

22-
@Data
23-
@SuperBuilder
24-
@JsonInclude(JsonInclude.Include.NON_NULL)
25-
public static class LineDataItem {
26-
private String name;
27-
private Integer value;
28-
private String groupId;
29-
private String childGroupId;
30-
private String symbol;
31-
private Object symbolSize;
32-
private Integer symbolRotate;
33-
private Boolean symbolKeepAspect;
34-
private List<?> symbolOffset;
3522

36-
}
3723

3824
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/series/PieChartSeriesOption.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,4 @@ public class PieChartSeriesOption extends GenericSeriesOption implements SeriesO
3030
private List<?> data;
3131
private String radius;
3232

33-
34-
@Data
35-
@SuperBuilder
36-
@JsonInclude(JsonInclude.Include.NON_NULL)
37-
public static class BarDataItem {
38-
private String name;
39-
private Integer value;
40-
private String groupId;
41-
private String childGroupId;
42-
private String symbol;
43-
private Object symbolSize;
44-
private Integer symbolRotate;
45-
private Boolean symbolKeepAspect;
46-
private List<?> symbolOffset;
47-
}
48-
4933
}

echarts4j-project/src/main/java/com/github/koooooo7/echarts4j/option/series/RadarChartSeriesOption.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,5 @@ public class RadarChartSeriesOption extends GenericSeriesOption implements Serie
1919
private List<?> data;
2020

2121

22-
@Data
23-
@SuperBuilder
24-
@JsonInclude(JsonInclude.Include.NON_NULL)
25-
public static class RadarDataItem {
26-
private String name;
27-
private Integer value;
28-
private String groupId;
29-
private String childGroupId;
30-
private String symbol;
31-
private Object symbolSize;
32-
private Integer symbolRotate;
33-
private Boolean symbolKeepAspect;
34-
private List<?> symbolOffset;
35-
36-
}
3722

3823
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.github.koooooo7.echarts4j.option.series;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.github.koooooo7.echarts4j.chart.ChartType;
5+
import com.github.koooooo7.echarts4j.option.embedded.Emphasis;
6+
import com.github.koooooo7.echarts4j.option.embedded.ItemStyle;
7+
import com.github.koooooo7.echarts4j.option.embedded.Label;
8+
import lombok.Builder;
9+
import lombok.Data;
10+
import lombok.EqualsAndHashCode;
11+
import lombok.experimental.SuperBuilder;
12+
13+
import java.util.List;
14+
15+
@Data
16+
@SuperBuilder
17+
@JsonInclude(JsonInclude.Include.NON_NULL)
18+
@EqualsAndHashCode(callSuper = true)
19+
public class SunburstChartSeriesOption extends GenericSeriesOption implements SeriesOption {
20+
@Builder.Default
21+
private String type = ChartType.Sunburst.getType();
22+
private List<?> data;
23+
24+
25+
}

0 commit comments

Comments
 (0)