@@ -3,30 +3,60 @@ import Charts
3
3
import Shapes
4
4
5
5
struct ChartsView : View {
6
- @State var data1 : [ CGFloat ] = ( 0 ... 20 ) . map { _ in . random( in: 0.1 ... 1.0 ) }
7
- @State var data2 : [ CGFloat ] = ( 0 ... 50 ) . map { _ in . random( in: 0.1 ... 1.0 ) }
8
- @State var data3 : [ CGFloat ] = ( 0 ... 100 ) . map { _ in . random( in: 0.1 ... 1.0 ) }
6
+ @State var data1 : [ CGFloat ] = ( 2010 ... 2020 ) . map { _ in . random( in: 0.1 ... 1.0 ) }
7
+ @State var data2 : [ CGFloat ] = ( 0 ..< 50 ) . map { _ in . random( in: 0.1 ... 1.0 ) }
8
+ @State var data3 : [ CGFloat ] = ( 0 ..< 100 ) . map { _ in . random( in: 0.1 ... 1.0 ) }
9
9
10
- @State var data4 : [ CGFloat ] = ( 0 ... 100 ) . map { _ in . random( in: 0.4 ... 1.0 ) }
11
- @State var data5 : [ CGFloat ] = ( 0 ... 100 ) . map { _ in . random( in: 0.1 ... 0.3 ) }
12
- @State var data6 : [ CGFloat ] = ( 0 ... 100 ) . map { _ in . random( in: 0.3 ... 0.4 ) }
10
+ @State var data4 : [ CGFloat ] = ( 0 ..< 100 ) . map { _ in . random( in: 0.4 ... 1.0 ) }
11
+ @State var data5 : [ CGFloat ] = ( 0 ..< 100 ) . map { _ in . random( in: 0.1 ... 0.3 ) }
12
+ @State var data6 : [ CGFloat ] = ( 0 ..< 100 ) . map { _ in . random( in: 0.3 ... 0.4 ) }
13
13
14
14
@State var matrixData1 : [ [ CGFloat ] ] = ( 0 ..< 20 ) . map { _ in ( 0 ..< 3 ) . map { _ in CGFloat . random ( in: 0.00 ... 0.33 ) } }
15
15
16
16
var body : some View {
17
17
ScrollView {
18
- Chart ( data: data1)
19
- . chartStyle (
20
- LineChartStyle ( . quadCurve, lineColor: . blue, lineWidth: 5 )
21
- )
22
- . padding ( )
23
- . background (
24
- GridPattern ( horizontalLines: data1. count, verticalLines: 20 )
25
- . inset ( by: 1 )
26
- . stroke ( Color . gray. opacity ( 0.1 ) , style: . init( lineWidth: 2 , lineCap: . round) )
27
- )
28
- . frame ( height: 300 )
29
- . padding ( )
18
+ HStack {
19
+ VStack {
20
+ AxisLabels ( . vertical, data: 1 ... 10 , id: \. self) {
21
+ Text ( " \( 110 - $0 * 10 ) " )
22
+ . fontWeight ( . bold)
23
+ . font ( Font . system ( size: 8 ) )
24
+ . foregroundColor ( . secondary)
25
+ }
26
+ . frame ( width: 20 )
27
+
28
+ Rectangle ( ) . foregroundColor ( . clear) . frame ( width: 20 , height: 20 )
29
+ }
30
+
31
+
32
+ VStack {
33
+ Chart ( data: data1)
34
+ . chartStyle (
35
+ LineChartStyle ( . quadCurve, lineColor: . blue, lineWidth: 5 )
36
+ )
37
+ . padding ( )
38
+ . background (
39
+ GridPattern ( horizontalLines: 10 + 1 , verticalLines: data1. count + 1 )
40
+ . inset ( by: 1 )
41
+ . stroke ( Color . gray. opacity ( 0.1 ) , style: . init( lineWidth: 2 , lineCap: . round) )
42
+ )
43
+ . frame ( height: 300 )
44
+
45
+
46
+ AxisLabels ( . horizontal, data: 2010 ... 2020 , id: \. self) {
47
+ Text ( " \( $0) " . replacingOccurrences ( of: " , " , with: " " ) )
48
+ . fontWeight ( . bold)
49
+ . font ( Font . system ( size: 8 ) )
50
+ . foregroundColor ( . secondary)
51
+ }
52
+ . frame ( height: 20 )
53
+ . padding ( . horizontal, 1 )
54
+ }
55
+ . layoutPriority ( 1 )
56
+ }
57
+
58
+ . padding ( )
59
+
30
60
31
61
Chart ( data: data2)
32
62
. chartStyle (
0 commit comments