@cdc/chart 4.23.10 → 4.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/cdcchart.js +34606 -32218
  2. package/examples/feature/bar/additional-column-tooltip.json +446 -0
  3. package/examples/feature/bar/example-bar-chart.json +1 -46
  4. package/examples/feature/bar/lollipop.json +156 -0
  5. package/examples/feature/bar/tall-data.json +98 -0
  6. package/examples/feature/combo/planet-combo-example-config.json +99 -9
  7. package/examples/feature/dev-4261.json +399 -0
  8. package/examples/feature/forest-plot/forest-plot.json +63 -19
  9. package/examples/feature/forest-plot/{broken.json → linear.json} +77 -23
  10. package/examples/feature/forest-plot/log.json +26 -0
  11. package/examples/feature/forest-plot/logarithmic.json +271 -0
  12. package/examples/feature/line/line-chart-preliminary.json +346 -0
  13. package/examples/feature/line/line-points.json +340 -0
  14. package/examples/feature/regions/index.json +462 -0
  15. package/examples/feature/scatterplot/scatterplot.json +272 -33
  16. package/examples/gallery/bar-chart-vertical/combo-line-chart.json +181 -48
  17. package/examples/private/chart-t.json +3740 -0
  18. package/examples/private/combo.json +369 -0
  19. package/examples/private/epi-data.csv +13 -0
  20. package/examples/private/epi-data.json +62 -0
  21. package/examples/private/epi.json +403 -0
  22. package/examples/private/occupancy.json +109283 -0
  23. package/examples/private/prod-line-config.json +401 -0
  24. package/examples/private/region-data.json +822 -0
  25. package/examples/private/region-testing.json +312 -0
  26. package/examples/private/scaling.json +45325 -0
  27. package/examples/private/testing-data.json +1739 -0
  28. package/examples/private/testing.json +816 -0
  29. package/examples/sparkline-multilple.json +846 -0
  30. package/index.html +12 -8
  31. package/package.json +3 -3
  32. package/src/CdcChart.tsx +42 -211
  33. package/src/ConfigContext.tsx +6 -0
  34. package/src/_stories/Chart.stories.tsx +188 -0
  35. package/src/_stories/Chart.tooltip.stories.tsx +305 -0
  36. package/src/_stories/ChartBrush.stories.tsx +19 -0
  37. package/src/_stories/ChartEditor.stories.tsx +22 -0
  38. package/src/_stories/ChartLine.preliminary.tsx +19 -0
  39. package/src/_stories/ChartSuppress.stories.tsx +19 -0
  40. package/src/_stories/_mock/brush_mock.json +393 -0
  41. package/src/_stories/_mock/pie_config.json +191 -0
  42. package/src/_stories/_mock/pie_data.json +218 -0
  43. package/src/_stories/_mock/preliminary_mock.json +346 -0
  44. package/src/_stories/_mock/suppress_mock.json +911 -0
  45. package/src/components/{AreaChart.Stacked.jsx → AreaChart/components/AreaChart.Stacked.jsx} +6 -7
  46. package/src/components/{AreaChart.jsx → AreaChart/components/AreaChart.jsx} +7 -36
  47. package/src/components/AreaChart/index.tsx +4 -0
  48. package/src/components/{BarChart.Horizontal.jsx → BarChart/components/BarChart.Horizontal.tsx} +111 -34
  49. package/src/components/{BarChart.StackedHorizontal.jsx → BarChart/components/BarChart.StackedHorizontal.tsx} +55 -20
  50. package/src/components/BarChart/components/BarChart.StackedVertical.tsx +106 -0
  51. package/src/components/{BarChart.Vertical.jsx → BarChart/components/BarChart.Vertical.tsx} +162 -34
  52. package/src/components/BarChart/components/BarChart.jsx +39 -0
  53. package/src/components/{BarChartType.jsx → BarChart/components/BarChartType.jsx} +0 -2
  54. package/src/components/BarChart/components/context.tsx +13 -0
  55. package/src/components/BarChart/index.tsx +3 -0
  56. package/src/components/{BoxPlot.jsx → BoxPlot/BoxPlot.jsx} +1 -1
  57. package/src/components/BoxPlot/index.tsx +3 -0
  58. package/src/components/DeviationBar.jsx +4 -3
  59. package/src/components/{EditorPanel.jsx → EditorPanel/EditorPanel.tsx} +807 -865
  60. package/src/components/EditorPanel/components/Panel.DateHighlighting.tsx +109 -0
  61. package/src/components/{ForestPlotSettings.jsx → EditorPanel/components/Panel.ForestPlotSettings.tsx} +190 -220
  62. package/src/components/EditorPanel/components/Panel.Regions.tsx +168 -0
  63. package/src/components/{Series.jsx → EditorPanel/components/Panel.Series.tsx} +23 -4
  64. package/src/components/EditorPanel/components/PanelProps.ts +3 -0
  65. package/src/components/EditorPanel/components/Panels.tsx +13 -0
  66. package/src/components/EditorPanel/components/panels.scss +72 -0
  67. package/src/components/EditorPanel/editor-panel.scss +751 -0
  68. package/src/components/EditorPanel/index.tsx +3 -0
  69. package/src/{hooks → components/EditorPanel}/useEditorPermissions.js +50 -5
  70. package/src/components/{Forecasting.jsx → Forecasting/Forecasting.jsx} +1 -1
  71. package/src/components/Forecasting/index.tsx +3 -0
  72. package/src/components/ForestPlot/ForestPlot.tsx +254 -0
  73. package/src/components/ForestPlot/ForestPlotProps.ts +18 -0
  74. package/src/components/ForestPlot/index.scss +1 -0
  75. package/src/components/ForestPlot/index.tsx +3 -0
  76. package/src/components/Legend/Legend.tsx +347 -0
  77. package/src/components/Legend/index.tsx +3 -0
  78. package/src/components/LineChart/LineChartProps.ts +46 -0
  79. package/src/components/{LineChart.Circle.tsx → LineChart/components/LineChart.Circle.tsx} +36 -30
  80. package/src/components/LineChart/helpers.ts +45 -0
  81. package/src/components/LineChart/index.scss +1 -0
  82. package/src/components/{LineChart.tsx → LineChart/index.tsx} +83 -42
  83. package/src/components/LinearChart.jsx +125 -82
  84. package/src/components/PairedBarChart.jsx +2 -2
  85. package/src/components/{PieChart.jsx → PieChart/PieChart.tsx} +16 -7
  86. package/src/components/PieChart/index.tsx +3 -0
  87. package/src/components/Regions/components/Regions.tsx +135 -0
  88. package/src/components/Regions/index.tsx +3 -0
  89. package/src/components/{ScatterPlot.jsx → ScatterPlot/ScatterPlot.jsx} +3 -3
  90. package/src/components/ScatterPlot/index.tsx +3 -0
  91. package/src/components/{SparkLine.jsx → Sparkline/SparkLine.jsx} +2 -2
  92. package/src/components/Sparkline/index.tsx +3 -0
  93. package/src/components/ZoomBrush.tsx +168 -0
  94. package/src/data/initial-state.js +30 -16
  95. package/src/helpers/abbreviateNumber.ts +17 -0
  96. package/src/helpers/computeMarginBottom.ts +55 -0
  97. package/src/helpers/filterData.ts +18 -0
  98. package/src/helpers/generateColorsArray.ts +8 -0
  99. package/src/helpers/getQuartiles.ts +30 -0
  100. package/src/helpers/handleChartAriaLabels.ts +19 -0
  101. package/src/helpers/handleLineType.ts +18 -0
  102. package/src/helpers/lineOptions.ts +18 -0
  103. package/src/helpers/sort.ts +7 -0
  104. package/src/helpers/tests/computeMarginBottom.test.ts +20 -0
  105. package/src/hooks/useBarChart.js +72 -7
  106. package/src/hooks/useColorScale.ts +50 -0
  107. package/src/hooks/{useMinMax.js → useMinMax.ts} +75 -23
  108. package/src/hooks/{useRightAxis.js → useRightAxis.ts} +10 -2
  109. package/src/hooks/{useScales.js → useScales.ts} +64 -17
  110. package/src/hooks/{useTooltip.jsx → useTooltip.tsx} +84 -55
  111. package/src/scss/main.scss +70 -38
  112. package/src/types/ChartConfig.ts +178 -0
  113. package/src/types/ChartContext.ts +54 -0
  114. package/src/types/ForestPlot.ts +53 -0
  115. package/examples/feature/scatterplot/scatterplot-continuous.csv +0 -17
  116. package/src/ConfigContext.jsx +0 -5
  117. package/src/components/BarChart.StackedVertical.jsx +0 -95
  118. package/src/components/BarChart.jsx +0 -30
  119. package/src/components/ForestPlot.jsx +0 -191
  120. package/src/components/Legend.jsx +0 -277
  121. package/src/scss/LinearChart.scss +0 -0
  122. package/src/scss/editor-panel.scss +0 -745
  123. package/src/scss/legend.scss +0 -206
  124. package/src/scss/mixins.scss +0 -0
  125. package/src/scss/variables.scss +0 -1
@@ -0,0 +1,98 @@
1
+ [
2
+ {
3
+ "date": "1/1/23",
4
+ "pathogen": "COVID",
5
+ "value": 23,
6
+ "upper_ci": 47,
7
+ "lower_ci": 20,
8
+ "filter1": "value1"
9
+ },
10
+ {
11
+ "date": "1/1/23",
12
+ "pathogen": "RSV",
13
+ "value": 33,
14
+ "upper_ci": 57,
15
+ "lower_ci": 10,
16
+ "filter1": "value1"
17
+ },
18
+ {
19
+ "date": "1/1/23",
20
+ "pathogen": "Flu",
21
+ "value": 53,
22
+ "upper_ci": 67,
23
+ "lower_ci": 40,
24
+ "filter1": "value1"
25
+ },
26
+ {
27
+ "date": "1/2/23",
28
+ "pathogen": "COVID",
29
+ "value": 60,
30
+ "upper_ci": 87,
31
+ "lower_ci": 20,
32
+ "filter1": "value1"
33
+ },
34
+ {
35
+ "date": "1/2/23",
36
+ "pathogen": "RSV",
37
+ "value": 33,
38
+ "upper_ci": 57,
39
+ "lower_ci": 10,
40
+ "filter1": "value1"
41
+ },
42
+ {
43
+ "date": "1/2/23",
44
+ "pathogen": "Flu",
45
+ "value": 53,
46
+ "upper_ci": 67,
47
+ "lower_ci": 40,
48
+ "filter1": "value1"
49
+ },
50
+ {
51
+ "date": "1/1/23",
52
+ "pathogen": "COVID",
53
+ "value": 23,
54
+ "upper_ci": 47,
55
+ "lower_ci": 20,
56
+ "filter1": "value2"
57
+ },
58
+ {
59
+ "date": "1/1/23",
60
+ "pathogen": "RSV",
61
+ "value": 33,
62
+ "upper_ci": 57,
63
+ "lower_ci": 10,
64
+ "filter1": "value2"
65
+ },
66
+ {
67
+ "date": "1/1/23",
68
+ "pathogen": "Flu",
69
+ "value": 53,
70
+ "upper_ci": 67,
71
+ "lower_ci": 40,
72
+ "filter1": "value2"
73
+ },
74
+ {
75
+ "date": "1/2/23",
76
+ "pathogen": "COVID",
77
+ "value": 23,
78
+ "upper_ci": 47,
79
+ "lower_ci": 20,
80
+ "filter1": "value2"
81
+ },
82
+ {
83
+ "date": "1/2/23",
84
+ "pathogen": "RSV",
85
+ "value": 33,
86
+ "upper_ci": 57,
87
+ "lower_ci": 10,
88
+ "filter1": "value2"
89
+ },
90
+ {
91
+ "date": "1/2/23",
92
+ "pathogen": "Flu",
93
+ "value": 53,
94
+ "upper_ci": 67,
95
+ "lower_ci": 40,
96
+ "filter1": "value2"
97
+ }
98
+ ]
@@ -1,6 +1,13 @@
1
1
  {
2
2
  "type": "chart",
3
+ "debugSvg": false,
4
+ "chartMessage": {
5
+ "noData": "No Data Available"
6
+ },
3
7
  "title": "Planet Radius (Combo Example)",
8
+ "showTitle": true,
9
+ "showDownloadMediaButton": false,
10
+ "showChartBrush": false,
4
11
  "theme": "theme-blue",
5
12
  "animate": true,
6
13
  "fontSize": "medium",
@@ -13,6 +20,10 @@
13
20
  "barStyle": "",
14
21
  "roundingStyle": "standard",
15
22
  "tipRounding": "top",
23
+ "isResponsiveTicks": false,
24
+ "general": {
25
+ "showDownloadButton": false
26
+ },
16
27
  "padding": {
17
28
  "left": 0,
18
29
  "right": 0
@@ -24,6 +35,7 @@
24
35
  "hideTicks": false,
25
36
  "size": 50,
26
37
  "gridLines": false,
38
+ "enablePadding": false,
27
39
  "min": "",
28
40
  "max": "",
29
41
  "labelColor": "#333",
@@ -39,6 +51,7 @@
39
51
  "numTicks": "",
40
52
  "axisPadding": 0,
41
53
  "tickRotation": 0,
54
+ "anchors": [],
42
55
  "label": "Measurement (1000km)"
43
56
  },
44
57
  "boxplot": {
@@ -81,7 +94,11 @@
81
94
  "horizontal": 750
82
95
  },
83
96
  "xAxis": {
97
+ "sortDates": false,
98
+ "anchors": [],
84
99
  "type": "categorical",
100
+ "showTargetLabel": true,
101
+ "targetLabel": "Target",
85
102
  "hideAxis": false,
86
103
  "hideLabel": false,
87
104
  "hideTicks": false,
@@ -95,6 +112,8 @@
95
112
  "numTicks": "",
96
113
  "labelOffset": 65,
97
114
  "axisPadding": 0,
115
+ "target": 0,
116
+ "maxTickRotation": 0,
98
117
  "label": "Planet",
99
118
  "dataKey": "name"
100
119
  },
@@ -105,12 +124,17 @@
105
124
  "height": "",
106
125
  "caption": "",
107
126
  "showDownloadUrl": false,
127
+ "showDataTableLink": true,
128
+ "indexLabel": "",
129
+ "download": false,
130
+ "showVertical": false,
108
131
  "show": true
109
132
  },
110
133
  "orientation": "vertical",
134
+ "color": "pinkpurple",
135
+ "columns": {},
111
136
  "legend": {
112
137
  "behavior": "isolate",
113
- "position": "right",
114
138
  "singleRow": false,
115
139
  "colorCode": "",
116
140
  "reverseLabelOrder": false,
@@ -120,6 +144,9 @@
120
144
  "dynamicLegendItemLimit": 5,
121
145
  "dynamicLegendItemLimitMessage": "Dynamic Legend Item Limit Hit.",
122
146
  "dynamicLegendChartMessage": "Select Options from the Legend",
147
+ "lineMode": false,
148
+ "verticalSorted": false,
149
+ "position": "right",
123
150
  "hide": false
124
151
  },
125
152
  "exclusions": {
@@ -128,32 +155,95 @@
128
155
  },
129
156
  "palette": "qualitative-bold",
130
157
  "isPaletteReversed": false,
158
+ "twoColor": {
159
+ "palette": "monochrome-1",
160
+ "isPaletteReversed": false
161
+ },
131
162
  "labels": false,
132
163
  "dataFormat": {
133
164
  "commas": false,
134
165
  "prefix": "",
135
166
  "suffix": "km",
136
167
  "abbreviated": false,
168
+ "bottomSuffix": "",
169
+ "bottomPrefix": "",
170
+ "bottomAbbreviated": false,
137
171
  "roundTo": 1
138
172
  },
139
173
  "confidenceKeys": {},
140
174
  "visual": {
141
175
  "border": true,
142
176
  "accent": true,
143
- "background": true
177
+ "background": true,
178
+ "verticalHoverLine": false,
179
+ "horizontalHoverLine": false
144
180
  },
145
- "dataUrl": "/examples/feature/__data__/planet-example-data.json",
146
- "animateReplay": true,
147
- "visualizationType": "Combo",
181
+ "useLogScale": false,
182
+ "filterBehavior": "Filter Change",
183
+ "highlightedBarValues": [],
148
184
  "series": [
149
185
  {
150
186
  "dataKey": "Radius",
151
- "type": "Line",
152
- "axis": "Right"
187
+ "type": "Bar",
188
+ "axis": "Right",
189
+ "tooltip": true
153
190
  },
154
191
  {
155
192
  "dataKey": "Diameter",
156
- "type": "Bar"
193
+ "type": "Line",
194
+ "tooltip": true
157
195
  }
158
- ]
196
+ ],
197
+ "tooltips": {
198
+ "opacity": 90
199
+ },
200
+ "forestPlot": {
201
+ "startAt": 0,
202
+ "width": "auto",
203
+ "colors": {
204
+ "line": "",
205
+ "shape": ""
206
+ },
207
+ "estimateField": "",
208
+ "estimateRadius": "",
209
+ "lowerCiField": "",
210
+ "upperCiField": "",
211
+ "shape": "",
212
+ "rowHeight": 20,
213
+ "showZeroLine": false,
214
+ "description": {
215
+ "show": true,
216
+ "text": "description",
217
+ "location": 0
218
+ },
219
+ "result": {
220
+ "show": true,
221
+ "text": "result",
222
+ "location": 100
223
+ },
224
+ "radius": {
225
+ "min": 1,
226
+ "max": 8,
227
+ "scalingColumn": ""
228
+ },
229
+ "regression": {
230
+ "lower": 0,
231
+ "upper": 0,
232
+ "estimateField": 0
233
+ },
234
+ "leftWidthOffset": 0,
235
+ "rightWidthOffset": 0
236
+ },
237
+ "brush": {
238
+ "pattern_id": "brush_pattern",
239
+ "accent_color": "#ddd"
240
+ },
241
+ "area": {
242
+ "isStacked": false
243
+ },
244
+ "dataUrl": "/examples/feature/__data__/planet-example-data.json",
245
+ "animateReplay": true,
246
+ "visualizationType": "Combo",
247
+ "validated": 4.23,
248
+ "dynamicMarginTop": 0
159
249
  }
@@ -0,0 +1,399 @@
1
+ {
2
+ "type": "chart",
3
+ "debugSvg": false,
4
+ "chartMessage": {
5
+ "noData": "No Data Available"
6
+ },
7
+ "title": "",
8
+ "showTitle": true,
9
+ "showDownloadMediaButton": false,
10
+ "theme": "theme-blue",
11
+ "animate": false,
12
+ "fontSize": "medium",
13
+ "lineDatapointStyle": "hover",
14
+ "barHasBorder": "false",
15
+ "isLollipopChart": false,
16
+ "lollipopShape": "circle",
17
+ "lollipopColorStyle": "two-tone",
18
+ "visualizationSubType": "regular",
19
+ "barStyle": "",
20
+ "roundingStyle": "standard",
21
+ "tipRounding": "top",
22
+ "isResponsiveTicks": false,
23
+ "general": {
24
+ "showDownloadButton": false
25
+ },
26
+ "padding": {
27
+ "left": 5,
28
+ "right": 5
29
+ },
30
+ "yAxis": {
31
+ "hideAxis": false,
32
+ "displayNumbersOnBar": false,
33
+ "hideLabel": false,
34
+ "hideTicks": false,
35
+ "size": 50,
36
+ "gridLines": false,
37
+ "enablePadding": false,
38
+ "min": "",
39
+ "max": "",
40
+ "labelColor": "#333",
41
+ "tickLabelColor": "#333",
42
+ "tickColor": "#333",
43
+ "rightHideAxis": true,
44
+ "rightAxisSize": 50,
45
+ "rightLabel": "",
46
+ "rightLabelOffsetSize": 0,
47
+ "rightAxisLabelColor": "#333",
48
+ "rightAxisTickLabelColor": "#333",
49
+ "rightAxisTickColor": "#333",
50
+ "numTicks": "",
51
+ "axisPadding": 0,
52
+ "tickRotation": 0,
53
+ "anchors": []
54
+ },
55
+ "boxplot": {
56
+ "plots": [],
57
+ "borders": "true",
58
+ "firstQuartilePercentage": 25,
59
+ "thirdQuartilePercentage": 75,
60
+ "boxWidthPercentage": 40,
61
+ "plotOutlierValues": false,
62
+ "plotNonOutlierValues": true,
63
+ "legend": {
64
+ "showHowToReadText": false,
65
+ "howToReadText": ""
66
+ },
67
+ "labels": {
68
+ "q1": "Lower Quartile",
69
+ "q2": "q2",
70
+ "q3": "Upper Quartile",
71
+ "q4": "q4",
72
+ "minimum": "Minimum",
73
+ "maximum": "Maximum",
74
+ "mean": "Mean",
75
+ "median": "Median",
76
+ "sd": "Standard Deviation",
77
+ "iqr": "Interquartile Range",
78
+ "total": "Total",
79
+ "outliers": "Outliers",
80
+ "values": "Values",
81
+ "lowerBounds": "Lower Bounds",
82
+ "upperBounds": "Upper Bounds"
83
+ }
84
+ },
85
+ "topAxis": {
86
+ "hasLine": false
87
+ },
88
+ "isLegendValue": false,
89
+ "barThickness": 0.35,
90
+ "barHeight": 25,
91
+ "barSpace": 15,
92
+ "heights": {
93
+ "vertical": 300,
94
+ "horizontal": 750
95
+ },
96
+ "xAxis": {
97
+ "sortDates": false,
98
+ "anchors": [],
99
+ "type": "date",
100
+ "showTargetLabel": true,
101
+ "targetLabel": "Target",
102
+ "hideAxis": false,
103
+ "hideLabel": false,
104
+ "hideTicks": false,
105
+ "size": 75,
106
+ "tickRotation": 0,
107
+ "min": "",
108
+ "max": "",
109
+ "labelColor": "#333",
110
+ "tickLabelColor": "#333",
111
+ "tickColor": "#333",
112
+ "numTicks": "",
113
+ "labelOffset": 65,
114
+ "axisPadding": 0,
115
+ "target": 0,
116
+ "maxTickRotation": 0,
117
+ "dataKey": "Date",
118
+ "dateParseFormat": "%m/%d/%Y",
119
+ "dateDisplayFormat": "%m/%Y",
120
+ "tickWidthMax": 66
121
+ },
122
+ "table": {
123
+ "label": "Data Table",
124
+ "expanded": true,
125
+ "limitHeight": false,
126
+ "height": "",
127
+ "caption": "",
128
+ "showDownloadUrl": false,
129
+ "showDataTableLink": true,
130
+ "indexLabel": "",
131
+ "download": false,
132
+ "showVertical": true,
133
+ "show": true
134
+ },
135
+ "orientation": "vertical",
136
+ "color": "pinkpurple",
137
+ "columns": {},
138
+ "legend": {
139
+ "hide": false,
140
+ "behavior": "isolate",
141
+ "singleRow": false,
142
+ "colorCode": "",
143
+ "reverseLabelOrder": false,
144
+ "description": "",
145
+ "dynamicLegend": false,
146
+ "dynamicLegendDefaultText": "Show All",
147
+ "dynamicLegendItemLimit": 5,
148
+ "dynamicLegendItemLimitMessage": "Dynamic Legend Item Limit Hit.",
149
+ "dynamicLegendChartMessage": "Select Options from the Legend",
150
+ "lineMode": false,
151
+ "verticalSorted": false
152
+ },
153
+ "brush": {
154
+ "height": 25,
155
+ "data": [
156
+ {
157
+ "Date": "1/15/2022",
158
+ "New Participants": "90",
159
+ "Outreach Costs": "252000"
160
+ },
161
+ {
162
+ "Date": "2/15/2022",
163
+ "New Participants": "150",
164
+ "Outreach Costs": "410000"
165
+ },
166
+ {
167
+ "Date": "3/15/2022",
168
+ "New Participants": "80",
169
+ "Outreach Costs": "275000"
170
+ },
171
+ {
172
+ "Date": "4/15/2022",
173
+ "New Participants": "146",
174
+ "Outreach Costs": "480000"
175
+ },
176
+ {
177
+ "Date": "5/15/2022",
178
+ "New Participants": "70",
179
+ "Outreach Costs": "160000"
180
+ },
181
+ {
182
+ "Date": "6/15/2022",
183
+ "New Participants": "100",
184
+ "Outreach Costs": "190000"
185
+ },
186
+ {
187
+ "Date": "7/15/2022",
188
+ "New Participants": "132",
189
+ "Outreach Costs": "380000"
190
+ },
191
+ {
192
+ "Date": "8/15/2022",
193
+ "New Participants": "75",
194
+ "Outreach Costs": "170000"
195
+ },
196
+ {
197
+ "Date": "9/15/2022",
198
+ "New Participants": "120",
199
+ "Outreach Costs": "368000"
200
+ }
201
+ ],
202
+ "active": false
203
+ },
204
+ "exclusions": {
205
+ "active": false,
206
+ "keys": []
207
+ },
208
+ "palette": "qualitative-bold",
209
+ "isPaletteReversed": false,
210
+ "twoColor": {
211
+ "palette": "monochrome-1",
212
+ "isPaletteReversed": false
213
+ },
214
+ "labels": false,
215
+ "dataFormat": {
216
+ "commas": false,
217
+ "prefix": "",
218
+ "suffix": "",
219
+ "abbreviated": false,
220
+ "bottomSuffix": "",
221
+ "bottomPrefix": "",
222
+ "bottomAbbreviated": false,
223
+ "useCommas": false,
224
+ "roundToPlace": ""
225
+ },
226
+ "confidenceKeys": {},
227
+ "visual": {
228
+ "border": true,
229
+ "accent": true,
230
+ "background": true,
231
+ "verticalHoverLine": false,
232
+ "horizontalHoverLine": false
233
+ },
234
+ "useLogScale": false,
235
+ "filterBehavior": "Filter Change",
236
+ "highlightedBarValues": [],
237
+ "series": [
238
+ {
239
+ "dataKey": "New Participants",
240
+ "type": "Bar",
241
+ "axis": "Left",
242
+ "tooltip": true
243
+ },
244
+ {
245
+ "dataKey": "Outreach Costs",
246
+ "type": "Line",
247
+ "axis": "Right",
248
+ "tooltip": true
249
+ }
250
+ ],
251
+ "tooltips": {
252
+ "opacity": 90
253
+ },
254
+ "forestPlot": {
255
+ "startAt": 0,
256
+ "width": "auto",
257
+ "colors": {
258
+ "line": "",
259
+ "shape": ""
260
+ },
261
+ "estimateField": "",
262
+ "estimateRadius": "",
263
+ "lowerCiField": "",
264
+ "upperCiField": "",
265
+ "shape": "",
266
+ "rowHeight": 20,
267
+ "showZeroLine": false,
268
+ "description": {
269
+ "show": true,
270
+ "text": "description",
271
+ "location": 0
272
+ },
273
+ "result": {
274
+ "show": true,
275
+ "text": "result",
276
+ "location": 100
277
+ },
278
+ "radius": {
279
+ "min": 1,
280
+ "max": 8,
281
+ "scalingColumn": ""
282
+ },
283
+ "regression": {
284
+ "lower": 0,
285
+ "upper": 0,
286
+ "estimateField": 0
287
+ },
288
+ "leftWidthOffset": 0,
289
+ "rightWidthOffset": 0
290
+ },
291
+ "area": {
292
+ "isStacked": false
293
+ },
294
+ "datasets": {},
295
+ "visualizationType": "Combo",
296
+ "data": [
297
+ {
298
+ "Date": "1/15/2022",
299
+ "New Participants": "90",
300
+ "Outreach Costs": "252000"
301
+ },
302
+ {
303
+ "Date": "2/15/2022",
304
+ "New Participants": "150",
305
+ "Outreach Costs": "410000"
306
+ },
307
+ {
308
+ "Date": "3/15/2022",
309
+ "New Participants": "80",
310
+ "Outreach Costs": "275000"
311
+ },
312
+ {
313
+ "Date": "4/15/2022",
314
+ "New Participants": "146",
315
+ "Outreach Costs": "480000"
316
+ },
317
+ {
318
+ "Date": "5/15/2022",
319
+ "New Participants": "70",
320
+ "Outreach Costs": "160000"
321
+ },
322
+ {
323
+ "Date": "6/15/2022",
324
+ "New Participants": "100",
325
+ "Outreach Costs": "190000"
326
+ },
327
+ {
328
+ "Date": "7/15/2022",
329
+ "New Participants": "132",
330
+ "Outreach Costs": "380000"
331
+ },
332
+ {
333
+ "Date": "8/15/2022",
334
+ "New Participants": "75",
335
+ "Outreach Costs": "170000"
336
+ },
337
+ {
338
+ "Date": "9/15/2022",
339
+ "New Participants": "120",
340
+ "Outreach Costs": "368000"
341
+ }
342
+ ],
343
+ "dataFileName": "bar-line-combo-chart3.csv",
344
+ "dataFileSourceType": "file",
345
+ "formattedData": [
346
+ {
347
+ "Date": "1/15/2022",
348
+ "New Participants": "90",
349
+ "Outreach Costs": "252000"
350
+ },
351
+ {
352
+ "Date": "2/15/2022",
353
+ "New Participants": "150",
354
+ "Outreach Costs": "410000"
355
+ },
356
+ {
357
+ "Date": "3/15/2022",
358
+ "New Participants": "80",
359
+ "Outreach Costs": "275000"
360
+ },
361
+ {
362
+ "Date": "4/15/2022",
363
+ "New Participants": "146",
364
+ "Outreach Costs": "480000"
365
+ },
366
+ {
367
+ "Date": "5/15/2022",
368
+ "New Participants": "70",
369
+ "Outreach Costs": "160000"
370
+ },
371
+ {
372
+ "Date": "6/15/2022",
373
+ "New Participants": "100",
374
+ "Outreach Costs": "190000"
375
+ },
376
+ {
377
+ "Date": "7/15/2022",
378
+ "New Participants": "132",
379
+ "Outreach Costs": "380000"
380
+ },
381
+ {
382
+ "Date": "8/15/2022",
383
+ "New Participants": "75",
384
+ "Outreach Costs": "170000"
385
+ },
386
+ {
387
+ "Date": "9/15/2022",
388
+ "New Participants": "120",
389
+ "Outreach Costs": "368000"
390
+ }
391
+ ],
392
+ "dataDescription": {
393
+ "horizontal": false,
394
+ "series": true,
395
+ "singleRow": true
396
+ },
397
+ "validated": 4.23,
398
+ "dynamicMarginTop": 0
399
+ }