From 1843731a5e7fbab25730bb3a01d42fb570df233d Mon Sep 17 00:00:00 2001 From: NithyasriThirumal Date: Tue, 4 Aug 2026 16:38:18 +0530 Subject: [PATCH 1/3] Documentation(1044817): Changed the component names --- .../{3d-chart => 3d-charts}/accessibility.md | 0 .../{3d-chart => 3d-charts}/appearance.md | 0 .../axis-customization.md | 0 .../{3d-chart => 3d-charts}/axis-labels.md | 0 .../{3d-chart => 3d-charts}/category-axis.md | 0 .../chart-types/bar.md | 0 .../chart-types/column.md | 0 .../chart-types/stack-bar.md | 0 .../chart-types/stack-column.md | 0 .../chart-types/stacked-bar.md | 0 .../chart-types/stacked-column.md | 0 .../{3d-chart => 3d-charts}/data-labels.md | 0 .../{3d-chart => 3d-charts}/datetime-axis.md | 0 .../{3d-chart => 3d-charts}/dimensions.md | 0 .../getting-started.md | 0 .../angular/{3d-chart => 3d-charts}/legend.md | 0 .../logarithmic-axis.md | 0 .../{3d-chart => 3d-charts}/multi-panes.md | 0 .../{3d-chart => 3d-charts}/numeric-axis.md | 0 .../{3d-chart => 3d-charts}/print-export.md | 0 .../{3d-chart => 3d-charts}/selection.md | 0 .../{3d-chart => 3d-charts}/tool-tip.md | 0 .../working-with-data.md | 0 .../data-label.md | 0 .../empty-points.md | 0 .../getting-started.md | 0 .../legend.md | 0 .../pie-donut-chart.md | 0 .../print-and-export.md | 0 .../title-and-subtitle.md | 0 .../tooltip.md | 0 .../accessibility.md | 0 .../advanced-accessibility-configuration.md | 0 .../annotation.md | 0 .../api.md | 0 .../appearance.md | 0 .../center-label.md | 0 .../chart-print.md | 0 .../customization.md | 0 .../data-label.md | 0 .../dynamic-data-update.md | 0 .../ej1-api-migration.md | 0 .../empty-points.md | 0 .../funnel.md | 0 .../getting-started.md | 0 .../gradient.md | 0 .../grouping.md | 0 .../legend.md | 0 .../pie-dough-nut.md | 0 .../pyramid.md | 0 .../series-types.md | 0 .../title-and-sub-title.md | 0 .../tool-tip.md | 0 .../accessibility.md | 0 .../axis-customization.md | 0 .../bullet-chart-dimensions.md | 0 .../comparative-bar.md | 0 .../customization.md | 0 .../data-binding.md | 0 .../data-label.md | 0 .../getting-started.md | 0 .../{bullet-chart => bullet-charts}/ranges.md | 0 .../{bullet-chart => bullet-charts}/title.md | 0 .../tool-tip.md | 0 .../value-bar.md | 0 .../{chart => charts}/accessibility.md | 0 .../advanced-accessibility-configuration.md | 0 chart-sdk/angular/{chart => charts}/api.md | 0 .../angular/{chart => charts}/appearance.md | 0 .../axis/axis-customization.md | 0 .../{chart => charts}/axis/axis-labels.md | 0 .../{chart => charts}/axis/axis-overview.md | 0 .../axis/axis-types/category-axis.md | 0 .../axis/axis-types/date-time-axis.md | 0 .../axis/axis-types/logarithmic-axis.md | 0 .../axis/axis-types/numeric-axis.md | 0 .../{chart => charts}/axis/multiple-panes.md | 0 .../angular/{chart => charts}/chart-axis.md | 0 .../{chart => charts}/chart-dimensions.md | 0 .../chart-elements/chart-annotations.md | 0 .../chart-elements/data-labels.md | 0 .../chart-elements/data-markers.md | 0 .../chart-elements/gradient.md | 0 .../chart-elements/legend.md | 0 .../chart-elements/series-label.md | 0 .../chart-elements/strip-line.md | 0 .../chart-elements/technical-indicators.md | 0 .../chart-elements/trend-lines.md | 0 .../angular/{chart => charts}/chart-events.md | 0 .../cross-hair-and-track-ball.md | 0 .../chart-interactive/data-editing.md | 0 .../chart-interactive/selection.md | 0 .../chart-interactive/synchronized-chart.md | 0 .../chart-interactive/tool-tip.md | 0 .../chart-interactive/zooming.md | 0 .../{chart => charts}/chart-overview.md | 0 .../angular/{chart => charts}/chart-print.md | 0 .../cross-hair-track-ball.md | 0 .../data-binding/dynamic-data-update.md | 0 .../data-binding/working-with-data.md | 0 .../{chart => charts}/ej1-api-migration.md | 0 .../{chart => charts}/feature-modules.md | 0 .../{chart => charts}/getting-started.md | 0 .../{chart => charts}/how-to/add-series.md | 0 .../{chart => charts}/how-to/click-data.md | 0 .../{chart => charts}/how-to/column-width.md | 0 .../how-to/customize-scatter-chart.md | 0 .../{chart => charts}/how-to/database-data.md | 0 .../{chart => charts}/how-to/dialog-chart.md | 0 .../{chart => charts}/how-to/dynamic-chart.md | 0 .../how-to/grid-data-chart.md | 0 .../how-to/images/chart-data.png | Bin .../{chart => charts}/how-to/images/chart.png | Bin .../{chart => charts}/how-to/live-chart.md | 0 .../{chart => charts}/how-to/overlap-area.md | 0 .../how-to/percentage-tool-tip.md | 0 .../how-to/points-customization.md | 0 .../how-to/selected-data-grid.md | 0 .../how-to/series-visible.md | 0 .../{chart => charts}/how-to/threshold.md | 0 .../{chart => charts}/internationalization.md | 0 .../angular/{chart => charts}/localization.md | 0 .../{chart => charts}/render-methods.md | 0 .../series/series-overview.md | 0 .../series/series-types/area-types/area.md | 0 .../series-types/area-types/range-area.md | 0 .../area-types/range-step-area.md | 0 .../series-types/area-types/spline-area.md | 0 .../area-types/spline-range-area.md | 0 .../series-types/area-types/stack-area.md | 0 .../series-types/area-types/stacked-area.md | 0 .../area-types/stacked-step-area.md | 0 .../series-types/area-types/step-area.md | 0 .../series/series-types/box-whisker.md | 0 .../series/series-types/bubble.md | 0 .../series/series-types/candle.md | 0 .../series/series-types/chart-series.md | 0 .../series-types/column-bar-types/bar.md | 0 .../series-types/column-bar-types/column.md | 0 .../column-bar-types/range-column.md | 0 .../column-bar-types/stack-bar.md | 0 .../column-bar-types/stack-column.md | 0 .../column-bar-types/stacked-bar.md | 0 .../column-bar-types/stacked-column.md | 0 .../series/series-types/error-bar.md | 0 .../series-types/high-low-open-close.md | 0 .../series/series-types/high-low.md | 0 .../series/series-types/histogram.md | 0 .../series/series-types/line-types/line.md | 0 .../series/series-types/line-types/spline.md | 0 .../series-types/line-types/stack-line.md | 0 .../series-types/line-types/stacked-line.md | 0 .../series-types/line-types/step-line.md | 0 .../series/series-types/pareto.md | 0 .../series/series-types/polar.md | 0 .../series/series-types/radar.md | 0 .../series/series-types/scatter.md | 0 .../series/series-types/vertical.md | 0 .../series/series-types/waterfall.md | 0 .../{chart => charts}/title-subtitle.md | 0 .../{chart => charts}/understanding-chart.md | 0 .../accessibility.md | 0 .../appearance.md | 0 .../{heatmap-chart => heatmap-charts}/axis.md | 0 .../bubble-heatmap.md | 0 .../dimensions.md | 0 .../ej1-api-migration.md | 0 .../events.md | 0 .../getting-started.md | 0 .../how-to/legend-customization.md | 0 .../how-to/tooltip-template.md | 0 .../legend.md | 0 .../palette.md | 0 .../rendering-mode.md | 0 .../selection.md | 0 .../title.md | 0 .../tooltip.md | 0 .../working-with-data.md | 0 .../accessibility.md | 0 .../{sankey => sankey-diagram}/appearance.md | 0 .../customization.md | 0 .../{sankey => sankey-diagram}/events.md | 0 .../getting-started.md | 0 .../{sankey => sankey-diagram}/labels.md | 0 .../{sankey => sankey-diagram}/legend.md | 0 .../{sankey => sankey-diagram}/links.md | 0 .../{sankey => sankey-diagram}/nodes.md | 0 .../orientation-rtl.md | 0 .../print-and-export.md | 0 .../title-and-sub-title.md | 0 .../{sankey => sankey-diagram}/tool-tip.md | 0 .../accessibility.md | 0 .../getting-started.md | 0 .../images/Ai.png | Bin .../images/SSR.png | Bin .../smith-chart-axis.md | 0 .../smith-chart-dimensions.md | 0 .../smith-chart-legend.md | 0 .../smith-chart-marker.md | 0 .../smith-chart-print.md | 0 .../smith-chart-series.md | 0 .../smith-chart-tooltip.md | 0 .../title-subtitle.md | 0 .../working-with-data.md | 0 .../accessibility.md | 0 .../appearance.md | 0 .../axis-customization.md | 0 .../axis-types.md | 0 .../chart-dimensions.md | 0 .../cross-hair.md | 0 .../export-print.md | 0 .../getting-started.md | 0 .../{stock-chart => stock-charts}/gradient.md | 0 .../how-to/live-data.md | 0 .../internationalization.md | 0 .../{stock-chart => stock-charts}/legend.md | 0 .../localization.md | 0 .../period-selector.md | 0 .../range-selector.md | 0 .../series-types.md | 0 .../stock-events.md | 0 .../technical-indicators.md | 0 .../{stock-chart => stock-charts}/tool-tip.md | 0 .../trend-lines.md | 0 .../working-with-data.md | 0 .../treemap/how-to/drilldown-with-label.md | 2 +- .../asp-net-core/3d-chart/accessibility.md | 46 - chart-sdk/asp-net-core/3d-chart/appearance.md | 203 - .../3d-chart/axis-customization.md | 117 - .../asp-net-core/3d-chart/axis-labels.md | 86 - .../asp-net-core/3d-chart/category-axis.md | 70 - .../asp-net-core/3d-chart/chart-dimensions.md | 64 - .../asp-net-core/3d-chart/chart-types/bar.md | 87 - .../3d-chart/chart-types/column.md | 87 - .../3d-chart/chart-types/stack-bar100.md | 58 - .../3d-chart/chart-types/stack-column100.md | 60 - .../3d-chart/chart-types/stacked-bar.md | 75 - .../3d-chart/chart-types/stacked-column.md | 75 - .../asp-net-core/3d-chart/data-labels.md | 187 - .../asp-net-core/3d-chart/date-time-axis.md | 206 - .../asp-net-core/3d-chart/getting-started.md | 100 - chart-sdk/asp-net-core/3d-chart/legend.md | 221 - .../asp-net-core/3d-chart/logarithmic-axis.md | 69 - .../asp-net-core/3d-chart/multiple-panes.md | 76 - .../asp-net-core/3d-chart/numeric-axis.md | 229 - .../asp-net-core/3d-chart/print-export.md | 41 - chart-sdk/asp-net-core/3d-chart/selection.md | 112 - chart-sdk/asp-net-core/3d-chart/tool-tip.md | 136 - .../3d-chart/working-with-data.md | 85 - .../asp-net-core/3d-charts/getting-started.md | 75 +- .../images/three-d-chart.webp | Bin .../accessibility.md | 0 .../advanced-accessibility-configuration.md | 0 .../annotation.md | 0 .../center-label.md | 0 .../chart-print.md | 0 .../data-label.md | 0 .../dynamic-data-update.md | 0 .../ej1-api-migration.md | 0 .../empty-points.md | 0 .../funnel.md | 0 .../getting-started.md | 0 .../gradient.md | 0 .../grouping.md | 0 .../images/accumulation-chart-component.png | Bin .../images/accumulation-chart.png | Bin .../images/accumulationchart.png | Bin .../images/default-template.png | Bin .../nodatatemplate-accumulationchart.png | Bin .../images/nuget-demo.png | Bin ...ie-drill-down-and-display-data-in-grid.gif | Bin .../images/show-percentage-in-pie-chart.png | Bin .../images/solution-explorer-core.png | Bin .../legend.md | 0 .../overview.md | 0 .../pie-dough-nut.md | 0 .../pyramid.md | 0 .../title-and-sub-title.md | 0 .../tool-tip.md | 0 .../accessibility.md | 0 .../axis-customization.md | 0 .../bullet-chart-dimensions.md | 0 .../comparative-bar.md | 0 .../customization.md | 0 .../data-binding.md | 0 .../data-label.md | 0 .../getting-started.md | 0 ...-bullet-chart-actual-bar-customization.png | Bin .../images/blazor-bullet-chart-actual-bar.png | Bin .../blazor-bullet-chart-category-label.png | Bin .../images/blazor-bullet-chart-component.png | Bin ...lazor-bullet-chart-custom-label-format.png | Bin .../blazor-bullet-chart-data-binding.png | Bin .../images/blazor-bullet-chart-data-label.png | Bin .../blazor-bullet-chart-dot-actual-bar.png | Bin .../images/blazor-bullet-chart-grouping.png | Bin ...lazor-bullet-chart-label-customization.png | Bin .../blazor-bullet-chart-label-format.png | Bin .../blazor-bullet-chart-labels-position.png | Bin .../blazor-bullet-chart-legend-alignment.png | Bin ...azor-bullet-chart-legend-color-mapping.png | Bin ...azor-bullet-chart-legend-customization.png | Bin ...bullet-chart-legend-on-custom-position.png | Bin ...or-bullet-chart-legend-on-top-position.png | Bin .../blazor-bullet-chart-legend-paging.png | Bin .../blazor-bullet-chart-legend-size.png | Bin .../images/blazor-bullet-chart-legend.png | Bin .../images/blazor-bullet-chart-margin.png | Bin .../blazor-bullet-chart-opposed-position.png | Bin .../blazor-bullet-chart-orientation.png | Bin ...lazor-bullet-chart-range-customization.png | Bin .../images/blazor-bullet-chart-range.png | Bin .../images/blazor-bullet-chart-ranges.png | Bin ...azor-bullet-chart-rectangle-target-bar.png | Bin ...r-bullet-chart-right-to-left-direction.png | Bin .../images/blazor-bullet-chart-subtitle.png | Bin ...-bullet-chart-target-bar-customization.png | Bin .../images/blazor-bullet-chart-target-bar.png | Bin .../images/blazor-bullet-chart-theme.png | Bin ...r-bullet-chart-tick-line-customization.png | Bin .../blazor-bullet-chart-tick-position.png | Bin ...lazor-bullet-chart-title-customization.png | Bin .../blazor-bullet-chart-title-positions.png | Bin .../images/blazor-bullet-chart-title.png | Bin ...zor-bullet-chart-tooltip-customization.png | Bin .../blazor-bullet-chart-tooltip-template.png | Bin .../images/blazor-bullet-chart-tooltip.png | Bin .../blazor-bullet-chart-with-border.png | Bin .../images/blazor-bullet-chart-with-title.png | Bin .../images/blazor-bulletchart-tooltip.png | Bin .../images/bullet-chart-control.webp | Bin .../images/bullet-chart-with-title.webp | Bin .../images/bullet-chart-with-tooltip.webp | Bin .../images/default-template.png | Bin .../images/nuget-demo.png | Bin .../images/solution-explorer-core.png | Bin .../images/target-color.png | Bin .../images/target-width.png | Bin .../images/value-fill.png | Bin .../{bullet-chart => bullet-charts}/ranges.md | 0 .../{bullet-chart => bullet-charts}/title.md | 0 .../tool-tip.md | 0 .../value-bar.md | 0 .../Chart-Series_images/Chart-Series_img1.png | Bin 22879 -> 0 bytes .../Chart-Series_images/Chart-Series_img2.png | Bin 38140 -> 0 bytes .../Chart-Series_images/Chart-Series_img3.png | Bin 31008 -> 0 bytes .../Chart-Series_images/Chart-Series_img4.png | Bin 25081 -> 0 bytes .../Chart-Title_images/Chart-Title_img1.png | Bin 16915 -> 0 bytes .../Chart-Title_images/Chart-Title_img2.png | Bin 16825 -> 0 bytes .../Chart-Title_images/Chart-Title_img3.png | Bin 17593 -> 0 bytes .../Chart-Title_images/Chart-Title_img4.png | Bin 17600 -> 0 bytes .../Chart-Title_images/Chart-Title_img5.png | Bin 19634 -> 0 bytes .../Chart-Title_images/Chart-Title_img6.png | Bin 18906 -> 0 bytes chart-sdk/asp-net-core/chart/accessibility.md | 88 - .../advanced-accessibility-configuration.md | 160 - .../asp-net-core/chart/axis-customization.md | 135 - chart-sdk/asp-net-core/chart/axis-labels.md | 251 - chart-sdk/asp-net-core/chart/category-axis.md | 79 - .../asp-net-core/chart/chart-annotations.md | 88 - .../asp-net-core/chart/chart-appearance.md | 247 - .../asp-net-core/chart/chart-dimensions.md | 65 - chart-sdk/asp-net-core/chart/chart-print.md | 154 - chart-sdk/asp-net-core/chart/chart-series.md | 52 - .../asp-net-core/chart/chart-types/area.md | 192 - .../asp-net-core/chart/chart-types/bar.md | 270 - .../chart/chart-types/box-whisker.md | 155 - .../asp-net-core/chart/chart-types/bubble.md | 159 - .../asp-net-core/chart/chart-types/candle.md | 151 - .../asp-net-core/chart/chart-types/column.md | 272 - .../chart/chart-types/error-bar.md | 128 - .../chart/chart-types/high-low-open-close.md | 118 - .../chart/chart-types/high-low.md | 150 - .../chart/chart-types/histogram.md | 61 - .../asp-net-core/chart/chart-types/line.md | 200 - .../asp-net-core/chart/chart-types/pareto.md | 186 - .../asp-net-core/chart/chart-types/polar.md | 287 - .../asp-net-core/chart/chart-types/radar.md | 161 - .../chart/chart-types/range-area.md | 172 - .../chart/chart-types/range-column.md | 206 - .../chart/chart-types/range-step-area.md | 199 - .../asp-net-core/chart/chart-types/scatter.md | 159 - .../chart/chart-types/spline-area.md | 169 - .../chart/chart-types/spline-range-area.md | 172 - .../asp-net-core/chart/chart-types/spline.md | 196 - .../chart/chart-types/stack-area100.md | 170 - .../chart/chart-types/stack-bar100.md | 217 - .../chart/chart-types/stack-column100.md | 217 - .../chart/chart-types/stack-line100.md | 184 - .../chart/chart-types/stacked-area.md | 214 - .../chart/chart-types/stacked-bar.md | 270 - .../chart/chart-types/stacked-column.md | 270 - .../chart/chart-types/stacked-line.md | 227 - .../chart/chart-types/stacked-step-area.md | 240 - .../chart/chart-types/step-area.md | 196 - .../chart/chart-types/step-line.md | 209 - .../chart/chart-types/vertical-chart.md | 114 - .../chart/chart-types/waterfall.md | 165 - .../chart/cross-hair-and-track-ball.md | 124 - chart-sdk/asp-net-core/chart/data-editing.md | 26 - chart-sdk/asp-net-core/chart/data-labels.md | 198 - chart-sdk/asp-net-core/chart/data-markers.md | 106 - .../asp-net-core/chart/date-time-axis.md | 211 - .../asp-net-core/chart/dynamic-data-update.md | 83 - .../asp-net-core/chart/ej1-api-migration.md | 552 - .../asp-net-core/chart/getting-started.md | 212 - chart-sdk/asp-net-core/chart/gradient.md | 140 - .../asp-net-core/chart/how-to/add-remove.md | 34 - .../chart/how-to/ajax-chart-call.md | 112 - .../chart/how-to/code-behind-chart.md | 164 - .../chart/how-to/control-chart.md | 197 - .../chart/how-to/data-label-customization.md | 115 - .../asp-net-core/chart/how-to/dotted-line.md | 30 - .../chart/how-to/dynamic-chart.md | 28 - .../chart/how-to/hide-tool-tip.md | 30 - .../chart/how-to/images/chart.png | Bin 6158 -> 0 bytes .../chart/how-to/images/control-charts.png | Bin 77459 -> 0 bytes .../chart/how-to/images/initialview.png | Bin 28441 -> 0 bytes .../chart/how-to/images/step1.png | Bin 18455 -> 0 bytes .../chart/how-to/images/step4.png | Bin 18541 -> 0 bytes .../chart/how-to/images/step5.png | Bin 18482 -> 0 bytes .../chart/how-to/images/step6.png | Bin 23494 -> 0 bytes .../chart/how-to/images/updatechart.png | Bin 17440 -> 0 bytes .../chart/how-to/partial-chart.md | 76 - .../chart/images/axislabel-template.png | Bin 18927 -> 0 bytes .../chart/images/control-template.png | Bin 31301 -> 0 bytes .../chart/images/default-template-mvc.png | Bin 77472 -> 0 bytes .../asp-net-core/chart/images/feature.png | Bin 20077 -> 0 bytes .../chart/images/legend-label.png | Bin 31768 -> 0 bytes .../chart/images/nodatatemplate-chart.png | Bin 81655 -> 0 bytes .../chart/images/scaffold-template.png | Bin 25857 -> 0 bytes .../chart/images/solution-explorer-mvc.png | Bin 16685 -> 0 bytes .../chart/images/ui-scaffolder.png | Bin 57487 -> 0 bytes .../chart/internationalization.md | 39 - .../asp-net-core/chart/lastvaluelabel.md | 39 - chart-sdk/asp-net-core/chart/legend.md | 291 - chart-sdk/asp-net-core/chart/localization.md | 61 - .../asp-net-core/chart/logarithmic-axis.md | 75 - .../asp-net-core/chart/multiple-panes.md | 78 - chart-sdk/asp-net-core/chart/numeric-axis.md | 234 - chart-sdk/asp-net-core/chart/overview.md | 37 - .../asp-net-core/chart/render-methods.md | 33 - chart-sdk/asp-net-core/chart/selection.md | 155 - chart-sdk/asp-net-core/chart/series-label.md | 51 - chart-sdk/asp-net-core/chart/strip-line.md | 155 - .../asp-net-core/chart/synchronized-chart.md | 82 - .../chart/technical-indicators.md | 259 - chart-sdk/asp-net-core/chart/tool-tip.md | 239 - chart-sdk/asp-net-core/chart/trend-lines.md | 179 - .../asp-net-core/chart/working-with-data.md | 204 - chart-sdk/asp-net-core/chart/zooming.md | 160 - .../asp-net-core/charts/getting-started.md | 159 +- .../how-to/images/chart-control.webp | Bin .../how-to/images/chart-data.webp | Bin .../circular-chart-3d/data-label.md | 188 - .../circular-chart-3d/empty-points.md | 39 - .../circular-chart-3d/getting-started.md | 136 - .../images/circular-chart-3d.png | Bin 39087 -> 0 bytes .../asp-net-core/circular-chart-3d/legend.md | 172 - .../circular-chart-3d/pie-donut-chart.md | 102 - .../circular-chart-3d/print-and-export.md | 42 - .../circular-chart-3d/title-and-subtitle.md | 71 - .../asp-net-core/circular-chart-3d/tooltip.md | 169 - .../accessibility.md | 0 .../appearance.md | 0 .../{heatmap-chart => heatmap-charts}/axis.md | 0 .../bubble-heatmap.md | 0 .../dimensions.md | 0 .../ej1-api-migration.md | 0 .../events.md | 0 .../getting-started.md | 0 .../how-to/legend-label-customization.md | 0 .../how-to/tooltip-template.md | 0 ...-label-template-with-JSON-cell-binding.png | Bin ...label-template-with-JSON-table-binding.png | Bin ...label-template-with-array-cell-binding.png | Bin ...abel-template-with-array-table-binding.png | Bin .../heatmap-with-bubble-color-type.png | Bin .../heatmap-with-bubble-sector-type.png | Bin .../heatmap-with-bubble-size-type.png | Bin .../heatmap-with-size-color-cell.png | Bin .../heatmap-with-size-color-json-cell.png | Bin .../heatmap-with-size-color-json-table.png | Bin .../heatmap-with-size-color-table.png | Bin .../images/default-template-mvc.png | Bin .../images/default-template.png | Bin .../heatmap-chart-axis-labels-text-style.png | Bin ...map-chart-axis-labels-with-line-breaks.png | Bin .../heatmap-chart-label-intersect-action.png | Bin .../heatmap-chart-multi-level-labels.png | Bin .../images/heatmap-chart-rotating-labels.png | Bin .../images/heatmap-with-axis-labels.webp | Bin .../images/heatmap-with-data.webp | Bin .../images/heatmap-with-datalabel.webp | Bin .../images/heatmap-with-legend.webp | Bin .../images/heatmap-with-palette.webp | Bin .../images/heatmap-with-title.webp | Bin .../images/heatmap-with-tooltip.webp | Bin .../images/nuget-demo-core.png | Bin .../images/nuget-demo-mvc.png | Bin .../images/nuget-demo.png | Bin .../heatmap-chart-clear-selection.gif | Bin .../selection/heatmap-chart-selection.gif | Bin .../heatmap-chart-single-cell-selection.gif | Bin .../images/solution-explorer-core.png | Bin .../images/solution-explorer-mvc.png | Bin .../legend.md | 0 .../overview.md | 0 .../palette.md | 0 .../rendering-mode.md | 0 .../selection.md | 0 .../tooltip.md | 0 .../working-with-data.md | 0 .../range-selector/accessibility.md | 68 - .../asp-net-core/range-selector/custom.md | 112 - chart-sdk/asp-net-core/range-selector/data.md | 296 - .../range-selector/ej1-api-migration.md | 129 - .../asp-net-core/range-selector/export.md | 45 - .../range-selector/getting-started.md | 125 - .../asp-net-core/range-selector/grid-tick.md | 46 - .../images/custom/appearance.png | Bin 6891 -> 0 bytes .../range-selector/images/custom/border.png | Bin 11630 -> 0 bytes .../range-selector/images/custom/thumb.png | Bin 9024 -> 0 bytes .../images/data/custom-format.png | Bin 8055 -> 0 bytes .../images/data/datetime-format.png | Bin 12184 -> 0 bytes .../images/data/datetime-interval.png | Bin 20358 -> 0 bytes .../range-selector/images/data/datetime.png | Bin 17262 -> 0 bytes .../range-selector/images/data/double.png | Bin 8071 -> 0 bytes .../range-selector/images/data/format.png | Bin 8338 -> 0 bytes .../range-selector/images/data/log-base.png | Bin 17205 -> 0 bytes .../range-selector/images/data/log-range.png | Bin 20623 -> 0 bytes .../range-selector/images/data/log.png | Bin 16360 -> 0 bytes .../images/data/numeric-range.png | Bin 10440 -> 0 bytes .../range-selector/images/grid-tick/grid.png | Bin 10600 -> 0 bytes .../range-selector/images/grid-tick/tick.png | Bin 8374 -> 0 bytes .../range-selector/images/labels/custom.png | Bin 7438 -> 0 bytes .../range-selector/images/labels/group.png | Bin 10586 -> 0 bytes .../range-selector/images/labels/multi.png | Bin 8130 -> 0 bytes .../range-selector/images/labels/position.png | Bin 8535 -> 0 bytes .../range-selector/images/labels/smart.png | Bin 15223 -> 0 bytes .../range-selector/images/light-weight.png | Bin 5449 -> 0 bytes .../images/period-selector/height.png | Bin 22707 -> 0 bytes .../images/period-selector/periods.png | Bin 17375 -> 0 bytes .../images/period-selector/position.png | Bin 20479 -> 0 bytes .../range-selector/images/range.png | Bin 10840 -> 0 bytes .../images/rangenavigator-control.png | Bin 1801 -> 0 bytes .../asp-net-core/range-selector/images/rn.png | Bin 7791 -> 0 bytes .../range-selector/images/rtl.png | Bin 11926 -> 0 bytes .../images/series-type/area.png | Bin 10157 -> 0 bytes .../images/series-type/column.png | Bin 11859 -> 0 bytes .../images/series-type/line.png | Bin 12230 -> 0 bytes .../images/series-type/spline.png | Bin 17096 -> 0 bytes .../images/series-type/splinearea.png | Bin 13780 -> 0 bytes .../images/series-type/stepline.png | Bin 7368 -> 0 bytes .../images/tooltip/tooltip-custom.png | Bin 11222 -> 0 bytes .../images/tooltip/tooltip-format.png | Bin 11410 -> 0 bytes .../range-selector/images/tooltip/tooltip.png | Bin 11209 -> 0 bytes .../asp-net-core/range-selector/labels.md | 107 - .../range-selector/light-weight.md | 31 - .../asp-net-core/range-selector/overview.md | 22 - .../range-selector/period-selector.md | 94 - .../asp-net-core/range-selector/r-t-l.md | 27 - .../asp-net-core/range-selector/range.md | 32 - .../range-selector/series-type.md | 119 - .../asp-net-core/range-selector/tool-tip.md | 116 - .../sankey-diagram/getting-started.md | 83 +- .../asp-net-core/sankey/accessibility.md | 78 - chart-sdk/asp-net-core/sankey/appearance.md | 128 - .../asp-net-core/sankey/customization.md | 263 - chart-sdk/asp-net-core/sankey/events.md | 177 - .../asp-net-core/sankey/getting-started.md | 115 - chart-sdk/asp-net-core/sankey/labels.md | 104 - chart-sdk/asp-net-core/sankey/legend.md | 116 - chart-sdk/asp-net-core/sankey/links.md | 114 - chart-sdk/asp-net-core/sankey/nodes.md | 114 - .../asp-net-core/sankey/orientation-rtl.md | 94 - .../asp-net-core/sankey/print-and-export.md | 114 - .../sankey/title-and-sub-title.md | 98 - chart-sdk/asp-net-core/sankey/tool-tip.md | 191 - .../smith-chart/getting-started.md | 186 - .../smith-chart/smithchart-tooltip.md | 24 - .../accessibility.md | 0 .../getting-started.md | 0 .../images/default-template.png | Bin .../images/nuget-demo.png | Bin .../images/smithchart-control.webp | Bin .../images/smithchart-series.webp | Bin .../images/smithchart-with-datalabel.webp | Bin .../images/smithchart-with-marker.webp | Bin .../images/smithchart-with-title.webp | Bin .../images/smithchart-with-tooltip.webp | Bin .../images/solution-Explorer.png | Bin .../{smith-chart => smith-charts}/overview.md | 0 .../smithchart-axis.md | 0 .../smithchart-dimensions.md | 0 .../smithchart-legend.md | 0 .../smithchart-marker.md | 0 .../smithchart-print.md | 0 .../smithchart-series.md | 0 .../smithchart-tooltip.md | 0 .../title-subtitle.md | 0 .../working-with-data.md | 0 .../asp-net-core/smithchart/accessibility.md | 71 - chart-sdk/asp-net-core/smithchart/overview.md | 22 - .../smithchart/smithchart-axis.md | 77 - .../smithchart/smithchart-dimensions.md | 70 - .../smithchart/smithchart-legend.md | 120 - .../smithchart/smithchart-marker.md | 87 - .../smithchart/smithchart-print.md | 41 - .../smithchart/smithchart-series.md | 49 - .../asp-net-core/smithchart/title-subtitle.md | 42 - .../smithchart/working-with-data.md | 28 - .../sparkline-charts/accessibility.md | 68 - .../sparkline-charts/appearance.md | 79 - .../sparkline-charts/appearance.md.bak | 1491 --- .../sparkline-charts/axis-customization.md | 111 - .../sparkline-charts/data-labels.md | 64 - .../sparkline-charts/ej1-api-migration.md | 167 - .../sparkline-charts/getting-started.md | 211 - .../images/area-sparkline.png | Bin 2280 -> 0 bytes .../images/solution-Explorer.png | Bin 40000 -> 0 bytes .../images/sparkline-control.png | Bin 3214 -> 0 bytes .../images/sparkline-with-tooltip.png | Bin 4858 -> 0 bytes .../sparkline-charts/images/sparkline.png | Bin 1333 -> 0 bytes .../sparkline-charts/localization.md | 28 - .../asp-net-core/sparkline-charts/marker.md | 65 - .../asp-net-core/sparkline-charts/overview.md | 23 - .../sparkline-charts/range-band.md | 41 - .../sparkline-charts/sparkline-dimensions.md | 61 - .../sparkline-charts/sparkline-types.md | 93 - .../special-points-customization.md | 41 - .../sparkline-charts/user-interaction.md | 117 - .../accessibility.md | 0 .../appearance.md | 0 .../axis-customization.md | 0 .../axis-types.md | 0 .../chart-dimensions.md | 0 .../cross-hair.md | 0 .../export-print.md | 0 .../getting-started.md | 0 .../{stock-chart => stock-charts}/gradient.md | 0 .../images/nodatatemplate-stockchart.png | Bin .../images/stockchart-control.webp | Bin .../images/stockchart.webp | Bin .../{stock-chart => stock-charts}/legend.md | 0 .../period-selector.md | 0 .../range-selector.md | 0 .../series-types.md | 0 .../stock-events.md | 0 .../technical-indicators.md | 0 .../{stock-chart => stock-charts}/tool-tip.md | 0 .../trend-lines.md | 0 .../working-with-data.md | 0 .../asp-net-mvc/3d-chart/accessibility.md | 46 - chart-sdk/asp-net-mvc/3d-chart/appearance.md | 203 - .../3d-chart/axis-customization.md | 117 - chart-sdk/asp-net-mvc/3d-chart/axis-labels.md | 86 - .../asp-net-mvc/3d-chart/category-axis.md | 69 - .../asp-net-mvc/3d-chart/chart-dimensions.md | 64 - .../asp-net-mvc/3d-chart/chart-types/bar.md | 88 - .../3d-chart/chart-types/column.md | 96 - .../3d-chart/chart-types/stack-bar100.md | 60 - .../3d-chart/chart-types/stack-column100.md | 60 - .../3d-chart/chart-types/stacked-bar.md | 75 - .../3d-chart/chart-types/stacked-column.md | 75 - chart-sdk/asp-net-mvc/3d-chart/data-labels.md | 187 - .../asp-net-mvc/3d-chart/date-time-axis.md | 206 - .../asp-net-mvc/3d-chart/getting-started.md | 120 - .../3d-chart/images/three-d-chart.png | Bin 31762 -> 0 bytes chart-sdk/asp-net-mvc/3d-chart/legend.md | 221 - .../asp-net-mvc/3d-chart/logarithmic-axis.md | 69 - .../asp-net-mvc/3d-chart/multiple-panes.md | 76 - .../asp-net-mvc/3d-chart/numeric-axis.md | 231 - .../asp-net-mvc/3d-chart/print-export.md | 41 - chart-sdk/asp-net-mvc/3d-chart/selection.md | 112 - chart-sdk/asp-net-mvc/3d-chart/tool-tip.md | 138 - .../asp-net-mvc/3d-chart/working-with-data.md | 85 - .../asp-net-mvc/3d-charts/getting-started.md | 68 +- .../3d-circular-charts/getting-started.md | 128 +- .../images/default-template.png | Bin 33800 -> 0 bytes .../accumulation-chart/images/nuget-demo.png | Bin 70328 -> 0 bytes .../accessibility.md | 0 .../advanced-accessibility-configuration.md | 0 .../annotation.md | 0 .../center-label.md | 0 .../chart-print.md | 0 .../data-label.md | 0 .../dynamic-data-update.md | 0 .../ej1-api-migration.md | 0 .../empty-points.md | 0 .../funnel.md | 0 .../getting-started.md | 0 .../gradient.md | 0 .../grouping.md | 0 .../images/accumulation-chart-component.png | Bin .../images/accumulation-chart.png | Bin .../images/accumulationchart.png | Bin .../images/default-template.png | Bin .../nodatatemplate-accumulationchart.png | Bin .../images/nuget-demo.png | Bin ...ie-drill-down-and-display-data-in-grid.gif | Bin .../images/show-percentage-in-pie-chart.png | Bin .../images/solution-explorer-core.png | Bin .../legend.md | 0 .../overview.md | 0 .../pie-dough-nut.md | 0 .../pyramid.md | 0 .../title-and-sub-title.md | 0 .../tool-tip.md | 0 .../bullet-chart/images/default-template.png | Bin 33800 -> 0 bytes .../bullet-chart/images/nuget-demo.png | Bin 70328 -> 0 bytes .../images/solution-explorer-core.png | Bin 40000 -> 0 bytes .../accessibility.md | 0 .../axis-customization.md | 0 .../bullet-chart-dimensions.md | 0 .../comparative-bar.md | 0 .../customization.md | 0 .../data-binding.md | 0 .../data-label.md | 0 .../getting-started.md | 0 ...-bullet-chart-actual-bar-customization.png | Bin .../images/blazor-bullet-chart-actual-bar.png | Bin .../blazor-bullet-chart-category-label.png | Bin .../images/blazor-bullet-chart-component.png | Bin ...lazor-bullet-chart-custom-label-format.png | Bin .../blazor-bullet-chart-data-binding.png | Bin .../images/blazor-bullet-chart-data-label.png | Bin .../blazor-bullet-chart-dot-actual-bar.png | Bin .../images/blazor-bullet-chart-grouping.png | Bin ...lazor-bullet-chart-label-customization.png | Bin .../blazor-bullet-chart-label-format.png | Bin .../blazor-bullet-chart-labels-position.png | Bin .../blazor-bullet-chart-legend-alignment.png | Bin ...azor-bullet-chart-legend-color-mapping.png | Bin ...azor-bullet-chart-legend-customization.png | Bin ...bullet-chart-legend-on-custom-position.png | Bin ...or-bullet-chart-legend-on-top-position.png | Bin .../blazor-bullet-chart-legend-paging.png | Bin .../blazor-bullet-chart-legend-size.png | Bin .../images/blazor-bullet-chart-legend.png | Bin .../images/blazor-bullet-chart-margin.png | Bin .../blazor-bullet-chart-opposed-position.png | Bin .../blazor-bullet-chart-orientation.png | Bin ...lazor-bullet-chart-range-customization.png | Bin .../images/blazor-bullet-chart-range.png | Bin .../images/blazor-bullet-chart-ranges.png | Bin ...azor-bullet-chart-rectangle-target-bar.png | Bin ...r-bullet-chart-right-to-left-direction.png | Bin .../images/blazor-bullet-chart-subtitle.png | Bin ...-bullet-chart-target-bar-customization.png | Bin .../images/blazor-bullet-chart-target-bar.png | Bin .../images/blazor-bullet-chart-theme.png | Bin ...r-bullet-chart-tick-line-customization.png | Bin .../blazor-bullet-chart-tick-position.png | Bin ...lazor-bullet-chart-title-customization.png | Bin .../blazor-bullet-chart-title-positions.png | Bin .../images/blazor-bullet-chart-title.png | Bin ...zor-bullet-chart-tooltip-customization.png | Bin .../blazor-bullet-chart-tooltip-template.png | Bin .../images/blazor-bullet-chart-tooltip.png | Bin .../blazor-bullet-chart-with-border.png | Bin .../images/blazor-bullet-chart-with-title.png | Bin .../images/blazor-bulletchart-tooltip.png | Bin .../images/bullet-chart-control.png | Bin .../images/bullet-chart-with-title.png | Bin .../images/bullet-chart-with-tooltip.png | Bin .../images/default-template.png | Bin .../bullet-charts}/images/nuget-demo.png | Bin .../images/solution-explorer-core.png | Bin .../images/target-color.png | Bin .../images/target-width.png | Bin .../images/value-fill.png | Bin .../{bullet-chart => bullet-charts}/ranges.md | 0 .../{bullet-chart => bullet-charts}/title.md | 0 .../tool-tip.md | 0 .../value-bar.md | 0 .../Chart-Series_images/Chart-Series_img1.png | Bin 22879 -> 0 bytes .../Chart-Series_images/Chart-Series_img2.png | Bin 38140 -> 0 bytes .../Chart-Series_images/Chart-Series_img3.png | Bin 31008 -> 0 bytes .../Chart-Series_images/Chart-Series_img4.png | Bin 25081 -> 0 bytes .../Chart-Title_images/Chart-Title_img1.png | Bin 16915 -> 0 bytes .../Chart-Title_images/Chart-Title_img2.png | Bin 16825 -> 0 bytes .../Chart-Title_images/Chart-Title_img3.png | Bin 17593 -> 0 bytes .../Chart-Title_images/Chart-Title_img4.png | Bin 17600 -> 0 bytes .../Chart-Title_images/Chart-Title_img5.png | Bin 19634 -> 0 bytes .../Chart-Title_images/Chart-Title_img6.png | Bin 18906 -> 0 bytes chart-sdk/asp-net-mvc/chart/accessibility.md | 88 - .../advanced-accessibility-configuration.md | 160 - .../asp-net-mvc/chart/axis-customization.md | 136 - chart-sdk/asp-net-mvc/chart/axis-labels.md | 259 - chart-sdk/asp-net-mvc/chart/category-axis.md | 75 - .../asp-net-mvc/chart/chart-annotations.md | 88 - .../asp-net-mvc/chart/chart-appearance.md | 249 - .../asp-net-mvc/chart/chart-dimensions.md | 65 - chart-sdk/asp-net-mvc/chart/chart-print.md | 145 - chart-sdk/asp-net-mvc/chart/chart-series.md | 57 - .../asp-net-mvc/chart/chart-types/area.md | 191 - .../asp-net-mvc/chart/chart-types/bar.md | 271 - .../chart/chart-types/box-whisker.md | 154 - .../asp-net-mvc/chart/chart-types/bubble.md | 158 - .../asp-net-mvc/chart/chart-types/candle.md | 146 - .../asp-net-mvc/chart/chart-types/column.md | 271 - .../chart/chart-types/error-bar.md | 127 - .../chart/chart-types/high-low-open-close.md | 117 - .../asp-net-mvc/chart/chart-types/high-low.md | 146 - .../chart/chart-types/histogram.md | 60 - .../asp-net-mvc/chart/chart-types/line.md | 200 - .../asp-net-mvc/chart/chart-types/pareto.md | 184 - .../asp-net-mvc/chart/chart-types/polar.md | 283 - .../asp-net-mvc/chart/chart-types/radar.md | 157 - .../chart/chart-types/range-area.md | 172 - .../chart/chart-types/range-column.md | 206 - .../chart/chart-types/range-step-area.md | 198 - .../asp-net-mvc/chart/chart-types/scatter.md | 158 - .../chart/chart-types/spline-area.md | 170 - .../chart/chart-types/spline-range-area.md | 173 - .../asp-net-mvc/chart/chart-types/spline.md | 196 - .../chart/chart-types/stack-area100.md | 171 - .../chart/chart-types/stack-bar100.md | 217 - .../chart/chart-types/stack-column100.md | 217 - .../chart/chart-types/stack-line100.md | 183 - .../chart/chart-types/stacked-area.md | 214 - .../chart/chart-types/stacked-bar.md | 270 - .../chart/chart-types/stacked-column.md | 270 - .../chart/chart-types/stacked-line.md | 227 - .../chart/chart-types/stacked-step-area.md | 240 - .../chart/chart-types/step-area.md | 196 - .../chart/chart-types/step-line.md | 209 - .../chart/chart-types/vertical-chart.md | 115 - .../chart/chart-types/waterfall.md | 165 - .../chart/cross-hair-and-track-ball.md | 125 - chart-sdk/asp-net-mvc/chart/data-editing.md | 26 - chart-sdk/asp-net-mvc/chart/data-labels.md | 198 - chart-sdk/asp-net-mvc/chart/data-markers.md | 106 - chart-sdk/asp-net-mvc/chart/date-time-axis.md | 209 - .../asp-net-mvc/chart/dynamic-data-update.md | 83 - .../asp-net-mvc/chart/ej1-api-migration.md | 10115 ---------------- .../asp-net-mvc/chart/getting-started.md | 169 - chart-sdk/asp-net-mvc/chart/gradient.md | 140 - .../asp-net-mvc/chart/how-to/add-remove.md | 34 - .../chart/how-to/ajax-chart-call.md | 112 - .../chart/how-to/code-behind-chart.md | 164 - .../asp-net-mvc/chart/how-to/control-chart.md | 197 - .../chart/how-to/data-label-customization.md | 115 - .../asp-net-mvc/chart/how-to/dotted-line.md | 30 - .../asp-net-mvc/chart/how-to/dynamic-chart.md | 28 - .../asp-net-mvc/chart/how-to/hide-tool-tip.md | 30 - .../chart/how-to/images/chart-data.png | Bin 22372 -> 0 bytes .../asp-net-mvc/chart/how-to/images/chart.png | Bin 6158 -> 0 bytes .../chart/how-to/images/control-charts.png | Bin 77459 -> 0 bytes .../chart/how-to/images/default-template.png | Bin 33800 -> 0 bytes .../chart/how-to/images/initialview.png | Bin 28441 -> 0 bytes .../chart/how-to/images/nuget-demo.png | Bin 70328 -> 0 bytes .../how-to/images/solution-explorer-core.png | Bin 40000 -> 0 bytes .../asp-net-mvc/chart/how-to/images/step1.png | Bin 18455 -> 0 bytes .../asp-net-mvc/chart/how-to/images/step4.png | Bin 18541 -> 0 bytes .../asp-net-mvc/chart/how-to/images/step5.png | Bin 18482 -> 0 bytes .../asp-net-mvc/chart/how-to/images/step6.png | Bin 23494 -> 0 bytes .../chart/how-to/images/updatechart.png | Bin 17440 -> 0 bytes .../asp-net-mvc/chart/how-to/partial-chart.md | 76 - .../chart/images/axislabel-template.png | Bin 18927 -> 0 bytes .../chart/images/control-template.png | Bin 31301 -> 0 bytes .../chart/images/default-template-mvc.png | Bin 77472 -> 0 bytes .../asp-net-mvc/chart/images/feature.png | Bin 20077 -> 0 bytes .../asp-net-mvc/chart/images/legend-label.png | Bin 31768 -> 0 bytes .../chart/images/nodatatemplate-chart.png | Bin 81655 -> 0 bytes .../chart/images/scaffold-template.png | Bin 25857 -> 0 bytes .../chart/images/solution-explorer-mvc.png | Bin 16685 -> 0 bytes .../chart/images/ui-scaffolder.png | Bin 57487 -> 0 bytes .../asp-net-mvc/chart/internationalization.md | 39 - chart-sdk/asp-net-mvc/chart/lastvaluelabel.md | 39 - chart-sdk/asp-net-mvc/chart/legend.md | 292 - chart-sdk/asp-net-mvc/chart/localization.md | 61 - .../asp-net-mvc/chart/logarithmic-axis.md | 71 - chart-sdk/asp-net-mvc/chart/multiple-panes.md | 78 - chart-sdk/asp-net-mvc/chart/numeric-axis.md | 234 - chart-sdk/asp-net-mvc/chart/overview.md | 37 - chart-sdk/asp-net-mvc/chart/render-methods.md | 33 - chart-sdk/asp-net-mvc/chart/scaffolding.md | 62 - chart-sdk/asp-net-mvc/chart/selection.md | 155 - chart-sdk/asp-net-mvc/chart/series-label.md | 51 - chart-sdk/asp-net-mvc/chart/strip-line.md | 155 - .../asp-net-mvc/chart/synchronized-chart.md | 82 - .../asp-net-mvc/chart/technical-indicators.md | 260 - chart-sdk/asp-net-mvc/chart/tool-tip.md | 249 - chart-sdk/asp-net-mvc/chart/trend-lines.md | 192 - .../asp-net-mvc/chart/working-with-data.md | 204 - chart-sdk/asp-net-mvc/chart/zooming.md | 160 - .../asp-net-mvc/charts/getting-started.md | 46 +- .../circular-chart-3d/data-label.md | 188 - .../circular-chart-3d/empty-points.md | 39 - .../circular-chart-3d/getting-started.md | 155 - .../images/circular-chart-3d.png | Bin 39087 -> 0 bytes .../asp-net-mvc/circular-chart-3d/legend.md | 173 - .../circular-chart-3d/pie-donut-chart.md | 102 - .../circular-chart-3d/print-and-export.md | 42 - .../circular-chart-3d/title-and-subtitle.md | 71 - .../asp-net-mvc/circular-chart-3d/tooltip.md | 167 - .../heatmap-chart/images/default-template.png | Bin 33800 -> 0 bytes .../heatmap-chart/images/nuget-demo.png | Bin 70328 -> 0 bytes .../images/solution-explorer-core.png | Bin 40000 -> 0 bytes .../accessibility.md | 0 .../appearance.md | 0 .../{heatmap-chart => heatmap-charts}/axis.md | 0 .../bubble-heatmap.md | 0 .../dimensions.md | 0 .../ej1-api-migration.md | 0 .../events.md | 0 .../getting-started.md | 0 .../how-to/legend-label-customization.md | 0 .../how-to/tooltip-template.md | 0 ...-label-template-with-JSON-cell-binding.png | Bin ...label-template-with-JSON-table-binding.png | Bin ...label-template-with-array-cell-binding.png | Bin ...abel-template-with-array-table-binding.png | Bin .../heatmap-with-bubble-color-type.png | Bin .../heatmap-with-bubble-sector-type.png | Bin .../heatmap-with-bubble-size-type.png | Bin .../heatmap-with-size-color-cell.png | Bin .../heatmap-with-size-color-json-cell.png | Bin .../heatmap-with-size-color-json-table.png | Bin .../heatmap-with-size-color-table.png | Bin .../images/default-template-mvc.png | Bin .../images/default-template.png | Bin .../heatmap-chart-axis-labels-text-style.png | Bin ...map-chart-axis-labels-with-line-breaks.png | Bin .../heatmap-chart-label-intersect-action.png | Bin .../heatmap-chart-multi-level-labels.png | Bin .../images/heatmap-chart-rotating-labels.png | Bin .../images/heatmap-with-axis-labels.png | Bin .../images/heatmap-with-data.png | Bin .../images/heatmap-with-datalabel.png | Bin .../images/heatmap-with-legend.png | Bin .../images/heatmap-with-palette.png | Bin .../images/heatmap-with-title.png | Bin .../images/heatmap-with-tooltip.png | Bin .../images/nuget-demo-core.png | Bin .../images/nuget-demo-mvc.png | Bin .../heatmap-charts}/images/nuget-demo.png | Bin .../heatmap-chart-clear-selection.gif | Bin .../selection/heatmap-chart-selection.gif | Bin .../heatmap-chart-single-cell-selection.gif | Bin .../images/solution-explorer-core.png | Bin .../images/solution-explorer-mvc.png | Bin .../legend.md | 0 .../overview.md | 0 .../palette.md | 0 .../rendering-mode.md | 0 .../selection.md | 0 .../tooltip.md | 0 .../working-with-data.md | 0 .../range-selector/accessibility.md | 68 - .../asp-net-mvc/range-selector/custom.md | 113 - chart-sdk/asp-net-mvc/range-selector/data.md | 298 - .../range-selector/ej1-api-migration.md | 1638 --- .../asp-net-mvc/range-selector/export.md | 45 - .../range-selector/getting-started.md | 137 - .../asp-net-mvc/range-selector/grid-tick.md | 46 - .../images/custom/appearance.png | Bin 6891 -> 0 bytes .../range-selector/images/custom/border.png | Bin 11630 -> 0 bytes .../range-selector/images/custom/thumb.png | Bin 9024 -> 0 bytes .../images/data/custom-format.png | Bin 8055 -> 0 bytes .../images/data/datetime-format.png | Bin 12184 -> 0 bytes .../images/data/datetime-interval.png | Bin 20358 -> 0 bytes .../range-selector/images/data/datetime.png | Bin 17262 -> 0 bytes .../range-selector/images/data/double.png | Bin 8071 -> 0 bytes .../range-selector/images/data/format.png | Bin 8338 -> 0 bytes .../range-selector/images/data/log-base.png | Bin 17205 -> 0 bytes .../range-selector/images/data/log-range.png | Bin 20623 -> 0 bytes .../range-selector/images/data/log.png | Bin 16360 -> 0 bytes .../images/data/numeric-range.png | Bin 10440 -> 0 bytes .../images/default-template.png | Bin 33800 -> 0 bytes .../range-selector/images/grid-tick/grid.png | Bin 10600 -> 0 bytes .../range-selector/images/grid-tick/tick.png | Bin 8374 -> 0 bytes .../range-selector/images/labels/custom.png | Bin 7438 -> 0 bytes .../range-selector/images/labels/group.png | Bin 10586 -> 0 bytes .../range-selector/images/labels/multi.png | Bin 8130 -> 0 bytes .../range-selector/images/labels/position.png | Bin 8535 -> 0 bytes .../range-selector/images/labels/smart.png | Bin 15223 -> 0 bytes .../range-selector/images/light-weight.png | Bin 5449 -> 0 bytes .../range-selector/images/nuget-demo.png | Bin 70328 -> 0 bytes .../images/period-selector/height.png | Bin 22707 -> 0 bytes .../images/period-selector/periods.png | Bin 17375 -> 0 bytes .../images/period-selector/position.png | Bin 20479 -> 0 bytes .../range-selector/images/range.png | Bin 10840 -> 0 bytes .../images/rangenavigator-control.png | Bin 1801 -> 0 bytes .../asp-net-mvc/range-selector/images/rn.png | Bin 7791 -> 0 bytes .../asp-net-mvc/range-selector/images/rtl.png | Bin 11926 -> 0 bytes .../images/series-type/area.png | Bin 10157 -> 0 bytes .../images/series-type/column.png | Bin 11859 -> 0 bytes .../images/series-type/line.png | Bin 12230 -> 0 bytes .../images/series-type/spline.png | Bin 17096 -> 0 bytes .../images/series-type/splinearea.png | Bin 13780 -> 0 bytes .../images/series-type/stepline.png | Bin 7368 -> 0 bytes .../images/solution-explorer-core.png | Bin 40000 -> 0 bytes .../images/tooltip/tooltip-custom.png | Bin 11222 -> 0 bytes .../images/tooltip/tooltip-format.png | Bin 11410 -> 0 bytes .../range-selector/images/tooltip/tooltip.png | Bin 11209 -> 0 bytes .../asp-net-mvc/range-selector/labels.md | 107 - .../range-selector/light-weight.md | 31 - .../asp-net-mvc/range-selector/overview.md | 22 - .../range-selector/period-selector.md | 94 - chart-sdk/asp-net-mvc/range-selector/r-t-l.md | 27 - chart-sdk/asp-net-mvc/range-selector/range.md | 31 - .../asp-net-mvc/range-selector/series-type.md | 120 - .../asp-net-mvc/range-selector/tool-tip.md | 116 - .../sankey-diagram/getting-started.md | 91 +- chart-sdk/asp-net-mvc/sankey/accessibility.md | 78 - chart-sdk/asp-net-mvc/sankey/appearance.md | 126 - chart-sdk/asp-net-mvc/sankey/customization.md | 263 - chart-sdk/asp-net-mvc/sankey/events.md | 176 - .../asp-net-mvc/sankey/getting-started.md | 142 - chart-sdk/asp-net-mvc/sankey/labels.md | 104 - chart-sdk/asp-net-mvc/sankey/legend.md | 116 - chart-sdk/asp-net-mvc/sankey/links.md | 114 - chart-sdk/asp-net-mvc/sankey/nodes.md | 114 - .../asp-net-mvc/sankey/orientation-rtl.md | 94 - .../asp-net-mvc/sankey/print-and-export.md | 114 - .../asp-net-mvc/sankey/title-and-sub-title.md | 98 - chart-sdk/asp-net-mvc/sankey/tool-tip.md | 191 - .../smith-chart/getting-started.md | 100 - .../smith-chart/images/default-template.png | Bin 33800 -> 0 bytes .../smith-chart/images/nuget-demo.png | Bin 70328 -> 0 bytes .../smith-chart/images/smithchart-control.png | Bin 40108 -> 0 bytes .../smith-chart/images/smithchart-series.png | Bin 43903 -> 0 bytes .../images/smithchart-with-datalabel.png | Bin 47717 -> 0 bytes .../images/smithchart-with-marker.png | Bin 40506 -> 0 bytes .../images/smithchart-with-title.png | Bin 47200 -> 0 bytes .../images/smithchart-with-tooltip.png | Bin 45707 -> 0 bytes .../smith-chart/images/solution-Explorer.png | Bin 40000 -> 0 bytes .../accessibility.md | 0 .../getting-started.md | 0 .../smith-charts}/images/default-template.png | Bin .../smith-charts}/images/nuget-demo.png | Bin .../images/smithchart-control.png | Bin .../images/smithchart-series.png | Bin .../images/smithchart-with-datalabel.png | Bin .../images/smithchart-with-marker.png | Bin .../images/smithchart-with-title.png | Bin .../images/smithchart-with-tooltip.png | Bin .../images/solution-Explorer.png | Bin .../{smith-chart => smith-charts}/overview.md | 0 .../smithchart-axis.md | 0 .../smithchart-dimensions.md | 0 .../smithchart-legend.md | 0 .../smithchart-marker.md | 0 .../smithchart-print.md | 0 .../smithchart-series.md | 0 .../smithchart-tooltip.md | 0 .../title-subtitle.md | 0 .../working-with-data.md | 0 .../asp-net-mvc/smithchart/accessibility.md | 71 - .../smithchart/images/default-template.png | Bin 33800 -> 0 bytes .../smithchart/images/nuget-demo.png | Bin 70328 -> 0 bytes .../smithchart/images/smithchart-control.png | Bin 40108 -> 0 bytes .../smithchart/images/smithchart-series.png | Bin 43903 -> 0 bytes .../images/smithchart-with-datalabel.png | Bin 47717 -> 0 bytes .../images/smithchart-with-marker.png | Bin 40506 -> 0 bytes .../images/smithchart-with-title.png | Bin 47200 -> 0 bytes .../images/smithchart-with-tooltip.png | Bin 45707 -> 0 bytes .../smithchart/images/solution-Explorer.png | Bin 40000 -> 0 bytes chart-sdk/asp-net-mvc/smithchart/overview.md | 22 - .../asp-net-mvc/smithchart/smithchart-axis.md | 76 - .../smithchart/smithchart-dimensions.md | 69 - .../smithchart/smithchart-legend.md | 120 - .../smithchart/smithchart-marker.md | 87 - .../smithchart/smithchart-print.md | 41 - .../smithchart/smithchart-series.md | 49 - .../smithchart/smithchart-tooltip.md | 24 - .../asp-net-mvc/smithchart/title-subtitle.md | 41 - .../smithchart/working-with-data.md | 28 - .../sparkline-charts/accessibility.md | 68 - .../sparkline-charts/appearance.md | 79 - .../sparkline-charts/appearance.md.bak | 1495 --- .../sparkline-charts/axis-customization.md | 112 - .../sparkline-charts/data-labels.md | 67 - .../sparkline-charts/ej1-api-migration.md | 168 - .../sparkline-charts/getting-started.md | 131 - .../images/area-sparkline.png | Bin 2280 -> 0 bytes .../images/default-template.png | Bin 33800 -> 0 bytes .../sparkline-charts/images/nuget-demo.png | Bin 70328 -> 0 bytes .../images/solution-Explorer.png | Bin 40000 -> 0 bytes .../images/sparkline-control.png | Bin 3214 -> 0 bytes .../images/sparkline-with-tooltip.png | Bin 4858 -> 0 bytes .../sparkline-charts/images/sparkline.png | Bin 1333 -> 0 bytes .../sparkline-charts/localization.md | 28 - .../asp-net-mvc/sparkline-charts/marker.md | 67 - .../asp-net-mvc/sparkline-charts/overview.md | 23 - .../sparkline-charts/range-band.md | 43 - .../sparkline-charts/sparkline-dimensions.md | 64 - .../sparkline-charts/sparkline-types.md | 98 - .../special-points-customization.md | 41 - .../sparkline-charts/user-interaction.md | 125 - .../accessibility.md | 0 .../appearance.md | 0 .../axis-customization.md | 0 .../axis-types.md | 0 .../chart-dimensions.md | 0 .../cross-hair.md | 0 .../export-print.md | 0 .../getting-started.md | 0 .../{stock-chart => stock-charts}/gradient.md | 0 .../images/nodatatemplate-stockchart.png | Bin .../images/stockchart-control.png | Bin .../images/stockchart.png | Bin .../{stock-chart => stock-charts}/legend.md | 0 .../period-selector.md | 0 .../range-selector.md | 0 .../series-types.md | 0 .../stock-events.md | 0 .../technical-indicators.md | 0 .../{stock-chart => stock-charts}/tool-tip.md | 0 .../trend-lines.md | 0 .../working-with-data.md | 0 .../3d-chart/es5-getting-started.md | 105 - .../3d-charts/es5-getting-started.md | 257 +- .../images/3D-Chart.png | Bin .../3d-circular-charts/es5-getting-started.md | 165 +- .../javascript/3d-circular-charts/tooltip.md | 6 +- .../accessibility.md | 0 .../advanced-accessibility-configuration.md | 0 .../annotation.md | 0 .../api-accumulationAnnotation.md | 0 .../api-accumulationAnnotationSettings.md | 0 ...api-accumulationAnnotationSettingsModel.md | 0 .../api-accumulationChart.md | 0 .../api-accumulationChartModel.md | 0 .../api-accumulationDataLabel.md | 0 .../api-accumulationDataLabelSettings.md | 0 .../api-accumulationDataLabelSettingsModel.md | 0 .../api-accumulationLegend.md | 0 .../api-accumulationSeries.md | 0 .../api-accumulationSeriesModel.md | 0 .../api-accumulationTooltip.md | 0 .../api-iAccAnimationCompleteEventArgs.md | 0 .../api-iAccLoadedEventArgs.md | 0 .../api-iAccPointRenderEventArgs.md | 0 .../api-iAccResizeEventArgs.md | 0 .../api-iAccSeriesRenderEventArgs.md | 0 .../api-iAccTextRenderEventArgs.md | 0 .../api-iAccTooltipRenderEventArgs.md | 0 .../api.md | 0 .../center-label.md | 0 .../chart-print.md | 0 .../data-label.md | 0 .../dynamic-data-update.md | 0 .../ej1-api-migration.md | 0 .../empty-points.md | 0 .../es5-getting-started.md | 0 .../funnel.md | 0 .../getting-started.md | 0 .../gradient.md | 0 .../grouping.md | 0 .../images/accumulation.png | Bin .../legend.md | 0 .../pie-dough-nut.md | 0 .../pie.md | 0 .../pyramid.md | 0 .../title-and-sub-title.md | 0 .../tool-tip.md | 0 .../accessibility.md | 0 .../axis-customization.md | 0 .../bullet-chart-dimensions.md | 0 .../comparative-bar.md | 0 .../customization.md | 0 .../data-binding.md | 0 .../data-label.md | 0 .../es5-getting-started.md | 0 .../{bullet-chart => bullet-charts}/ranges.md | 0 .../{bullet-chart => bullet-charts}/title.md | 0 .../tool-tip.md | 0 .../value-bar.md | 0 .../javascript/chart/es5-getting-started.md | 143 - .../javascript/charts/es5-getting-started.md | 90 +- .../circular-chart-3d/es5-getting-started.md | 101 - .../accessibility.md | 0 .../appearance.md | 0 .../{heatmap-chart => heatmap-charts}/axis.md | 0 .../bubble-heatmap.md | 0 .../dimensions.md | 0 .../ej1-api-migration.md | 0 .../events.md | 0 .../getting-started.md | 0 .../how-to/legend-customization.md | 0 .../how-to/tooltip-template.md | 0 .../images/heatmap.png | Bin .../legend.md | 0 .../palette.md | 0 .../rendering-mode.md | 0 .../selection.md | 0 .../tooltip.md | 0 .../working-with-data.md | 0 chart-sdk/javascript/linear-gauge/title.md | 2 +- .../range-selector/api-iChangedEventArgs.md | 44 - .../api-iLabelRenderEventsArgs.md | 40 - .../range-selector/api-iLoadEventArgs.md | 24 - .../range-selector/api-iRangeEventArgs.md | 24 - .../api-iRangeLoadedEventArgs.md | 24 - .../api-iRangeSelectorRenderEventArgs.md | 34 - .../api-iRangeTooltipRenderEventArgs.md | 30 - .../range-selector/api-periodSelector.md | 32 - .../api-periodSelectorSettings.md | 32 - .../api-periodSelectorSettingsModel.md | 28 - .../javascript/range-selector/api-periods.md | 40 - .../range-selector/api-periodsModel.md | 32 - .../range-selector/api-rangeNavigator.md | 405 - .../range-selector/api-rangeNavigatorAxis.md | 46 - .../range-selector/api-rangeNavigatorModel.md | 211 - .../api-rangeNavigatorSeries.md | 72 - .../api-rangeNavigatorSeriesModel.md | 56 - .../range-selector/api-rangeSeries.md | 38 - .../range-selector/api-rangeSlider.md | 50 - .../range-selector/api-rangeTooltip.md | 36 - .../api-rangeTooltipSettings.md | 58 - .../api-rangeTooltipSettingsModel.md | 48 - .../range-selector/api-styleSettings.md | 32 - .../range-selector/api-styleSettingsModel.md | 28 - .../range-selector/api-thumbSettings.md | 44 - .../range-selector/api-thumbSettingsModel.md | 36 - chart-sdk/javascript/range-selector/api.md | 35 - .../range-selector/customization.md | 107 - chart-sdk/javascript/range-selector/data.md | 282 - .../range-selector/ej1-api-migration.md | 1834 --- .../range-selector/es5-getting-started.md | 200 - .../javascript/range-selector/export-print.md | 46 - .../range-selector/getting-started.md | 189 - .../javascript/range-selector/grid-tick.md | 42 - chart-sdk/javascript/range-selector/labels.md | 97 - .../javascript/range-selector/lightweight.md | 29 - .../range-selector/period-selector.md | 78 - chart-sdk/javascript/range-selector/r-t-l.md | 25 - .../range-selector/selecting-range.md | 29 - .../javascript/range-selector/series-types.md | 108 - .../javascript/range-selector/summary.md | 23 - .../javascript/range-selector/tool-tip.md | 95 - .../sankey-diagram/es5-getting-started.md | 105 +- .../images/sankey.png | Bin .../javascript/sankey/es5-getting-started.md | 103 - .../smith-chart/es5-getting-started.md | 238 - .../accessibility.md | 0 .../es5-getting-started.md | 0 .../getting-started.md | 0 .../images/smithchart.png | Bin .../smith-chart-axis.md | 0 .../smith-chart-dimensions.md | 0 .../smith-chart-legend.md | 0 .../smith-chart-marker.md | 0 .../smith-chart-print.md | 0 .../smith-chart-series.md | 0 .../smith-chart-tooltip.md | 0 .../title-subtitle.md | 0 .../working-with-data.md | 0 .../javascript/smithchart/getting-started.md | 241 - .../sparkline-charts/accessibility.md | 69 - .../javascript/sparkline-charts/appearance.md | 80 - .../sparkline-charts/axis-customization.md | 108 - .../sparkline-charts/data-labels.md | 68 - .../sparkline-charts/ej1-api-migration.md | 169 - .../sparkline-charts/es5-getting-started.md | 153 - .../sparkline-charts/localization.md | 46 - .../javascript/sparkline-charts/marker.md | 68 - .../javascript/sparkline-charts/range-band.md | 44 - .../sparkline-charts/sparkline-dimensions.md | 66 - .../sparkline-charts/sparkline-types.md | 97 - .../special-points-customization.md | 40 - .../sparkline-charts/user-interaction.md | 137 - .../sparkline/es5-getting-started.md | 4 +- .../accessibility.md | 0 .../appearance.md | 0 .../axis-customization.md | 0 .../axis-types.md | 0 .../chart-dimensions.md | 0 .../cross-hair.md | 0 .../es5-getting-started.md | 0 .../export-print.md | 0 .../{stock-chart => stock-charts}/gradient.md | 0 .../images/stockchart.png | Bin .../{stock-chart => stock-charts}/legend.md | 0 .../period-selector.md | 0 .../range-selector.md | 0 .../series-types.md | 0 .../stock-events.md | 0 .../{stock-chart => stock-charts}/summary.md | 0 .../technical-indicators.md | 0 .../{stock-chart => stock-charts}/tool-tip.md | 0 .../trend-lines.md | 0 .../working-with-data.md | 0 chart-sdk/overview.md | 14 +- .../Chart-types/bar.md | 0 .../Chart-types/column.md | 0 .../Chart-types/stack-bar.md | 0 .../Chart-types/stack-column.md | 0 .../Chart-types/stacked-bar.md | 0 .../Chart-types/stacked-column.md | 0 .../{3d-chart => 3d-charts}/accessibility.md | 0 .../{3d-chart => 3d-charts}/appearance.md | 0 .../axis-customization.md | 0 .../{3d-chart => 3d-charts}/axis-labels.md | 0 .../{3d-chart => 3d-charts}/category-axis.md | 0 .../{3d-chart => 3d-charts}/data-label.md | 0 .../{3d-chart => 3d-charts}/datetime-axis.md | 0 .../{3d-chart => 3d-charts}/dimensions.md | 0 .../getting-started.md | 0 .../images/Initial-setup.jpg | Bin .../react/{3d-chart => 3d-charts}/legend.md | 0 .../logarithmic-axis.md | 0 .../{3d-chart => 3d-charts}/multiple-pane.md | 0 .../{3d-chart => 3d-charts}/numeric-axis.md | 0 .../{3d-chart => 3d-charts}/print-export.md | 0 .../{3d-chart => 3d-charts}/selection.md | 0 .../react/{3d-chart => 3d-charts}/tool-tip.md | 0 .../workig-with-data.md | 0 .../data-label.md | 0 .../empty-points.md | 0 .../getting-started.md | 0 .../images/Initial-setup.jpg | Bin .../legend.md | 0 .../pie-donut-chart.md | 0 .../print-and-export.md | 0 .../title-and-subtitle.md | 0 .../tooltip.md | 0 .../accessibility.md | 0 .../advanced-accessibility-configuration.md | 0 .../annotation.md | 0 .../api.md | 0 .../appearance.md | 0 .../centerlabel.md | 0 .../chart-print.md | 0 .../data-label.md | 0 .../dynamic-data-update.md | 0 .../ej1-api-migration.md | 0 .../empty-points.md | 0 .../funnel.md | 0 .../getting-started.md | 0 .../gradient.md | 0 .../grouping.md | 0 .../images/Initial-setup.jpg | Bin .../images/pie-chart.png | Bin .../legend.md | 0 .../pie-dough-nut.md | 0 .../pyramid.md | 0 .../title-and-sub-title.md | 0 .../tool-tip.md | 0 .../accessibility.md | 0 .../axis-customization.md | 0 .../bullet-chart-dimensions.md | 0 .../comparative-bar.md | 0 .../customization.md | 0 .../data-binding.md | 0 .../data-label.md | 0 .../getting-started.md | 0 .../{bullet-chart => bullet-charts}/ranges.md | 0 .../{bullet-chart => bullet-charts}/title.md | 0 .../tool-tip.md | 0 .../value-bar.md | 0 .../react/{chart => charts}/accessibility.md | 0 .../advanced-accessibility-configuration.md | 0 chart-sdk/react/{chart => charts}/api.md | 0 .../{chart => charts}/axis-customization.md | 0 .../react/{chart => charts}/axis-labels.md | 0 .../react/{chart => charts}/category-axis.md | 0 .../{chart => charts}/chart-annotations.md | 0 .../{chart => charts}/chart-appearance.md | 0 .../{chart => charts}/chart-dimensions.md | 0 .../react/{chart => charts}/chart-print.md | 0 .../react/{chart => charts}/chart-series.md | 0 .../{chart => charts}/chart-types/area.md | 0 .../{chart => charts}/chart-types/bar.md | 0 .../chart-types/box-whisker.md | 0 .../{chart => charts}/chart-types/bubble.md | 0 .../{chart => charts}/chart-types/candle.md | 0 .../{chart => charts}/chart-types/column.md | 0 .../chart-types/error-bar.md | 0 .../chart-types/high-low-open-close.md | 0 .../{chart => charts}/chart-types/high-low.md | 0 .../chart-types/histogram.md | 0 .../{chart => charts}/chart-types/line.md | 0 .../{chart => charts}/chart-types/pareto.md | 0 .../{chart => charts}/chart-types/polar.md | 0 .../{chart => charts}/chart-types/radar.md | 0 .../chart-types/range-area.md | 0 .../chart-types/range-column.md | 0 .../chart-types/range-step-area.md | 0 .../{chart => charts}/chart-types/scatter.md | 0 .../chart-types/spline-area.md | 0 .../chart-types/spline-range-area.md | 0 .../{chart => charts}/chart-types/spline.md | 0 .../chart-types/stack-area.md | 0 .../chart-types/stack-bar.md | 0 .../chart-types/stack-column.md | 0 .../chart-types/stack-line.md | 0 .../chart-types/stacked-area.md | 0 .../chart-types/stacked-bar.md | 0 .../chart-types/stacked-column.md | 0 .../chart-types/stacked-line.md | 0 .../chart-types/stacked-step-area.md | 0 .../chart-types/step-area.md | 0 .../chart-types/step-line.md | 0 .../{chart => charts}/chart-types/vertical.md | 0 .../chart-types/waterfall.md | 0 .../cross-hair-and-track-ball.md | 0 .../react/{chart => charts}/data-editing.md | 0 .../react/{chart => charts}/data-labels.md | 0 .../react/{chart => charts}/data-markers.md | 0 .../react/{chart => charts}/date-time-axis.md | 0 .../{chart => charts}/dynamic-data-update.md | 0 .../{chart => charts}/ej1-api-migration.md | 0 .../{chart => charts}/feature-modules.md | 0 .../{chart => charts}/financial-types.md | 0 .../{chart => charts}/getting-started.md | 0 chart-sdk/react/{chart => charts}/gradient.md | 0 .../{chart => charts}/how-to/add-series.md | 0 .../{chart => charts}/how-to/click-data.md | 0 .../how-to/data-label-template.md | 0 .../react/{chart => charts}/how-to/footer.md | 0 .../how-to/grid-data-chart.md | 0 .../how-to/initial-scrollbar.md | 0 .../how-to/legend-customization.md | 0 .../{chart => charts}/how-to/live-chart.md | 0 .../how-to/marker-customization.md | 0 .../how-to/percentage-tool-tip.md | 0 .../how-to/points-customization.md | 0 .../how-to/prevent-data-label.md | 0 .../how-to/selected-data-grid.md | 0 .../how-to/stacking-total.md | 0 .../{chart => charts}/how-to/threshold.md | 0 .../how-to/tool-tip-format.md | 0 .../how-to/tool-tip-table.md | 0 .../images/Getting-Started.png | Bin .../images/Initial-setup.jpg | Bin .../{chart => charts}/images/next-js.png | Bin .../react/{chart => charts}/images/preact.png | Bin .../{chart => charts}/internationalization.md | 0 chart-sdk/react/{chart => charts}/legend.md | 0 .../react/{chart => charts}/localization.md | 0 .../{chart => charts}/logarithmic-axis.md | 0 .../react/{chart => charts}/multiple-panes.md | 0 .../nextjs-getting-started.md | 0 .../react/{chart => charts}/numeric-axis.md | 0 chart-sdk/react/{chart => charts}/preact.md | 0 .../react/{chart => charts}/render-methods.md | 0 .../react/{chart => charts}/selection.md | 0 .../react/{chart => charts}/series-label.md | 0 .../react/{chart => charts}/strip-line.md | 0 .../{chart => charts}/synchronized-chart.md | 0 .../{chart => charts}/technical-indicators.md | 0 .../react/{chart => charts}/title-subtitle.md | 0 chart-sdk/react/{chart => charts}/tool-tip.md | 0 .../react/{chart => charts}/trend-lines.md | 0 .../{chart => charts}/understanding-chart.md | 0 .../{chart => charts}/user-interaction.md | 0 .../{chart => charts}/working-with-data.md | 0 chart-sdk/react/{chart => charts}/zooming.md | 0 .../accessibility.md | 0 .../appearance.md | 0 .../{heatmap-chart => heatmap-charts}/axis.md | 0 .../bubble-heatmap.md | 0 .../dimensions.md | 0 .../ej1-api-migration.md | 0 .../events.md | 0 .../getting-started.md | 0 .../how-to/legend-customization.md | 0 .../how-to/tool-tip-table.md | 0 .../legend.md | 0 .../palette.md | 0 .../rendering-mode.md | 0 .../selection.md | 0 .../title.md | 0 .../tooltip.md | 0 .../working-with-data.md | 0 chart-sdk/react/linear-gauge/axis.md | 2 +- .../react/linear-gauge/getting-started.md | 8 +- chart-sdk/react/linear-gauge/pointers.md | 4 +- chart-sdk/react/linear-gauge/ranges.md | 4 +- chart-sdk/react/maps/getting-started.md | 9 +- chart-sdk/react/range-navigator/tool-tip.md | 3 +- .../accessibility.md | 0 .../{sankey => sankey-diagram}/appearance.md | 0 .../customization.md | 0 .../{sankey => sankey-diagram}/events.md | 0 .../getting-started.md | 0 .../{sankey => sankey-diagram}/labels.md | 0 .../{sankey => sankey-diagram}/legend.md | 0 .../react/{sankey => sankey-diagram}/links.md | 0 .../react/{sankey => sankey-diagram}/nodes.md | 0 .../orientation-rtl.md | 0 .../print-and-export.md | 0 .../title-and-sub-title.md | 0 .../{sankey => sankey-diagram}/tool-tip.md | 0 .../accessibility.md | 0 .../getting-started.md | 0 .../images/Initial-setup.jpg | Bin .../smithchart-axis.md | 0 .../smithchart-dimensions.md | 0 .../smithchart-legend.md | 0 .../smithchart-marker.md | 0 .../smithchart-print.md | 0 .../smithchart-series.md | 0 .../smithchart-tooltip.md | 0 .../title-subtitle.md | 0 .../working-with-data.md | 0 .../accessibility.md | 0 .../appearance.md | 0 .../axis-customization.md | 0 .../axis-types.md | 0 .../chart-dimensions.md | 0 .../cross-hair.md | 0 .../export-print.md | 0 .../getting-started.md | 0 .../{stock-chart => stock-charts}/gradient.md | 0 .../images/stock-chart.png | Bin .../{stock-chart => stock-charts}/legend.md | 0 .../period-selector.md | 0 .../range-selector.md | 0 .../series-types.md | 0 .../stock-events.md | 0 .../technical-indicators.md | 0 .../{stock-chart => stock-charts}/tool-tip.md | 0 .../trend-lines.md | 0 .../working-with-data.md | 0 chart-sdk/react/treemap/getting-started.md | 9 +- .../3d-charts}/Chart-types/bar.md | 55 +- .../3d-charts}/Chart-types/column.md | 56 +- .../3d-charts}/Chart-types/stack-bar.md | 45 +- .../3d-charts}/Chart-types/stack-column.md | 46 +- .../3d-charts}/Chart-types/stacked-bar.md | 36 +- .../3d-charts}/Chart-types/stacked-column.md | 36 +- .../3d-charts}/accessibility.md | 6 +- .../3d-charts}/appearance.md | 126 +- .../3d-charts}/axis-customization.md | 76 +- .../3d-charts}/axis-labels.md | 56 +- .../3d-charts}/category-axis.md | 47 +- .../3d-charts}/data-labels.md | 86 +- .../3d-charts}/datetime-axis.md | 96 +- .../3d-charts}/dimensions.md | 36 +- .../typescript/3d-charts/getting-started.md | 177 + .../3d-charts/images/3D-Chart-TS.png | Bin 0 -> 22712 bytes .../3d-charts}/legend.md | 146 +- .../3d-charts}/logarithmic-axis.md | 46 +- .../3d-charts}/multiple-panes.md | 46 +- .../3d-charts}/numeric-axis.md | 106 +- .../3d-charts}/print-export.md | 26 +- .../3d-charts}/selection.md | 66 +- .../3d-charts}/tool-tip.md | 66 +- .../3d-charts}/working-with-data.md | 56 +- .../3d-circular-charts}/data-label.md | 96 +- .../3d-circular-charts}/empty-points.md | 26 +- .../3d-circular-charts/getting-started.md | 171 + .../3d-circular-charts}/legend.md | 118 +- .../3d-circular-charts}/pie-donut-chart.md | 66 +- .../3d-circular-charts}/print-and-export.md | 26 +- .../3d-circular-charts}/title-and-subtitle.md | 46 +- .../3d-circular-charts}/tooltip.md | 84 +- .../accumulation-charts/accessibility.md | 80 + .../advanced-accessibility-configuration.md | 75 + .../accumulation-charts/annotation.md | 78 + .../api-accumulationAnnotation.md | 32 + .../api-accumulationAnnotationSettings.md} | 35 +- ...pi-accumulationAnnotationSettingsModel.md} | 28 +- .../api-accumulationChart.md | 326 + .../api-accumulationChartModel.md | 204 + .../api-accumulationDataLabel.md | 22 + .../api-accumulationDataLabelSettings.md | 72 + .../api-accumulationDataLabelSettingsModel.md | 58 + .../api-accumulationLegend.md | 22 + .../api-accumulationSeries.md | 245 + .../api-accumulationSeriesModel.md | 179 + .../api-accumulationTooltip.md | 26 + .../api-iAccAnimationCompleteEventArgs.md | 32 + .../api-iAccLoadedEventArgs.md | 28 + .../api-iAccPointRenderEventArgs.md | 48 + .../api-iAccResizeEventArgs.md | 32 + .../api-iAccSeriesRenderEventArgs.md | 28 + .../api-iAccTextRenderEventArgs.md | 48 + .../api-iAccTooltipRenderEventArgs.md | 40 + .../typescript/accumulation-charts/api.md | 39 + .../accumulation-charts/center-label.md | 55 + .../accumulation-charts/chart-print.md | 43 + .../accumulation-charts/data-label.md | 239 + .../dynamic-data-update.md | 66 + .../accumulation-charts/ej1-api-migration.md | 3121 +++++ .../accumulation-charts/empty-points.md | 55 + .../typescript/accumulation-charts/funnel.md | 154 + .../accumulation-charts/getting-started.md | 213 + .../accumulation-charts/gradient.md | 116 + .../accumulation-charts/grouping.md | 58 + .../images/accumulation.png | Bin 0 -> 41428 bytes .../typescript/accumulation-charts/legend.md | 209 + .../accumulation-charts/pie-dough-nut.md | 229 + .../typescript/accumulation-charts/pie.md | 107 + .../typescript/accumulation-charts/pyramid.md | 105 + .../title-and-sub-title.md | 102 + .../accumulation-charts/tool-tip.md | 211 + .../bullet-charts}/accessibility.md | 31 +- .../bullet-charts/axis-customization.md | 218 + .../bullet-charts/bullet-chart-dimensions.md | 66 + .../bullet-charts/comparative-bar.md | 59 + .../typescript/bullet-charts/customization.md | 73 + .../typescript/bullet-charts/data-binding.md | 26 + .../typescript/bullet-charts/data-label.md | 41 + .../bullet-charts/getting-started.md | 169 + chart-sdk/typescript/bullet-charts/ranges.md | 38 + chart-sdk/typescript/bullet-charts/title.md | 137 + .../typescript/bullet-charts/tool-tip.md | 66 + .../typescript/bullet-charts/value-bar.md | 73 + .../charts}/Chart-types/area.md | 166 +- .../charts}/Chart-types/bar.md | 242 +- .../charts}/Chart-types/box-whisker.md | 138 +- .../charts}/Chart-types/bubble.md | 136 +- .../charts}/Chart-types/candle.md | 99 +- .../charts}/Chart-types/column.md | 242 +- .../charts}/Chart-types/error-bar.md | 112 +- .../Chart-types/high-low-open-close.md | 99 +- .../charts}/Chart-types/high-low.md | 125 +- .../charts}/Chart-types/histogram.md | 47 +- .../charts}/Chart-types/line.md | 179 +- .../charts}/Chart-types/pare-to.md | 164 +- .../charts}/Chart-types/polar.md | 260 +- .../charts}/Chart-types/radar.md | 138 +- .../charts}/Chart-types/range-area.md | 151 +- .../charts}/Chart-types/range-column.md | 178 +- .../charts}/Chart-types/range-step-area.md | 177 +- .../charts}/Chart-types/scatter.md | 134 +- .../charts}/Chart-types/spline-area.md | 151 +- .../charts}/Chart-types/spline-range-area.md | 151 +- .../charts}/Chart-types/spline.md | 177 +- .../charts}/Chart-types/stack-area.md | 177 +- .../charts}/Chart-types/stack-bar.md | 230 +- .../charts}/Chart-types/stack-column.md | 229 +- .../charts}/Chart-types/stack-line.md | 187 +- .../charts}/Chart-types/stacked-area.md | 151 +- .../charts}/Chart-types/stacked-bar.md | 190 +- .../charts}/Chart-types/stacked-column.md | 190 +- .../charts}/Chart-types/stacked-line.md | 161 +- .../charts}/Chart-types/stacked-step-area.md | 203 +- .../charts}/Chart-types/step-area.md | 177 +- .../charts}/Chart-types/step-line.md | 190 +- .../charts}/Chart-types/vertical-chart.md | 97 +- .../charts}/Chart-types/waterfall.md | 138 +- .../charts}/accessibility.md | 8 +- .../advanced-accessibility-configuration.md | 90 +- .../api-accumulationDistributionIndicator.md | 6 +- .../charts}/api-animation.md | 6 +- .../charts}/api-animationModel.md | 6 +- .../charts}/api-annotationBase.md | 6 +- .../charts}/api-areaSeries.md | 6 +- .../charts}/api-atrIndicator.md | 6 +- .../chart => typescript/charts}/api-axis.md | 6 +- .../charts}/api-axisLine.md | 6 +- .../charts}/api-axisLineModel.md | 6 +- .../charts}/api-axisModel.md | 6 +- .../charts}/api-barSeries.md | 6 +- .../charts}/api-bollingerBands.md | 6 +- .../chart => typescript/charts}/api-border.md | 6 +- .../charts}/api-borderModel.md | 6 +- .../charts}/api-boxAndWhiskerSeries.md | 6 +- .../charts}/api-bubbleSeries.md | 6 +- .../charts}/api-candleSeries.md | 6 +- .../charts}/api-category.md | 6 +- .../chart => typescript/charts}/api-chart.md | 6 +- .../charts}/api-chartAnnotation.md | 6 +- .../charts}/api-chartAnnotationSettings.md | 6 +- .../api-chartAnnotationSettingsModel.md | 6 +- .../charts}/api-chartArea.md | 6 +- .../charts}/api-chartAreaModel.md | 6 +- .../charts}/api-chartModel.md | 6 +- .../charts}/api-chartSegment.md | 6 +- .../charts}/api-chartSegmentModel.md | 6 +- .../chart => typescript/charts}/api-column.md | 6 +- .../charts}/api-columnModel.md | 6 +- .../charts}/api-columnSeries.md | 6 +- .../charts}/api-connector.md | 6 +- .../charts}/api-connectorModel.md | 6 +- .../charts}/api-cornerRadius.md | 6 +- .../charts}/api-cornerRadiusModel.md | 6 +- .../charts}/api-crosshair.md | 6 +- .../charts}/api-crosshairSettings.md | 6 +- .../charts}/api-crosshairSettingsModel.md | 6 +- .../charts}/api-crosshairTooltip.md | 6 +- .../charts}/api-crosshairTooltipModel.md | 6 +- .../charts}/api-dataLabel.md | 6 +- .../charts}/api-dataLabelSettings.md | 6 +- .../charts}/api-dataLabelSettingsModel.md | 6 +- .../charts}/api-dateTime.md | 6 +- .../charts}/api-dateTimeCategory.md | 6 +- .../charts}/api-emaIndicator.md | 6 +- .../charts}/api-emptyPointSettings.md | 6 +- .../charts}/api-emptyPointSettingsModel.md | 6 +- .../charts}/api-errorBar.md | 6 +- .../charts}/api-errorBarCapSettings.md | 6 +- .../charts}/api-errorBarCapSettingsModel.md | 6 +- .../charts}/api-errorBarSettings.md | 6 +- .../charts}/api-exportUtils.md | 6 +- .../chart => typescript/charts}/api-font.md | 6 +- .../charts}/api-fontModel.md | 6 +- .../charts}/api-hiloOpenCloseSeries.md | 6 +- .../charts}/api-hiloSeries.md | 6 +- .../charts}/api-histogramSeries.md | 6 +- .../charts}/api-iAccLegendRenderEventArgs.md | 6 +- .../api-iAnimationCompleteEventArgs.md | 6 +- .../charts}/api-iAnnotationRenderEventArgs.md | 6 +- .../charts}/api-iAxisLabelRenderEventArgs.md | 6 +- .../api-iAxisMultiLabelRenderEventArgs.md | 6 +- .../api-iAxisRangeCalculatedEventArgs.md | 6 +- .../charts}/api-iChartEventArgs.md | 6 +- .../charts}/api-iDragCompleteEventArgs.md | 6 +- .../charts}/api-iLegendRenderEventArgs.md | 6 +- .../charts}/api-iLoadedEventArgs.md | 6 +- .../charts}/api-iMouseEventArgs.md | 6 +- .../charts}/api-iPointEventArgs.md | 6 +- .../charts}/api-iPointRenderEventArgs.md | 6 +- .../charts}/api-iPrintEventArgs.md | 6 +- .../charts}/api-iResizeEventArgs.md | 6 +- .../api-iResizeRangeNavigatorEventArgs.md | 6 +- .../charts}/api-iSeriesRenderEventArgs.md | 6 +- .../charts}/api-iTextRenderEventArgs.md | 6 +- .../charts}/api-iTooltipRenderEventArgs.md | 6 +- .../charts}/api-iZoomCompleteEventArgs.md | 6 +- .../charts}/api-labelBorder.md | 6 +- .../charts}/api-labelBorderModel.md | 6 +- .../chart => typescript/charts}/api-legend.md | 6 +- .../charts}/api-legendSettings.md | 6 +- .../charts}/api-legendSettingsModel.md | 6 +- .../charts}/api-lineBase.md | 6 +- .../charts}/api-lineSeries.md | 6 +- .../charts}/api-location.md | 6 +- .../charts}/api-locationModel.md | 6 +- .../charts}/api-logarithmic.md | 6 +- .../charts}/api-macdIndicator.md | 6 +- .../charts}/api-majorGridLines.md | 6 +- .../charts}/api-majorGridLinesModel.md | 6 +- .../charts}/api-majorTickLines.md | 6 +- .../charts}/api-majorTickLinesModel.md | 6 +- .../chart => typescript/charts}/api-margin.md | 6 +- .../charts}/api-marginModel.md | 6 +- .../charts}/api-markerSettings.md | 6 +- .../charts}/api-markerSettingsModel.md | 6 +- .../charts}/api-minorGridLines.md | 6 +- .../charts}/api-minorGridLinesModel.md | 6 +- .../charts}/api-minorTickLines.md | 6 +- .../charts}/api-minorTickLinesModel.md | 6 +- .../charts}/api-momentumIndicator.md | 6 +- .../charts}/api-multiColoredAreaSeries.md | 6 +- .../charts}/api-multiColoredLineSeries.md | 6 +- .../charts}/api-multiColoredSeries.md | 6 +- .../charts}/api-multiLevelCategories.md | 6 +- .../charts}/api-multiLevelCategoriesModel.md | 6 +- .../charts}/api-multiLevelLabel.md | 6 +- .../charts}/api-multiLevelLabels.md | 6 +- .../charts}/api-multiLevelLabelsModel.md | 6 +- .../charts}/api-polarRadarPanel.md | 6 +- .../charts}/api-polarSeries.md | 6 +- .../charts}/api-radarSeries.md | 6 +- .../charts}/api-rangeAreaSeries.md | 6 +- .../charts}/api-rangeColumnSeries.md | 6 +- .../chart => typescript/charts}/api-row.md | 6 +- .../charts}/api-rowModel.md | 6 +- .../charts}/api-rsiIndicator.md | 6 +- .../charts}/api-scatterSeries.md | 6 +- .../charts}/api-scrollBar.md | 6 +- .../charts}/api-scrollElements.md | 6 +- .../chart => typescript/charts}/api-series.md | 6 +- .../charts}/api-seriesBase.md | 6 +- .../charts}/api-seriesBaseModel.md | 6 +- .../charts}/api-seriesModel.md | 6 +- .../charts}/api-smaIndicator.md | 6 +- .../charts}/api-splineAreaSeries.md | 6 +- .../charts}/api-splineBase.md | 6 +- .../charts}/api-splineSeries.md | 6 +- .../charts}/api-stackingAreaSeries.md | 6 +- .../charts}/api-stackingBarSeries.md | 6 +- .../charts}/api-stackingColumnSeries.md | 6 +- .../charts}/api-staticFunctions.md | 6 +- .../charts}/api-stepAreaSeries.md | 6 +- .../charts}/api-stepLineSeries.md | 6 +- .../charts}/api-stochasticIndicator.md | 6 +- .../charts}/api-stripLineSettings.md | 6 +- .../charts}/api-stripLineSettingsModel.md | 6 +- .../charts}/api-technicalAnalysis.md | 6 +- .../charts}/api-technicalIndicator.md | 6 +- .../charts}/api-technicalIndicatorModel.md | 6 +- .../charts}/api-tmaIndicator.md | 6 +- .../charts}/api-tooltip.md | 6 +- .../charts}/api-tooltipSettings.md | 6 +- .../charts}/api-tooltipSettingsModel.md | 6 +- .../charts}/api-trendline.md | 6 +- .../charts}/api-trendlineModel.md | 6 +- .../charts}/api-trendlines.md | 6 +- .../charts}/api-waterfallSeries.md | 6 +- .../chart => typescript/charts}/api-zoom.md | 6 +- .../charts}/api-zoomSettings.md | 6 +- .../charts}/api-zoomSettingsModel.md | 6 +- .../chart => typescript/charts}/api.md | 6 +- .../charts}/axis-customization.md | 102 +- .../charts}/axis-labels.md | 166 +- .../chart => typescript/charts}/axis.md | 450 +- .../charts}/category-axis.md | 54 +- .../charts}/chart-annotations.md | 56 +- .../charts}/chart-appearance.md | 105 +- .../charts}/chart-dimensions.md | 42 +- .../charts}/chart-print.md | 74 +- .../charts}/chart-series.md | 42 +- .../charts}/cross-hair-and-track-ball.md | 80 +- .../charts}/data-editing.md | 18 +- .../charts}/data-labels.md | 130 +- .../charts}/data-markers.md | 78 +- .../charts}/date-time-axis.md | 114 +- .../charts}/dynamic-data-update.md | 48 +- .../charts}/ej1-api-migration.md | 6 +- .../charts}/feature-modules.md | 6 +- .../typescript/charts/getting-started.md | 219 + .../chart => typescript/charts}/gradient.md | 66 +- .../chart => typescript/charts}/how-to.md | 126 +- .../charts}/how-to/add-series.md | 18 +- .../charts}/how-to/axis-hide.md | 18 +- .../charts}/how-to/chart-tab.md | 18 +- .../charts}/how-to/clicked-data.md | 18 +- .../charts}/how-to/data-label-template.md | 18 +- .../charts}/how-to/dialog-chart.md | 17 +- .../charts}/how-to/dotted-line.md | 18 +- .../charts}/how-to/down-sampling.md | 17 +- .../charts}/how-to/dynamic-chart.md | 18 +- .../charts}/how-to/exact-date.md | 18 +- .../charts}/how-to/footer.md | 18 +- .../charts}/how-to/grid-data-chart.md | 16 +- .../charts}/how-to/grid-data-pie.md | 18 +- .../charts}/how-to/hide-tool-tip.md | 18 +- .../how-to/images/After_downsampling.png | Bin .../how-to/images/Before_downsampling.png | Bin .../charts}/how-to/initial-scrollbar.md | 18 +- .../charts}/how-to/legend-customization.md | 18 +- .../charts}/how-to/legend-in-table.md | 19 +- .../charts}/how-to/live-chart.md | 18 +- .../charts}/how-to/marker-customization.md | 18 +- .../charts}/how-to/percentage-tool-tip.md | 18 +- .../charts}/how-to/points-customization.md | 12 +- .../charts}/how-to/prevent-data-label.md | 18 +- .../charts}/how-to/selected-data-grid.md | 16 +- .../charts}/how-to/series-visible.md | 18 +- .../charts}/how-to/stacking-total.md | 18 +- .../charts}/how-to/syn-pan.md | 18 +- .../charts}/how-to/threshold.md | 18 +- .../charts}/how-to/tool-tip-format.md | 18 +- .../charts}/how-to/tool-tip-table.md | 18 +- .../charts}/images/chart.png | Bin .../charts}/internationalization.md | 18 +- .../chart => typescript/charts}/legend.md | 176 +- .../charts}/localization.md | 18 +- .../charts}/logarithmic-axis.md | 54 +- .../charts}/multiple-panes.md | 54 +- .../charts}/numeric-axis.md | 126 +- .../charts}/polar-radar.md | 140 +- .../charts}/render-methods.md | 6 +- .../chart => typescript/charts}/selection.md | 102 +- .../charts}/series-labels.md | 30 +- .../chart => typescript/charts}/strip-line.md | 57 +- .../charts}/synchronized-chart.md | 45 +- .../charts}/technical-indicators.md | 166 +- .../charts}/title-subtitle.md | 57 +- .../chart => typescript/charts}/tool-tip.md | 114 +- .../charts}/trend-lines.md | 106 +- .../charts}/understanding-chart.md | 8 +- .../charts}/user-interaction.md | 210 +- .../charts}/working-with-data.md | 117 +- .../chart => typescript/charts}/zooming.md | 96 +- .../heatmap-charts/accessibility.md | 76 + .../typescript/heatmap-charts/appearance.md | 252 + chart-sdk/typescript/heatmap-charts/axis.md | 283 + .../heatmap-charts/bubble-heatmap.md | 176 + .../typescript/heatmap-charts/dimensions.md | 56 + .../heatmap-charts/ej1-api-migration.md | 506 + chart-sdk/typescript/heatmap-charts/events.md | 164 + .../heatmap-charts/getting-started.md | 195 + .../how-to/legend-customization.md | 25 + .../heatmap-charts/how-to/tooltip-template.md | 46 + chart-sdk/typescript/heatmap-charts/legend.md | 159 + .../typescript/heatmap-charts/palette.md | 101 + .../heatmap-charts/rendering-mode.md | 28 + .../typescript/heatmap-charts/selection.md | 63 + .../typescript/heatmap-charts/tooltip.md | 61 + .../heatmap-charts/working-with-data.md | 121 + .../sankey-diagram}/accessibility.md | 8 +- .../sankey-diagram}/appearance.md | 67 +- .../sankey-diagram}/customization.md | 86 +- .../sankey-diagram}/events.md | 104 +- .../sankey-diagram/getting-started.md | 175 + .../sankey-diagram/images/sankey-TS.png | Bin 0 -> 336549 bytes .../sankey-diagram}/labels.md | 56 +- .../sankey-diagram}/legend.md | 56 +- .../sankey-diagram}/links.md | 56 +- .../sankey-diagram}/nodes.md | 56 +- .../sankey-diagram}/orientation-rtl.md | 46 +- .../sankey-diagram}/print-and-export.md | 56 +- .../sankey-diagram}/title-and-sub-title.md | 46 +- .../sankey-diagram}/tool-tip.md | 58 +- .../smith-charts}/accessibility.md | 8 +- .../smith-charts/getting-started.md | 177 + .../smith-charts/images/smithchart-TS.png | Bin 0 -> 66375 bytes .../smith-charts}/smith-chart-axis.md | 42 +- .../smith-charts}/smith-chart-dimensions.md | 42 +- .../smith-charts}/smith-chart-legend.md | 90 +- .../smith-charts}/smith-chart-marker.md | 54 +- .../smith-charts}/smith-chart-print.md | 30 +- .../smith-charts}/smith-chart-series.md | 30 +- .../smith-charts}/smith-chart-tooltip.md | 18 +- .../smith-charts}/title-subtitle.md | 30 +- .../smith-charts}/working-with-data.md | 18 +- .../stock-charts}/accessibility.md | 50 +- .../typescript/stock-charts/appearance.md | 65 + .../stock-charts/axis-customization.md | 120 + .../typescript/stock-charts/axis-types.md | 70 + .../stock-charts/chart-dimensions.md | 67 + .../typescript/stock-charts/cross-hair.md | 99 + .../typescript/stock-charts/export-print.md | 42 + .../stock-charts/getting-started.md | 249 + .../stock-charts}/gradient.md | 88 +- .../stock-charts/images/stockchart.png | Bin 0 -> 68412 bytes chart-sdk/typescript/stock-charts/legend.md | 155 + .../stock-charts/period-selector.md | 54 + .../typescript/stock-charts/range-selector.md | 31 + .../typescript/stock-charts/series-types.md | 51 + .../typescript/stock-charts/stock-events.md | 47 + chart-sdk/typescript/stock-charts/summary.md | 26 + .../stock-charts/technical-indicators.md | 94 + chart-sdk/typescript/stock-charts/tool-tip.md | 80 + .../typescript/stock-charts/trend-lines.md | 85 + .../stock-charts/working-with-data.md | 49 + chart-sdk/vue/3d-chart/Chart-types/bar.md | 89 - chart-sdk/vue/3d-chart/Chart-types/column.md | 89 - .../vue/3d-chart/Chart-types/stack-bar.md | 74 - .../vue/3d-chart/Chart-types/stack-column.md | 74 - .../vue/3d-chart/Chart-types/stacked-bar.md | 59 - .../3d-chart/Chart-types/stacked-column.md | 59 - chart-sdk/vue/3d-chart/accessibility.md | 43 - chart-sdk/vue/3d-chart/appearance.md | 208 - chart-sdk/vue/3d-chart/axis-customization.md | 118 - chart-sdk/vue/3d-chart/axis-label.md | 87 - chart-sdk/vue/3d-chart/category-axis.md | 71 - chart-sdk/vue/3d-chart/chart-dimensions.md | 78 - chart-sdk/vue/3d-chart/chart-labels.md | 188 - chart-sdk/vue/3d-chart/date-time-axis.md | 210 - chart-sdk/vue/3d-chart/getting-started.md | 241 - .../vue/3d-chart/images/vue2-terminal.png | Bin 7221 -> 0 bytes .../3d-chart/images/vue3-3d-chart-demo.png | Bin 18970 -> 0 bytes chart-sdk/vue/3d-chart/legend.md | 242 - chart-sdk/vue/3d-chart/logarithmic-axis.md | 71 - chart-sdk/vue/3d-chart/mutiple-panes.md | 75 - chart-sdk/vue/3d-chart/numeric-axis.md | 233 - chart-sdk/vue/3d-chart/print-export.md | 41 - chart-sdk/vue/3d-chart/selection.md | 114 - chart-sdk/vue/3d-chart/tooltip.md | 144 - .../vue/3d-chart/vue-3-getting-started.md | 408 - chart-sdk/vue/3d-chart/working-with-data.md | 88 - chart-sdk/vue/3d-charts/getting-started.md | 206 +- .../3d-charts/images/vue3-3d-chart-demo.png | Bin 17862 -> 18970 bytes chart-sdk/vue/3d-charts/legend.md | 15 + .../vue/3d-charts/vue-3-getting-started.md | 406 +- .../vue/3d-circular-charts/getting-started.md | 234 +- .../images/vue3-circular-chart-3d-demo.png | Bin 32260 -> 26319 bytes .../vue-3-getting-started.md | 408 +- .../accessibility.md | 0 .../advanced-accessibility-configuration.md | 0 .../annotation.md | 0 .../api-accumulationAnnotation.md | 0 .../api-accumulationAnnotationSettings.md | 0 ...api-accumulationAnnotationSettingsModel.md | 0 .../api-accumulationChart.md | 0 .../api-accumulationChartComponent.md | 0 .../api-accumulationChartModel.md | 0 .../api-accumulationDataLabel.md | 0 .../api-accumulationDataLabelSettings.md | 0 .../api-accumulationDataLabelSettingsModel.md | 0 .../api-accumulationLegend.md | 0 .../api-accumulationSeries.md | 0 .../api-accumulationSeriesModel.md | 0 .../api-accumulationTooltip.md | 0 .../api-iAccAnimationCompleteEventArgs.md | 0 .../api-iAccLoadedEventArgs.md | 0 .../api-iAccPointRenderEventArgs.md | 0 .../api-iAccResizeEventArgs.md | 0 .../api-iAccSeriesRenderEventArgs.md | 0 .../api-iAccTextRenderEventArgs.md | 0 .../api-iAccTooltipRenderEventArgs.md | 0 .../appearance.md | 0 .../centerlabel.md | 0 .../chart-print.md | 0 .../data-label.md | 0 .../dynamic-data-update.md | 0 .../empty-points.md | 0 .../funnel.md | 0 .../getting-started.md | 0 .../gradient.md | 0 .../grouping.md | 0 .../images/vue3-accumulation-chart-demo.png | Bin .../images/vue3-terminal.png | Bin .../legend.md | 0 .../pie-dough-nut.md | 0 .../pyramid.md | 0 .../title-and-sub-title.md | 0 .../tool-tip.md | 0 .../vue-3-getting-started.md | 0 .../accessibility.md | 0 .../axis-customization.md | 0 .../bullet-chart-dimensions.md | 0 .../comparative-bar.md | 0 .../customization.md | 0 .../data-binding.md | 0 .../data-label.md | 0 .../getting-started.md | 0 .../images/vue3-bullet-chart-demo.png | Bin .../images/vue3-terminal.png | Bin .../{bullet-chart => bullet-charts}/ranges.md | 0 .../{bullet-chart => bullet-charts}/title.md | 0 .../tool-tip.md | 0 .../value-bar.md | 0 .../vue-3-getting-started.md | 0 chart-sdk/vue/chart/accessibility.md | 88 - .../advanced-accessibility-configuration.md | 175 - .../api-accumulationDistributionIndicator.md | 27 - chart-sdk/vue/chart/api-areaSeries.md | 73 - chart-sdk/vue/chart/api-atrIndicator.md | 27 - chart-sdk/vue/chart/api-axis.md | 355 - chart-sdk/vue/chart/api-axisLine.md | 33 - chart-sdk/vue/chart/api-axisLineModel.md | 27 - chart-sdk/vue/chart/api-axisModel.md | 277 - chart-sdk/vue/chart/api-barSeries.md | 25 - chart-sdk/vue/chart/api-bollingerBands.md | 33 - chart-sdk/vue/chart/api-border.md | 27 - chart-sdk/vue/chart/api-borderModel.md | 23 - .../vue/chart/api-boxAndWhiskerSeries.md | 43 - chart-sdk/vue/chart/api-bubbleSeries.md | 25 - chart-sdk/vue/chart/api-candleSeries.md | 25 - chart-sdk/vue/chart/api-category.md | 33 - chart-sdk/vue/chart/api-chart.md | 632 - chart-sdk/vue/chart/api-chartAnnotation.md | 21 - chart-sdk/vue/chart/api-chartArea.md | 31 - chart-sdk/vue/chart/api-chartComponent.md | 583 - chart-sdk/vue/chart/api-chartModel.md | 288 - chart-sdk/vue/chart/api-chartSegment.md | 31 - chart-sdk/vue/chart/api-chartSegmentModel.md | 27 - chart-sdk/vue/chart/api-column.md | 27 - chart-sdk/vue/chart/api-columnModel.md | 25 - chart-sdk/vue/chart/api-columnSeries.md | 25 - chart-sdk/vue/chart/api-connector.md | 47 - chart-sdk/vue/chart/api-connectorModel.md | 37 - chart-sdk/vue/chart/api-cornerRadius.md | 39 - chart-sdk/vue/chart/api-cornerRadiusModel.md | 31 - chart-sdk/vue/chart/api-crosshair.md | 21 - chart-sdk/vue/chart/api-crosshairSettings.md | 35 - .../vue/chart/api-crosshairSettingsModel.md | 31 - chart-sdk/vue/chart/api-crosshairTooltip.md | 30 - .../vue/chart/api-crosshairTooltipModel.md | 28 - chart-sdk/vue/chart/api-dataLabel.md | 27 - chart-sdk/vue/chart/api-dataLabelSettings.md | 90 - .../vue/chart/api-dataLabelSettingsModel.md | 71 - chart-sdk/vue/chart/api-dateTime.md | 33 - chart-sdk/vue/chart/api-dateTimeCategory.md | 27 - chart-sdk/vue/chart/api-emaIndicator.md | 27 - chart-sdk/vue/chart/api-emptyPointSettings.md | 33 - .../vue/chart/api-emptyPointSettingsModel.md | 27 - chart-sdk/vue/chart/api-errorBar.md | 31 - .../vue/chart/api-errorBarCapSettings.md | 39 - .../vue/chart/api-errorBarCapSettingsModel.md | 31 - chart-sdk/vue/chart/api-errorBarSettings.md | 100 - chart-sdk/vue/chart/api-exportUtils.md | 35 - chart-sdk/vue/chart/api-font.md | 61 - chart-sdk/vue/chart/api-fontModel.md | 47 - .../vue/chart/api-hiloOpenCloseSeries.md | 25 - chart-sdk/vue/chart/api-hiloSeries.md | 25 - chart-sdk/vue/chart/api-histogramSeries.md | 25 - .../chart/api-iAccLegendRenderEventArgs.md | 33 - .../chart/api-iAnimationCompleteEventArgs.md | 25 - .../chart/api-iAnnotationRenderEventArgs.md | 29 - .../chart/api-iAxisLabelRenderEventArgs.md | 37 - .../api-iAxisMultiLabelRenderEventArgs.md | 37 - .../api-iAxisRangeCalculatedEventArgs.md | 37 - chart-sdk/vue/chart/api-iChartEventArgs.md | 21 - .../vue/chart/api-iDragCompleteEventArgs.md | 25 - .../vue/chart/api-iLegendRenderEventArgs.md | 37 - chart-sdk/vue/chart/api-iLoadedEventArgs.md | 25 - chart-sdk/vue/chart/api-iMouseEventArgs.md | 33 - chart-sdk/vue/chart/api-iPointEventArgs.md | 49 - .../vue/chart/api-iPointRenderEventArgs.md | 49 - chart-sdk/vue/chart/api-iResizeEventArgs.md | 29 - .../api-iResizeRangeNavigatorEventArgs.md | 29 - .../vue/chart/api-iSeriesRenderEventArgs.md | 29 - .../vue/chart/api-iTextRenderEventArgs.md | 45 - .../vue/chart/api-iTooltipRenderEventArgs.md | 37 - .../vue/chart/api-iZoomCompleteEventArgs.md | 41 - chart-sdk/vue/chart/api-labelBorder.md | 39 - chart-sdk/vue/chart/api-labelBorderModel.md | 33 - chart-sdk/vue/chart/api-legend.md | 21 - chart-sdk/vue/chart/api-legendSettings.md | 136 - .../vue/chart/api-legendSettingsModel.md | 108 - chart-sdk/vue/chart/api-lineBase.md | 27 - chart-sdk/vue/chart/api-lineSeries.md | 37 - chart-sdk/vue/chart/api-location.md | 27 - chart-sdk/vue/chart/api-locationModel.md | 23 - chart-sdk/vue/chart/api-logarithmic.md | 21 - chart-sdk/vue/chart/api-macdIndicator.md | 27 - chart-sdk/vue/chart/api-majorGridLines.md | 33 - .../vue/chart/api-majorGridLinesModel.md | 27 - chart-sdk/vue/chart/api-majorTickLines.md | 33 - .../vue/chart/api-majorTickLinesModel.md | 27 - chart-sdk/vue/chart/api-margin.md | 39 - chart-sdk/vue/chart/api-marginModel.md | 31 - chart-sdk/vue/chart/api-markerSettings.md | 74 - .../vue/chart/api-markerSettingsModel.md | 60 - chart-sdk/vue/chart/api-minorGridLines.md | 33 - .../vue/chart/api-minorGridLinesModel.md | 27 - chart-sdk/vue/chart/api-minorTickLines.md | 33 - .../vue/chart/api-minorTickLinesModel.md | 27 - chart-sdk/vue/chart/api-momentumIndicator.md | 27 - .../vue/chart/api-multiColoredAreaSeries.md | 73 - .../vue/chart/api-multiColoredLineSeries.md | 73 - chart-sdk/vue/chart/api-multiColoredSeries.md | 63 - .../vue/chart/api-multiLevelCategories.md | 39 - .../chart/api-multiLevelCategoriesModel.md | 31 - chart-sdk/vue/chart/api-multiLevelLabel.md | 21 - chart-sdk/vue/chart/api-multiLevelLabels.md | 45 - .../vue/chart/api-multiLevelLabelsModel.md | 41 - chart-sdk/vue/chart/api-polarRadarPanel.md | 25 - chart-sdk/vue/chart/api-polarSeries.md | 37 - chart-sdk/vue/chart/api-radarSeries.md | 37 - chart-sdk/vue/chart/api-rangeAreaSeries.md | 37 - chart-sdk/vue/chart/api-rangeColumnSeries.md | 25 - chart-sdk/vue/chart/api-row.md | 27 - chart-sdk/vue/chart/api-rowModel.md | 25 - chart-sdk/vue/chart/api-rsiIndicator.md | 27 - chart-sdk/vue/chart/api-scatterSeries.md | 31 - chart-sdk/vue/chart/api-scrollBar.md | 79 - chart-sdk/vue/chart/api-scrollElements.md | 27 - chart-sdk/vue/chart/api-series.md | 420 - chart-sdk/vue/chart/api-seriesBase.md | 171 - chart-sdk/vue/chart/api-seriesBaseModel.md | 143 - chart-sdk/vue/chart/api-seriesModel.md | 336 - chart-sdk/vue/chart/api-smaIndicator.md | 27 - chart-sdk/vue/chart/api-splineAreaSeries.md | 37 - chart-sdk/vue/chart/api-splineBase.md | 37 - chart-sdk/vue/chart/api-splineSeries.md | 37 - chart-sdk/vue/chart/api-stackingAreaSeries.md | 37 - chart-sdk/vue/chart/api-stackingBarSeries.md | 25 - .../vue/chart/api-stackingColumnSeries.md | 25 - chart-sdk/vue/chart/api-staticFunctions.md | 50 - chart-sdk/vue/chart/api-stepAreaSeries.md | 37 - chart-sdk/vue/chart/api-stepLineSeries.md | 37 - .../vue/chart/api-stochasticIndicator.md | 27 - chart-sdk/vue/chart/api-stripLineSettings.md | 102 - .../vue/chart/api-stripLineSettingsModel.md | 80 - chart-sdk/vue/chart/api-technicalAnalysis.md | 27 - chart-sdk/vue/chart/api-technicalIndicator.md | 287 - .../vue/chart/api-technicalIndicatorModel.md | 235 - chart-sdk/vue/chart/api-tmaIndicator.md | 27 - chart-sdk/vue/chart/api-tooltip.md | 21 - chart-sdk/vue/chart/api-tooltipSettings.md | 71 - .../vue/chart/api-tooltipSettingsModel.md | 55 - chart-sdk/vue/chart/api-trendline.md | 89 - chart-sdk/vue/chart/api-trendlineModel.md | 67 - chart-sdk/vue/chart/api-trendlines.md | 33 - chart-sdk/vue/chart/api-waterfallSeries.md | 25 - chart-sdk/vue/chart/api-zoom.md | 21 - chart-sdk/vue/chart/api-zoomSettings.md | 71 - chart-sdk/vue/chart/api-zoomSettingsModel.md | 56 - chart-sdk/vue/chart/axis-customization.md | 137 - chart-sdk/vue/chart/axis-labels.md | 246 - chart-sdk/vue/chart/category-axis.md | 77 - chart-sdk/vue/chart/chart-annotations.md | 93 - chart-sdk/vue/chart/chart-appearance.md | 174 - chart-sdk/vue/chart/chart-dimensions.md | 64 - chart-sdk/vue/chart/chart-print.md | 127 - chart-sdk/vue/chart/chart-series.md | 60 - chart-sdk/vue/chart/chart-type/area.md | 216 - chart-sdk/vue/chart/chart-type/bar.md | 300 - chart-sdk/vue/chart/chart-type/box-whisker.md | 176 - chart-sdk/vue/chart/chart-type/bubble.md | 180 - chart-sdk/vue/chart/chart-type/candle.md | 162 - chart-sdk/vue/chart/chart-type/column.md | 300 - chart-sdk/vue/chart/chart-type/error-bar.md | 158 - .../chart/chart-type/high-low-open-close.md | 133 - chart-sdk/vue/chart/chart-type/high-low.md | 165 - chart-sdk/vue/chart/chart-type/histogram.md | 68 - chart-sdk/vue/chart/chart-type/line.md | 229 - chart-sdk/vue/chart/chart-type/pareto.md | 210 - chart-sdk/vue/chart/chart-type/polar.md | 340 - chart-sdk/vue/chart/chart-type/radar.md | 178 - chart-sdk/vue/chart/chart-type/range-area.md | 195 - .../vue/chart/chart-type/range-column.md | 225 - .../vue/chart/chart-type/range-step-area.md | 224 - chart-sdk/vue/chart/chart-type/scatter.md | 180 - chart-sdk/vue/chart/chart-type/spline-area.md | 192 - .../vue/chart/chart-type/spline-range-area.md | 194 - chart-sdk/vue/chart/chart-type/spline.md | 223 - chart-sdk/vue/chart/chart-type/stack-area.md | 232 - chart-sdk/vue/chart/chart-type/stack-bar.md | 294 - .../vue/chart/chart-type/stack-column.md | 294 - chart-sdk/vue/chart/chart-type/stack-line.md | 247 - .../vue/chart/chart-type/stacked-area.md | 193 - chart-sdk/vue/chart/chart-type/stacked-bar.md | 238 - .../vue/chart/chart-type/stacked-column.md | 238 - .../vue/chart/chart-type/stacked-line.md | 208 - .../vue/chart/chart-type/stacked-step-area.md | 263 - chart-sdk/vue/chart/chart-type/step-area.md | 223 - chart-sdk/vue/chart/chart-type/step-line.md | 238 - chart-sdk/vue/chart/chart-type/vertical.md | 127 - chart-sdk/vue/chart/chart-type/waterfall.md | 179 - .../vue/chart/cross-hair-and-track-ball.md | 136 - chart-sdk/vue/chart/data-editing.md | 35 - chart-sdk/vue/chart/data-labels.md | 263 - chart-sdk/vue/chart/data-markers.md | 110 - chart-sdk/vue/chart/date-time-axis.md | 189 - chart-sdk/vue/chart/dynamic-data-update.md | 82 - chart-sdk/vue/chart/feature-modules.md | 83 - chart-sdk/vue/chart/getting-started.md | 276 - chart-sdk/vue/chart/how-to/dotted-line.md | 33 - chart-sdk/vue/chart/how-to/dynamic-chart.md | 36 - chart-sdk/vue/chart/how-to/hide-tool-tip.md | 34 - chart-sdk/vue/chart/images/quasar-output.png | Bin 23666 -> 0 bytes chart-sdk/vue/chart/images/quasar-setup1.png | Bin 48587 -> 0 bytes chart-sdk/vue/chart/images/quasar-setup2.png | Bin 11161 -> 0 bytes .../vue/chart/images/vue3-chart-demo.png | Bin 23825 -> 0 bytes chart-sdk/vue/chart/internationalization.md | 39 - chart-sdk/vue/chart/legend.md | 275 - chart-sdk/vue/chart/localization.md | 62 - chart-sdk/vue/chart/logarithmic-axis.md | 77 - chart-sdk/vue/chart/multiple-panes.md | 77 - chart-sdk/vue/chart/numeric-axis.md | 232 - chart-sdk/vue/chart/quasar.md | 192 - chart-sdk/vue/chart/render-methods.md | 34 - chart-sdk/vue/chart/selection.md | 190 - chart-sdk/vue/chart/series-label.md | 52 - chart-sdk/vue/chart/strip-line.md | 163 - chart-sdk/vue/chart/synchronized-chart.md | 87 - chart-sdk/vue/chart/technical-indicators.md | 212 - chart-sdk/vue/chart/title-subtitle.md | 101 - chart-sdk/vue/chart/tool-tip.md | 300 - chart-sdk/vue/chart/trend-lines.md | 188 - chart-sdk/vue/chart/understanding-chart.md | 41 - chart-sdk/vue/chart/vue-3-getting-started.md | 299 - chart-sdk/vue/chart/working-with-data.md | 214 - chart-sdk/vue/chart/zooming.md | 180 - chart-sdk/vue/charts/getting-started.md | 46 +- chart-sdk/vue/charts/quasar.md | 53 +- chart-sdk/vue/charts/vue-3-getting-started.md | 92 +- chart-sdk/vue/circular-chart-3d/data-label.md | 202 - .../vue/circular-chart-3d/empty-points.md | 39 - .../vue/circular-chart-3d/getting-started.md | 278 - .../images/vue3-circular-chart-3d-demo.png | Bin 26319 -> 0 bytes chart-sdk/vue/circular-chart-3d/legend.md | 176 - .../vue/circular-chart-3d/pie-donut-chart.md | 101 - .../vue/circular-chart-3d/print-and-export.md | 41 - .../circular-chart-3d/title-and-subtitle.md | 71 - chart-sdk/vue/circular-chart-3d/tooltip.md | 171 - .../vue-3-getting-started.md | 375 - .../accessibility.md | 0 .../appearance.md | 0 .../{heatmap-chart => heatmap-charts}/axis.md | 0 .../bubble-heatmap.md | 0 .../dimensions.md | 0 .../events.md | 0 .../getting-started-vue-3.md | 0 .../getting-started.md | 0 .../how-to/legend-label-customization.md | 0 .../how-to/tooltip-template.md | 0 .../images/vue2-terminal.png | Bin .../images/vue3-heatmap-demo.PNG | Bin .../images/vue3-terminal.png | Bin .../legend.md | 0 .../palette.md | 0 .../rendering-mode.md | 0 .../selection.md | 0 .../tooltip.md | 0 .../working-with-data.md | 0 chart-sdk/vue/range-selector/accessibility.md | 68 - chart-sdk/vue/range-selector/api-animation.md | 33 - .../vue/range-selector/api-animationModel.md | 27 - .../vue/range-selector/api-annotationBase.md | 21 - .../vue/range-selector/api-chartAreaModel.md | 27 - .../vue/range-selector/api-iPrintEventArgs.md | 21 - chart-sdk/vue/range-selector/customization.md | 106 - chart-sdk/vue/range-selector/export-print.md | 45 - .../vue/range-selector/getting-started.md | 190 - chart-sdk/vue/range-selector/grid-tick.md | 41 - .../range-selector/images/vue3-RN-demo.png | Bin 11195 -> 0 bytes chart-sdk/vue/range-selector/labels.md | 96 - chart-sdk/vue/range-selector/lightweight.md | 28 - .../vue/range-selector/period-selector.md | 89 - chart-sdk/vue/range-selector/r-t-l.md | 24 - .../vue/range-selector/selecting-range.md | 28 - chart-sdk/vue/range-selector/series-types.md | 107 - chart-sdk/vue/range-selector/tool-tip.md | 94 - .../range-selector/vue-3-getting-started.md | 302 - .../vue/sankey-diagram/getting-started.md | 99 +- .../sankey-diagram/vue-3-getting-started.md | 168 +- chart-sdk/vue/sankey/accessibility.md | 79 - chart-sdk/vue/sankey/appearance.md | 130 - chart-sdk/vue/sankey/customization.md | 270 - chart-sdk/vue/sankey/events.md | 196 - chart-sdk/vue/sankey/getting-started.md | 221 - .../vue/sankey/images/vue3-sankey-tooltip.png | Bin 17986 -> 0 bytes chart-sdk/vue/sankey/labels.md | 114 - chart-sdk/vue/sankey/legend.md | 126 - chart-sdk/vue/sankey/links.md | 124 - chart-sdk/vue/sankey/nodes.md | 120 - chart-sdk/vue/sankey/orientation-rtl.md | 102 - chart-sdk/vue/sankey/print-export.md | 122 - chart-sdk/vue/sankey/title-subtitle.md | 106 - chart-sdk/vue/sankey/tooltip.md | 201 - chart-sdk/vue/sankey/vue-3-getting-started.md | 287 - chart-sdk/vue/smith-chart/getting-started.md | 278 - .../vue/smith-chart/images/vue2-terminal.png | Bin 9489 -> 0 bytes .../images/vue3-smith-chart-demo.png | Bin 100788 -> 0 bytes .../vue/smith-chart/images/vue3-terminal.png | Bin 7221 -> 0 bytes .../vue/smith-chart/smithchart-legend.md | 122 - .../vue/smith-chart/vue-3-getting-started.md | 415 - .../accessibility.md | 0 .../getting-started.md | 0 .../images/vue2-terminal.png | Bin .../images/vue3-smith-chart-demo.png | Bin .../images/vue3-terminal.png | Bin .../{smith-chart => smith-charts}/index.md | 0 .../smithchart-axis.md | 0 .../smithchart-dimensions.md | 0 .../smithchart-legend.md | 0 .../smithchart-marker.md | 0 .../smithchart-print.md | 0 .../smithchart-series.md | 0 .../smithchart-tooltip.md | 0 .../title-subtitle.md | 0 .../vue-3-getting-started.md | 0 .../working-with-data.md | 0 chart-sdk/vue/smithchart/accessibility.md | 71 - .../vue/smithchart/images/vue2-terminal.png | Bin 9489 -> 0 bytes .../vue/smithchart/images/vue3-terminal.png | Bin 7221 -> 0 bytes chart-sdk/vue/smithchart/index.md | 21 - chart-sdk/vue/smithchart/smithchart-axis.md | 77 - .../vue/smithchart/smithchart-dimensions.md | 70 - chart-sdk/vue/smithchart/smithchart-marker.md | 87 - chart-sdk/vue/smithchart/smithchart-print.md | 182 - chart-sdk/vue/smithchart/smithchart-series.md | 49 - .../vue/smithchart/smithchart-tooltip.md | 24 - chart-sdk/vue/smithchart/title-subtitle.md | 41 - chart-sdk/vue/smithchart/working-with-data.md | 28 - chart-sdk/vue/sparkline-charts/appearance.md | 67 - .../sparkline-charts/axis-customization.md | 92 - chart-sdk/vue/sparkline-charts/data-labels.md | 58 - .../vue/sparkline-charts/getting-started.md | 216 - .../sparkline-charts/images/vue2-terminal.png | Bin 9489 -> 0 bytes .../images/vue3-sparkline-charts-demo.png | Bin 6731 -> 0 bytes .../sparkline-charts/images/vue3-terminal.png | Bin 7221 -> 0 bytes .../vue/sparkline-charts/localization.md | 39 - chart-sdk/vue/sparkline-charts/marker.md | 58 - chart-sdk/vue/sparkline-charts/range-band.md | 37 - .../sparkline-charts/sparkline-dimensions.md | 54 - .../vue/sparkline-charts/sparkline-types.md | 83 - .../special-points-customization.md | 35 - .../vue/sparkline-charts/user-interaction.md | 121 - .../sparkline-charts/vue-3-getting-started.md | 310 - .../vue/stock-chart/images/vue3-terminal.png | Bin 7221 -> 0 bytes .../accessibility.md | 0 .../appearance.md | 0 .../axis-customization.md | 0 .../axis-types.md | 0 .../chart-dimensions.md | 0 .../cross-hair.md | 0 .../export-print.md | 0 .../getting-started.md | 0 .../{stock-chart => stock-charts}/gradient.md | 0 .../images/vue2-stockchart-demo.png | Bin .../images/vue3-stockchart-demo.png | Bin .../images/vue3-terminal.png | Bin .../{stock-chart => stock-charts}/legend.md | 0 .../period-selector.md | 0 .../range-selector.md | 0 .../series-types.md | 0 .../stock-events.md | 0 .../technical-indicators.md | 0 .../{stock-chart => stock-charts}/tool-tip.md | 0 .../trend-lines.md | 0 .../vue-3-getting-started.md | 0 .../working-with-data.md | 0 chart-toc.html | 3150 ++--- .../accumulation-chart-data-cs1/angular.json | 76 + .../accumulation-chart-data-cs1/index.css | 22 + .../accumulation-chart-data-cs1/index.html | 17 + .../accumulation-chart-data-cs1/package.json | 44 + .../accumulation-chart-data-cs1/src/app.ts | 42 + .../accumulation-chart-data-cs1/src/main.ts | 4 + .../src/styles.css | 4 + .../accumulation-chart-data-cs1/tsconfig.json | 32 + .../tooltip-format/datasource.ts | 6 + .../tooltip-format/index.css | 19 + .../tooltip-format/index.html | 27 + .../tooltip-format/index.js | 25 + .../tooltip-format/index.ts | 18 + .../tooltip-format/systemjs.config.js | 39 + .../tooltip-format/datasource.ts | 6 + .../tooltip-format/index.css | 19 + .../tooltip-format/index.html | 22 + .../tooltip-format/index.js | 25 + .../tooltip-format/index.ts | 18 + .../tooltip-format/systemjs.config.js | 39 + .../user-interaction-cs4/datasource.ts | 73 + .../user-interaction-cs4/index.css | 33 + .../user-interaction-cs4/index.html | 31 + .../user-interaction-cs4/index.js | 22 + .../user-interaction-cs4/index.ts | 24 + .../user-interaction-cs4/systemjs.config.js | 39 + 2406 files changed, 23755 insertions(+), 104595 deletions(-) rename chart-sdk/angular/{3d-chart => 3d-charts}/accessibility.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/appearance.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/axis-customization.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/axis-labels.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/category-axis.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/chart-types/bar.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/chart-types/column.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/chart-types/stack-bar.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/chart-types/stack-column.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/chart-types/stacked-bar.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/chart-types/stacked-column.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/data-labels.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/datetime-axis.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/dimensions.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/getting-started.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/legend.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/logarithmic-axis.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/multi-panes.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/numeric-axis.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/print-export.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/selection.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/tool-tip.md (100%) rename chart-sdk/angular/{3d-chart => 3d-charts}/working-with-data.md (100%) rename chart-sdk/angular/{circular-chart-3d => 3d-circular-charts}/data-label.md (100%) rename chart-sdk/angular/{circular-chart-3d => 3d-circular-charts}/empty-points.md (100%) rename chart-sdk/angular/{circular-chart-3d => 3d-circular-charts}/getting-started.md (100%) rename chart-sdk/angular/{circular-chart-3d => 3d-circular-charts}/legend.md (100%) rename chart-sdk/angular/{circular-chart-3d => 3d-circular-charts}/pie-donut-chart.md (100%) rename chart-sdk/angular/{circular-chart-3d => 3d-circular-charts}/print-and-export.md (100%) rename chart-sdk/angular/{circular-chart-3d => 3d-circular-charts}/title-and-subtitle.md (100%) rename chart-sdk/angular/{circular-chart-3d => 3d-circular-charts}/tooltip.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/accessibility.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/advanced-accessibility-configuration.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/annotation.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/api.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/appearance.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/center-label.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/chart-print.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/customization.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/data-label.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/dynamic-data-update.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/ej1-api-migration.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/empty-points.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/funnel.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/getting-started.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/gradient.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/grouping.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/legend.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/pie-dough-nut.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/pyramid.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/series-types.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/title-and-sub-title.md (100%) rename chart-sdk/angular/{accumulation-chart => accumulation-charts}/tool-tip.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/accessibility.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/axis-customization.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/bullet-chart-dimensions.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/comparative-bar.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/customization.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/data-binding.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/data-label.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/getting-started.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/ranges.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/title.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/tool-tip.md (100%) rename chart-sdk/angular/{bullet-chart => bullet-charts}/value-bar.md (100%) rename chart-sdk/angular/{chart => charts}/accessibility.md (100%) rename chart-sdk/angular/{chart => charts}/advanced-accessibility-configuration.md (100%) rename chart-sdk/angular/{chart => charts}/api.md (100%) rename chart-sdk/angular/{chart => charts}/appearance.md (100%) rename chart-sdk/angular/{chart => charts}/axis/axis-customization.md (100%) rename chart-sdk/angular/{chart => charts}/axis/axis-labels.md (100%) rename chart-sdk/angular/{chart => charts}/axis/axis-overview.md (100%) rename chart-sdk/angular/{chart => charts}/axis/axis-types/category-axis.md (100%) rename chart-sdk/angular/{chart => charts}/axis/axis-types/date-time-axis.md (100%) rename chart-sdk/angular/{chart => charts}/axis/axis-types/logarithmic-axis.md (100%) rename chart-sdk/angular/{chart => charts}/axis/axis-types/numeric-axis.md (100%) rename chart-sdk/angular/{chart => charts}/axis/multiple-panes.md (100%) rename chart-sdk/angular/{chart => charts}/chart-axis.md (100%) rename chart-sdk/angular/{chart => charts}/chart-dimensions.md (100%) rename chart-sdk/angular/{chart => charts}/chart-elements/chart-annotations.md (100%) rename chart-sdk/angular/{chart => charts}/chart-elements/data-labels.md (100%) rename chart-sdk/angular/{chart => charts}/chart-elements/data-markers.md (100%) rename chart-sdk/angular/{chart => charts}/chart-elements/gradient.md (100%) rename chart-sdk/angular/{chart => charts}/chart-elements/legend.md (100%) rename chart-sdk/angular/{chart => charts}/chart-elements/series-label.md (100%) rename chart-sdk/angular/{chart => charts}/chart-elements/strip-line.md (100%) rename chart-sdk/angular/{chart => charts}/chart-elements/technical-indicators.md (100%) rename chart-sdk/angular/{chart => charts}/chart-elements/trend-lines.md (100%) rename chart-sdk/angular/{chart => charts}/chart-events.md (100%) rename chart-sdk/angular/{chart => charts}/chart-interactive/cross-hair-and-track-ball.md (100%) rename chart-sdk/angular/{chart => charts}/chart-interactive/data-editing.md (100%) rename chart-sdk/angular/{chart => charts}/chart-interactive/selection.md (100%) rename chart-sdk/angular/{chart => charts}/chart-interactive/synchronized-chart.md (100%) rename chart-sdk/angular/{chart => charts}/chart-interactive/tool-tip.md (100%) rename chart-sdk/angular/{chart => charts}/chart-interactive/zooming.md (100%) rename chart-sdk/angular/{chart => charts}/chart-overview.md (100%) rename chart-sdk/angular/{chart => charts}/chart-print.md (100%) rename chart-sdk/angular/{chart => charts}/cross-hair-track-ball.md (100%) rename chart-sdk/angular/{chart => charts}/data-binding/dynamic-data-update.md (100%) rename chart-sdk/angular/{chart => charts}/data-binding/working-with-data.md (100%) rename chart-sdk/angular/{chart => charts}/ej1-api-migration.md (100%) rename chart-sdk/angular/{chart => charts}/feature-modules.md (100%) rename chart-sdk/angular/{chart => charts}/getting-started.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/add-series.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/click-data.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/column-width.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/customize-scatter-chart.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/database-data.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/dialog-chart.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/dynamic-chart.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/grid-data-chart.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/images/chart-data.png (100%) rename chart-sdk/angular/{chart => charts}/how-to/images/chart.png (100%) rename chart-sdk/angular/{chart => charts}/how-to/live-chart.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/overlap-area.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/percentage-tool-tip.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/points-customization.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/selected-data-grid.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/series-visible.md (100%) rename chart-sdk/angular/{chart => charts}/how-to/threshold.md (100%) rename chart-sdk/angular/{chart => charts}/internationalization.md (100%) rename chart-sdk/angular/{chart => charts}/localization.md (100%) rename chart-sdk/angular/{chart => charts}/render-methods.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-overview.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/area-types/area.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/area-types/range-area.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/area-types/range-step-area.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/area-types/spline-area.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/area-types/spline-range-area.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/area-types/stack-area.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/area-types/stacked-area.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/area-types/stacked-step-area.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/area-types/step-area.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/box-whisker.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/bubble.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/candle.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/chart-series.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/column-bar-types/bar.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/column-bar-types/column.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/column-bar-types/range-column.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/column-bar-types/stack-bar.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/column-bar-types/stack-column.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/column-bar-types/stacked-bar.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/column-bar-types/stacked-column.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/error-bar.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/high-low-open-close.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/high-low.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/histogram.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/line-types/line.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/line-types/spline.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/line-types/stack-line.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/line-types/stacked-line.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/line-types/step-line.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/pareto.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/polar.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/radar.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/scatter.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/vertical.md (100%) rename chart-sdk/angular/{chart => charts}/series/series-types/waterfall.md (100%) rename chart-sdk/angular/{chart => charts}/title-subtitle.md (100%) rename chart-sdk/angular/{chart => charts}/understanding-chart.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/accessibility.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/appearance.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/axis.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/bubble-heatmap.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/dimensions.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/ej1-api-migration.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/events.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/getting-started.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/how-to/legend-customization.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/how-to/tooltip-template.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/legend.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/palette.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/rendering-mode.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/selection.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/title.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/tooltip.md (100%) rename chart-sdk/angular/{heatmap-chart => heatmap-charts}/working-with-data.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/accessibility.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/appearance.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/customization.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/events.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/getting-started.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/labels.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/legend.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/links.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/nodes.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/orientation-rtl.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/print-and-export.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/title-and-sub-title.md (100%) rename chart-sdk/angular/{sankey => sankey-diagram}/tool-tip.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/accessibility.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/getting-started.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/images/Ai.png (100%) rename chart-sdk/angular/{smithchart => smith-charts}/images/SSR.png (100%) rename chart-sdk/angular/{smithchart => smith-charts}/smith-chart-axis.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/smith-chart-dimensions.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/smith-chart-legend.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/smith-chart-marker.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/smith-chart-print.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/smith-chart-series.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/smith-chart-tooltip.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/title-subtitle.md (100%) rename chart-sdk/angular/{smithchart => smith-charts}/working-with-data.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/accessibility.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/appearance.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/axis-customization.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/axis-types.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/chart-dimensions.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/cross-hair.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/export-print.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/getting-started.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/gradient.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/how-to/live-data.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/internationalization.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/legend.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/localization.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/period-selector.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/range-selector.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/series-types.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/stock-events.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/technical-indicators.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/tool-tip.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/trend-lines.md (100%) rename chart-sdk/angular/{stock-chart => stock-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/asp-net-core/3d-chart/accessibility.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/appearance.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/axis-customization.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/axis-labels.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/category-axis.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/chart-dimensions.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/chart-types/bar.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/chart-types/column.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/chart-types/stack-bar100.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/chart-types/stack-column100.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/chart-types/stacked-bar.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/chart-types/stacked-column.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/data-labels.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/date-time-axis.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/getting-started.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/legend.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/logarithmic-axis.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/multiple-panes.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/numeric-axis.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/print-export.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/selection.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/tool-tip.md delete mode 100644 chart-sdk/asp-net-core/3d-chart/working-with-data.md rename chart-sdk/asp-net-core/{3d-chart => 3d-charts}/images/three-d-chart.webp (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/accessibility.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/advanced-accessibility-configuration.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/annotation.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/center-label.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/chart-print.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/data-label.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/dynamic-data-update.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/ej1-api-migration.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/empty-points.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/funnel.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/getting-started.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/gradient.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/grouping.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/images/accumulation-chart-component.png (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/images/accumulation-chart.png (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/images/accumulationchart.png (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/images/default-template.png (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/images/nodatatemplate-accumulationchart.png (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/images/nuget-demo.png (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/images/pie-drill-down-and-display-data-in-grid.gif (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/images/show-percentage-in-pie-chart.png (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/images/solution-explorer-core.png (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/legend.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/overview.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/pie-dough-nut.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/pyramid.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/title-and-sub-title.md (100%) rename chart-sdk/asp-net-core/{accumulation-chart => accumulation-charts}/tool-tip.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/accessibility.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/axis-customization.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/bullet-chart-dimensions.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/comparative-bar.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/customization.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/data-binding.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/data-label.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/getting-started.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-actual-bar-customization.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-actual-bar.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-category-label.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-component.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-custom-label-format.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-data-binding.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-data-label.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-dot-actual-bar.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-grouping.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-label-customization.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-label-format.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-labels-position.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-alignment.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-color-mapping.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-customization.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-on-custom-position.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-on-top-position.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-paging.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-size.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-margin.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-opposed-position.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-orientation.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-range-customization.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-range.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-ranges.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-rectangle-target-bar.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-right-to-left-direction.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-subtitle.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-target-bar-customization.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-target-bar.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-theme.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tick-line-customization.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tick-position.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-title-customization.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-title-positions.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-title.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tooltip-customization.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tooltip-template.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tooltip.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-with-border.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-with-title.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/blazor-bulletchart-tooltip.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/bullet-chart-control.webp (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/bullet-chart-with-title.webp (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/bullet-chart-with-tooltip.webp (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/default-template.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/nuget-demo.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/solution-explorer-core.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/target-color.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/target-width.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/images/value-fill.png (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/ranges.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/title.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/tool-tip.md (100%) rename chart-sdk/asp-net-core/{bullet-chart => bullet-charts}/value-bar.md (100%) delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Series_images/Chart-Series_img1.png delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Series_images/Chart-Series_img2.png delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Series_images/Chart-Series_img3.png delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Series_images/Chart-Series_img4.png delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img1.png delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img2.png delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img3.png delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img4.png delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img5.png delete mode 100644 chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img6.png delete mode 100644 chart-sdk/asp-net-core/chart/accessibility.md delete mode 100644 chart-sdk/asp-net-core/chart/advanced-accessibility-configuration.md delete mode 100644 chart-sdk/asp-net-core/chart/axis-customization.md delete mode 100644 chart-sdk/asp-net-core/chart/axis-labels.md delete mode 100644 chart-sdk/asp-net-core/chart/category-axis.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-annotations.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-appearance.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-dimensions.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-print.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-series.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/area.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/bar.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/box-whisker.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/bubble.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/candle.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/column.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/error-bar.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/high-low-open-close.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/high-low.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/histogram.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/line.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/pareto.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/polar.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/radar.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/range-area.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/range-column.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/range-step-area.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/scatter.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/spline-area.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/spline-range-area.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/spline.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/stack-area100.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/stack-bar100.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/stack-column100.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/stack-line100.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/stacked-area.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/stacked-bar.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/stacked-column.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/stacked-line.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/stacked-step-area.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/step-area.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/step-line.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/vertical-chart.md delete mode 100644 chart-sdk/asp-net-core/chart/chart-types/waterfall.md delete mode 100644 chart-sdk/asp-net-core/chart/cross-hair-and-track-ball.md delete mode 100644 chart-sdk/asp-net-core/chart/data-editing.md delete mode 100644 chart-sdk/asp-net-core/chart/data-labels.md delete mode 100644 chart-sdk/asp-net-core/chart/data-markers.md delete mode 100644 chart-sdk/asp-net-core/chart/date-time-axis.md delete mode 100644 chart-sdk/asp-net-core/chart/dynamic-data-update.md delete mode 100644 chart-sdk/asp-net-core/chart/ej1-api-migration.md delete mode 100644 chart-sdk/asp-net-core/chart/getting-started.md delete mode 100644 chart-sdk/asp-net-core/chart/gradient.md delete mode 100644 chart-sdk/asp-net-core/chart/how-to/add-remove.md delete mode 100644 chart-sdk/asp-net-core/chart/how-to/ajax-chart-call.md delete mode 100644 chart-sdk/asp-net-core/chart/how-to/code-behind-chart.md delete mode 100644 chart-sdk/asp-net-core/chart/how-to/control-chart.md delete mode 100644 chart-sdk/asp-net-core/chart/how-to/data-label-customization.md delete mode 100644 chart-sdk/asp-net-core/chart/how-to/dotted-line.md delete mode 100644 chart-sdk/asp-net-core/chart/how-to/dynamic-chart.md delete mode 100644 chart-sdk/asp-net-core/chart/how-to/hide-tool-tip.md delete mode 100644 chart-sdk/asp-net-core/chart/how-to/images/chart.png delete mode 100644 chart-sdk/asp-net-core/chart/how-to/images/control-charts.png delete mode 100644 chart-sdk/asp-net-core/chart/how-to/images/initialview.png delete mode 100644 chart-sdk/asp-net-core/chart/how-to/images/step1.png delete mode 100644 chart-sdk/asp-net-core/chart/how-to/images/step4.png delete mode 100644 chart-sdk/asp-net-core/chart/how-to/images/step5.png delete mode 100644 chart-sdk/asp-net-core/chart/how-to/images/step6.png delete mode 100644 chart-sdk/asp-net-core/chart/how-to/images/updatechart.png delete mode 100644 chart-sdk/asp-net-core/chart/how-to/partial-chart.md delete mode 100644 chart-sdk/asp-net-core/chart/images/axislabel-template.png delete mode 100644 chart-sdk/asp-net-core/chart/images/control-template.png delete mode 100644 chart-sdk/asp-net-core/chart/images/default-template-mvc.png delete mode 100644 chart-sdk/asp-net-core/chart/images/feature.png delete mode 100644 chart-sdk/asp-net-core/chart/images/legend-label.png delete mode 100644 chart-sdk/asp-net-core/chart/images/nodatatemplate-chart.png delete mode 100644 chart-sdk/asp-net-core/chart/images/scaffold-template.png delete mode 100644 chart-sdk/asp-net-core/chart/images/solution-explorer-mvc.png delete mode 100644 chart-sdk/asp-net-core/chart/images/ui-scaffolder.png delete mode 100644 chart-sdk/asp-net-core/chart/internationalization.md delete mode 100644 chart-sdk/asp-net-core/chart/lastvaluelabel.md delete mode 100644 chart-sdk/asp-net-core/chart/legend.md delete mode 100644 chart-sdk/asp-net-core/chart/localization.md delete mode 100644 chart-sdk/asp-net-core/chart/logarithmic-axis.md delete mode 100644 chart-sdk/asp-net-core/chart/multiple-panes.md delete mode 100644 chart-sdk/asp-net-core/chart/numeric-axis.md delete mode 100644 chart-sdk/asp-net-core/chart/overview.md delete mode 100644 chart-sdk/asp-net-core/chart/render-methods.md delete mode 100644 chart-sdk/asp-net-core/chart/selection.md delete mode 100644 chart-sdk/asp-net-core/chart/series-label.md delete mode 100644 chart-sdk/asp-net-core/chart/strip-line.md delete mode 100644 chart-sdk/asp-net-core/chart/synchronized-chart.md delete mode 100644 chart-sdk/asp-net-core/chart/technical-indicators.md delete mode 100644 chart-sdk/asp-net-core/chart/tool-tip.md delete mode 100644 chart-sdk/asp-net-core/chart/trend-lines.md delete mode 100644 chart-sdk/asp-net-core/chart/working-with-data.md delete mode 100644 chart-sdk/asp-net-core/chart/zooming.md rename chart-sdk/asp-net-core/{chart => charts}/how-to/images/chart-control.webp (100%) rename chart-sdk/asp-net-core/{chart => charts}/how-to/images/chart-data.webp (100%) delete mode 100644 chart-sdk/asp-net-core/circular-chart-3d/data-label.md delete mode 100644 chart-sdk/asp-net-core/circular-chart-3d/empty-points.md delete mode 100644 chart-sdk/asp-net-core/circular-chart-3d/getting-started.md delete mode 100644 chart-sdk/asp-net-core/circular-chart-3d/images/circular-chart-3d.png delete mode 100644 chart-sdk/asp-net-core/circular-chart-3d/legend.md delete mode 100644 chart-sdk/asp-net-core/circular-chart-3d/pie-donut-chart.md delete mode 100644 chart-sdk/asp-net-core/circular-chart-3d/print-and-export.md delete mode 100644 chart-sdk/asp-net-core/circular-chart-3d/title-and-subtitle.md delete mode 100644 chart-sdk/asp-net-core/circular-chart-3d/tooltip.md rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/accessibility.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/appearance.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/axis.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/bubble-heatmap.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/dimensions.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/ej1-api-migration.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/events.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/getting-started.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/how-to/legend-label-customization.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/how-to/tooltip-template.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/appearance/data-label-template-with-JSON-cell-binding.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/appearance/data-label-template-with-JSON-table-binding.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/appearance/data-label-template-with-array-cell-binding.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/appearance/data-label-template-with-array-table-binding.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-bubble-color-type.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-bubble-sector-type.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-bubble-size-type.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-size-color-cell.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-size-color-json-cell.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-size-color-json-table.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-size-color-table.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/default-template-mvc.png (100%) rename chart-sdk/asp-net-core/{chart/how-to => heatmap-charts}/images/default-template.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-chart-axis-labels-text-style.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-chart-axis-labels-with-line-breaks.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-chart-label-intersect-action.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-chart-multi-level-labels.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-chart-rotating-labels.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-with-axis-labels.webp (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-with-data.webp (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-with-datalabel.webp (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-with-legend.webp (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-with-palette.webp (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-with-title.webp (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/heatmap-with-tooltip.webp (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/nuget-demo-core.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/nuget-demo-mvc.png (100%) rename chart-sdk/asp-net-core/{chart/how-to => heatmap-charts}/images/nuget-demo.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/selection/heatmap-chart-clear-selection.gif (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/selection/heatmap-chart-selection.gif (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/selection/heatmap-chart-single-cell-selection.gif (100%) rename chart-sdk/asp-net-core/{chart/how-to => heatmap-charts}/images/solution-explorer-core.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/images/solution-explorer-mvc.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/legend.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/overview.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/palette.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/rendering-mode.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/selection.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/tooltip.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => heatmap-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/asp-net-core/range-selector/accessibility.md delete mode 100644 chart-sdk/asp-net-core/range-selector/custom.md delete mode 100644 chart-sdk/asp-net-core/range-selector/data.md delete mode 100644 chart-sdk/asp-net-core/range-selector/ej1-api-migration.md delete mode 100644 chart-sdk/asp-net-core/range-selector/export.md delete mode 100644 chart-sdk/asp-net-core/range-selector/getting-started.md delete mode 100644 chart-sdk/asp-net-core/range-selector/grid-tick.md delete mode 100644 chart-sdk/asp-net-core/range-selector/images/custom/appearance.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/custom/border.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/custom/thumb.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/custom-format.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/datetime-format.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/datetime-interval.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/datetime.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/double.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/format.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/log-base.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/log-range.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/log.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/data/numeric-range.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/grid-tick/grid.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/grid-tick/tick.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/labels/custom.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/labels/group.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/labels/multi.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/labels/position.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/labels/smart.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/light-weight.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/period-selector/height.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/period-selector/periods.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/period-selector/position.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/range.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/rangenavigator-control.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/rn.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/rtl.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/series-type/area.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/series-type/column.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/series-type/line.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/series-type/spline.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/series-type/splinearea.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/series-type/stepline.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/tooltip/tooltip-custom.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/tooltip/tooltip-format.png delete mode 100644 chart-sdk/asp-net-core/range-selector/images/tooltip/tooltip.png delete mode 100644 chart-sdk/asp-net-core/range-selector/labels.md delete mode 100644 chart-sdk/asp-net-core/range-selector/light-weight.md delete mode 100644 chart-sdk/asp-net-core/range-selector/overview.md delete mode 100644 chart-sdk/asp-net-core/range-selector/period-selector.md delete mode 100644 chart-sdk/asp-net-core/range-selector/r-t-l.md delete mode 100644 chart-sdk/asp-net-core/range-selector/range.md delete mode 100644 chart-sdk/asp-net-core/range-selector/series-type.md delete mode 100644 chart-sdk/asp-net-core/range-selector/tool-tip.md delete mode 100644 chart-sdk/asp-net-core/sankey/accessibility.md delete mode 100644 chart-sdk/asp-net-core/sankey/appearance.md delete mode 100644 chart-sdk/asp-net-core/sankey/customization.md delete mode 100644 chart-sdk/asp-net-core/sankey/events.md delete mode 100644 chart-sdk/asp-net-core/sankey/getting-started.md delete mode 100644 chart-sdk/asp-net-core/sankey/labels.md delete mode 100644 chart-sdk/asp-net-core/sankey/legend.md delete mode 100644 chart-sdk/asp-net-core/sankey/links.md delete mode 100644 chart-sdk/asp-net-core/sankey/nodes.md delete mode 100644 chart-sdk/asp-net-core/sankey/orientation-rtl.md delete mode 100644 chart-sdk/asp-net-core/sankey/print-and-export.md delete mode 100644 chart-sdk/asp-net-core/sankey/title-and-sub-title.md delete mode 100644 chart-sdk/asp-net-core/sankey/tool-tip.md delete mode 100644 chart-sdk/asp-net-core/smith-chart/getting-started.md delete mode 100644 chart-sdk/asp-net-core/smith-chart/smithchart-tooltip.md rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/accessibility.md (100%) rename chart-sdk/asp-net-core/{smithchart => smith-charts}/getting-started.md (100%) rename chart-sdk/asp-net-core/{heatmap-chart => smith-charts}/images/default-template.png (100%) rename chart-sdk/asp-net-core/{heatmap-chart => smith-charts}/images/nuget-demo.png (100%) rename chart-sdk/asp-net-core/{smithchart => smith-charts}/images/smithchart-control.webp (100%) rename chart-sdk/asp-net-core/{smithchart => smith-charts}/images/smithchart-series.webp (100%) rename chart-sdk/asp-net-core/{smithchart => smith-charts}/images/smithchart-with-datalabel.webp (100%) rename chart-sdk/asp-net-core/{smithchart => smith-charts}/images/smithchart-with-marker.webp (100%) rename chart-sdk/asp-net-core/{smithchart => smith-charts}/images/smithchart-with-title.webp (100%) rename chart-sdk/asp-net-core/{smithchart => smith-charts}/images/smithchart-with-tooltip.webp (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/images/solution-Explorer.png (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/overview.md (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/smithchart-axis.md (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/smithchart-dimensions.md (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/smithchart-legend.md (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/smithchart-marker.md (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/smithchart-print.md (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/smithchart-series.md (100%) rename chart-sdk/asp-net-core/{smithchart => smith-charts}/smithchart-tooltip.md (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/title-subtitle.md (100%) rename chart-sdk/asp-net-core/{smith-chart => smith-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/asp-net-core/smithchart/accessibility.md delete mode 100644 chart-sdk/asp-net-core/smithchart/overview.md delete mode 100644 chart-sdk/asp-net-core/smithchart/smithchart-axis.md delete mode 100644 chart-sdk/asp-net-core/smithchart/smithchart-dimensions.md delete mode 100644 chart-sdk/asp-net-core/smithchart/smithchart-legend.md delete mode 100644 chart-sdk/asp-net-core/smithchart/smithchart-marker.md delete mode 100644 chart-sdk/asp-net-core/smithchart/smithchart-print.md delete mode 100644 chart-sdk/asp-net-core/smithchart/smithchart-series.md delete mode 100644 chart-sdk/asp-net-core/smithchart/title-subtitle.md delete mode 100644 chart-sdk/asp-net-core/smithchart/working-with-data.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/accessibility.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/appearance.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/appearance.md.bak delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/axis-customization.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/data-labels.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/ej1-api-migration.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/getting-started.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/images/area-sparkline.png delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/images/solution-Explorer.png delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/images/sparkline-control.png delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/images/sparkline-with-tooltip.png delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/images/sparkline.png delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/localization.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/marker.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/overview.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/range-band.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/sparkline-types.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/special-points-customization.md delete mode 100644 chart-sdk/asp-net-core/sparkline-charts/user-interaction.md rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/accessibility.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/appearance.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/axis-customization.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/axis-types.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/chart-dimensions.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/cross-hair.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/export-print.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/getting-started.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/gradient.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/images/nodatatemplate-stockchart.png (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/images/stockchart-control.webp (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/images/stockchart.webp (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/legend.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/period-selector.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/range-selector.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/series-types.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/stock-events.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/technical-indicators.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/tool-tip.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/trend-lines.md (100%) rename chart-sdk/asp-net-core/{stock-chart => stock-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/accessibility.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/appearance.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/axis-customization.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/axis-labels.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/category-axis.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/chart-dimensions.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/chart-types/bar.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/chart-types/column.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/chart-types/stack-bar100.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/chart-types/stack-column100.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/chart-types/stacked-bar.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/chart-types/stacked-column.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/data-labels.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/date-time-axis.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/getting-started.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/images/three-d-chart.png delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/legend.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/logarithmic-axis.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/multiple-panes.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/numeric-axis.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/print-export.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/selection.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/tool-tip.md delete mode 100644 chart-sdk/asp-net-mvc/3d-chart/working-with-data.md delete mode 100644 chart-sdk/asp-net-mvc/accumulation-chart/images/default-template.png delete mode 100644 chart-sdk/asp-net-mvc/accumulation-chart/images/nuget-demo.png rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/accessibility.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/advanced-accessibility-configuration.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/annotation.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/center-label.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/chart-print.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/data-label.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/dynamic-data-update.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/ej1-api-migration.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/empty-points.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/funnel.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/getting-started.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/gradient.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/grouping.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/images/accumulation-chart-component.png (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/images/accumulation-chart.png (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/images/accumulationchart.png (100%) rename chart-sdk/{asp-net-core/range-selector => asp-net-mvc/accumulation-charts}/images/default-template.png (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/images/nodatatemplate-accumulationchart.png (100%) rename chart-sdk/{asp-net-core/range-selector => asp-net-mvc/accumulation-charts}/images/nuget-demo.png (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/images/pie-drill-down-and-display-data-in-grid.gif (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/images/show-percentage-in-pie-chart.png (100%) rename chart-sdk/{asp-net-core/heatmap-chart => asp-net-mvc/accumulation-charts}/images/solution-explorer-core.png (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/legend.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/overview.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/pie-dough-nut.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/pyramid.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/title-and-sub-title.md (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => accumulation-charts}/tool-tip.md (100%) delete mode 100644 chart-sdk/asp-net-mvc/bullet-chart/images/default-template.png delete mode 100644 chart-sdk/asp-net-mvc/bullet-chart/images/nuget-demo.png delete mode 100644 chart-sdk/asp-net-mvc/bullet-chart/images/solution-explorer-core.png rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/accessibility.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/axis-customization.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/bullet-chart-dimensions.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/comparative-bar.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/customization.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/data-binding.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/data-label.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/getting-started.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-actual-bar-customization.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-actual-bar.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-category-label.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-component.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-custom-label-format.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-data-binding.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-data-label.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-dot-actual-bar.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-grouping.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-label-customization.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-label-format.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-labels-position.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-alignment.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-color-mapping.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-customization.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-on-custom-position.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-on-top-position.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-paging.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend-size.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-legend.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-margin.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-opposed-position.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-orientation.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-range-customization.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-range.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-ranges.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-rectangle-target-bar.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-right-to-left-direction.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-subtitle.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-target-bar-customization.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-target-bar.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-theme.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tick-line-customization.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tick-position.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-title-customization.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-title-positions.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-title.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tooltip-customization.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tooltip-template.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-tooltip.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-with-border.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bullet-chart-with-title.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/blazor-bulletchart-tooltip.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/bullet-chart-control.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/bullet-chart-with-title.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/bullet-chart-with-tooltip.png (100%) rename chart-sdk/{asp-net-core/smith-chart => asp-net-mvc/bullet-charts}/images/default-template.png (100%) rename chart-sdk/{asp-net-core/smith-chart => asp-net-mvc/bullet-charts}/images/nuget-demo.png (100%) rename chart-sdk/{asp-net-core/range-selector => asp-net-mvc/bullet-charts}/images/solution-explorer-core.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/target-color.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/target-width.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/images/value-fill.png (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/ranges.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/title.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/tool-tip.md (100%) rename chart-sdk/asp-net-mvc/{bullet-chart => bullet-charts}/value-bar.md (100%) delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Series_images/Chart-Series_img1.png delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Series_images/Chart-Series_img2.png delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Series_images/Chart-Series_img3.png delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Series_images/Chart-Series_img4.png delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img1.png delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img2.png delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img3.png delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img4.png delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img5.png delete mode 100644 chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img6.png delete mode 100644 chart-sdk/asp-net-mvc/chart/accessibility.md delete mode 100644 chart-sdk/asp-net-mvc/chart/advanced-accessibility-configuration.md delete mode 100644 chart-sdk/asp-net-mvc/chart/axis-customization.md delete mode 100644 chart-sdk/asp-net-mvc/chart/axis-labels.md delete mode 100644 chart-sdk/asp-net-mvc/chart/category-axis.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-annotations.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-appearance.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-dimensions.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-print.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-series.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/area.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/bar.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/box-whisker.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/bubble.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/candle.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/column.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/error-bar.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/high-low-open-close.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/high-low.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/histogram.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/line.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/pareto.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/polar.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/radar.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/range-area.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/range-column.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/range-step-area.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/scatter.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/spline-area.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/spline-range-area.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/spline.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/stack-area100.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/stack-bar100.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/stack-column100.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/stack-line100.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/stacked-area.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/stacked-bar.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/stacked-column.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/stacked-line.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/stacked-step-area.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/step-area.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/step-line.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/vertical-chart.md delete mode 100644 chart-sdk/asp-net-mvc/chart/chart-types/waterfall.md delete mode 100644 chart-sdk/asp-net-mvc/chart/cross-hair-and-track-ball.md delete mode 100644 chart-sdk/asp-net-mvc/chart/data-editing.md delete mode 100644 chart-sdk/asp-net-mvc/chart/data-labels.md delete mode 100644 chart-sdk/asp-net-mvc/chart/data-markers.md delete mode 100644 chart-sdk/asp-net-mvc/chart/date-time-axis.md delete mode 100644 chart-sdk/asp-net-mvc/chart/dynamic-data-update.md delete mode 100644 chart-sdk/asp-net-mvc/chart/ej1-api-migration.md delete mode 100644 chart-sdk/asp-net-mvc/chart/getting-started.md delete mode 100644 chart-sdk/asp-net-mvc/chart/gradient.md delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/add-remove.md delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/ajax-chart-call.md delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/code-behind-chart.md delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/control-chart.md delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/data-label-customization.md delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/dotted-line.md delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/dynamic-chart.md delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/hide-tool-tip.md delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/chart-data.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/chart.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/control-charts.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/default-template.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/initialview.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/nuget-demo.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/solution-explorer-core.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/step1.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/step4.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/step5.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/step6.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/images/updatechart.png delete mode 100644 chart-sdk/asp-net-mvc/chart/how-to/partial-chart.md delete mode 100644 chart-sdk/asp-net-mvc/chart/images/axislabel-template.png delete mode 100644 chart-sdk/asp-net-mvc/chart/images/control-template.png delete mode 100644 chart-sdk/asp-net-mvc/chart/images/default-template-mvc.png delete mode 100644 chart-sdk/asp-net-mvc/chart/images/feature.png delete mode 100644 chart-sdk/asp-net-mvc/chart/images/legend-label.png delete mode 100644 chart-sdk/asp-net-mvc/chart/images/nodatatemplate-chart.png delete mode 100644 chart-sdk/asp-net-mvc/chart/images/scaffold-template.png delete mode 100644 chart-sdk/asp-net-mvc/chart/images/solution-explorer-mvc.png delete mode 100644 chart-sdk/asp-net-mvc/chart/images/ui-scaffolder.png delete mode 100644 chart-sdk/asp-net-mvc/chart/internationalization.md delete mode 100644 chart-sdk/asp-net-mvc/chart/lastvaluelabel.md delete mode 100644 chart-sdk/asp-net-mvc/chart/legend.md delete mode 100644 chart-sdk/asp-net-mvc/chart/localization.md delete mode 100644 chart-sdk/asp-net-mvc/chart/logarithmic-axis.md delete mode 100644 chart-sdk/asp-net-mvc/chart/multiple-panes.md delete mode 100644 chart-sdk/asp-net-mvc/chart/numeric-axis.md delete mode 100644 chart-sdk/asp-net-mvc/chart/overview.md delete mode 100644 chart-sdk/asp-net-mvc/chart/render-methods.md delete mode 100644 chart-sdk/asp-net-mvc/chart/scaffolding.md delete mode 100644 chart-sdk/asp-net-mvc/chart/selection.md delete mode 100644 chart-sdk/asp-net-mvc/chart/series-label.md delete mode 100644 chart-sdk/asp-net-mvc/chart/strip-line.md delete mode 100644 chart-sdk/asp-net-mvc/chart/synchronized-chart.md delete mode 100644 chart-sdk/asp-net-mvc/chart/technical-indicators.md delete mode 100644 chart-sdk/asp-net-mvc/chart/tool-tip.md delete mode 100644 chart-sdk/asp-net-mvc/chart/trend-lines.md delete mode 100644 chart-sdk/asp-net-mvc/chart/working-with-data.md delete mode 100644 chart-sdk/asp-net-mvc/chart/zooming.md delete mode 100644 chart-sdk/asp-net-mvc/circular-chart-3d/data-label.md delete mode 100644 chart-sdk/asp-net-mvc/circular-chart-3d/empty-points.md delete mode 100644 chart-sdk/asp-net-mvc/circular-chart-3d/getting-started.md delete mode 100644 chart-sdk/asp-net-mvc/circular-chart-3d/images/circular-chart-3d.png delete mode 100644 chart-sdk/asp-net-mvc/circular-chart-3d/legend.md delete mode 100644 chart-sdk/asp-net-mvc/circular-chart-3d/pie-donut-chart.md delete mode 100644 chart-sdk/asp-net-mvc/circular-chart-3d/print-and-export.md delete mode 100644 chart-sdk/asp-net-mvc/circular-chart-3d/title-and-subtitle.md delete mode 100644 chart-sdk/asp-net-mvc/circular-chart-3d/tooltip.md delete mode 100644 chart-sdk/asp-net-mvc/heatmap-chart/images/default-template.png delete mode 100644 chart-sdk/asp-net-mvc/heatmap-chart/images/nuget-demo.png delete mode 100644 chart-sdk/asp-net-mvc/heatmap-chart/images/solution-explorer-core.png rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/accessibility.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/appearance.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/axis.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/bubble-heatmap.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/dimensions.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/ej1-api-migration.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/events.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/getting-started.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/how-to/legend-label-customization.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/how-to/tooltip-template.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/appearance/data-label-template-with-JSON-cell-binding.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/appearance/data-label-template-with-JSON-table-binding.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/appearance/data-label-template-with-array-cell-binding.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/appearance/data-label-template-with-array-table-binding.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-bubble-color-type.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-bubble-sector-type.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-bubble-size-type.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-size-color-cell.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-size-color-json-cell.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-size-color-json-table.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/bubble-heatmap/heatmap-with-size-color-table.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/default-template-mvc.png (100%) rename chart-sdk/{asp-net-core/smithchart => asp-net-mvc/heatmap-charts}/images/default-template.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-chart-axis-labels-text-style.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-chart-axis-labels-with-line-breaks.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-chart-label-intersect-action.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-chart-multi-level-labels.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-chart-rotating-labels.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-with-axis-labels.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-with-data.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-with-datalabel.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-with-legend.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-with-palette.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-with-title.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/heatmap-with-tooltip.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/nuget-demo-core.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/nuget-demo-mvc.png (100%) rename chart-sdk/{asp-net-core/smithchart => asp-net-mvc/heatmap-charts}/images/nuget-demo.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/selection/heatmap-chart-clear-selection.gif (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/selection/heatmap-chart-selection.gif (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/selection/heatmap-chart-single-cell-selection.gif (100%) rename chart-sdk/asp-net-mvc/{accumulation-chart => heatmap-charts}/images/solution-explorer-core.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/images/solution-explorer-mvc.png (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/legend.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/overview.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/palette.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/rendering-mode.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/selection.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/tooltip.md (100%) rename chart-sdk/asp-net-mvc/{heatmap-chart => heatmap-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/asp-net-mvc/range-selector/accessibility.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/custom.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/data.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/ej1-api-migration.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/export.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/getting-started.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/grid-tick.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/custom/appearance.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/custom/border.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/custom/thumb.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/custom-format.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/datetime-format.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/datetime-interval.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/datetime.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/double.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/format.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/log-base.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/log-range.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/log.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/data/numeric-range.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/default-template.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/grid-tick/grid.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/grid-tick/tick.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/labels/custom.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/labels/group.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/labels/multi.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/labels/position.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/labels/smart.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/light-weight.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/nuget-demo.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/period-selector/height.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/period-selector/periods.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/period-selector/position.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/range.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/rangenavigator-control.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/rn.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/rtl.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/series-type/area.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/series-type/column.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/series-type/line.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/series-type/spline.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/series-type/splinearea.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/series-type/stepline.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/solution-explorer-core.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/tooltip/tooltip-custom.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/tooltip/tooltip-format.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/images/tooltip/tooltip.png delete mode 100644 chart-sdk/asp-net-mvc/range-selector/labels.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/light-weight.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/overview.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/period-selector.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/r-t-l.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/range.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/series-type.md delete mode 100644 chart-sdk/asp-net-mvc/range-selector/tool-tip.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/accessibility.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/appearance.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/customization.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/events.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/getting-started.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/labels.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/legend.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/links.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/nodes.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/orientation-rtl.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/print-and-export.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/title-and-sub-title.md delete mode 100644 chart-sdk/asp-net-mvc/sankey/tool-tip.md delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/getting-started.md delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/images/default-template.png delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/images/nuget-demo.png delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/images/smithchart-control.png delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/images/smithchart-series.png delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-datalabel.png delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-marker.png delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-title.png delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-tooltip.png delete mode 100644 chart-sdk/asp-net-mvc/smith-chart/images/solution-Explorer.png rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/accessibility.md (100%) rename chart-sdk/asp-net-mvc/{smithchart => smith-charts}/getting-started.md (100%) rename chart-sdk/{asp-net-core/sparkline-charts => asp-net-mvc/smith-charts}/images/default-template.png (100%) rename chart-sdk/{asp-net-core/sparkline-charts => asp-net-mvc/smith-charts}/images/nuget-demo.png (100%) rename chart-sdk/{asp-net-core/smith-chart => asp-net-mvc/smith-charts}/images/smithchart-control.png (100%) rename chart-sdk/{asp-net-core/smith-chart => asp-net-mvc/smith-charts}/images/smithchart-series.png (100%) rename chart-sdk/{asp-net-core/smith-chart => asp-net-mvc/smith-charts}/images/smithchart-with-datalabel.png (100%) rename chart-sdk/{asp-net-core/smith-chart => asp-net-mvc/smith-charts}/images/smithchart-with-marker.png (100%) rename chart-sdk/{asp-net-core/smith-chart => asp-net-mvc/smith-charts}/images/smithchart-with-title.png (100%) rename chart-sdk/{asp-net-core/smith-chart => asp-net-mvc/smith-charts}/images/smithchart-with-tooltip.png (100%) rename chart-sdk/{asp-net-core/smithchart => asp-net-mvc/smith-charts}/images/solution-Explorer.png (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/overview.md (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/smithchart-axis.md (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/smithchart-dimensions.md (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/smithchart-legend.md (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/smithchart-marker.md (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/smithchart-print.md (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/smithchart-series.md (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/smithchart-tooltip.md (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/title-subtitle.md (100%) rename chart-sdk/asp-net-mvc/{smith-chart => smith-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/asp-net-mvc/smithchart/accessibility.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/images/default-template.png delete mode 100644 chart-sdk/asp-net-mvc/smithchart/images/nuget-demo.png delete mode 100644 chart-sdk/asp-net-mvc/smithchart/images/smithchart-control.png delete mode 100644 chart-sdk/asp-net-mvc/smithchart/images/smithchart-series.png delete mode 100644 chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-datalabel.png delete mode 100644 chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-marker.png delete mode 100644 chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-title.png delete mode 100644 chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-tooltip.png delete mode 100644 chart-sdk/asp-net-mvc/smithchart/images/solution-Explorer.png delete mode 100644 chart-sdk/asp-net-mvc/smithchart/overview.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/smithchart-axis.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/smithchart-dimensions.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/smithchart-legend.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/smithchart-marker.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/smithchart-print.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/smithchart-series.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/smithchart-tooltip.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/title-subtitle.md delete mode 100644 chart-sdk/asp-net-mvc/smithchart/working-with-data.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/accessibility.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/appearance.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/appearance.md.bak delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/axis-customization.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/data-labels.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/ej1-api-migration.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/getting-started.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/images/area-sparkline.png delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/images/default-template.png delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/images/nuget-demo.png delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/images/solution-Explorer.png delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/images/sparkline-control.png delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/images/sparkline-with-tooltip.png delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/images/sparkline.png delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/localization.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/marker.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/overview.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/range-band.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/special-points-customization.md delete mode 100644 chart-sdk/asp-net-mvc/sparkline-charts/user-interaction.md rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/accessibility.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/appearance.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/axis-customization.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/axis-types.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/chart-dimensions.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/cross-hair.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/export-print.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/getting-started.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/gradient.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/images/nodatatemplate-stockchart.png (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/images/stockchart-control.png (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/images/stockchart.png (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/legend.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/period-selector.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/range-selector.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/series-types.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/stock-events.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/technical-indicators.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/tool-tip.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/trend-lines.md (100%) rename chart-sdk/asp-net-mvc/{stock-chart => stock-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/javascript/3d-chart/es5-getting-started.md rename chart-sdk/javascript/{3d-chart => 3d-charts}/images/3D-Chart.png (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/accessibility.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/advanced-accessibility-configuration.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/annotation.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationAnnotation.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationAnnotationSettings.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationAnnotationSettingsModel.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationChart.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationChartModel.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationDataLabel.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationDataLabelSettings.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationDataLabelSettingsModel.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationLegend.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationSeries.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationSeriesModel.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-accumulationTooltip.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-iAccAnimationCompleteEventArgs.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-iAccLoadedEventArgs.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-iAccPointRenderEventArgs.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-iAccResizeEventArgs.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-iAccSeriesRenderEventArgs.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-iAccTextRenderEventArgs.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api-iAccTooltipRenderEventArgs.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/api.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/center-label.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/chart-print.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/data-label.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/dynamic-data-update.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/ej1-api-migration.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/empty-points.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/es5-getting-started.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/funnel.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/getting-started.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/gradient.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/grouping.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/images/accumulation.png (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/legend.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/pie-dough-nut.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/pie.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/pyramid.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/title-and-sub-title.md (100%) rename chart-sdk/javascript/{accumulation-chart => accumulation-charts}/tool-tip.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/accessibility.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/axis-customization.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/bullet-chart-dimensions.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/comparative-bar.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/customization.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/data-binding.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/data-label.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/es5-getting-started.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/ranges.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/title.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/tool-tip.md (100%) rename chart-sdk/javascript/{bullet-chart => bullet-charts}/value-bar.md (100%) delete mode 100644 chart-sdk/javascript/chart/es5-getting-started.md delete mode 100644 chart-sdk/javascript/circular-chart-3d/es5-getting-started.md rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/accessibility.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/appearance.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/axis.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/bubble-heatmap.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/dimensions.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/ej1-api-migration.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/events.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/getting-started.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/how-to/legend-customization.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/how-to/tooltip-template.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/images/heatmap.png (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/legend.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/palette.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/rendering-mode.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/selection.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/tooltip.md (100%) rename chart-sdk/javascript/{heatmap-chart => heatmap-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/javascript/range-selector/api-iChangedEventArgs.md delete mode 100644 chart-sdk/javascript/range-selector/api-iLabelRenderEventsArgs.md delete mode 100644 chart-sdk/javascript/range-selector/api-iLoadEventArgs.md delete mode 100644 chart-sdk/javascript/range-selector/api-iRangeEventArgs.md delete mode 100644 chart-sdk/javascript/range-selector/api-iRangeLoadedEventArgs.md delete mode 100644 chart-sdk/javascript/range-selector/api-iRangeSelectorRenderEventArgs.md delete mode 100644 chart-sdk/javascript/range-selector/api-iRangeTooltipRenderEventArgs.md delete mode 100644 chart-sdk/javascript/range-selector/api-periodSelector.md delete mode 100644 chart-sdk/javascript/range-selector/api-periodSelectorSettings.md delete mode 100644 chart-sdk/javascript/range-selector/api-periodSelectorSettingsModel.md delete mode 100644 chart-sdk/javascript/range-selector/api-periods.md delete mode 100644 chart-sdk/javascript/range-selector/api-periodsModel.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeNavigator.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeNavigatorAxis.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeNavigatorModel.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeNavigatorSeries.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeNavigatorSeriesModel.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeSeries.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeSlider.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeTooltip.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeTooltipSettings.md delete mode 100644 chart-sdk/javascript/range-selector/api-rangeTooltipSettingsModel.md delete mode 100644 chart-sdk/javascript/range-selector/api-styleSettings.md delete mode 100644 chart-sdk/javascript/range-selector/api-styleSettingsModel.md delete mode 100644 chart-sdk/javascript/range-selector/api-thumbSettings.md delete mode 100644 chart-sdk/javascript/range-selector/api-thumbSettingsModel.md delete mode 100644 chart-sdk/javascript/range-selector/api.md delete mode 100644 chart-sdk/javascript/range-selector/customization.md delete mode 100644 chart-sdk/javascript/range-selector/data.md delete mode 100644 chart-sdk/javascript/range-selector/ej1-api-migration.md delete mode 100644 chart-sdk/javascript/range-selector/es5-getting-started.md delete mode 100644 chart-sdk/javascript/range-selector/export-print.md delete mode 100644 chart-sdk/javascript/range-selector/getting-started.md delete mode 100644 chart-sdk/javascript/range-selector/grid-tick.md delete mode 100644 chart-sdk/javascript/range-selector/labels.md delete mode 100644 chart-sdk/javascript/range-selector/lightweight.md delete mode 100644 chart-sdk/javascript/range-selector/period-selector.md delete mode 100644 chart-sdk/javascript/range-selector/r-t-l.md delete mode 100644 chart-sdk/javascript/range-selector/selecting-range.md delete mode 100644 chart-sdk/javascript/range-selector/series-types.md delete mode 100644 chart-sdk/javascript/range-selector/summary.md delete mode 100644 chart-sdk/javascript/range-selector/tool-tip.md rename chart-sdk/javascript/{sankey => sankey-diagram}/images/sankey.png (100%) delete mode 100644 chart-sdk/javascript/sankey/es5-getting-started.md delete mode 100644 chart-sdk/javascript/smith-chart/es5-getting-started.md rename chart-sdk/javascript/{smith-chart => smith-charts}/accessibility.md (100%) rename chart-sdk/javascript/{smithchart => smith-charts}/es5-getting-started.md (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/getting-started.md (100%) rename chart-sdk/javascript/{smithchart => smith-charts}/images/smithchart.png (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/smith-chart-axis.md (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/smith-chart-dimensions.md (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/smith-chart-legend.md (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/smith-chart-marker.md (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/smith-chart-print.md (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/smith-chart-series.md (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/smith-chart-tooltip.md (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/title-subtitle.md (100%) rename chart-sdk/javascript/{smith-chart => smith-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/javascript/smithchart/getting-started.md delete mode 100644 chart-sdk/javascript/sparkline-charts/accessibility.md delete mode 100644 chart-sdk/javascript/sparkline-charts/appearance.md delete mode 100644 chart-sdk/javascript/sparkline-charts/axis-customization.md delete mode 100644 chart-sdk/javascript/sparkline-charts/data-labels.md delete mode 100644 chart-sdk/javascript/sparkline-charts/ej1-api-migration.md delete mode 100644 chart-sdk/javascript/sparkline-charts/es5-getting-started.md delete mode 100644 chart-sdk/javascript/sparkline-charts/localization.md delete mode 100644 chart-sdk/javascript/sparkline-charts/marker.md delete mode 100644 chart-sdk/javascript/sparkline-charts/range-band.md delete mode 100644 chart-sdk/javascript/sparkline-charts/sparkline-dimensions.md delete mode 100644 chart-sdk/javascript/sparkline-charts/sparkline-types.md delete mode 100644 chart-sdk/javascript/sparkline-charts/special-points-customization.md delete mode 100644 chart-sdk/javascript/sparkline-charts/user-interaction.md rename chart-sdk/javascript/{stock-chart => stock-charts}/accessibility.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/appearance.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/axis-customization.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/axis-types.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/chart-dimensions.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/cross-hair.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/es5-getting-started.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/export-print.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/gradient.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/images/stockchart.png (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/legend.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/period-selector.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/range-selector.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/series-types.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/stock-events.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/summary.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/technical-indicators.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/tool-tip.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/trend-lines.md (100%) rename chart-sdk/javascript/{stock-chart => stock-charts}/working-with-data.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/Chart-types/bar.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/Chart-types/column.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/Chart-types/stack-bar.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/Chart-types/stack-column.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/Chart-types/stacked-bar.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/Chart-types/stacked-column.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/accessibility.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/appearance.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/axis-customization.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/axis-labels.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/category-axis.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/data-label.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/datetime-axis.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/dimensions.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/getting-started.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/images/Initial-setup.jpg (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/legend.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/logarithmic-axis.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/multiple-pane.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/numeric-axis.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/print-export.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/selection.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/tool-tip.md (100%) rename chart-sdk/react/{3d-chart => 3d-charts}/workig-with-data.md (100%) rename chart-sdk/react/{circular-chart-3d => 3d-circular-charts}/data-label.md (100%) rename chart-sdk/react/{circular-chart-3d => 3d-circular-charts}/empty-points.md (100%) rename chart-sdk/react/{circular-chart-3d => 3d-circular-charts}/getting-started.md (100%) rename chart-sdk/react/{accumulation-chart => 3d-circular-charts}/images/Initial-setup.jpg (100%) rename chart-sdk/react/{circular-chart-3d => 3d-circular-charts}/legend.md (100%) rename chart-sdk/react/{circular-chart-3d => 3d-circular-charts}/pie-donut-chart.md (100%) rename chart-sdk/react/{circular-chart-3d => 3d-circular-charts}/print-and-export.md (100%) rename chart-sdk/react/{circular-chart-3d => 3d-circular-charts}/title-and-subtitle.md (100%) rename chart-sdk/react/{circular-chart-3d => 3d-circular-charts}/tooltip.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/accessibility.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/advanced-accessibility-configuration.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/annotation.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/api.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/appearance.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/centerlabel.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/chart-print.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/data-label.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/dynamic-data-update.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/ej1-api-migration.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/empty-points.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/funnel.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/getting-started.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/gradient.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/grouping.md (100%) rename chart-sdk/react/{chart => accumulation-charts}/images/Initial-setup.jpg (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/images/pie-chart.png (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/legend.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/pie-dough-nut.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/pyramid.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/title-and-sub-title.md (100%) rename chart-sdk/react/{accumulation-chart => accumulation-charts}/tool-tip.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/accessibility.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/axis-customization.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/bullet-chart-dimensions.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/comparative-bar.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/customization.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/data-binding.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/data-label.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/getting-started.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/ranges.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/title.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/tool-tip.md (100%) rename chart-sdk/react/{bullet-chart => bullet-charts}/value-bar.md (100%) rename chart-sdk/react/{chart => charts}/accessibility.md (100%) rename chart-sdk/react/{chart => charts}/advanced-accessibility-configuration.md (100%) rename chart-sdk/react/{chart => charts}/api.md (100%) rename chart-sdk/react/{chart => charts}/axis-customization.md (100%) rename chart-sdk/react/{chart => charts}/axis-labels.md (100%) rename chart-sdk/react/{chart => charts}/category-axis.md (100%) rename chart-sdk/react/{chart => charts}/chart-annotations.md (100%) rename chart-sdk/react/{chart => charts}/chart-appearance.md (100%) rename chart-sdk/react/{chart => charts}/chart-dimensions.md (100%) rename chart-sdk/react/{chart => charts}/chart-print.md (100%) rename chart-sdk/react/{chart => charts}/chart-series.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/area.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/bar.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/box-whisker.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/bubble.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/candle.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/column.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/error-bar.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/high-low-open-close.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/high-low.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/histogram.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/line.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/pareto.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/polar.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/radar.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/range-area.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/range-column.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/range-step-area.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/scatter.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/spline-area.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/spline-range-area.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/spline.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/stack-area.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/stack-bar.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/stack-column.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/stack-line.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/stacked-area.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/stacked-bar.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/stacked-column.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/stacked-line.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/stacked-step-area.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/step-area.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/step-line.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/vertical.md (100%) rename chart-sdk/react/{chart => charts}/chart-types/waterfall.md (100%) rename chart-sdk/react/{chart => charts}/cross-hair-and-track-ball.md (100%) rename chart-sdk/react/{chart => charts}/data-editing.md (100%) rename chart-sdk/react/{chart => charts}/data-labels.md (100%) rename chart-sdk/react/{chart => charts}/data-markers.md (100%) rename chart-sdk/react/{chart => charts}/date-time-axis.md (100%) rename chart-sdk/react/{chart => charts}/dynamic-data-update.md (100%) rename chart-sdk/react/{chart => charts}/ej1-api-migration.md (100%) rename chart-sdk/react/{chart => charts}/feature-modules.md (100%) rename chart-sdk/react/{chart => charts}/financial-types.md (100%) rename chart-sdk/react/{chart => charts}/getting-started.md (100%) rename chart-sdk/react/{chart => charts}/gradient.md (100%) rename chart-sdk/react/{chart => charts}/how-to/add-series.md (100%) rename chart-sdk/react/{chart => charts}/how-to/click-data.md (100%) rename chart-sdk/react/{chart => charts}/how-to/data-label-template.md (100%) rename chart-sdk/react/{chart => charts}/how-to/footer.md (100%) rename chart-sdk/react/{chart => charts}/how-to/grid-data-chart.md (100%) rename chart-sdk/react/{chart => charts}/how-to/initial-scrollbar.md (100%) rename chart-sdk/react/{chart => charts}/how-to/legend-customization.md (100%) rename chart-sdk/react/{chart => charts}/how-to/live-chart.md (100%) rename chart-sdk/react/{chart => charts}/how-to/marker-customization.md (100%) rename chart-sdk/react/{chart => charts}/how-to/percentage-tool-tip.md (100%) rename chart-sdk/react/{chart => charts}/how-to/points-customization.md (100%) rename chart-sdk/react/{chart => charts}/how-to/prevent-data-label.md (100%) rename chart-sdk/react/{chart => charts}/how-to/selected-data-grid.md (100%) rename chart-sdk/react/{chart => charts}/how-to/stacking-total.md (100%) rename chart-sdk/react/{chart => charts}/how-to/threshold.md (100%) rename chart-sdk/react/{chart => charts}/how-to/tool-tip-format.md (100%) rename chart-sdk/react/{chart => charts}/how-to/tool-tip-table.md (100%) rename chart-sdk/react/{chart => charts}/images/Getting-Started.png (100%) rename chart-sdk/react/{circular-chart-3d => charts}/images/Initial-setup.jpg (100%) rename chart-sdk/react/{chart => charts}/images/next-js.png (100%) rename chart-sdk/react/{chart => charts}/images/preact.png (100%) rename chart-sdk/react/{chart => charts}/internationalization.md (100%) rename chart-sdk/react/{chart => charts}/legend.md (100%) rename chart-sdk/react/{chart => charts}/localization.md (100%) rename chart-sdk/react/{chart => charts}/logarithmic-axis.md (100%) rename chart-sdk/react/{chart => charts}/multiple-panes.md (100%) rename chart-sdk/react/{chart => charts}/nextjs-getting-started.md (100%) rename chart-sdk/react/{chart => charts}/numeric-axis.md (100%) rename chart-sdk/react/{chart => charts}/preact.md (100%) rename chart-sdk/react/{chart => charts}/render-methods.md (100%) rename chart-sdk/react/{chart => charts}/selection.md (100%) rename chart-sdk/react/{chart => charts}/series-label.md (100%) rename chart-sdk/react/{chart => charts}/strip-line.md (100%) rename chart-sdk/react/{chart => charts}/synchronized-chart.md (100%) rename chart-sdk/react/{chart => charts}/technical-indicators.md (100%) rename chart-sdk/react/{chart => charts}/title-subtitle.md (100%) rename chart-sdk/react/{chart => charts}/tool-tip.md (100%) rename chart-sdk/react/{chart => charts}/trend-lines.md (100%) rename chart-sdk/react/{chart => charts}/understanding-chart.md (100%) rename chart-sdk/react/{chart => charts}/user-interaction.md (100%) rename chart-sdk/react/{chart => charts}/working-with-data.md (100%) rename chart-sdk/react/{chart => charts}/zooming.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/accessibility.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/appearance.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/axis.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/bubble-heatmap.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/dimensions.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/ej1-api-migration.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/events.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/getting-started.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/how-to/legend-customization.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/how-to/tool-tip-table.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/legend.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/palette.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/rendering-mode.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/selection.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/title.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/tooltip.md (100%) rename chart-sdk/react/{heatmap-chart => heatmap-charts}/working-with-data.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/accessibility.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/appearance.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/customization.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/events.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/getting-started.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/labels.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/legend.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/links.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/nodes.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/orientation-rtl.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/print-and-export.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/title-and-sub-title.md (100%) rename chart-sdk/react/{sankey => sankey-diagram}/tool-tip.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/accessibility.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/getting-started.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/images/Initial-setup.jpg (100%) rename chart-sdk/react/{smithchart => smith-charts}/smithchart-axis.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/smithchart-dimensions.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/smithchart-legend.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/smithchart-marker.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/smithchart-print.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/smithchart-series.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/smithchart-tooltip.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/title-subtitle.md (100%) rename chart-sdk/react/{smithchart => smith-charts}/working-with-data.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/accessibility.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/appearance.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/axis-customization.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/axis-types.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/chart-dimensions.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/cross-hair.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/export-print.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/getting-started.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/gradient.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/images/stock-chart.png (100%) rename chart-sdk/react/{stock-chart => stock-charts}/legend.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/period-selector.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/range-selector.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/series-types.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/stock-events.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/technical-indicators.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/tool-tip.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/trend-lines.md (100%) rename chart-sdk/react/{stock-chart => stock-charts}/working-with-data.md (100%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/Chart-types/bar.md (64%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/Chart-types/column.md (62%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/Chart-types/stack-bar.md (63%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/Chart-types/stack-column.md (63%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/Chart-types/stacked-bar.md (65%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/Chart-types/stacked-column.md (65%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/accessibility.md (89%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/appearance.md (67%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/axis-customization.md (65%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/axis-labels.md (63%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/category-axis.md (62%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/data-labels.md (70%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/datetime-axis.md (70%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/dimensions.md (65%) create mode 100644 chart-sdk/typescript/3d-charts/getting-started.md create mode 100644 chart-sdk/typescript/3d-charts/images/3D-Chart-TS.png rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/legend.md (67%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/logarithmic-axis.md (67%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/multiple-panes.md (65%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/numeric-axis.md (68%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/print-export.md (63%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/selection.md (63%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/tool-tip.md (76%) rename chart-sdk/{javascript/3d-chart => typescript/3d-charts}/working-with-data.md (68%) rename chart-sdk/{javascript/circular-chart-3d => typescript/3d-circular-charts}/data-label.md (66%) rename chart-sdk/{javascript/circular-chart-3d => typescript/3d-circular-charts}/empty-points.md (57%) create mode 100644 chart-sdk/typescript/3d-circular-charts/getting-started.md rename chart-sdk/{javascript/circular-chart-3d => typescript/3d-circular-charts}/legend.md (60%) rename chart-sdk/{javascript/circular-chart-3d => typescript/3d-circular-charts}/pie-donut-chart.md (57%) rename chart-sdk/{javascript/circular-chart-3d => typescript/3d-circular-charts}/print-and-export.md (62%) rename chart-sdk/{javascript/circular-chart-3d => typescript/3d-circular-charts}/title-and-subtitle.md (55%) rename chart-sdk/{javascript/circular-chart-3d => typescript/3d-circular-charts}/tooltip.md (70%) create mode 100644 chart-sdk/typescript/accumulation-charts/accessibility.md create mode 100644 chart-sdk/typescript/accumulation-charts/advanced-accessibility-configuration.md create mode 100644 chart-sdk/typescript/accumulation-charts/annotation.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationAnnotation.md rename chart-sdk/{vue/chart/api-chartAnnotationSettings.md => typescript/accumulation-charts/api-accumulationAnnotationSettings.md} (58%) rename chart-sdk/{vue/chart/api-chartAnnotationSettingsModel.md => typescript/accumulation-charts/api-accumulationAnnotationSettingsModel.md} (61%) create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationChart.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationChartModel.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationDataLabel.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationDataLabelSettings.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationDataLabelSettingsModel.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationLegend.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationSeries.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationSeriesModel.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-accumulationTooltip.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-iAccAnimationCompleteEventArgs.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-iAccLoadedEventArgs.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-iAccPointRenderEventArgs.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-iAccResizeEventArgs.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-iAccSeriesRenderEventArgs.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-iAccTextRenderEventArgs.md create mode 100644 chart-sdk/typescript/accumulation-charts/api-iAccTooltipRenderEventArgs.md create mode 100644 chart-sdk/typescript/accumulation-charts/api.md create mode 100644 chart-sdk/typescript/accumulation-charts/center-label.md create mode 100644 chart-sdk/typescript/accumulation-charts/chart-print.md create mode 100644 chart-sdk/typescript/accumulation-charts/data-label.md create mode 100644 chart-sdk/typescript/accumulation-charts/dynamic-data-update.md create mode 100644 chart-sdk/typescript/accumulation-charts/ej1-api-migration.md create mode 100644 chart-sdk/typescript/accumulation-charts/empty-points.md create mode 100644 chart-sdk/typescript/accumulation-charts/funnel.md create mode 100644 chart-sdk/typescript/accumulation-charts/getting-started.md create mode 100644 chart-sdk/typescript/accumulation-charts/gradient.md create mode 100644 chart-sdk/typescript/accumulation-charts/grouping.md create mode 100644 chart-sdk/typescript/accumulation-charts/images/accumulation.png create mode 100644 chart-sdk/typescript/accumulation-charts/legend.md create mode 100644 chart-sdk/typescript/accumulation-charts/pie-dough-nut.md create mode 100644 chart-sdk/typescript/accumulation-charts/pie.md create mode 100644 chart-sdk/typescript/accumulation-charts/pyramid.md create mode 100644 chart-sdk/typescript/accumulation-charts/title-and-sub-title.md create mode 100644 chart-sdk/typescript/accumulation-charts/tool-tip.md rename chart-sdk/{javascript/range-selector => typescript/bullet-charts}/accessibility.md (50%) create mode 100644 chart-sdk/typescript/bullet-charts/axis-customization.md create mode 100644 chart-sdk/typescript/bullet-charts/bullet-chart-dimensions.md create mode 100644 chart-sdk/typescript/bullet-charts/comparative-bar.md create mode 100644 chart-sdk/typescript/bullet-charts/customization.md create mode 100644 chart-sdk/typescript/bullet-charts/data-binding.md create mode 100644 chart-sdk/typescript/bullet-charts/data-label.md create mode 100644 chart-sdk/typescript/bullet-charts/getting-started.md create mode 100644 chart-sdk/typescript/bullet-charts/ranges.md create mode 100644 chart-sdk/typescript/bullet-charts/title.md create mode 100644 chart-sdk/typescript/bullet-charts/tool-tip.md create mode 100644 chart-sdk/typescript/bullet-charts/value-bar.md rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/area.md (54%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/bar.md (52%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/box-whisker.md (54%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/bubble.md (52%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/candle.md (64%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/column.md (53%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/error-bar.md (56%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/high-low-open-close.md (58%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/high-low.md (55%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/histogram.md (55%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/line.md (52%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/pare-to.md (52%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/polar.md (50%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/radar.md (53%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/range-area.md (58%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/range-column.md (55%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/range-step-area.md (53%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/scatter.md (57%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/spline-area.md (52%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/spline-range-area.md (55%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/spline.md (51%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/stack-area.md (56%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/stack-bar.md (56%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/stack-column.md (56%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/stack-line.md (56%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/stacked-area.md (52%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/stacked-bar.md (53%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/stacked-column.md (53%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/stacked-line.md (53%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/stacked-step-area.md (56%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/step-area.md (52%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/step-line.md (52%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/vertical-chart.md (52%) rename chart-sdk/{javascript/chart => typescript/charts}/Chart-types/waterfall.md (57%) rename chart-sdk/{javascript/chart => typescript/charts}/accessibility.md (94%) rename chart-sdk/{javascript/chart => typescript/charts}/advanced-accessibility-configuration.md (82%) rename chart-sdk/{javascript/chart => typescript/charts}/api-accumulationDistributionIndicator.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-animation.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/api-animationModel.md (73%) rename chart-sdk/{javascript/chart => typescript/charts}/api-annotationBase.md (70%) rename chart-sdk/{javascript/chart => typescript/charts}/api-areaSeries.md (81%) rename chart-sdk/{javascript/chart => typescript/charts}/api-atrIndicator.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-axis.md (98%) rename chart-sdk/{javascript/chart => typescript/charts}/api-axisLine.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/api-axisLineModel.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-axisModel.md (96%) rename chart-sdk/{javascript/chart => typescript/charts}/api-barSeries.md (64%) rename chart-sdk/{javascript/chart => typescript/charts}/api-bollingerBands.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-border.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-borderModel.md (71%) rename chart-sdk/{javascript/chart => typescript/charts}/api-boxAndWhiskerSeries.md (81%) rename chart-sdk/{javascript/chart => typescript/charts}/api-bubbleSeries.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-candleSeries.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-category.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-chart.md (99%) rename chart-sdk/{javascript/chart => typescript/charts}/api-chartAnnotation.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-chartAnnotationSettings.md (91%) rename chart-sdk/{javascript/chart => typescript/charts}/api-chartAnnotationSettingsModel.md (91%) rename chart-sdk/{javascript/chart => typescript/charts}/api-chartArea.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-chartAreaModel.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-chartModel.md (97%) rename chart-sdk/{javascript/chart => typescript/charts}/api-chartSegment.md (73%) rename chart-sdk/{javascript/chart => typescript/charts}/api-chartSegmentModel.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-column.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-columnModel.md (75%) rename chart-sdk/{javascript/chart => typescript/charts}/api-columnSeries.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-connector.md (73%) rename chart-sdk/{javascript/chart => typescript/charts}/api-connectorModel.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-cornerRadius.md (78%) rename chart-sdk/{javascript/chart => typescript/charts}/api-cornerRadiusModel.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-crosshair.md (55%) rename chart-sdk/{javascript/chart => typescript/charts}/api-crosshairSettings.md (82%) rename chart-sdk/{javascript/chart => typescript/charts}/api-crosshairSettingsModel.md (81%) rename chart-sdk/{javascript/chart => typescript/charts}/api-crosshairTooltip.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-crosshairTooltipModel.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-dataLabel.md (61%) rename chart-sdk/{javascript/chart => typescript/charts}/api-dataLabelSettings.md (91%) rename chart-sdk/{javascript/chart => typescript/charts}/api-dataLabelSettingsModel.md (90%) rename chart-sdk/{javascript/chart => typescript/charts}/api-dateTime.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-dateTimeCategory.md (73%) rename chart-sdk/{javascript/chart => typescript/charts}/api-emaIndicator.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-emptyPointSettings.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-emptyPointSettingsModel.md (75%) rename chart-sdk/{javascript/chart => typescript/charts}/api-errorBar.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/api-errorBarCapSettings.md (78%) rename chart-sdk/{javascript/chart => typescript/charts}/api-errorBarCapSettingsModel.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-errorBarSettings.md (92%) rename chart-sdk/{javascript/chart => typescript/charts}/api-exportUtils.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-font.md (83%) rename chart-sdk/{javascript/chart => typescript/charts}/api-fontModel.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-hiloOpenCloseSeries.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-hiloSeries.md (64%) rename chart-sdk/{javascript/chart => typescript/charts}/api-histogramSeries.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iAccLegendRenderEventArgs.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iAnimationCompleteEventArgs.md (71%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iAnnotationRenderEventArgs.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iAxisLabelRenderEventArgs.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iAxisMultiLabelRenderEventArgs.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iAxisRangeCalculatedEventArgs.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iChartEventArgs.md (66%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iDragCompleteEventArgs.md (70%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iLegendRenderEventArgs.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iLoadedEventArgs.md (71%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iMouseEventArgs.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iPointEventArgs.md (81%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iPointRenderEventArgs.md (82%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iPrintEventArgs.md (66%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iResizeEventArgs.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iResizeRangeNavigatorEventArgs.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iSeriesRenderEventArgs.md (73%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iTextRenderEventArgs.md (81%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iTooltipRenderEventArgs.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-iZoomCompleteEventArgs.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-labelBorder.md (78%) rename chart-sdk/{javascript/chart => typescript/charts}/api-labelBorderModel.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-legend.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-legendSettings.md (93%) rename chart-sdk/{javascript/chart => typescript/charts}/api-legendSettingsModel.md (92%) rename chart-sdk/{javascript/chart => typescript/charts}/api-lineBase.md (61%) rename chart-sdk/{javascript/chart => typescript/charts}/api-lineSeries.md (71%) rename chart-sdk/{javascript/chart => typescript/charts}/api-location.md (61%) rename chart-sdk/{javascript/chart => typescript/charts}/api-locationModel.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-logarithmic.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-macdIndicator.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-majorGridLines.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-majorGridLinesModel.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-majorTickLines.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-majorTickLinesModel.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-margin.md (75%) rename chart-sdk/{javascript/chart => typescript/charts}/api-marginModel.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-markerSettings.md (88%) rename chart-sdk/{javascript/chart => typescript/charts}/api-markerSettingsModel.md (87%) rename chart-sdk/{javascript/chart => typescript/charts}/api-minorGridLines.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-minorGridLinesModel.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-minorTickLines.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-minorTickLinesModel.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-momentumIndicator.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-multiColoredAreaSeries.md (86%) rename chart-sdk/{javascript/chart => typescript/charts}/api-multiColoredLineSeries.md (86%) rename chart-sdk/{javascript/chart => typescript/charts}/api-multiColoredSeries.md (83%) rename chart-sdk/{javascript/chart => typescript/charts}/api-multiLevelCategories.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-multiLevelCategoriesModel.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-multiLevelLabel.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-multiLevelLabels.md (85%) rename chart-sdk/{javascript/chart => typescript/charts}/api-multiLevelLabelsModel.md (85%) rename chart-sdk/{javascript/chart => typescript/charts}/api-polarRadarPanel.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-polarSeries.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-radarSeries.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-rangeAreaSeries.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-rangeColumnSeries.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-row.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/api-rowModel.md (67%) rename chart-sdk/{javascript/chart => typescript/charts}/api-rsiIndicator.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-scatterSeries.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/api-scrollBar.md (83%) rename chart-sdk/{javascript/chart => typescript/charts}/api-scrollElements.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-series.md (98%) rename chart-sdk/{javascript/chart => typescript/charts}/api-seriesBase.md (94%) rename chart-sdk/{javascript/chart => typescript/charts}/api-seriesBaseModel.md (95%) rename chart-sdk/{javascript/chart => typescript/charts}/api-seriesModel.md (97%) rename chart-sdk/{javascript/chart => typescript/charts}/api-smaIndicator.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-splineAreaSeries.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-splineBase.md (70%) rename chart-sdk/{javascript/chart => typescript/charts}/api-splineSeries.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-stackingAreaSeries.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-stackingBarSeries.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-stackingColumnSeries.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-staticFunctions.md (81%) rename chart-sdk/{javascript/chart => typescript/charts}/api-stepAreaSeries.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-stepLineSeries.md (79%) rename chart-sdk/{javascript/chart => typescript/charts}/api-stochasticIndicator.md (73%) rename chart-sdk/{javascript/chart => typescript/charts}/api-stripLineSettings.md (91%) rename chart-sdk/{javascript/chart => typescript/charts}/api-stripLineSettingsModel.md (90%) rename chart-sdk/{javascript/chart => typescript/charts}/api-technicalAnalysis.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-technicalIndicator.md (97%) rename chart-sdk/{javascript/chart => typescript/charts}/api-technicalIndicatorModel.md (96%) rename chart-sdk/{javascript/chart => typescript/charts}/api-tmaIndicator.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/api-tooltip.md (67%) rename chart-sdk/{javascript/chart => typescript/charts}/api-tooltipSettings.md (88%) rename chart-sdk/{javascript/chart => typescript/charts}/api-tooltipSettingsModel.md (87%) rename chart-sdk/{javascript/chart => typescript/charts}/api-trendline.md (86%) rename chart-sdk/{javascript/chart => typescript/charts}/api-trendlineModel.md (88%) rename chart-sdk/{javascript/chart => typescript/charts}/api-trendlines.md (65%) rename chart-sdk/{javascript/chart => typescript/charts}/api-waterfallSeries.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/api-zoom.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/api-zoomSettings.md (91%) rename chart-sdk/{javascript/chart => typescript/charts}/api-zoomSettingsModel.md (90%) rename chart-sdk/{javascript/chart => typescript/charts}/api.md (99%) rename chart-sdk/{javascript/chart => typescript/charts}/axis-customization.md (66%) rename chart-sdk/{javascript/chart => typescript/charts}/axis-labels.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/axis.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/category-axis.md (63%) rename chart-sdk/{javascript/chart => typescript/charts}/chart-annotations.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/chart-appearance.md (65%) rename chart-sdk/{javascript/chart => typescript/charts}/chart-dimensions.md (64%) rename chart-sdk/{javascript/chart => typescript/charts}/chart-print.md (70%) rename chart-sdk/{javascript/chart => typescript/charts}/chart-series.md (57%) rename chart-sdk/{javascript/chart => typescript/charts}/cross-hair-and-track-ball.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/data-editing.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/data-labels.md (70%) rename chart-sdk/{javascript/chart => typescript/charts}/data-markers.md (67%) rename chart-sdk/{javascript/chart => typescript/charts}/date-time-axis.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/dynamic-data-update.md (73%) rename chart-sdk/{javascript/chart => typescript/charts}/ej1-api-migration.md (99%) rename chart-sdk/{javascript/chart => typescript/charts}/feature-modules.md (97%) create mode 100644 chart-sdk/typescript/charts/getting-started.md rename chart-sdk/{javascript/chart => typescript/charts}/gradient.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to.md (75%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/add-series.md (65%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/axis-hide.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/chart-tab.md (60%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/clicked-data.md (60%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/data-label-template.md (73%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/dialog-chart.md (60%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/dotted-line.md (63%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/down-sampling.md (73%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/dynamic-chart.md (59%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/exact-date.md (63%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/footer.md (66%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/grid-data-chart.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/grid-data-pie.md (65%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/hide-tool-tip.md (65%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/images/After_downsampling.png (100%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/images/Before_downsampling.png (100%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/initial-scrollbar.md (61%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/legend-customization.md (63%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/legend-in-table.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/live-chart.md (71%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/marker-customization.md (65%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/percentage-tool-tip.md (71%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/points-customization.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/prevent-data-label.md (64%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/selected-data-grid.md (66%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/series-visible.md (55%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/stacking-total.md (62%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/syn-pan.md (71%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/threshold.md (62%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/tool-tip-format.md (67%) rename chart-sdk/{javascript/chart => typescript/charts}/how-to/tool-tip-table.md (66%) rename chart-sdk/{javascript/chart => typescript/charts}/images/chart.png (100%) rename chart-sdk/{javascript/chart => typescript/charts}/internationalization.md (72%) rename chart-sdk/{javascript/chart => typescript/charts}/legend.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/localization.md (70%) rename chart-sdk/{javascript/chart => typescript/charts}/logarithmic-axis.md (71%) rename chart-sdk/{javascript/chart => typescript/charts}/multiple-panes.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/numeric-axis.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/polar-radar.md (63%) rename chart-sdk/{javascript/chart => typescript/charts}/render-methods.md (77%) rename chart-sdk/{javascript/chart => typescript/charts}/selection.md (66%) rename chart-sdk/{javascript/chart => typescript/charts}/series-labels.md (66%) rename chart-sdk/{javascript/chart => typescript/charts}/strip-line.md (69%) rename chart-sdk/{javascript/chart => typescript/charts}/synchronized-chart.md (74%) rename chart-sdk/{javascript/chart => typescript/charts}/technical-indicators.md (71%) rename chart-sdk/{javascript/chart => typescript/charts}/title-subtitle.md (64%) rename chart-sdk/{javascript/chart => typescript/charts}/tool-tip.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/trend-lines.md (68%) rename chart-sdk/{javascript/chart => typescript/charts}/understanding-chart.md (88%) rename chart-sdk/{javascript/chart => typescript/charts}/user-interaction.md (67%) rename chart-sdk/{javascript/chart => typescript/charts}/working-with-data.md (76%) rename chart-sdk/{javascript/chart => typescript/charts}/zooming.md (73%) create mode 100644 chart-sdk/typescript/heatmap-charts/accessibility.md create mode 100644 chart-sdk/typescript/heatmap-charts/appearance.md create mode 100644 chart-sdk/typescript/heatmap-charts/axis.md create mode 100644 chart-sdk/typescript/heatmap-charts/bubble-heatmap.md create mode 100644 chart-sdk/typescript/heatmap-charts/dimensions.md create mode 100644 chart-sdk/typescript/heatmap-charts/ej1-api-migration.md create mode 100644 chart-sdk/typescript/heatmap-charts/events.md create mode 100644 chart-sdk/typescript/heatmap-charts/getting-started.md create mode 100644 chart-sdk/typescript/heatmap-charts/how-to/legend-customization.md create mode 100644 chart-sdk/typescript/heatmap-charts/how-to/tooltip-template.md create mode 100644 chart-sdk/typescript/heatmap-charts/legend.md create mode 100644 chart-sdk/typescript/heatmap-charts/palette.md create mode 100644 chart-sdk/typescript/heatmap-charts/rendering-mode.md create mode 100644 chart-sdk/typescript/heatmap-charts/selection.md create mode 100644 chart-sdk/typescript/heatmap-charts/tooltip.md create mode 100644 chart-sdk/typescript/heatmap-charts/working-with-data.md rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/accessibility.md (93%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/appearance.md (69%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/customization.md (72%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/events.md (65%) create mode 100644 chart-sdk/typescript/sankey-diagram/getting-started.md create mode 100644 chart-sdk/typescript/sankey-diagram/images/sankey-TS.png rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/labels.md (71%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/legend.md (74%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/links.md (74%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/nodes.md (75%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/orientation-rtl.md (72%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/print-and-export.md (70%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/title-and-sub-title.md (73%) rename chart-sdk/{javascript/sankey => typescript/sankey-diagram}/tool-tip.md (84%) rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/accessibility.md (93%) create mode 100644 chart-sdk/typescript/smith-charts/getting-started.md create mode 100644 chart-sdk/typescript/smith-charts/images/smithchart-TS.png rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/smith-chart-axis.md (75%) rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/smith-chart-dimensions.md (69%) rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/smith-chart-legend.md (66%) rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/smith-chart-marker.md (70%) rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/smith-chart-print.md (58%) rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/smith-chart-series.md (70%) rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/smith-chart-tooltip.md (66%) rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/title-subtitle.md (62%) rename chart-sdk/{javascript/smithchart => typescript/smith-charts}/working-with-data.md (68%) rename chart-sdk/{vue/sparkline-charts => typescript/stock-charts}/accessibility.md (53%) create mode 100644 chart-sdk/typescript/stock-charts/appearance.md create mode 100644 chart-sdk/typescript/stock-charts/axis-customization.md create mode 100644 chart-sdk/typescript/stock-charts/axis-types.md create mode 100644 chart-sdk/typescript/stock-charts/chart-dimensions.md create mode 100644 chart-sdk/typescript/stock-charts/cross-hair.md create mode 100644 chart-sdk/typescript/stock-charts/export-print.md create mode 100644 chart-sdk/typescript/stock-charts/getting-started.md rename chart-sdk/{vue/chart => typescript/stock-charts}/gradient.md (59%) create mode 100644 chart-sdk/typescript/stock-charts/images/stockchart.png create mode 100644 chart-sdk/typescript/stock-charts/legend.md create mode 100644 chart-sdk/typescript/stock-charts/period-selector.md create mode 100644 chart-sdk/typescript/stock-charts/range-selector.md create mode 100644 chart-sdk/typescript/stock-charts/series-types.md create mode 100644 chart-sdk/typescript/stock-charts/stock-events.md create mode 100644 chart-sdk/typescript/stock-charts/summary.md create mode 100644 chart-sdk/typescript/stock-charts/technical-indicators.md create mode 100644 chart-sdk/typescript/stock-charts/tool-tip.md create mode 100644 chart-sdk/typescript/stock-charts/trend-lines.md create mode 100644 chart-sdk/typescript/stock-charts/working-with-data.md delete mode 100644 chart-sdk/vue/3d-chart/Chart-types/bar.md delete mode 100644 chart-sdk/vue/3d-chart/Chart-types/column.md delete mode 100644 chart-sdk/vue/3d-chart/Chart-types/stack-bar.md delete mode 100644 chart-sdk/vue/3d-chart/Chart-types/stack-column.md delete mode 100644 chart-sdk/vue/3d-chart/Chart-types/stacked-bar.md delete mode 100644 chart-sdk/vue/3d-chart/Chart-types/stacked-column.md delete mode 100644 chart-sdk/vue/3d-chart/accessibility.md delete mode 100644 chart-sdk/vue/3d-chart/appearance.md delete mode 100644 chart-sdk/vue/3d-chart/axis-customization.md delete mode 100644 chart-sdk/vue/3d-chart/axis-label.md delete mode 100644 chart-sdk/vue/3d-chart/category-axis.md delete mode 100644 chart-sdk/vue/3d-chart/chart-dimensions.md delete mode 100644 chart-sdk/vue/3d-chart/chart-labels.md delete mode 100644 chart-sdk/vue/3d-chart/date-time-axis.md delete mode 100644 chart-sdk/vue/3d-chart/getting-started.md delete mode 100644 chart-sdk/vue/3d-chart/images/vue2-terminal.png delete mode 100644 chart-sdk/vue/3d-chart/images/vue3-3d-chart-demo.png delete mode 100644 chart-sdk/vue/3d-chart/legend.md delete mode 100644 chart-sdk/vue/3d-chart/logarithmic-axis.md delete mode 100644 chart-sdk/vue/3d-chart/mutiple-panes.md delete mode 100644 chart-sdk/vue/3d-chart/numeric-axis.md delete mode 100644 chart-sdk/vue/3d-chart/print-export.md delete mode 100644 chart-sdk/vue/3d-chart/selection.md delete mode 100644 chart-sdk/vue/3d-chart/tooltip.md delete mode 100644 chart-sdk/vue/3d-chart/vue-3-getting-started.md delete mode 100644 chart-sdk/vue/3d-chart/working-with-data.md rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/accessibility.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/advanced-accessibility-configuration.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/annotation.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationAnnotation.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationAnnotationSettings.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationAnnotationSettingsModel.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationChart.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationChartComponent.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationChartModel.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationDataLabel.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationDataLabelSettings.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationDataLabelSettingsModel.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationLegend.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationSeries.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationSeriesModel.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-accumulationTooltip.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-iAccAnimationCompleteEventArgs.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-iAccLoadedEventArgs.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-iAccPointRenderEventArgs.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-iAccResizeEventArgs.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-iAccSeriesRenderEventArgs.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-iAccTextRenderEventArgs.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/api-iAccTooltipRenderEventArgs.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/appearance.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/centerlabel.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/chart-print.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/data-label.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/dynamic-data-update.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/empty-points.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/funnel.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/getting-started.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/gradient.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/grouping.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/images/vue3-accumulation-chart-demo.png (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/images/vue3-terminal.png (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/legend.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/pie-dough-nut.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/pyramid.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/title-and-sub-title.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/tool-tip.md (100%) rename chart-sdk/vue/{accumulation-chart => accumulation-charts}/vue-3-getting-started.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/accessibility.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/axis-customization.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/bullet-chart-dimensions.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/comparative-bar.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/customization.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/data-binding.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/data-label.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/getting-started.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/images/vue3-bullet-chart-demo.png (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/images/vue3-terminal.png (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/ranges.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/title.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/tool-tip.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/value-bar.md (100%) rename chart-sdk/vue/{bullet-chart => bullet-charts}/vue-3-getting-started.md (100%) delete mode 100644 chart-sdk/vue/chart/accessibility.md delete mode 100644 chart-sdk/vue/chart/advanced-accessibility-configuration.md delete mode 100644 chart-sdk/vue/chart/api-accumulationDistributionIndicator.md delete mode 100644 chart-sdk/vue/chart/api-areaSeries.md delete mode 100644 chart-sdk/vue/chart/api-atrIndicator.md delete mode 100644 chart-sdk/vue/chart/api-axis.md delete mode 100644 chart-sdk/vue/chart/api-axisLine.md delete mode 100644 chart-sdk/vue/chart/api-axisLineModel.md delete mode 100644 chart-sdk/vue/chart/api-axisModel.md delete mode 100644 chart-sdk/vue/chart/api-barSeries.md delete mode 100644 chart-sdk/vue/chart/api-bollingerBands.md delete mode 100644 chart-sdk/vue/chart/api-border.md delete mode 100644 chart-sdk/vue/chart/api-borderModel.md delete mode 100644 chart-sdk/vue/chart/api-boxAndWhiskerSeries.md delete mode 100644 chart-sdk/vue/chart/api-bubbleSeries.md delete mode 100644 chart-sdk/vue/chart/api-candleSeries.md delete mode 100644 chart-sdk/vue/chart/api-category.md delete mode 100644 chart-sdk/vue/chart/api-chart.md delete mode 100644 chart-sdk/vue/chart/api-chartAnnotation.md delete mode 100644 chart-sdk/vue/chart/api-chartArea.md delete mode 100644 chart-sdk/vue/chart/api-chartComponent.md delete mode 100644 chart-sdk/vue/chart/api-chartModel.md delete mode 100644 chart-sdk/vue/chart/api-chartSegment.md delete mode 100644 chart-sdk/vue/chart/api-chartSegmentModel.md delete mode 100644 chart-sdk/vue/chart/api-column.md delete mode 100644 chart-sdk/vue/chart/api-columnModel.md delete mode 100644 chart-sdk/vue/chart/api-columnSeries.md delete mode 100644 chart-sdk/vue/chart/api-connector.md delete mode 100644 chart-sdk/vue/chart/api-connectorModel.md delete mode 100644 chart-sdk/vue/chart/api-cornerRadius.md delete mode 100644 chart-sdk/vue/chart/api-cornerRadiusModel.md delete mode 100644 chart-sdk/vue/chart/api-crosshair.md delete mode 100644 chart-sdk/vue/chart/api-crosshairSettings.md delete mode 100644 chart-sdk/vue/chart/api-crosshairSettingsModel.md delete mode 100644 chart-sdk/vue/chart/api-crosshairTooltip.md delete mode 100644 chart-sdk/vue/chart/api-crosshairTooltipModel.md delete mode 100644 chart-sdk/vue/chart/api-dataLabel.md delete mode 100644 chart-sdk/vue/chart/api-dataLabelSettings.md delete mode 100644 chart-sdk/vue/chart/api-dataLabelSettingsModel.md delete mode 100644 chart-sdk/vue/chart/api-dateTime.md delete mode 100644 chart-sdk/vue/chart/api-dateTimeCategory.md delete mode 100644 chart-sdk/vue/chart/api-emaIndicator.md delete mode 100644 chart-sdk/vue/chart/api-emptyPointSettings.md delete mode 100644 chart-sdk/vue/chart/api-emptyPointSettingsModel.md delete mode 100644 chart-sdk/vue/chart/api-errorBar.md delete mode 100644 chart-sdk/vue/chart/api-errorBarCapSettings.md delete mode 100644 chart-sdk/vue/chart/api-errorBarCapSettingsModel.md delete mode 100644 chart-sdk/vue/chart/api-errorBarSettings.md delete mode 100644 chart-sdk/vue/chart/api-exportUtils.md delete mode 100644 chart-sdk/vue/chart/api-font.md delete mode 100644 chart-sdk/vue/chart/api-fontModel.md delete mode 100644 chart-sdk/vue/chart/api-hiloOpenCloseSeries.md delete mode 100644 chart-sdk/vue/chart/api-hiloSeries.md delete mode 100644 chart-sdk/vue/chart/api-histogramSeries.md delete mode 100644 chart-sdk/vue/chart/api-iAccLegendRenderEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iAnimationCompleteEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iAnnotationRenderEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iAxisLabelRenderEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iAxisMultiLabelRenderEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iAxisRangeCalculatedEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iChartEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iDragCompleteEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iLegendRenderEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iLoadedEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iMouseEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iPointEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iPointRenderEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iResizeEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iResizeRangeNavigatorEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iSeriesRenderEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iTextRenderEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iTooltipRenderEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-iZoomCompleteEventArgs.md delete mode 100644 chart-sdk/vue/chart/api-labelBorder.md delete mode 100644 chart-sdk/vue/chart/api-labelBorderModel.md delete mode 100644 chart-sdk/vue/chart/api-legend.md delete mode 100644 chart-sdk/vue/chart/api-legendSettings.md delete mode 100644 chart-sdk/vue/chart/api-legendSettingsModel.md delete mode 100644 chart-sdk/vue/chart/api-lineBase.md delete mode 100644 chart-sdk/vue/chart/api-lineSeries.md delete mode 100644 chart-sdk/vue/chart/api-location.md delete mode 100644 chart-sdk/vue/chart/api-locationModel.md delete mode 100644 chart-sdk/vue/chart/api-logarithmic.md delete mode 100644 chart-sdk/vue/chart/api-macdIndicator.md delete mode 100644 chart-sdk/vue/chart/api-majorGridLines.md delete mode 100644 chart-sdk/vue/chart/api-majorGridLinesModel.md delete mode 100644 chart-sdk/vue/chart/api-majorTickLines.md delete mode 100644 chart-sdk/vue/chart/api-majorTickLinesModel.md delete mode 100644 chart-sdk/vue/chart/api-margin.md delete mode 100644 chart-sdk/vue/chart/api-marginModel.md delete mode 100644 chart-sdk/vue/chart/api-markerSettings.md delete mode 100644 chart-sdk/vue/chart/api-markerSettingsModel.md delete mode 100644 chart-sdk/vue/chart/api-minorGridLines.md delete mode 100644 chart-sdk/vue/chart/api-minorGridLinesModel.md delete mode 100644 chart-sdk/vue/chart/api-minorTickLines.md delete mode 100644 chart-sdk/vue/chart/api-minorTickLinesModel.md delete mode 100644 chart-sdk/vue/chart/api-momentumIndicator.md delete mode 100644 chart-sdk/vue/chart/api-multiColoredAreaSeries.md delete mode 100644 chart-sdk/vue/chart/api-multiColoredLineSeries.md delete mode 100644 chart-sdk/vue/chart/api-multiColoredSeries.md delete mode 100644 chart-sdk/vue/chart/api-multiLevelCategories.md delete mode 100644 chart-sdk/vue/chart/api-multiLevelCategoriesModel.md delete mode 100644 chart-sdk/vue/chart/api-multiLevelLabel.md delete mode 100644 chart-sdk/vue/chart/api-multiLevelLabels.md delete mode 100644 chart-sdk/vue/chart/api-multiLevelLabelsModel.md delete mode 100644 chart-sdk/vue/chart/api-polarRadarPanel.md delete mode 100644 chart-sdk/vue/chart/api-polarSeries.md delete mode 100644 chart-sdk/vue/chart/api-radarSeries.md delete mode 100644 chart-sdk/vue/chart/api-rangeAreaSeries.md delete mode 100644 chart-sdk/vue/chart/api-rangeColumnSeries.md delete mode 100644 chart-sdk/vue/chart/api-row.md delete mode 100644 chart-sdk/vue/chart/api-rowModel.md delete mode 100644 chart-sdk/vue/chart/api-rsiIndicator.md delete mode 100644 chart-sdk/vue/chart/api-scatterSeries.md delete mode 100644 chart-sdk/vue/chart/api-scrollBar.md delete mode 100644 chart-sdk/vue/chart/api-scrollElements.md delete mode 100644 chart-sdk/vue/chart/api-series.md delete mode 100644 chart-sdk/vue/chart/api-seriesBase.md delete mode 100644 chart-sdk/vue/chart/api-seriesBaseModel.md delete mode 100644 chart-sdk/vue/chart/api-seriesModel.md delete mode 100644 chart-sdk/vue/chart/api-smaIndicator.md delete mode 100644 chart-sdk/vue/chart/api-splineAreaSeries.md delete mode 100644 chart-sdk/vue/chart/api-splineBase.md delete mode 100644 chart-sdk/vue/chart/api-splineSeries.md delete mode 100644 chart-sdk/vue/chart/api-stackingAreaSeries.md delete mode 100644 chart-sdk/vue/chart/api-stackingBarSeries.md delete mode 100644 chart-sdk/vue/chart/api-stackingColumnSeries.md delete mode 100644 chart-sdk/vue/chart/api-staticFunctions.md delete mode 100644 chart-sdk/vue/chart/api-stepAreaSeries.md delete mode 100644 chart-sdk/vue/chart/api-stepLineSeries.md delete mode 100644 chart-sdk/vue/chart/api-stochasticIndicator.md delete mode 100644 chart-sdk/vue/chart/api-stripLineSettings.md delete mode 100644 chart-sdk/vue/chart/api-stripLineSettingsModel.md delete mode 100644 chart-sdk/vue/chart/api-technicalAnalysis.md delete mode 100644 chart-sdk/vue/chart/api-technicalIndicator.md delete mode 100644 chart-sdk/vue/chart/api-technicalIndicatorModel.md delete mode 100644 chart-sdk/vue/chart/api-tmaIndicator.md delete mode 100644 chart-sdk/vue/chart/api-tooltip.md delete mode 100644 chart-sdk/vue/chart/api-tooltipSettings.md delete mode 100644 chart-sdk/vue/chart/api-tooltipSettingsModel.md delete mode 100644 chart-sdk/vue/chart/api-trendline.md delete mode 100644 chart-sdk/vue/chart/api-trendlineModel.md delete mode 100644 chart-sdk/vue/chart/api-trendlines.md delete mode 100644 chart-sdk/vue/chart/api-waterfallSeries.md delete mode 100644 chart-sdk/vue/chart/api-zoom.md delete mode 100644 chart-sdk/vue/chart/api-zoomSettings.md delete mode 100644 chart-sdk/vue/chart/api-zoomSettingsModel.md delete mode 100644 chart-sdk/vue/chart/axis-customization.md delete mode 100644 chart-sdk/vue/chart/axis-labels.md delete mode 100644 chart-sdk/vue/chart/category-axis.md delete mode 100644 chart-sdk/vue/chart/chart-annotations.md delete mode 100644 chart-sdk/vue/chart/chart-appearance.md delete mode 100644 chart-sdk/vue/chart/chart-dimensions.md delete mode 100644 chart-sdk/vue/chart/chart-print.md delete mode 100644 chart-sdk/vue/chart/chart-series.md delete mode 100644 chart-sdk/vue/chart/chart-type/area.md delete mode 100644 chart-sdk/vue/chart/chart-type/bar.md delete mode 100644 chart-sdk/vue/chart/chart-type/box-whisker.md delete mode 100644 chart-sdk/vue/chart/chart-type/bubble.md delete mode 100644 chart-sdk/vue/chart/chart-type/candle.md delete mode 100644 chart-sdk/vue/chart/chart-type/column.md delete mode 100644 chart-sdk/vue/chart/chart-type/error-bar.md delete mode 100644 chart-sdk/vue/chart/chart-type/high-low-open-close.md delete mode 100644 chart-sdk/vue/chart/chart-type/high-low.md delete mode 100644 chart-sdk/vue/chart/chart-type/histogram.md delete mode 100644 chart-sdk/vue/chart/chart-type/line.md delete mode 100644 chart-sdk/vue/chart/chart-type/pareto.md delete mode 100644 chart-sdk/vue/chart/chart-type/polar.md delete mode 100644 chart-sdk/vue/chart/chart-type/radar.md delete mode 100644 chart-sdk/vue/chart/chart-type/range-area.md delete mode 100644 chart-sdk/vue/chart/chart-type/range-column.md delete mode 100644 chart-sdk/vue/chart/chart-type/range-step-area.md delete mode 100644 chart-sdk/vue/chart/chart-type/scatter.md delete mode 100644 chart-sdk/vue/chart/chart-type/spline-area.md delete mode 100644 chart-sdk/vue/chart/chart-type/spline-range-area.md delete mode 100644 chart-sdk/vue/chart/chart-type/spline.md delete mode 100644 chart-sdk/vue/chart/chart-type/stack-area.md delete mode 100644 chart-sdk/vue/chart/chart-type/stack-bar.md delete mode 100644 chart-sdk/vue/chart/chart-type/stack-column.md delete mode 100644 chart-sdk/vue/chart/chart-type/stack-line.md delete mode 100644 chart-sdk/vue/chart/chart-type/stacked-area.md delete mode 100644 chart-sdk/vue/chart/chart-type/stacked-bar.md delete mode 100644 chart-sdk/vue/chart/chart-type/stacked-column.md delete mode 100644 chart-sdk/vue/chart/chart-type/stacked-line.md delete mode 100644 chart-sdk/vue/chart/chart-type/stacked-step-area.md delete mode 100644 chart-sdk/vue/chart/chart-type/step-area.md delete mode 100644 chart-sdk/vue/chart/chart-type/step-line.md delete mode 100644 chart-sdk/vue/chart/chart-type/vertical.md delete mode 100644 chart-sdk/vue/chart/chart-type/waterfall.md delete mode 100644 chart-sdk/vue/chart/cross-hair-and-track-ball.md delete mode 100644 chart-sdk/vue/chart/data-editing.md delete mode 100644 chart-sdk/vue/chart/data-labels.md delete mode 100644 chart-sdk/vue/chart/data-markers.md delete mode 100644 chart-sdk/vue/chart/date-time-axis.md delete mode 100644 chart-sdk/vue/chart/dynamic-data-update.md delete mode 100644 chart-sdk/vue/chart/feature-modules.md delete mode 100644 chart-sdk/vue/chart/getting-started.md delete mode 100644 chart-sdk/vue/chart/how-to/dotted-line.md delete mode 100644 chart-sdk/vue/chart/how-to/dynamic-chart.md delete mode 100644 chart-sdk/vue/chart/how-to/hide-tool-tip.md delete mode 100644 chart-sdk/vue/chart/images/quasar-output.png delete mode 100644 chart-sdk/vue/chart/images/quasar-setup1.png delete mode 100644 chart-sdk/vue/chart/images/quasar-setup2.png delete mode 100644 chart-sdk/vue/chart/images/vue3-chart-demo.png delete mode 100644 chart-sdk/vue/chart/internationalization.md delete mode 100644 chart-sdk/vue/chart/legend.md delete mode 100644 chart-sdk/vue/chart/localization.md delete mode 100644 chart-sdk/vue/chart/logarithmic-axis.md delete mode 100644 chart-sdk/vue/chart/multiple-panes.md delete mode 100644 chart-sdk/vue/chart/numeric-axis.md delete mode 100644 chart-sdk/vue/chart/quasar.md delete mode 100644 chart-sdk/vue/chart/render-methods.md delete mode 100644 chart-sdk/vue/chart/selection.md delete mode 100644 chart-sdk/vue/chart/series-label.md delete mode 100644 chart-sdk/vue/chart/strip-line.md delete mode 100644 chart-sdk/vue/chart/synchronized-chart.md delete mode 100644 chart-sdk/vue/chart/technical-indicators.md delete mode 100644 chart-sdk/vue/chart/title-subtitle.md delete mode 100644 chart-sdk/vue/chart/tool-tip.md delete mode 100644 chart-sdk/vue/chart/trend-lines.md delete mode 100644 chart-sdk/vue/chart/understanding-chart.md delete mode 100644 chart-sdk/vue/chart/vue-3-getting-started.md delete mode 100644 chart-sdk/vue/chart/working-with-data.md delete mode 100644 chart-sdk/vue/chart/zooming.md delete mode 100644 chart-sdk/vue/circular-chart-3d/data-label.md delete mode 100644 chart-sdk/vue/circular-chart-3d/empty-points.md delete mode 100644 chart-sdk/vue/circular-chart-3d/getting-started.md delete mode 100644 chart-sdk/vue/circular-chart-3d/images/vue3-circular-chart-3d-demo.png delete mode 100644 chart-sdk/vue/circular-chart-3d/legend.md delete mode 100644 chart-sdk/vue/circular-chart-3d/pie-donut-chart.md delete mode 100644 chart-sdk/vue/circular-chart-3d/print-and-export.md delete mode 100644 chart-sdk/vue/circular-chart-3d/title-and-subtitle.md delete mode 100644 chart-sdk/vue/circular-chart-3d/tooltip.md delete mode 100644 chart-sdk/vue/circular-chart-3d/vue-3-getting-started.md rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/accessibility.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/appearance.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/axis.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/bubble-heatmap.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/dimensions.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/events.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/getting-started-vue-3.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/getting-started.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/how-to/legend-label-customization.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/how-to/tooltip-template.md (100%) rename chart-sdk/vue/{circular-chart-3d => heatmap-charts}/images/vue2-terminal.png (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/images/vue3-heatmap-demo.PNG (100%) rename chart-sdk/vue/{chart => heatmap-charts}/images/vue3-terminal.png (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/legend.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/palette.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/rendering-mode.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/selection.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/tooltip.md (100%) rename chart-sdk/vue/{heatmap-chart => heatmap-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/vue/range-selector/accessibility.md delete mode 100644 chart-sdk/vue/range-selector/api-animation.md delete mode 100644 chart-sdk/vue/range-selector/api-animationModel.md delete mode 100644 chart-sdk/vue/range-selector/api-annotationBase.md delete mode 100644 chart-sdk/vue/range-selector/api-chartAreaModel.md delete mode 100644 chart-sdk/vue/range-selector/api-iPrintEventArgs.md delete mode 100644 chart-sdk/vue/range-selector/customization.md delete mode 100644 chart-sdk/vue/range-selector/export-print.md delete mode 100644 chart-sdk/vue/range-selector/getting-started.md delete mode 100644 chart-sdk/vue/range-selector/grid-tick.md delete mode 100644 chart-sdk/vue/range-selector/images/vue3-RN-demo.png delete mode 100644 chart-sdk/vue/range-selector/labels.md delete mode 100644 chart-sdk/vue/range-selector/lightweight.md delete mode 100644 chart-sdk/vue/range-selector/period-selector.md delete mode 100644 chart-sdk/vue/range-selector/r-t-l.md delete mode 100644 chart-sdk/vue/range-selector/selecting-range.md delete mode 100644 chart-sdk/vue/range-selector/series-types.md delete mode 100644 chart-sdk/vue/range-selector/tool-tip.md delete mode 100644 chart-sdk/vue/range-selector/vue-3-getting-started.md delete mode 100644 chart-sdk/vue/sankey/accessibility.md delete mode 100644 chart-sdk/vue/sankey/appearance.md delete mode 100644 chart-sdk/vue/sankey/customization.md delete mode 100644 chart-sdk/vue/sankey/events.md delete mode 100644 chart-sdk/vue/sankey/getting-started.md delete mode 100644 chart-sdk/vue/sankey/images/vue3-sankey-tooltip.png delete mode 100644 chart-sdk/vue/sankey/labels.md delete mode 100644 chart-sdk/vue/sankey/legend.md delete mode 100644 chart-sdk/vue/sankey/links.md delete mode 100644 chart-sdk/vue/sankey/nodes.md delete mode 100644 chart-sdk/vue/sankey/orientation-rtl.md delete mode 100644 chart-sdk/vue/sankey/print-export.md delete mode 100644 chart-sdk/vue/sankey/title-subtitle.md delete mode 100644 chart-sdk/vue/sankey/tooltip.md delete mode 100644 chart-sdk/vue/sankey/vue-3-getting-started.md delete mode 100644 chart-sdk/vue/smith-chart/getting-started.md delete mode 100644 chart-sdk/vue/smith-chart/images/vue2-terminal.png delete mode 100644 chart-sdk/vue/smith-chart/images/vue3-smith-chart-demo.png delete mode 100644 chart-sdk/vue/smith-chart/images/vue3-terminal.png delete mode 100644 chart-sdk/vue/smith-chart/smithchart-legend.md delete mode 100644 chart-sdk/vue/smith-chart/vue-3-getting-started.md rename chart-sdk/vue/{smith-chart => smith-charts}/accessibility.md (100%) rename chart-sdk/vue/{smithchart => smith-charts}/getting-started.md (100%) rename chart-sdk/vue/{heatmap-chart => smith-charts}/images/vue2-terminal.png (100%) rename chart-sdk/vue/{smithchart => smith-charts}/images/vue3-smith-chart-demo.png (100%) rename chart-sdk/vue/{heatmap-chart => smith-charts}/images/vue3-terminal.png (100%) rename chart-sdk/vue/{smith-chart => smith-charts}/index.md (100%) rename chart-sdk/vue/{smith-chart => smith-charts}/smithchart-axis.md (100%) rename chart-sdk/vue/{smith-chart => smith-charts}/smithchart-dimensions.md (100%) rename chart-sdk/vue/{smithchart => smith-charts}/smithchart-legend.md (100%) rename chart-sdk/vue/{smith-chart => smith-charts}/smithchart-marker.md (100%) rename chart-sdk/vue/{smith-chart => smith-charts}/smithchart-print.md (100%) rename chart-sdk/vue/{smith-chart => smith-charts}/smithchart-series.md (100%) rename chart-sdk/vue/{smith-chart => smith-charts}/smithchart-tooltip.md (100%) rename chart-sdk/vue/{smith-chart => smith-charts}/title-subtitle.md (100%) rename chart-sdk/vue/{smithchart => smith-charts}/vue-3-getting-started.md (100%) rename chart-sdk/vue/{smith-chart => smith-charts}/working-with-data.md (100%) delete mode 100644 chart-sdk/vue/smithchart/accessibility.md delete mode 100644 chart-sdk/vue/smithchart/images/vue2-terminal.png delete mode 100644 chart-sdk/vue/smithchart/images/vue3-terminal.png delete mode 100644 chart-sdk/vue/smithchart/index.md delete mode 100644 chart-sdk/vue/smithchart/smithchart-axis.md delete mode 100644 chart-sdk/vue/smithchart/smithchart-dimensions.md delete mode 100644 chart-sdk/vue/smithchart/smithchart-marker.md delete mode 100644 chart-sdk/vue/smithchart/smithchart-print.md delete mode 100644 chart-sdk/vue/smithchart/smithchart-series.md delete mode 100644 chart-sdk/vue/smithchart/smithchart-tooltip.md delete mode 100644 chart-sdk/vue/smithchart/title-subtitle.md delete mode 100644 chart-sdk/vue/smithchart/working-with-data.md delete mode 100644 chart-sdk/vue/sparkline-charts/appearance.md delete mode 100644 chart-sdk/vue/sparkline-charts/axis-customization.md delete mode 100644 chart-sdk/vue/sparkline-charts/data-labels.md delete mode 100644 chart-sdk/vue/sparkline-charts/getting-started.md delete mode 100644 chart-sdk/vue/sparkline-charts/images/vue2-terminal.png delete mode 100644 chart-sdk/vue/sparkline-charts/images/vue3-sparkline-charts-demo.png delete mode 100644 chart-sdk/vue/sparkline-charts/images/vue3-terminal.png delete mode 100644 chart-sdk/vue/sparkline-charts/localization.md delete mode 100644 chart-sdk/vue/sparkline-charts/marker.md delete mode 100644 chart-sdk/vue/sparkline-charts/range-band.md delete mode 100644 chart-sdk/vue/sparkline-charts/sparkline-dimensions.md delete mode 100644 chart-sdk/vue/sparkline-charts/sparkline-types.md delete mode 100644 chart-sdk/vue/sparkline-charts/special-points-customization.md delete mode 100644 chart-sdk/vue/sparkline-charts/user-interaction.md delete mode 100644 chart-sdk/vue/sparkline-charts/vue-3-getting-started.md delete mode 100644 chart-sdk/vue/stock-chart/images/vue3-terminal.png rename chart-sdk/vue/{stock-chart => stock-charts}/accessibility.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/appearance.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/axis-customization.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/axis-types.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/chart-dimensions.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/cross-hair.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/export-print.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/getting-started.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/gradient.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/images/vue2-stockchart-demo.png (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/images/vue3-stockchart-demo.png (100%) rename chart-sdk/vue/{range-selector => stock-charts}/images/vue3-terminal.png (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/legend.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/period-selector.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/range-selector.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/series-types.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/stock-events.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/technical-indicators.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/tool-tip.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/trend-lines.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/vue-3-getting-started.md (100%) rename chart-sdk/vue/{stock-chart => stock-charts}/working-with-data.md (100%) create mode 100644 code-snippet/chart-sdk/angular/accumulation-chart/accumulation-chart-data-cs1/angular.json create mode 100644 code-snippet/chart-sdk/angular/accumulation-chart/accumulation-chart-data-cs1/index.css create mode 100644 code-snippet/chart-sdk/angular/accumulation-chart/accumulation-chart-data-cs1/index.html create mode 100644 code-snippet/chart-sdk/angular/accumulation-chart/accumulation-chart-data-cs1/package.json create mode 100644 code-snippet/chart-sdk/angular/accumulation-chart/accumulation-chart-data-cs1/src/app.ts create mode 100644 code-snippet/chart-sdk/angular/accumulation-chart/accumulation-chart-data-cs1/src/main.ts create mode 100644 code-snippet/chart-sdk/angular/accumulation-chart/accumulation-chart-data-cs1/src/styles.css create mode 100644 code-snippet/chart-sdk/angular/accumulation-chart/accumulation-chart-data-cs1/tsconfig.json create mode 100644 code-snippet/chart-sdk/javascript/accumulation-chart/tooltip-format/datasource.ts create mode 100644 code-snippet/chart-sdk/javascript/accumulation-chart/tooltip-format/index.css create mode 100644 code-snippet/chart-sdk/javascript/accumulation-chart/tooltip-format/index.html create mode 100644 code-snippet/chart-sdk/javascript/accumulation-chart/tooltip-format/index.js create mode 100644 code-snippet/chart-sdk/javascript/accumulation-chart/tooltip-format/index.ts create mode 100644 code-snippet/chart-sdk/javascript/accumulation-chart/tooltip-format/systemjs.config.js create mode 100644 code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-format/datasource.ts create mode 100644 code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-format/index.css create mode 100644 code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-format/index.html create mode 100644 code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-format/index.js create mode 100644 code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-format/index.ts create mode 100644 code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-format/systemjs.config.js create mode 100644 code-snippet/chart-sdk/typescript/bullet-chart/user-interaction-cs4/datasource.ts create mode 100644 code-snippet/chart-sdk/typescript/bullet-chart/user-interaction-cs4/index.css create mode 100644 code-snippet/chart-sdk/typescript/bullet-chart/user-interaction-cs4/index.html create mode 100644 code-snippet/chart-sdk/typescript/bullet-chart/user-interaction-cs4/index.js create mode 100644 code-snippet/chart-sdk/typescript/bullet-chart/user-interaction-cs4/index.ts create mode 100644 code-snippet/chart-sdk/typescript/bullet-chart/user-interaction-cs4/systemjs.config.js diff --git a/chart-sdk/angular/3d-chart/accessibility.md b/chart-sdk/angular/3d-charts/accessibility.md similarity index 100% rename from chart-sdk/angular/3d-chart/accessibility.md rename to chart-sdk/angular/3d-charts/accessibility.md diff --git a/chart-sdk/angular/3d-chart/appearance.md b/chart-sdk/angular/3d-charts/appearance.md similarity index 100% rename from chart-sdk/angular/3d-chart/appearance.md rename to chart-sdk/angular/3d-charts/appearance.md diff --git a/chart-sdk/angular/3d-chart/axis-customization.md b/chart-sdk/angular/3d-charts/axis-customization.md similarity index 100% rename from chart-sdk/angular/3d-chart/axis-customization.md rename to chart-sdk/angular/3d-charts/axis-customization.md diff --git a/chart-sdk/angular/3d-chart/axis-labels.md b/chart-sdk/angular/3d-charts/axis-labels.md similarity index 100% rename from chart-sdk/angular/3d-chart/axis-labels.md rename to chart-sdk/angular/3d-charts/axis-labels.md diff --git a/chart-sdk/angular/3d-chart/category-axis.md b/chart-sdk/angular/3d-charts/category-axis.md similarity index 100% rename from chart-sdk/angular/3d-chart/category-axis.md rename to chart-sdk/angular/3d-charts/category-axis.md diff --git a/chart-sdk/angular/3d-chart/chart-types/bar.md b/chart-sdk/angular/3d-charts/chart-types/bar.md similarity index 100% rename from chart-sdk/angular/3d-chart/chart-types/bar.md rename to chart-sdk/angular/3d-charts/chart-types/bar.md diff --git a/chart-sdk/angular/3d-chart/chart-types/column.md b/chart-sdk/angular/3d-charts/chart-types/column.md similarity index 100% rename from chart-sdk/angular/3d-chart/chart-types/column.md rename to chart-sdk/angular/3d-charts/chart-types/column.md diff --git a/chart-sdk/angular/3d-chart/chart-types/stack-bar.md b/chart-sdk/angular/3d-charts/chart-types/stack-bar.md similarity index 100% rename from chart-sdk/angular/3d-chart/chart-types/stack-bar.md rename to chart-sdk/angular/3d-charts/chart-types/stack-bar.md diff --git a/chart-sdk/angular/3d-chart/chart-types/stack-column.md b/chart-sdk/angular/3d-charts/chart-types/stack-column.md similarity index 100% rename from chart-sdk/angular/3d-chart/chart-types/stack-column.md rename to chart-sdk/angular/3d-charts/chart-types/stack-column.md diff --git a/chart-sdk/angular/3d-chart/chart-types/stacked-bar.md b/chart-sdk/angular/3d-charts/chart-types/stacked-bar.md similarity index 100% rename from chart-sdk/angular/3d-chart/chart-types/stacked-bar.md rename to chart-sdk/angular/3d-charts/chart-types/stacked-bar.md diff --git a/chart-sdk/angular/3d-chart/chart-types/stacked-column.md b/chart-sdk/angular/3d-charts/chart-types/stacked-column.md similarity index 100% rename from chart-sdk/angular/3d-chart/chart-types/stacked-column.md rename to chart-sdk/angular/3d-charts/chart-types/stacked-column.md diff --git a/chart-sdk/angular/3d-chart/data-labels.md b/chart-sdk/angular/3d-charts/data-labels.md similarity index 100% rename from chart-sdk/angular/3d-chart/data-labels.md rename to chart-sdk/angular/3d-charts/data-labels.md diff --git a/chart-sdk/angular/3d-chart/datetime-axis.md b/chart-sdk/angular/3d-charts/datetime-axis.md similarity index 100% rename from chart-sdk/angular/3d-chart/datetime-axis.md rename to chart-sdk/angular/3d-charts/datetime-axis.md diff --git a/chart-sdk/angular/3d-chart/dimensions.md b/chart-sdk/angular/3d-charts/dimensions.md similarity index 100% rename from chart-sdk/angular/3d-chart/dimensions.md rename to chart-sdk/angular/3d-charts/dimensions.md diff --git a/chart-sdk/angular/3d-chart/getting-started.md b/chart-sdk/angular/3d-charts/getting-started.md similarity index 100% rename from chart-sdk/angular/3d-chart/getting-started.md rename to chart-sdk/angular/3d-charts/getting-started.md diff --git a/chart-sdk/angular/3d-chart/legend.md b/chart-sdk/angular/3d-charts/legend.md similarity index 100% rename from chart-sdk/angular/3d-chart/legend.md rename to chart-sdk/angular/3d-charts/legend.md diff --git a/chart-sdk/angular/3d-chart/logarithmic-axis.md b/chart-sdk/angular/3d-charts/logarithmic-axis.md similarity index 100% rename from chart-sdk/angular/3d-chart/logarithmic-axis.md rename to chart-sdk/angular/3d-charts/logarithmic-axis.md diff --git a/chart-sdk/angular/3d-chart/multi-panes.md b/chart-sdk/angular/3d-charts/multi-panes.md similarity index 100% rename from chart-sdk/angular/3d-chart/multi-panes.md rename to chart-sdk/angular/3d-charts/multi-panes.md diff --git a/chart-sdk/angular/3d-chart/numeric-axis.md b/chart-sdk/angular/3d-charts/numeric-axis.md similarity index 100% rename from chart-sdk/angular/3d-chart/numeric-axis.md rename to chart-sdk/angular/3d-charts/numeric-axis.md diff --git a/chart-sdk/angular/3d-chart/print-export.md b/chart-sdk/angular/3d-charts/print-export.md similarity index 100% rename from chart-sdk/angular/3d-chart/print-export.md rename to chart-sdk/angular/3d-charts/print-export.md diff --git a/chart-sdk/angular/3d-chart/selection.md b/chart-sdk/angular/3d-charts/selection.md similarity index 100% rename from chart-sdk/angular/3d-chart/selection.md rename to chart-sdk/angular/3d-charts/selection.md diff --git a/chart-sdk/angular/3d-chart/tool-tip.md b/chart-sdk/angular/3d-charts/tool-tip.md similarity index 100% rename from chart-sdk/angular/3d-chart/tool-tip.md rename to chart-sdk/angular/3d-charts/tool-tip.md diff --git a/chart-sdk/angular/3d-chart/working-with-data.md b/chart-sdk/angular/3d-charts/working-with-data.md similarity index 100% rename from chart-sdk/angular/3d-chart/working-with-data.md rename to chart-sdk/angular/3d-charts/working-with-data.md diff --git a/chart-sdk/angular/circular-chart-3d/data-label.md b/chart-sdk/angular/3d-circular-charts/data-label.md similarity index 100% rename from chart-sdk/angular/circular-chart-3d/data-label.md rename to chart-sdk/angular/3d-circular-charts/data-label.md diff --git a/chart-sdk/angular/circular-chart-3d/empty-points.md b/chart-sdk/angular/3d-circular-charts/empty-points.md similarity index 100% rename from chart-sdk/angular/circular-chart-3d/empty-points.md rename to chart-sdk/angular/3d-circular-charts/empty-points.md diff --git a/chart-sdk/angular/circular-chart-3d/getting-started.md b/chart-sdk/angular/3d-circular-charts/getting-started.md similarity index 100% rename from chart-sdk/angular/circular-chart-3d/getting-started.md rename to chart-sdk/angular/3d-circular-charts/getting-started.md diff --git a/chart-sdk/angular/circular-chart-3d/legend.md b/chart-sdk/angular/3d-circular-charts/legend.md similarity index 100% rename from chart-sdk/angular/circular-chart-3d/legend.md rename to chart-sdk/angular/3d-circular-charts/legend.md diff --git a/chart-sdk/angular/circular-chart-3d/pie-donut-chart.md b/chart-sdk/angular/3d-circular-charts/pie-donut-chart.md similarity index 100% rename from chart-sdk/angular/circular-chart-3d/pie-donut-chart.md rename to chart-sdk/angular/3d-circular-charts/pie-donut-chart.md diff --git a/chart-sdk/angular/circular-chart-3d/print-and-export.md b/chart-sdk/angular/3d-circular-charts/print-and-export.md similarity index 100% rename from chart-sdk/angular/circular-chart-3d/print-and-export.md rename to chart-sdk/angular/3d-circular-charts/print-and-export.md diff --git a/chart-sdk/angular/circular-chart-3d/title-and-subtitle.md b/chart-sdk/angular/3d-circular-charts/title-and-subtitle.md similarity index 100% rename from chart-sdk/angular/circular-chart-3d/title-and-subtitle.md rename to chart-sdk/angular/3d-circular-charts/title-and-subtitle.md diff --git a/chart-sdk/angular/circular-chart-3d/tooltip.md b/chart-sdk/angular/3d-circular-charts/tooltip.md similarity index 100% rename from chart-sdk/angular/circular-chart-3d/tooltip.md rename to chart-sdk/angular/3d-circular-charts/tooltip.md diff --git a/chart-sdk/angular/accumulation-chart/accessibility.md b/chart-sdk/angular/accumulation-charts/accessibility.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/accessibility.md rename to chart-sdk/angular/accumulation-charts/accessibility.md diff --git a/chart-sdk/angular/accumulation-chart/advanced-accessibility-configuration.md b/chart-sdk/angular/accumulation-charts/advanced-accessibility-configuration.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/advanced-accessibility-configuration.md rename to chart-sdk/angular/accumulation-charts/advanced-accessibility-configuration.md diff --git a/chart-sdk/angular/accumulation-chart/annotation.md b/chart-sdk/angular/accumulation-charts/annotation.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/annotation.md rename to chart-sdk/angular/accumulation-charts/annotation.md diff --git a/chart-sdk/angular/accumulation-chart/api.md b/chart-sdk/angular/accumulation-charts/api.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/api.md rename to chart-sdk/angular/accumulation-charts/api.md diff --git a/chart-sdk/angular/accumulation-chart/appearance.md b/chart-sdk/angular/accumulation-charts/appearance.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/appearance.md rename to chart-sdk/angular/accumulation-charts/appearance.md diff --git a/chart-sdk/angular/accumulation-chart/center-label.md b/chart-sdk/angular/accumulation-charts/center-label.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/center-label.md rename to chart-sdk/angular/accumulation-charts/center-label.md diff --git a/chart-sdk/angular/accumulation-chart/chart-print.md b/chart-sdk/angular/accumulation-charts/chart-print.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/chart-print.md rename to chart-sdk/angular/accumulation-charts/chart-print.md diff --git a/chart-sdk/angular/accumulation-chart/customization.md b/chart-sdk/angular/accumulation-charts/customization.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/customization.md rename to chart-sdk/angular/accumulation-charts/customization.md diff --git a/chart-sdk/angular/accumulation-chart/data-label.md b/chart-sdk/angular/accumulation-charts/data-label.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/data-label.md rename to chart-sdk/angular/accumulation-charts/data-label.md diff --git a/chart-sdk/angular/accumulation-chart/dynamic-data-update.md b/chart-sdk/angular/accumulation-charts/dynamic-data-update.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/dynamic-data-update.md rename to chart-sdk/angular/accumulation-charts/dynamic-data-update.md diff --git a/chart-sdk/angular/accumulation-chart/ej1-api-migration.md b/chart-sdk/angular/accumulation-charts/ej1-api-migration.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/ej1-api-migration.md rename to chart-sdk/angular/accumulation-charts/ej1-api-migration.md diff --git a/chart-sdk/angular/accumulation-chart/empty-points.md b/chart-sdk/angular/accumulation-charts/empty-points.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/empty-points.md rename to chart-sdk/angular/accumulation-charts/empty-points.md diff --git a/chart-sdk/angular/accumulation-chart/funnel.md b/chart-sdk/angular/accumulation-charts/funnel.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/funnel.md rename to chart-sdk/angular/accumulation-charts/funnel.md diff --git a/chart-sdk/angular/accumulation-chart/getting-started.md b/chart-sdk/angular/accumulation-charts/getting-started.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/getting-started.md rename to chart-sdk/angular/accumulation-charts/getting-started.md diff --git a/chart-sdk/angular/accumulation-chart/gradient.md b/chart-sdk/angular/accumulation-charts/gradient.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/gradient.md rename to chart-sdk/angular/accumulation-charts/gradient.md diff --git a/chart-sdk/angular/accumulation-chart/grouping.md b/chart-sdk/angular/accumulation-charts/grouping.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/grouping.md rename to chart-sdk/angular/accumulation-charts/grouping.md diff --git a/chart-sdk/angular/accumulation-chart/legend.md b/chart-sdk/angular/accumulation-charts/legend.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/legend.md rename to chart-sdk/angular/accumulation-charts/legend.md diff --git a/chart-sdk/angular/accumulation-chart/pie-dough-nut.md b/chart-sdk/angular/accumulation-charts/pie-dough-nut.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/pie-dough-nut.md rename to chart-sdk/angular/accumulation-charts/pie-dough-nut.md diff --git a/chart-sdk/angular/accumulation-chart/pyramid.md b/chart-sdk/angular/accumulation-charts/pyramid.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/pyramid.md rename to chart-sdk/angular/accumulation-charts/pyramid.md diff --git a/chart-sdk/angular/accumulation-chart/series-types.md b/chart-sdk/angular/accumulation-charts/series-types.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/series-types.md rename to chart-sdk/angular/accumulation-charts/series-types.md diff --git a/chart-sdk/angular/accumulation-chart/title-and-sub-title.md b/chart-sdk/angular/accumulation-charts/title-and-sub-title.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/title-and-sub-title.md rename to chart-sdk/angular/accumulation-charts/title-and-sub-title.md diff --git a/chart-sdk/angular/accumulation-chart/tool-tip.md b/chart-sdk/angular/accumulation-charts/tool-tip.md similarity index 100% rename from chart-sdk/angular/accumulation-chart/tool-tip.md rename to chart-sdk/angular/accumulation-charts/tool-tip.md diff --git a/chart-sdk/angular/bullet-chart/accessibility.md b/chart-sdk/angular/bullet-charts/accessibility.md similarity index 100% rename from chart-sdk/angular/bullet-chart/accessibility.md rename to chart-sdk/angular/bullet-charts/accessibility.md diff --git a/chart-sdk/angular/bullet-chart/axis-customization.md b/chart-sdk/angular/bullet-charts/axis-customization.md similarity index 100% rename from chart-sdk/angular/bullet-chart/axis-customization.md rename to chart-sdk/angular/bullet-charts/axis-customization.md diff --git a/chart-sdk/angular/bullet-chart/bullet-chart-dimensions.md b/chart-sdk/angular/bullet-charts/bullet-chart-dimensions.md similarity index 100% rename from chart-sdk/angular/bullet-chart/bullet-chart-dimensions.md rename to chart-sdk/angular/bullet-charts/bullet-chart-dimensions.md diff --git a/chart-sdk/angular/bullet-chart/comparative-bar.md b/chart-sdk/angular/bullet-charts/comparative-bar.md similarity index 100% rename from chart-sdk/angular/bullet-chart/comparative-bar.md rename to chart-sdk/angular/bullet-charts/comparative-bar.md diff --git a/chart-sdk/angular/bullet-chart/customization.md b/chart-sdk/angular/bullet-charts/customization.md similarity index 100% rename from chart-sdk/angular/bullet-chart/customization.md rename to chart-sdk/angular/bullet-charts/customization.md diff --git a/chart-sdk/angular/bullet-chart/data-binding.md b/chart-sdk/angular/bullet-charts/data-binding.md similarity index 100% rename from chart-sdk/angular/bullet-chart/data-binding.md rename to chart-sdk/angular/bullet-charts/data-binding.md diff --git a/chart-sdk/angular/bullet-chart/data-label.md b/chart-sdk/angular/bullet-charts/data-label.md similarity index 100% rename from chart-sdk/angular/bullet-chart/data-label.md rename to chart-sdk/angular/bullet-charts/data-label.md diff --git a/chart-sdk/angular/bullet-chart/getting-started.md b/chart-sdk/angular/bullet-charts/getting-started.md similarity index 100% rename from chart-sdk/angular/bullet-chart/getting-started.md rename to chart-sdk/angular/bullet-charts/getting-started.md diff --git a/chart-sdk/angular/bullet-chart/ranges.md b/chart-sdk/angular/bullet-charts/ranges.md similarity index 100% rename from chart-sdk/angular/bullet-chart/ranges.md rename to chart-sdk/angular/bullet-charts/ranges.md diff --git a/chart-sdk/angular/bullet-chart/title.md b/chart-sdk/angular/bullet-charts/title.md similarity index 100% rename from chart-sdk/angular/bullet-chart/title.md rename to chart-sdk/angular/bullet-charts/title.md diff --git a/chart-sdk/angular/bullet-chart/tool-tip.md b/chart-sdk/angular/bullet-charts/tool-tip.md similarity index 100% rename from chart-sdk/angular/bullet-chart/tool-tip.md rename to chart-sdk/angular/bullet-charts/tool-tip.md diff --git a/chart-sdk/angular/bullet-chart/value-bar.md b/chart-sdk/angular/bullet-charts/value-bar.md similarity index 100% rename from chart-sdk/angular/bullet-chart/value-bar.md rename to chart-sdk/angular/bullet-charts/value-bar.md diff --git a/chart-sdk/angular/chart/accessibility.md b/chart-sdk/angular/charts/accessibility.md similarity index 100% rename from chart-sdk/angular/chart/accessibility.md rename to chart-sdk/angular/charts/accessibility.md diff --git a/chart-sdk/angular/chart/advanced-accessibility-configuration.md b/chart-sdk/angular/charts/advanced-accessibility-configuration.md similarity index 100% rename from chart-sdk/angular/chart/advanced-accessibility-configuration.md rename to chart-sdk/angular/charts/advanced-accessibility-configuration.md diff --git a/chart-sdk/angular/chart/api.md b/chart-sdk/angular/charts/api.md similarity index 100% rename from chart-sdk/angular/chart/api.md rename to chart-sdk/angular/charts/api.md diff --git a/chart-sdk/angular/chart/appearance.md b/chart-sdk/angular/charts/appearance.md similarity index 100% rename from chart-sdk/angular/chart/appearance.md rename to chart-sdk/angular/charts/appearance.md diff --git a/chart-sdk/angular/chart/axis/axis-customization.md b/chart-sdk/angular/charts/axis/axis-customization.md similarity index 100% rename from chart-sdk/angular/chart/axis/axis-customization.md rename to chart-sdk/angular/charts/axis/axis-customization.md diff --git a/chart-sdk/angular/chart/axis/axis-labels.md b/chart-sdk/angular/charts/axis/axis-labels.md similarity index 100% rename from chart-sdk/angular/chart/axis/axis-labels.md rename to chart-sdk/angular/charts/axis/axis-labels.md diff --git a/chart-sdk/angular/chart/axis/axis-overview.md b/chart-sdk/angular/charts/axis/axis-overview.md similarity index 100% rename from chart-sdk/angular/chart/axis/axis-overview.md rename to chart-sdk/angular/charts/axis/axis-overview.md diff --git a/chart-sdk/angular/chart/axis/axis-types/category-axis.md b/chart-sdk/angular/charts/axis/axis-types/category-axis.md similarity index 100% rename from chart-sdk/angular/chart/axis/axis-types/category-axis.md rename to chart-sdk/angular/charts/axis/axis-types/category-axis.md diff --git a/chart-sdk/angular/chart/axis/axis-types/date-time-axis.md b/chart-sdk/angular/charts/axis/axis-types/date-time-axis.md similarity index 100% rename from chart-sdk/angular/chart/axis/axis-types/date-time-axis.md rename to chart-sdk/angular/charts/axis/axis-types/date-time-axis.md diff --git a/chart-sdk/angular/chart/axis/axis-types/logarithmic-axis.md b/chart-sdk/angular/charts/axis/axis-types/logarithmic-axis.md similarity index 100% rename from chart-sdk/angular/chart/axis/axis-types/logarithmic-axis.md rename to chart-sdk/angular/charts/axis/axis-types/logarithmic-axis.md diff --git a/chart-sdk/angular/chart/axis/axis-types/numeric-axis.md b/chart-sdk/angular/charts/axis/axis-types/numeric-axis.md similarity index 100% rename from chart-sdk/angular/chart/axis/axis-types/numeric-axis.md rename to chart-sdk/angular/charts/axis/axis-types/numeric-axis.md diff --git a/chart-sdk/angular/chart/axis/multiple-panes.md b/chart-sdk/angular/charts/axis/multiple-panes.md similarity index 100% rename from chart-sdk/angular/chart/axis/multiple-panes.md rename to chart-sdk/angular/charts/axis/multiple-panes.md diff --git a/chart-sdk/angular/chart/chart-axis.md b/chart-sdk/angular/charts/chart-axis.md similarity index 100% rename from chart-sdk/angular/chart/chart-axis.md rename to chart-sdk/angular/charts/chart-axis.md diff --git a/chart-sdk/angular/chart/chart-dimensions.md b/chart-sdk/angular/charts/chart-dimensions.md similarity index 100% rename from chart-sdk/angular/chart/chart-dimensions.md rename to chart-sdk/angular/charts/chart-dimensions.md diff --git a/chart-sdk/angular/chart/chart-elements/chart-annotations.md b/chart-sdk/angular/charts/chart-elements/chart-annotations.md similarity index 100% rename from chart-sdk/angular/chart/chart-elements/chart-annotations.md rename to chart-sdk/angular/charts/chart-elements/chart-annotations.md diff --git a/chart-sdk/angular/chart/chart-elements/data-labels.md b/chart-sdk/angular/charts/chart-elements/data-labels.md similarity index 100% rename from chart-sdk/angular/chart/chart-elements/data-labels.md rename to chart-sdk/angular/charts/chart-elements/data-labels.md diff --git a/chart-sdk/angular/chart/chart-elements/data-markers.md b/chart-sdk/angular/charts/chart-elements/data-markers.md similarity index 100% rename from chart-sdk/angular/chart/chart-elements/data-markers.md rename to chart-sdk/angular/charts/chart-elements/data-markers.md diff --git a/chart-sdk/angular/chart/chart-elements/gradient.md b/chart-sdk/angular/charts/chart-elements/gradient.md similarity index 100% rename from chart-sdk/angular/chart/chart-elements/gradient.md rename to chart-sdk/angular/charts/chart-elements/gradient.md diff --git a/chart-sdk/angular/chart/chart-elements/legend.md b/chart-sdk/angular/charts/chart-elements/legend.md similarity index 100% rename from chart-sdk/angular/chart/chart-elements/legend.md rename to chart-sdk/angular/charts/chart-elements/legend.md diff --git a/chart-sdk/angular/chart/chart-elements/series-label.md b/chart-sdk/angular/charts/chart-elements/series-label.md similarity index 100% rename from chart-sdk/angular/chart/chart-elements/series-label.md rename to chart-sdk/angular/charts/chart-elements/series-label.md diff --git a/chart-sdk/angular/chart/chart-elements/strip-line.md b/chart-sdk/angular/charts/chart-elements/strip-line.md similarity index 100% rename from chart-sdk/angular/chart/chart-elements/strip-line.md rename to chart-sdk/angular/charts/chart-elements/strip-line.md diff --git a/chart-sdk/angular/chart/chart-elements/technical-indicators.md b/chart-sdk/angular/charts/chart-elements/technical-indicators.md similarity index 100% rename from chart-sdk/angular/chart/chart-elements/technical-indicators.md rename to chart-sdk/angular/charts/chart-elements/technical-indicators.md diff --git a/chart-sdk/angular/chart/chart-elements/trend-lines.md b/chart-sdk/angular/charts/chart-elements/trend-lines.md similarity index 100% rename from chart-sdk/angular/chart/chart-elements/trend-lines.md rename to chart-sdk/angular/charts/chart-elements/trend-lines.md diff --git a/chart-sdk/angular/chart/chart-events.md b/chart-sdk/angular/charts/chart-events.md similarity index 100% rename from chart-sdk/angular/chart/chart-events.md rename to chart-sdk/angular/charts/chart-events.md diff --git a/chart-sdk/angular/chart/chart-interactive/cross-hair-and-track-ball.md b/chart-sdk/angular/charts/chart-interactive/cross-hair-and-track-ball.md similarity index 100% rename from chart-sdk/angular/chart/chart-interactive/cross-hair-and-track-ball.md rename to chart-sdk/angular/charts/chart-interactive/cross-hair-and-track-ball.md diff --git a/chart-sdk/angular/chart/chart-interactive/data-editing.md b/chart-sdk/angular/charts/chart-interactive/data-editing.md similarity index 100% rename from chart-sdk/angular/chart/chart-interactive/data-editing.md rename to chart-sdk/angular/charts/chart-interactive/data-editing.md diff --git a/chart-sdk/angular/chart/chart-interactive/selection.md b/chart-sdk/angular/charts/chart-interactive/selection.md similarity index 100% rename from chart-sdk/angular/chart/chart-interactive/selection.md rename to chart-sdk/angular/charts/chart-interactive/selection.md diff --git a/chart-sdk/angular/chart/chart-interactive/synchronized-chart.md b/chart-sdk/angular/charts/chart-interactive/synchronized-chart.md similarity index 100% rename from chart-sdk/angular/chart/chart-interactive/synchronized-chart.md rename to chart-sdk/angular/charts/chart-interactive/synchronized-chart.md diff --git a/chart-sdk/angular/chart/chart-interactive/tool-tip.md b/chart-sdk/angular/charts/chart-interactive/tool-tip.md similarity index 100% rename from chart-sdk/angular/chart/chart-interactive/tool-tip.md rename to chart-sdk/angular/charts/chart-interactive/tool-tip.md diff --git a/chart-sdk/angular/chart/chart-interactive/zooming.md b/chart-sdk/angular/charts/chart-interactive/zooming.md similarity index 100% rename from chart-sdk/angular/chart/chart-interactive/zooming.md rename to chart-sdk/angular/charts/chart-interactive/zooming.md diff --git a/chart-sdk/angular/chart/chart-overview.md b/chart-sdk/angular/charts/chart-overview.md similarity index 100% rename from chart-sdk/angular/chart/chart-overview.md rename to chart-sdk/angular/charts/chart-overview.md diff --git a/chart-sdk/angular/chart/chart-print.md b/chart-sdk/angular/charts/chart-print.md similarity index 100% rename from chart-sdk/angular/chart/chart-print.md rename to chart-sdk/angular/charts/chart-print.md diff --git a/chart-sdk/angular/chart/cross-hair-track-ball.md b/chart-sdk/angular/charts/cross-hair-track-ball.md similarity index 100% rename from chart-sdk/angular/chart/cross-hair-track-ball.md rename to chart-sdk/angular/charts/cross-hair-track-ball.md diff --git a/chart-sdk/angular/chart/data-binding/dynamic-data-update.md b/chart-sdk/angular/charts/data-binding/dynamic-data-update.md similarity index 100% rename from chart-sdk/angular/chart/data-binding/dynamic-data-update.md rename to chart-sdk/angular/charts/data-binding/dynamic-data-update.md diff --git a/chart-sdk/angular/chart/data-binding/working-with-data.md b/chart-sdk/angular/charts/data-binding/working-with-data.md similarity index 100% rename from chart-sdk/angular/chart/data-binding/working-with-data.md rename to chart-sdk/angular/charts/data-binding/working-with-data.md diff --git a/chart-sdk/angular/chart/ej1-api-migration.md b/chart-sdk/angular/charts/ej1-api-migration.md similarity index 100% rename from chart-sdk/angular/chart/ej1-api-migration.md rename to chart-sdk/angular/charts/ej1-api-migration.md diff --git a/chart-sdk/angular/chart/feature-modules.md b/chart-sdk/angular/charts/feature-modules.md similarity index 100% rename from chart-sdk/angular/chart/feature-modules.md rename to chart-sdk/angular/charts/feature-modules.md diff --git a/chart-sdk/angular/chart/getting-started.md b/chart-sdk/angular/charts/getting-started.md similarity index 100% rename from chart-sdk/angular/chart/getting-started.md rename to chart-sdk/angular/charts/getting-started.md diff --git a/chart-sdk/angular/chart/how-to/add-series.md b/chart-sdk/angular/charts/how-to/add-series.md similarity index 100% rename from chart-sdk/angular/chart/how-to/add-series.md rename to chart-sdk/angular/charts/how-to/add-series.md diff --git a/chart-sdk/angular/chart/how-to/click-data.md b/chart-sdk/angular/charts/how-to/click-data.md similarity index 100% rename from chart-sdk/angular/chart/how-to/click-data.md rename to chart-sdk/angular/charts/how-to/click-data.md diff --git a/chart-sdk/angular/chart/how-to/column-width.md b/chart-sdk/angular/charts/how-to/column-width.md similarity index 100% rename from chart-sdk/angular/chart/how-to/column-width.md rename to chart-sdk/angular/charts/how-to/column-width.md diff --git a/chart-sdk/angular/chart/how-to/customize-scatter-chart.md b/chart-sdk/angular/charts/how-to/customize-scatter-chart.md similarity index 100% rename from chart-sdk/angular/chart/how-to/customize-scatter-chart.md rename to chart-sdk/angular/charts/how-to/customize-scatter-chart.md diff --git a/chart-sdk/angular/chart/how-to/database-data.md b/chart-sdk/angular/charts/how-to/database-data.md similarity index 100% rename from chart-sdk/angular/chart/how-to/database-data.md rename to chart-sdk/angular/charts/how-to/database-data.md diff --git a/chart-sdk/angular/chart/how-to/dialog-chart.md b/chart-sdk/angular/charts/how-to/dialog-chart.md similarity index 100% rename from chart-sdk/angular/chart/how-to/dialog-chart.md rename to chart-sdk/angular/charts/how-to/dialog-chart.md diff --git a/chart-sdk/angular/chart/how-to/dynamic-chart.md b/chart-sdk/angular/charts/how-to/dynamic-chart.md similarity index 100% rename from chart-sdk/angular/chart/how-to/dynamic-chart.md rename to chart-sdk/angular/charts/how-to/dynamic-chart.md diff --git a/chart-sdk/angular/chart/how-to/grid-data-chart.md b/chart-sdk/angular/charts/how-to/grid-data-chart.md similarity index 100% rename from chart-sdk/angular/chart/how-to/grid-data-chart.md rename to chart-sdk/angular/charts/how-to/grid-data-chart.md diff --git a/chart-sdk/angular/chart/how-to/images/chart-data.png b/chart-sdk/angular/charts/how-to/images/chart-data.png similarity index 100% rename from chart-sdk/angular/chart/how-to/images/chart-data.png rename to chart-sdk/angular/charts/how-to/images/chart-data.png diff --git a/chart-sdk/angular/chart/how-to/images/chart.png b/chart-sdk/angular/charts/how-to/images/chart.png similarity index 100% rename from chart-sdk/angular/chart/how-to/images/chart.png rename to chart-sdk/angular/charts/how-to/images/chart.png diff --git a/chart-sdk/angular/chart/how-to/live-chart.md b/chart-sdk/angular/charts/how-to/live-chart.md similarity index 100% rename from chart-sdk/angular/chart/how-to/live-chart.md rename to chart-sdk/angular/charts/how-to/live-chart.md diff --git a/chart-sdk/angular/chart/how-to/overlap-area.md b/chart-sdk/angular/charts/how-to/overlap-area.md similarity index 100% rename from chart-sdk/angular/chart/how-to/overlap-area.md rename to chart-sdk/angular/charts/how-to/overlap-area.md diff --git a/chart-sdk/angular/chart/how-to/percentage-tool-tip.md b/chart-sdk/angular/charts/how-to/percentage-tool-tip.md similarity index 100% rename from chart-sdk/angular/chart/how-to/percentage-tool-tip.md rename to chart-sdk/angular/charts/how-to/percentage-tool-tip.md diff --git a/chart-sdk/angular/chart/how-to/points-customization.md b/chart-sdk/angular/charts/how-to/points-customization.md similarity index 100% rename from chart-sdk/angular/chart/how-to/points-customization.md rename to chart-sdk/angular/charts/how-to/points-customization.md diff --git a/chart-sdk/angular/chart/how-to/selected-data-grid.md b/chart-sdk/angular/charts/how-to/selected-data-grid.md similarity index 100% rename from chart-sdk/angular/chart/how-to/selected-data-grid.md rename to chart-sdk/angular/charts/how-to/selected-data-grid.md diff --git a/chart-sdk/angular/chart/how-to/series-visible.md b/chart-sdk/angular/charts/how-to/series-visible.md similarity index 100% rename from chart-sdk/angular/chart/how-to/series-visible.md rename to chart-sdk/angular/charts/how-to/series-visible.md diff --git a/chart-sdk/angular/chart/how-to/threshold.md b/chart-sdk/angular/charts/how-to/threshold.md similarity index 100% rename from chart-sdk/angular/chart/how-to/threshold.md rename to chart-sdk/angular/charts/how-to/threshold.md diff --git a/chart-sdk/angular/chart/internationalization.md b/chart-sdk/angular/charts/internationalization.md similarity index 100% rename from chart-sdk/angular/chart/internationalization.md rename to chart-sdk/angular/charts/internationalization.md diff --git a/chart-sdk/angular/chart/localization.md b/chart-sdk/angular/charts/localization.md similarity index 100% rename from chart-sdk/angular/chart/localization.md rename to chart-sdk/angular/charts/localization.md diff --git a/chart-sdk/angular/chart/render-methods.md b/chart-sdk/angular/charts/render-methods.md similarity index 100% rename from chart-sdk/angular/chart/render-methods.md rename to chart-sdk/angular/charts/render-methods.md diff --git a/chart-sdk/angular/chart/series/series-overview.md b/chart-sdk/angular/charts/series/series-overview.md similarity index 100% rename from chart-sdk/angular/chart/series/series-overview.md rename to chart-sdk/angular/charts/series/series-overview.md diff --git a/chart-sdk/angular/chart/series/series-types/area-types/area.md b/chart-sdk/angular/charts/series/series-types/area-types/area.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/area-types/area.md rename to chart-sdk/angular/charts/series/series-types/area-types/area.md diff --git a/chart-sdk/angular/chart/series/series-types/area-types/range-area.md b/chart-sdk/angular/charts/series/series-types/area-types/range-area.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/area-types/range-area.md rename to chart-sdk/angular/charts/series/series-types/area-types/range-area.md diff --git a/chart-sdk/angular/chart/series/series-types/area-types/range-step-area.md b/chart-sdk/angular/charts/series/series-types/area-types/range-step-area.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/area-types/range-step-area.md rename to chart-sdk/angular/charts/series/series-types/area-types/range-step-area.md diff --git a/chart-sdk/angular/chart/series/series-types/area-types/spline-area.md b/chart-sdk/angular/charts/series/series-types/area-types/spline-area.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/area-types/spline-area.md rename to chart-sdk/angular/charts/series/series-types/area-types/spline-area.md diff --git a/chart-sdk/angular/chart/series/series-types/area-types/spline-range-area.md b/chart-sdk/angular/charts/series/series-types/area-types/spline-range-area.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/area-types/spline-range-area.md rename to chart-sdk/angular/charts/series/series-types/area-types/spline-range-area.md diff --git a/chart-sdk/angular/chart/series/series-types/area-types/stack-area.md b/chart-sdk/angular/charts/series/series-types/area-types/stack-area.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/area-types/stack-area.md rename to chart-sdk/angular/charts/series/series-types/area-types/stack-area.md diff --git a/chart-sdk/angular/chart/series/series-types/area-types/stacked-area.md b/chart-sdk/angular/charts/series/series-types/area-types/stacked-area.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/area-types/stacked-area.md rename to chart-sdk/angular/charts/series/series-types/area-types/stacked-area.md diff --git a/chart-sdk/angular/chart/series/series-types/area-types/stacked-step-area.md b/chart-sdk/angular/charts/series/series-types/area-types/stacked-step-area.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/area-types/stacked-step-area.md rename to chart-sdk/angular/charts/series/series-types/area-types/stacked-step-area.md diff --git a/chart-sdk/angular/chart/series/series-types/area-types/step-area.md b/chart-sdk/angular/charts/series/series-types/area-types/step-area.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/area-types/step-area.md rename to chart-sdk/angular/charts/series/series-types/area-types/step-area.md diff --git a/chart-sdk/angular/chart/series/series-types/box-whisker.md b/chart-sdk/angular/charts/series/series-types/box-whisker.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/box-whisker.md rename to chart-sdk/angular/charts/series/series-types/box-whisker.md diff --git a/chart-sdk/angular/chart/series/series-types/bubble.md b/chart-sdk/angular/charts/series/series-types/bubble.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/bubble.md rename to chart-sdk/angular/charts/series/series-types/bubble.md diff --git a/chart-sdk/angular/chart/series/series-types/candle.md b/chart-sdk/angular/charts/series/series-types/candle.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/candle.md rename to chart-sdk/angular/charts/series/series-types/candle.md diff --git a/chart-sdk/angular/chart/series/series-types/chart-series.md b/chart-sdk/angular/charts/series/series-types/chart-series.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/chart-series.md rename to chart-sdk/angular/charts/series/series-types/chart-series.md diff --git a/chart-sdk/angular/chart/series/series-types/column-bar-types/bar.md b/chart-sdk/angular/charts/series/series-types/column-bar-types/bar.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/column-bar-types/bar.md rename to chart-sdk/angular/charts/series/series-types/column-bar-types/bar.md diff --git a/chart-sdk/angular/chart/series/series-types/column-bar-types/column.md b/chart-sdk/angular/charts/series/series-types/column-bar-types/column.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/column-bar-types/column.md rename to chart-sdk/angular/charts/series/series-types/column-bar-types/column.md diff --git a/chart-sdk/angular/chart/series/series-types/column-bar-types/range-column.md b/chart-sdk/angular/charts/series/series-types/column-bar-types/range-column.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/column-bar-types/range-column.md rename to chart-sdk/angular/charts/series/series-types/column-bar-types/range-column.md diff --git a/chart-sdk/angular/chart/series/series-types/column-bar-types/stack-bar.md b/chart-sdk/angular/charts/series/series-types/column-bar-types/stack-bar.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/column-bar-types/stack-bar.md rename to chart-sdk/angular/charts/series/series-types/column-bar-types/stack-bar.md diff --git a/chart-sdk/angular/chart/series/series-types/column-bar-types/stack-column.md b/chart-sdk/angular/charts/series/series-types/column-bar-types/stack-column.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/column-bar-types/stack-column.md rename to chart-sdk/angular/charts/series/series-types/column-bar-types/stack-column.md diff --git a/chart-sdk/angular/chart/series/series-types/column-bar-types/stacked-bar.md b/chart-sdk/angular/charts/series/series-types/column-bar-types/stacked-bar.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/column-bar-types/stacked-bar.md rename to chart-sdk/angular/charts/series/series-types/column-bar-types/stacked-bar.md diff --git a/chart-sdk/angular/chart/series/series-types/column-bar-types/stacked-column.md b/chart-sdk/angular/charts/series/series-types/column-bar-types/stacked-column.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/column-bar-types/stacked-column.md rename to chart-sdk/angular/charts/series/series-types/column-bar-types/stacked-column.md diff --git a/chart-sdk/angular/chart/series/series-types/error-bar.md b/chart-sdk/angular/charts/series/series-types/error-bar.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/error-bar.md rename to chart-sdk/angular/charts/series/series-types/error-bar.md diff --git a/chart-sdk/angular/chart/series/series-types/high-low-open-close.md b/chart-sdk/angular/charts/series/series-types/high-low-open-close.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/high-low-open-close.md rename to chart-sdk/angular/charts/series/series-types/high-low-open-close.md diff --git a/chart-sdk/angular/chart/series/series-types/high-low.md b/chart-sdk/angular/charts/series/series-types/high-low.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/high-low.md rename to chart-sdk/angular/charts/series/series-types/high-low.md diff --git a/chart-sdk/angular/chart/series/series-types/histogram.md b/chart-sdk/angular/charts/series/series-types/histogram.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/histogram.md rename to chart-sdk/angular/charts/series/series-types/histogram.md diff --git a/chart-sdk/angular/chart/series/series-types/line-types/line.md b/chart-sdk/angular/charts/series/series-types/line-types/line.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/line-types/line.md rename to chart-sdk/angular/charts/series/series-types/line-types/line.md diff --git a/chart-sdk/angular/chart/series/series-types/line-types/spline.md b/chart-sdk/angular/charts/series/series-types/line-types/spline.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/line-types/spline.md rename to chart-sdk/angular/charts/series/series-types/line-types/spline.md diff --git a/chart-sdk/angular/chart/series/series-types/line-types/stack-line.md b/chart-sdk/angular/charts/series/series-types/line-types/stack-line.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/line-types/stack-line.md rename to chart-sdk/angular/charts/series/series-types/line-types/stack-line.md diff --git a/chart-sdk/angular/chart/series/series-types/line-types/stacked-line.md b/chart-sdk/angular/charts/series/series-types/line-types/stacked-line.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/line-types/stacked-line.md rename to chart-sdk/angular/charts/series/series-types/line-types/stacked-line.md diff --git a/chart-sdk/angular/chart/series/series-types/line-types/step-line.md b/chart-sdk/angular/charts/series/series-types/line-types/step-line.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/line-types/step-line.md rename to chart-sdk/angular/charts/series/series-types/line-types/step-line.md diff --git a/chart-sdk/angular/chart/series/series-types/pareto.md b/chart-sdk/angular/charts/series/series-types/pareto.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/pareto.md rename to chart-sdk/angular/charts/series/series-types/pareto.md diff --git a/chart-sdk/angular/chart/series/series-types/polar.md b/chart-sdk/angular/charts/series/series-types/polar.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/polar.md rename to chart-sdk/angular/charts/series/series-types/polar.md diff --git a/chart-sdk/angular/chart/series/series-types/radar.md b/chart-sdk/angular/charts/series/series-types/radar.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/radar.md rename to chart-sdk/angular/charts/series/series-types/radar.md diff --git a/chart-sdk/angular/chart/series/series-types/scatter.md b/chart-sdk/angular/charts/series/series-types/scatter.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/scatter.md rename to chart-sdk/angular/charts/series/series-types/scatter.md diff --git a/chart-sdk/angular/chart/series/series-types/vertical.md b/chart-sdk/angular/charts/series/series-types/vertical.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/vertical.md rename to chart-sdk/angular/charts/series/series-types/vertical.md diff --git a/chart-sdk/angular/chart/series/series-types/waterfall.md b/chart-sdk/angular/charts/series/series-types/waterfall.md similarity index 100% rename from chart-sdk/angular/chart/series/series-types/waterfall.md rename to chart-sdk/angular/charts/series/series-types/waterfall.md diff --git a/chart-sdk/angular/chart/title-subtitle.md b/chart-sdk/angular/charts/title-subtitle.md similarity index 100% rename from chart-sdk/angular/chart/title-subtitle.md rename to chart-sdk/angular/charts/title-subtitle.md diff --git a/chart-sdk/angular/chart/understanding-chart.md b/chart-sdk/angular/charts/understanding-chart.md similarity index 100% rename from chart-sdk/angular/chart/understanding-chart.md rename to chart-sdk/angular/charts/understanding-chart.md diff --git a/chart-sdk/angular/heatmap-chart/accessibility.md b/chart-sdk/angular/heatmap-charts/accessibility.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/accessibility.md rename to chart-sdk/angular/heatmap-charts/accessibility.md diff --git a/chart-sdk/angular/heatmap-chart/appearance.md b/chart-sdk/angular/heatmap-charts/appearance.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/appearance.md rename to chart-sdk/angular/heatmap-charts/appearance.md diff --git a/chart-sdk/angular/heatmap-chart/axis.md b/chart-sdk/angular/heatmap-charts/axis.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/axis.md rename to chart-sdk/angular/heatmap-charts/axis.md diff --git a/chart-sdk/angular/heatmap-chart/bubble-heatmap.md b/chart-sdk/angular/heatmap-charts/bubble-heatmap.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/bubble-heatmap.md rename to chart-sdk/angular/heatmap-charts/bubble-heatmap.md diff --git a/chart-sdk/angular/heatmap-chart/dimensions.md b/chart-sdk/angular/heatmap-charts/dimensions.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/dimensions.md rename to chart-sdk/angular/heatmap-charts/dimensions.md diff --git a/chart-sdk/angular/heatmap-chart/ej1-api-migration.md b/chart-sdk/angular/heatmap-charts/ej1-api-migration.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/ej1-api-migration.md rename to chart-sdk/angular/heatmap-charts/ej1-api-migration.md diff --git a/chart-sdk/angular/heatmap-chart/events.md b/chart-sdk/angular/heatmap-charts/events.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/events.md rename to chart-sdk/angular/heatmap-charts/events.md diff --git a/chart-sdk/angular/heatmap-chart/getting-started.md b/chart-sdk/angular/heatmap-charts/getting-started.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/getting-started.md rename to chart-sdk/angular/heatmap-charts/getting-started.md diff --git a/chart-sdk/angular/heatmap-chart/how-to/legend-customization.md b/chart-sdk/angular/heatmap-charts/how-to/legend-customization.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/how-to/legend-customization.md rename to chart-sdk/angular/heatmap-charts/how-to/legend-customization.md diff --git a/chart-sdk/angular/heatmap-chart/how-to/tooltip-template.md b/chart-sdk/angular/heatmap-charts/how-to/tooltip-template.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/how-to/tooltip-template.md rename to chart-sdk/angular/heatmap-charts/how-to/tooltip-template.md diff --git a/chart-sdk/angular/heatmap-chart/legend.md b/chart-sdk/angular/heatmap-charts/legend.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/legend.md rename to chart-sdk/angular/heatmap-charts/legend.md diff --git a/chart-sdk/angular/heatmap-chart/palette.md b/chart-sdk/angular/heatmap-charts/palette.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/palette.md rename to chart-sdk/angular/heatmap-charts/palette.md diff --git a/chart-sdk/angular/heatmap-chart/rendering-mode.md b/chart-sdk/angular/heatmap-charts/rendering-mode.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/rendering-mode.md rename to chart-sdk/angular/heatmap-charts/rendering-mode.md diff --git a/chart-sdk/angular/heatmap-chart/selection.md b/chart-sdk/angular/heatmap-charts/selection.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/selection.md rename to chart-sdk/angular/heatmap-charts/selection.md diff --git a/chart-sdk/angular/heatmap-chart/title.md b/chart-sdk/angular/heatmap-charts/title.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/title.md rename to chart-sdk/angular/heatmap-charts/title.md diff --git a/chart-sdk/angular/heatmap-chart/tooltip.md b/chart-sdk/angular/heatmap-charts/tooltip.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/tooltip.md rename to chart-sdk/angular/heatmap-charts/tooltip.md diff --git a/chart-sdk/angular/heatmap-chart/working-with-data.md b/chart-sdk/angular/heatmap-charts/working-with-data.md similarity index 100% rename from chart-sdk/angular/heatmap-chart/working-with-data.md rename to chart-sdk/angular/heatmap-charts/working-with-data.md diff --git a/chart-sdk/angular/sankey/accessibility.md b/chart-sdk/angular/sankey-diagram/accessibility.md similarity index 100% rename from chart-sdk/angular/sankey/accessibility.md rename to chart-sdk/angular/sankey-diagram/accessibility.md diff --git a/chart-sdk/angular/sankey/appearance.md b/chart-sdk/angular/sankey-diagram/appearance.md similarity index 100% rename from chart-sdk/angular/sankey/appearance.md rename to chart-sdk/angular/sankey-diagram/appearance.md diff --git a/chart-sdk/angular/sankey/customization.md b/chart-sdk/angular/sankey-diagram/customization.md similarity index 100% rename from chart-sdk/angular/sankey/customization.md rename to chart-sdk/angular/sankey-diagram/customization.md diff --git a/chart-sdk/angular/sankey/events.md b/chart-sdk/angular/sankey-diagram/events.md similarity index 100% rename from chart-sdk/angular/sankey/events.md rename to chart-sdk/angular/sankey-diagram/events.md diff --git a/chart-sdk/angular/sankey/getting-started.md b/chart-sdk/angular/sankey-diagram/getting-started.md similarity index 100% rename from chart-sdk/angular/sankey/getting-started.md rename to chart-sdk/angular/sankey-diagram/getting-started.md diff --git a/chart-sdk/angular/sankey/labels.md b/chart-sdk/angular/sankey-diagram/labels.md similarity index 100% rename from chart-sdk/angular/sankey/labels.md rename to chart-sdk/angular/sankey-diagram/labels.md diff --git a/chart-sdk/angular/sankey/legend.md b/chart-sdk/angular/sankey-diagram/legend.md similarity index 100% rename from chart-sdk/angular/sankey/legend.md rename to chart-sdk/angular/sankey-diagram/legend.md diff --git a/chart-sdk/angular/sankey/links.md b/chart-sdk/angular/sankey-diagram/links.md similarity index 100% rename from chart-sdk/angular/sankey/links.md rename to chart-sdk/angular/sankey-diagram/links.md diff --git a/chart-sdk/angular/sankey/nodes.md b/chart-sdk/angular/sankey-diagram/nodes.md similarity index 100% rename from chart-sdk/angular/sankey/nodes.md rename to chart-sdk/angular/sankey-diagram/nodes.md diff --git a/chart-sdk/angular/sankey/orientation-rtl.md b/chart-sdk/angular/sankey-diagram/orientation-rtl.md similarity index 100% rename from chart-sdk/angular/sankey/orientation-rtl.md rename to chart-sdk/angular/sankey-diagram/orientation-rtl.md diff --git a/chart-sdk/angular/sankey/print-and-export.md b/chart-sdk/angular/sankey-diagram/print-and-export.md similarity index 100% rename from chart-sdk/angular/sankey/print-and-export.md rename to chart-sdk/angular/sankey-diagram/print-and-export.md diff --git a/chart-sdk/angular/sankey/title-and-sub-title.md b/chart-sdk/angular/sankey-diagram/title-and-sub-title.md similarity index 100% rename from chart-sdk/angular/sankey/title-and-sub-title.md rename to chart-sdk/angular/sankey-diagram/title-and-sub-title.md diff --git a/chart-sdk/angular/sankey/tool-tip.md b/chart-sdk/angular/sankey-diagram/tool-tip.md similarity index 100% rename from chart-sdk/angular/sankey/tool-tip.md rename to chart-sdk/angular/sankey-diagram/tool-tip.md diff --git a/chart-sdk/angular/smithchart/accessibility.md b/chart-sdk/angular/smith-charts/accessibility.md similarity index 100% rename from chart-sdk/angular/smithchart/accessibility.md rename to chart-sdk/angular/smith-charts/accessibility.md diff --git a/chart-sdk/angular/smithchart/getting-started.md b/chart-sdk/angular/smith-charts/getting-started.md similarity index 100% rename from chart-sdk/angular/smithchart/getting-started.md rename to chart-sdk/angular/smith-charts/getting-started.md diff --git a/chart-sdk/angular/smithchart/images/Ai.png b/chart-sdk/angular/smith-charts/images/Ai.png similarity index 100% rename from chart-sdk/angular/smithchart/images/Ai.png rename to chart-sdk/angular/smith-charts/images/Ai.png diff --git a/chart-sdk/angular/smithchart/images/SSR.png b/chart-sdk/angular/smith-charts/images/SSR.png similarity index 100% rename from chart-sdk/angular/smithchart/images/SSR.png rename to chart-sdk/angular/smith-charts/images/SSR.png diff --git a/chart-sdk/angular/smithchart/smith-chart-axis.md b/chart-sdk/angular/smith-charts/smith-chart-axis.md similarity index 100% rename from chart-sdk/angular/smithchart/smith-chart-axis.md rename to chart-sdk/angular/smith-charts/smith-chart-axis.md diff --git a/chart-sdk/angular/smithchart/smith-chart-dimensions.md b/chart-sdk/angular/smith-charts/smith-chart-dimensions.md similarity index 100% rename from chart-sdk/angular/smithchart/smith-chart-dimensions.md rename to chart-sdk/angular/smith-charts/smith-chart-dimensions.md diff --git a/chart-sdk/angular/smithchart/smith-chart-legend.md b/chart-sdk/angular/smith-charts/smith-chart-legend.md similarity index 100% rename from chart-sdk/angular/smithchart/smith-chart-legend.md rename to chart-sdk/angular/smith-charts/smith-chart-legend.md diff --git a/chart-sdk/angular/smithchart/smith-chart-marker.md b/chart-sdk/angular/smith-charts/smith-chart-marker.md similarity index 100% rename from chart-sdk/angular/smithchart/smith-chart-marker.md rename to chart-sdk/angular/smith-charts/smith-chart-marker.md diff --git a/chart-sdk/angular/smithchart/smith-chart-print.md b/chart-sdk/angular/smith-charts/smith-chart-print.md similarity index 100% rename from chart-sdk/angular/smithchart/smith-chart-print.md rename to chart-sdk/angular/smith-charts/smith-chart-print.md diff --git a/chart-sdk/angular/smithchart/smith-chart-series.md b/chart-sdk/angular/smith-charts/smith-chart-series.md similarity index 100% rename from chart-sdk/angular/smithchart/smith-chart-series.md rename to chart-sdk/angular/smith-charts/smith-chart-series.md diff --git a/chart-sdk/angular/smithchart/smith-chart-tooltip.md b/chart-sdk/angular/smith-charts/smith-chart-tooltip.md similarity index 100% rename from chart-sdk/angular/smithchart/smith-chart-tooltip.md rename to chart-sdk/angular/smith-charts/smith-chart-tooltip.md diff --git a/chart-sdk/angular/smithchart/title-subtitle.md b/chart-sdk/angular/smith-charts/title-subtitle.md similarity index 100% rename from chart-sdk/angular/smithchart/title-subtitle.md rename to chart-sdk/angular/smith-charts/title-subtitle.md diff --git a/chart-sdk/angular/smithchart/working-with-data.md b/chart-sdk/angular/smith-charts/working-with-data.md similarity index 100% rename from chart-sdk/angular/smithchart/working-with-data.md rename to chart-sdk/angular/smith-charts/working-with-data.md diff --git a/chart-sdk/angular/stock-chart/accessibility.md b/chart-sdk/angular/stock-charts/accessibility.md similarity index 100% rename from chart-sdk/angular/stock-chart/accessibility.md rename to chart-sdk/angular/stock-charts/accessibility.md diff --git a/chart-sdk/angular/stock-chart/appearance.md b/chart-sdk/angular/stock-charts/appearance.md similarity index 100% rename from chart-sdk/angular/stock-chart/appearance.md rename to chart-sdk/angular/stock-charts/appearance.md diff --git a/chart-sdk/angular/stock-chart/axis-customization.md b/chart-sdk/angular/stock-charts/axis-customization.md similarity index 100% rename from chart-sdk/angular/stock-chart/axis-customization.md rename to chart-sdk/angular/stock-charts/axis-customization.md diff --git a/chart-sdk/angular/stock-chart/axis-types.md b/chart-sdk/angular/stock-charts/axis-types.md similarity index 100% rename from chart-sdk/angular/stock-chart/axis-types.md rename to chart-sdk/angular/stock-charts/axis-types.md diff --git a/chart-sdk/angular/stock-chart/chart-dimensions.md b/chart-sdk/angular/stock-charts/chart-dimensions.md similarity index 100% rename from chart-sdk/angular/stock-chart/chart-dimensions.md rename to chart-sdk/angular/stock-charts/chart-dimensions.md diff --git a/chart-sdk/angular/stock-chart/cross-hair.md b/chart-sdk/angular/stock-charts/cross-hair.md similarity index 100% rename from chart-sdk/angular/stock-chart/cross-hair.md rename to chart-sdk/angular/stock-charts/cross-hair.md diff --git a/chart-sdk/angular/stock-chart/export-print.md b/chart-sdk/angular/stock-charts/export-print.md similarity index 100% rename from chart-sdk/angular/stock-chart/export-print.md rename to chart-sdk/angular/stock-charts/export-print.md diff --git a/chart-sdk/angular/stock-chart/getting-started.md b/chart-sdk/angular/stock-charts/getting-started.md similarity index 100% rename from chart-sdk/angular/stock-chart/getting-started.md rename to chart-sdk/angular/stock-charts/getting-started.md diff --git a/chart-sdk/angular/stock-chart/gradient.md b/chart-sdk/angular/stock-charts/gradient.md similarity index 100% rename from chart-sdk/angular/stock-chart/gradient.md rename to chart-sdk/angular/stock-charts/gradient.md diff --git a/chart-sdk/angular/stock-chart/how-to/live-data.md b/chart-sdk/angular/stock-charts/how-to/live-data.md similarity index 100% rename from chart-sdk/angular/stock-chart/how-to/live-data.md rename to chart-sdk/angular/stock-charts/how-to/live-data.md diff --git a/chart-sdk/angular/stock-chart/internationalization.md b/chart-sdk/angular/stock-charts/internationalization.md similarity index 100% rename from chart-sdk/angular/stock-chart/internationalization.md rename to chart-sdk/angular/stock-charts/internationalization.md diff --git a/chart-sdk/angular/stock-chart/legend.md b/chart-sdk/angular/stock-charts/legend.md similarity index 100% rename from chart-sdk/angular/stock-chart/legend.md rename to chart-sdk/angular/stock-charts/legend.md diff --git a/chart-sdk/angular/stock-chart/localization.md b/chart-sdk/angular/stock-charts/localization.md similarity index 100% rename from chart-sdk/angular/stock-chart/localization.md rename to chart-sdk/angular/stock-charts/localization.md diff --git a/chart-sdk/angular/stock-chart/period-selector.md b/chart-sdk/angular/stock-charts/period-selector.md similarity index 100% rename from chart-sdk/angular/stock-chart/period-selector.md rename to chart-sdk/angular/stock-charts/period-selector.md diff --git a/chart-sdk/angular/stock-chart/range-selector.md b/chart-sdk/angular/stock-charts/range-selector.md similarity index 100% rename from chart-sdk/angular/stock-chart/range-selector.md rename to chart-sdk/angular/stock-charts/range-selector.md diff --git a/chart-sdk/angular/stock-chart/series-types.md b/chart-sdk/angular/stock-charts/series-types.md similarity index 100% rename from chart-sdk/angular/stock-chart/series-types.md rename to chart-sdk/angular/stock-charts/series-types.md diff --git a/chart-sdk/angular/stock-chart/stock-events.md b/chart-sdk/angular/stock-charts/stock-events.md similarity index 100% rename from chart-sdk/angular/stock-chart/stock-events.md rename to chart-sdk/angular/stock-charts/stock-events.md diff --git a/chart-sdk/angular/stock-chart/technical-indicators.md b/chart-sdk/angular/stock-charts/technical-indicators.md similarity index 100% rename from chart-sdk/angular/stock-chart/technical-indicators.md rename to chart-sdk/angular/stock-charts/technical-indicators.md diff --git a/chart-sdk/angular/stock-chart/tool-tip.md b/chart-sdk/angular/stock-charts/tool-tip.md similarity index 100% rename from chart-sdk/angular/stock-chart/tool-tip.md rename to chart-sdk/angular/stock-charts/tool-tip.md diff --git a/chart-sdk/angular/stock-chart/trend-lines.md b/chart-sdk/angular/stock-charts/trend-lines.md similarity index 100% rename from chart-sdk/angular/stock-chart/trend-lines.md rename to chart-sdk/angular/stock-charts/trend-lines.md diff --git a/chart-sdk/angular/stock-chart/working-with-data.md b/chart-sdk/angular/stock-charts/working-with-data.md similarity index 100% rename from chart-sdk/angular/stock-chart/working-with-data.md rename to chart-sdk/angular/stock-charts/working-with-data.md diff --git a/chart-sdk/angular/treemap/how-to/drilldown-with-label.md b/chart-sdk/angular/treemap/how-to/drilldown-with-label.md index 3b1f18d66..1e0e303a4 100644 --- a/chart-sdk/angular/treemap/how-to/drilldown-with-label.md +++ b/chart-sdk/angular/treemap/how-to/drilldown-with-label.md @@ -46,7 +46,7 @@ Labels can be added to show additional information about the items in the TreeMa {% tabs %} {% highlight ts tabtitle="app.component.ts" %} -{% includecode-snippet/chart-sdk/angular/treemap/getting-started/treemap-cs57/src/app.component.ts %} +{% include code-snippet/chart-sdk/angular/treemap/getting-started/treemap-cs57/src/app.component.ts %} {% endhighlight %} {% highlight ts tabtitle="main.ts" %} diff --git a/chart-sdk/asp-net-core/3d-chart/accessibility.md b/chart-sdk/asp-net-core/3d-chart/accessibility.md deleted file mode 100644 index af2f89c61..000000000 --- a/chart-sdk/asp-net-core/3d-chart/accessibility.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: post -title: Accessibility in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about accessibility in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility -publishingplatform: chart-sdk -documentation: ug ---- - - -# Accessibility in ASP.NET Core 3D Chart Component - -Accessibility is achieved in the 3D chart component through WAI-ARIA standard and keyboard navigation. The 3D chart features can be effectively accessed through assistive technologies such as screen readers. - -## WAI-ARIA - -WAI-ARIA (Accessibility Initiative – Accessible Rich Internet Applications) defines a way to increase the accessibility of web pages, dynamic content, and user interface components developed with AJAX, HTML, JavaScript, and related technologies. ARIA provides additional semantics to describe the role, state, and functionality of web components. - -* img (role) -* button (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) -* aria-pressed (attribute) - - - -## Keyboard navigation - -All the 3D chart actions can be controlled via keyboard keys. The applicable key combinations and their relative functionalities are listed below. - -Interaction Keys |Description ------|----- -Tab |Moves the focus to the next element in the chart. -Shift + Tab |Moves the focus to the previous element in the chart. -DownArrow |Moves the focus to the data point left side from the selected point. -UpArrow |Moves the focus to the data point right side from the selected point. -Left Arrow |Moves the focus to the next series in the chart. -Right Arrow |Moves the focus to the previous series in the chart. -ESC |Cancel the tooltip for the data point. -Enter/Space |Selects the data point in the series. -Down/Left Arrow |Moves the focus to the legend left side from the selected legend. -Up/Right Arrow | Moves the focus to the legend right side from the selected legend. -Enter/Space |Toggles the visibility of the corresponding series. -Ctrl + P |Print the chart. \ No newline at end of file diff --git a/chart-sdk/asp-net-core/3d-chart/appearance.md b/chart-sdk/asp-net-core/3d-chart/appearance.md deleted file mode 100644 index fe3be1f3f..000000000 --- a/chart-sdk/asp-net-core/3d-chart/appearance.md +++ /dev/null @@ -1,203 +0,0 @@ ---- -layout: post -title: Appearance in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about appearance in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Appearance -publishingplatform: chart-sdk -documentation: ug ---- - - -# Appearance in ASP.NET Core 3D Chart Component - -## Custom color palette - -The default color of series or points can be customized by providing a custom color palette of your choice by using the [`Palettes`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Palettes) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Data point customization - -The color of an individual data point can be customized using the below options. - -### Point color mapping - -The color for the points can be bound from the [`DataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_DataSource) for the series by utilizing the [`PointColorMapping`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_PointColorMapping) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/point-color/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-color.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/point-color/point-color.cs %} -{% endhighlight %} -{% endtabs %} - -## Point level customization - -The data label and fill color of each data point can be customized using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_PointRender) and [`TextRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_TextRender) events. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/point-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/point-custom/point-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Chart area customization - - - -**Customize the chart background** - -The background color and border of the 3D chart can be customized using the [`Background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Background) and [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Border) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/background/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Background.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/background/background.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Chart margin** - -The 3D chart's margin can be set from its container using the [`Margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Margin) property. - - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/margin/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Animation - -To customize the animation for a particular series, the [`Animation`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Animation) property can be used. It can be enabled or disabled by using the `Enable` property. The `Duration` property specifies the duration of an animation and the `Delay` property allows us to start the animation at desire time. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/animation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Chart rotation - -The 3D chart can be roatated by using the [`EnableRotation`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_EnableRotation) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/rotation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/rotation/rotation.cs %} -{% endhighlight %} -{% endtabs %} - - -## Title - -The 3D chart can be given a title by using [`Title`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Title) property, to show the information about the data plotted. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/title/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Title position - -By using the [`Position`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Position) property in [`TitleStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_TitleStyle), the [`Title`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Title) can be positioned at left, right, top or bottom of the 3D chart. The title is positioned at the top of the 3D chart, by default. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/titleposition/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Titleposition.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/titleposition/titleposition.cs %} -{% endhighlight %} -{% endtabs %} - - - -The custom option is used to position the title anywhere in the 3D chart using [`X`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_X) and [`Y`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Y) coordinates. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/titleoption/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Titleoption.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/titleoption/titleoption.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Title alignment - -The title can be aligned to the near, far, or center of the 3D chart by using the [`TextAlignment`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_TextAlignment) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/titlealignment/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Titlealignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/titlealignment/titlealignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Title customization - -The [`TitleStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_TitleStyle) property of the 3D chart provides options to customize the title by using the following properties. - -* [`Size`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Size) - Specifies the size of the title. -* [`Color`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Color) - Specifies the color for the title. -* [`FontFamily`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_FontFamily) - Specifies the font family for the title. -* [`FontWeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_FontWeight) - Specifies the font weight of the title. -* [`FontStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_FontStyle) - Specifies the font style for the title. -* [`Opacity`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Opacity) - Specifies the opacity for the color of the title. -* [`TextAlignment`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_TextAlignment) - Specifies the alignment of the title. -* [`TextOverflow`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_TextOverflow) - Specifies the overflow of the title. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/customization/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Customization.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/customization/customization.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/3d-chart/axis-customization.md b/chart-sdk/asp-net-core/3d-chart/axis-customization.md deleted file mode 100644 index dfdf18531..000000000 --- a/chart-sdk/asp-net-core/3d-chart/axis-customization.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -layout: post -title: Axis Customization in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about Axis Customization in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis customization in ASP.NET Core 3D Chart Component - -## Title - -The title for the axis can be added by using the [`Title`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Title) property. It helps to provide quick information to the user about the data plotted in the axis. Title style can be customized using [`TitleStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_TitleStyle) property of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/title/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Title rotation - -The title can be rotated from 0 to 360 degree by using the [`TitleRotation`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_TitleRotation) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/titlerotation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="TitleRotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/titlerotation/titlerotation.cs %} -{% endhighlight %} -{% endtabs %} - - -## Tick lines customization - -The [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DMajorTickLines.html#Syncfusion_EJ2_Charts_Chart3DMajorTickLines_Width), [`Color`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DMajorTickLines.html#Syncfusion_EJ2_Charts_Chart3DMajorTickLines_Color) and [`Height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DMajorTickLines.html#Syncfusion_EJ2_Charts_Chart3DMajorTickLines_Height) of the minor and major tick lines can be customized by using the [`MajorTickLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MajorTickLines) and [`MinorTickLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MinorTickLines) properties in the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/tick/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tick.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/tick/tick.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Grid lines customization - -The [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DMajorGridLines.html#Syncfusion_EJ2_Charts_Chart3DMajorGridLines_Width) and [`Color`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DMajorGridLines.html#Syncfusion_EJ2_Charts_Chart3DMajorGridLines_Color) of the minor and major grid lines can be customized by using the [`MajorGridLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MajorGridLines) and [`MinorGridLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MinorGridLines) properties in the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/grid/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Grid.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/grid/grid.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Multiple axis - -In addition to primary X and Y axis, n number of axis can be added to the chart. Series can be associated with this axis, by mapping with axis's unique name. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/multiple/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Multiple.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/multiple/multiple.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Inversed axis - -When an axis is inversed, highest value of the axis comes closer to origin and vice versa. To place an axis in inversed manner, set the [`IsInversed`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_IsInversed) property to **true**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/inversed/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Inversed.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/inversed/inversed.cs %} -{% endhighlight %} -{% endtabs %} - - -## Opposed position - -To place an axis opposite from its original position, set the [`OpposedPosition`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_OpposedPosition) property to **true**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/opposed/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opposed.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/opposed/opposed.cs %} -{% endhighlight %} -{% endtabs %} - - - - diff --git a/chart-sdk/asp-net-core/3d-chart/axis-labels.md b/chart-sdk/asp-net-core/3d-chart/axis-labels.md deleted file mode 100644 index c0cadc9ef..000000000 --- a/chart-sdk/asp-net-core/3d-chart/axis-labels.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -layout: post -title: Axis Labels in ASP.NET Core 3D Chart Component -description: Learn here all about Axis Labels in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis labels in ASP.NET Core 3D Chart Component - -Axis labels are the labels that are positioned adjacent to the y-axis and beneath the x-axis. It provides descriptive information about the axis. - -## Smart axis labels - -When the axis labels overlap with each other, [`LabelIntersectAction`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LabelIntersectAction) property in the axis can be used to place them smartly. - -Case 1: When setting `LabelIntersectAction` as `Hide`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/hide/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Hide.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/hide/hide.cs %} -{% endhighlight %} -{% endtabs %} - - - -Case 2: When setting `LabelIntersectAction` as `Rotate45`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/rotate45/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rotate45.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/rotate45/rotate45.cs %} -{% endhighlight %} -{% endtabs %} - - - -Case 3: When setting `LabelIntersectAction` as `Rotate90`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/rotate90/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rotate90.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/rotate90/rotate90.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Edge label placement - -Labels with long text at the edges of an axis may appear partially in the 3D chart. To avoid this, -use the [`EdgeLabelPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_EdgeLabelPlacement) property in axis, which moves the label inside the chart area for better appearance or hides it. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/placement/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Placement.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/placement/placement.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Maximum labels - -The labels will be rendered based on the count in the [`MaximumLabels`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MaximumLabels) property per 100 pixel. If the range (minimum, maximum, interval) and `MaximumLabels` are set, then the priority goes to range. If the range is not set, then the priority goes to `MaximumLabels` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/maximumlabels/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Maximumlabels.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/maximumlabels/maximumlabels.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/3d-chart/category-axis.md b/chart-sdk/asp-net-core/3d-chart/category-axis.md deleted file mode 100644 index ce437c032..000000000 --- a/chart-sdk/asp-net-core/3d-chart/category-axis.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -layout: post -title: Category Axis in ASP.NET Core 3D Chart Component -description: Learn here all about Category Axis in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Category Axis -publishingplatform: chart-sdk -documentation: ug ---- - - -# Category Axis in MVC 3D Chart component - -The category axis is the horizontal axis of a 3D chart that shows text values rather than numerical values. Compared to the vertical axis, this axis has fewer labels. The following sample shows to render the 3D chart using category axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/category/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Category.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/category/category.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Labels placement - -By default, category axis labels are placed between ticks in an axis. It can also be placed on ticks using the [`LabelPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LabelPlacement) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/labelplacement/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Labelplacement.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/labelplacement/labelplacement.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -The range of the category axis can be customized using [`Minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) properties of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Indexed category axis - -The category axis can also be rendered based on the index values of the data source. This can be achieved by defining the [`IsIndexed`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_IsIndexed) property to **true** in the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/index/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Index.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/index/index.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/chart-dimensions.md b/chart-sdk/asp-net-core/3d-chart/chart-dimensions.md deleted file mode 100644 index 2a972918e..000000000 --- a/chart-sdk/asp-net-core/3d-chart/chart-dimensions.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -layout: post -title: Dimensions in ASP.NET Core 3D Chart Component -description: Learn here all about dimensions in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Dimensions -publishingplatform: chart-sdk -documentation: ug ---- - -# Dimensions in ASP.NET Core 3D Chart Component - -## Size for container - -The 3D chart can be rendered to its container size and it can be set via inline or CSS as demonstrated below. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Size for chart - - - -The size of the 3D chart can be set directly through [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Width) and [`Height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Height) properties. - -**In pixel** - -The size of the 3D chart can be set in pixel as demonstrated below. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/pixel/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/pixel/pixel.cs %} -{% endhighlight %} -{% endtabs %} - - - -**In percentage** - -By setting the value in percentage, 3D chart gets its dimension with respect to its container. For example, when the height is **50%**, chart renders to half of the container height. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/percentage/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/appearance/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> When you do not specify the size, it takes `450px` as the height and window size as its width. \ No newline at end of file diff --git a/chart-sdk/asp-net-core/3d-chart/chart-types/bar.md b/chart-sdk/asp-net-core/3d-chart/chart-types/bar.md deleted file mode 100644 index 6b9214a0d..000000000 --- a/chart-sdk/asp-net-core/3d-chart/chart-types/bar.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -layout: post -title: Bar chart in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about bar chart in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Bar chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Bar chart in ASP.NET Core 3D Chart Component - -## Bar chart - -To render a bar series, use series [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`Bar`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_Bar). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/bar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/bar/bar.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Bar space and width - -The [`ColumnSpacing`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnSpacing) and [`ColumnWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnWidth) properties are used to customize the space between bars. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/bar-space/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-space.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/bar-space/bar-space.cs %} -{% endhighlight %} -{% endtabs %} - - -## Grouped bar - -The data points can be grouped in the bar type charts by using the [`GroupName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_GroupName) property. Data points with same group name are grouped together. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/group-bar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group-bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/group-bar/group-bar.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cylindrical bar chart - -To render a cylindrical bar chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/bar-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/bar-cylinder/bar-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`Bar`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_Bar) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/bar-series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/bar-series/bar-series.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/3d-chart/chart-types/column.md b/chart-sdk/asp-net-core/3d-chart/chart-types/column.md deleted file mode 100644 index 28d5a0faf..000000000 --- a/chart-sdk/asp-net-core/3d-chart/chart-types/column.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -layout: post -title: Column chart in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about column chart in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Column chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Column chart in ASP.NET Core 3D Chart Component - -## Column chart - -To render a column series, use series [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`Column`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_Column). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Column space and width - -The [`ColumnSpacing`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnSpacing) and [`ColumnWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnWidth) properties are used to customize the space between columns. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/column-space/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-space.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/column-space/column-space.cs %} -{% endhighlight %} -{% endtabs %} - - -## Grouped column - -The data points can be grouped in the column type charts by using the [`GroupName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_GroupName) property. Data points with same group name are grouped together. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/group-column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/group-column/group-column.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cylindrical column chart - -To render a cylindrical column chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/column-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/column-cylinder/column-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`Column`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_Column) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/column-series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/column-series/column-series.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/3d-chart/chart-types/stack-bar100.md b/chart-sdk/asp-net-core/3d-chart/chart-types/stack-bar100.md deleted file mode 100644 index d7c5f9888..000000000 --- a/chart-sdk/asp-net-core/3d-chart/chart-types/stack-bar100.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: post -title: 100% Stacked bar chart in ASP.NET Core Syncfusion Chart Component -description: Learn here all about 100% stacked bar chart in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked bar chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked bar chart in ASP.NET Core 3D Chart Component - -## 100% Stacked bar chart - -To render a 100% stacked bar series, use series [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`StackingBar100`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingBar100). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/100perstackedbar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/100perstackedbar/stackedbar100.cs %} -{% endhighlight %} -{% endtabs %} - - - -## 100% Cylindrical stacked bar chart - -To render a cylindrical 100% stacked bar chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar100-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar100-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar100-cylinder/stackedbar100-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`100% Stacked Bar`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingBar100) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar-100-series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar-100-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar-100-series/stackedbar-100-series.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/3d-chart/chart-types/stack-column100.md b/chart-sdk/asp-net-core/3d-chart/chart-types/stack-column100.md deleted file mode 100644 index 4edcbbd48..000000000 --- a/chart-sdk/asp-net-core/3d-chart/chart-types/stack-column100.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -layout: post -title: 100% Stacked column chart in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about 100% stacked column chart in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked column chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked column chart in ASP.NET Core 3D Chart Component - -## 100% Stacked column chart - -To render a 100% stacked column series, use series [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`StackingColumn100`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingColumn100). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/100perstackedcolumn/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/100perstackedcolumn/stackedcolumn100.cs %} -{% endhighlight %} -{% endtabs %} - - - -## 100% Cylindrical stacked column chart - -To render a 100% cylindrical stacked column chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn100-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn100-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn100-cylinder/stackedcolumn100-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`100% Stacked Column`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingColumn100) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn-100-series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn-100-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn-100-series/stackedcolumn-100-series.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/chart-types/stacked-bar.md b/chart-sdk/asp-net-core/3d-chart/chart-types/stacked-bar.md deleted file mode 100644 index 9ffce4e34..000000000 --- a/chart-sdk/asp-net-core/3d-chart/chart-types/stacked-bar.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -layout: post -title: Stacked bar chart in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about stacked bar chart in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked bar chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked bar chart in ASP.NET Core 3D Chart Component - -## Stacked bar chart - -To render a stacked bar series, use series [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`StackingBar`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingBar). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar/stackedbar.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stacking group - -To group the stacked bar, the [`StackingGroup`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_StackingGroup) property can be used. The bars with same group name are stacked on top of each other. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/group-stackedbar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group-stackedbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/group-stackedbar/group-stackedbar.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cylindrical stacked bar chart - -To render a cylindrical stacked bar chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar-cylinder/stackedbar-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`Stacked Bar`]((https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingBar)) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar-series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/bar-charts/stackedbar-series/stackedbar-series.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/chart-types/stacked-column.md b/chart-sdk/asp-net-core/3d-chart/chart-types/stacked-column.md deleted file mode 100644 index 08894e85a..000000000 --- a/chart-sdk/asp-net-core/3d-chart/chart-types/stacked-column.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -layout: post -title: Stacked column chart in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about stacked column chart in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked column chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked column chart in ASP.NET Core 3D Chart Component - -## Stacked column chart - -To render a stacked column series, use series [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`StackingColumn`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingColumn). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn/stackedcolumn.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stacking group - -To group the stacked columns, the [`StackingGroup`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_StackingGroup) property can be used. The columns with same group name are stacked on top of each other. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/group-stackedcolumn/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group-stackedcolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/group-stackedcolumn/group-stackedcolumn.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cylindrical stacked column chart - -To render a cylindrical stacked column chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn-cylinder/stackedcolumn-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`Stacked Column`]((https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingColumn)) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn-series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/column-charts/stackedcolumn-series/stackedcolumn-series.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/data-labels.md b/chart-sdk/asp-net-core/3d-chart/data-labels.md deleted file mode 100644 index 6d627f703..000000000 --- a/chart-sdk/asp-net-core/3d-chart/data-labels.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -layout: post -title: Data labels in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about data labels in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data labels in ASP.NET Core 3D Chart Component - -Data labels are fields that includes information about the sample point connected to an output. It can be added to a chart series by enabling the [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Visible) property in the [`DataLabel`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_DataLabel). By default, the labels will arrange smartly without overlapping. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/datalabel/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Datalabel.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/datalabel/datalabel.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Position - -The [`Position`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Position) property is used to place the label either on `Top`, `Middle`, or `Bottom`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Template - -Label content can be formatted by using the template option. Inside the template, the placeholder text `${point.x}` and `${point.y}` can be added to display corresponding data points x & y value. Using [`Template`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Template) property, the data label template can be set. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Text mapping - -Text from the data source can be mapped using the [`Name`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Name) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/mapping/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/mapping/mapping.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Format - -Data label for the chart can be formatted using the [`Format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Format) property. The global formatting options can be used as 'n', 'p', and 'c'. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ValueFormatResultant ValueDescription
1000n11000.0The number is rounded to 1 decimal place.
1000n21000.00The number is rounded to 2 decimal places.
1000n31000.000The number is rounded to 3 decimal place.
0.01p11.0%The number is converted to percentage with 1 decimal place.
0.01p21.00%The number is converted to percentage with 2 decimal place.
0.01p31.000%The number is converted to percentage with 3 decimal place.
1000c1$1000.0The currency symbol is appended to number and number is rounded to 1 decimal place.
1000c2$1000.00The currency symbol is appended to number and number is rounded to 2 decimal place.
- - - -## Margin - -The [`Margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Margin) for data label can be applied by using [`Left`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DMargin.html#Syncfusion_EJ2_Charts_Chart3DMargin_Left), [`Right`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DMargin.html#Syncfusion_EJ2_Charts_Chart3DMargin_Right), [`Bottom`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DMargin.html#Syncfusion_EJ2_Charts_Chart3DMargin_Bottom) and [`Top`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DMargin.html#Syncfusion_EJ2_Charts_Chart3DMargin_Top) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/margin/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -The `Stroke` and `Border` of data label can be customized using [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Fill) and [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Border) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customizing specific label - -A specific label can be customized by using the [`TextRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_TextRender) event. The `TextRender` event allows you to change the label text for the point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/series-percentage/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datalabel/series-percentage/series-percentage.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/date-time-axis.md b/chart-sdk/asp-net-core/3d-chart/date-time-axis.md deleted file mode 100644 index f56928828..000000000 --- a/chart-sdk/asp-net-core/3d-chart/date-time-axis.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -layout: post -title: DateTime axis in ASP.NET Core 3D Chart Component -description: Learn here all about datetime axis in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: DateTime Axis -publishingplatform: chart-sdk -documentation: ug ---- - -# DateTime axis in ASP.NET Core 3D Chart Component - -## DateTime axis - -DateTime axis uses date time scale and displays the date time values as axis labels in the specified format. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/datetime/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Datetime.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/datetime/datetime.cs %} -{% endhighlight %} -{% endtabs %} - - - -## DateTime category axis - -DateTime category axis is used to display the date time values with non-linear intervals. For example, the business days alone have been depicted in a week here. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/datetime-category/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Datetime-category.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/datetime-category/datetime-category.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Range - -Range of an axis will be calculated automatically based on the provided data. You can also customize the range of an axis using [`Minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Interval customization - -Date time intervals can be customized by using the [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) and [`IntervalType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_IntervalType) properties of the axis. For example, when you set `Interval` as **2** and `IntervalType` as **Years**, it considers 2 years as interval. DateTime axis supports following interval types, - -* Auto -* Years -* Months -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/interval/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/interval/interval.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Applying padding to the range** - -Padding can be applied to the minimum and maximum extremes of the range by using the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) property. DateTime axis supports the following types of padding, - -* None -* Round -* Additional - -**DateTime - None** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to `None`, minimum and maximum of an axis is based on the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/none/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="None.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/none/none.cs %} -{% endhighlight %} -{% endtabs %} - - - -**DateTime - Round** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to `Round`, minimum and maximum will be rounded to the nearest possible value, which is divisible by interval. For example, when the minimum is **15th Jan**, interval is **1** and interval type is **Month**, then the axis minimum will be **Jan 1st**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/round/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Round.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/round/round.cs %} -{% endhighlight %} -{% endtabs %} - - - -**DateTime - Additional** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to `Additional`, interval of an axis will be padded to the minimum and maximum of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/additional/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Additional.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/additional/additional.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Label format - -The date can be formatted and parsed to all globalize format using the [`LabelFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LabelFormat) property in an axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/label-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Label-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/label-format/label-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table describes the result of applying some common date time formats to the `LabelFormat` property. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Label ValueLabel Format Property ValueResult Description
new Date(2000, 03, 10)EEEEMondayThe Date is displayed in day format.
new Date(2000, 03, 10)yMd04/10/2000The Date is displayed in month/date/year format.
new Date(2000, 03, 10) MMM AprThe Shorthand month for the date is displayed.
new Date(2000, 03, 10)hm12:00 AMTime of the date value is displayed as label.
new Date(2000, 03, 10)hms12:00:00 AMThe Label is displayed in hours:minutes:seconds format.
- - - -## Custom label format - -Axis also supports custom label format using placeholder like {value}°C, in which the value represent the axis label e.g 20°C. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/datetime-axis/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/3d-chart/getting-started.md b/chart-sdk/asp-net-core/3d-chart/getting-started.md deleted file mode 100644 index 903e6049b..000000000 --- a/chart-sdk/asp-net-core/3d-chart/getting-started.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET Core 3D Charts Control | Syncfusion -description: Check out and learn about getting started with ASP.NET Core 3D Charts control of Essential JS 2 and more details. -platform: chart-sdk -control: 3D Charts -publishingplatform: chart-sdk -documentation: ug ---- - -# Getting Started with ASP.NET Core 3D Charts Control - -This section briefly explains how to include the [ASP.NET Core 3D Charts](https://www.syncfusion.com/aspnet-core-ui-controls/3d-chart) control in your ASP.NET Core application using [Visual Studio](https://visualstudio.microsoft.com/vs/). - -## Create an ASP.NET Core Web App with Razor Pages - -Create an **ASP.NET Core Web App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-10.0&tabs=visual-studio#create-a-razor-pages-web-app) or the [Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project). For detailed instructions, refer to the [ASP.NET Core Web App Getting Started](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) documentation. - -## Install the required ASP.NET Core package - -To add [ASP.NET Core 3D Charts](https://www.syncfusion.com/aspnet-core-ui-controls/3d-chart) control in the app, open the NuGet package manager in Visual Studio *(Tools → NuGet Package Manager → Manage NuGet Packages for Solution)*, search for and install the [Syncfusion.AspNetCore.Chart3D](https://www.nuget.org/packages/Syncfusion.AspNetCore.Chart3D/) package. All Syncfusion ASP.NET Core packages are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). See the [NuGet packages](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) topic for details. - -Alternatively, you can install the same package using the Package Manager Console with the following command. - -{% tabs %} -{% highlight C# tabtitle="Package Manager Console" %} - -Install-Package Syncfusion.AspNetCore.Chart3D -Version {{ site.releaseversion }} - -{% endhighlight %} -{% endtabs %} - -## Add the ASP.NET Core Tag Helpers - -After the package is installed, open the **~/Pages/_ViewImports.cshtml** file and import the `Syncfusion.AspNetCore.Base` and `Syncfusion.AspNetCore.Charts` Tag Helpers. - -{% tabs %} -{% highlight cshtml tabtitle="_ViewImports.cshtml" %} - -@addTagHelper *, Syncfusion.AspNetCore.Base -@addTagHelper *, Syncfusion.AspNetCore.Charts - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Include the [script reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) inside the `` of **~/Pages/Shared/_Layout.cshtml**. - -{% tabs %} -{% highlight cshtml tabtitle="_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -## Register the script manager - -Open the **~/Pages/Shared/_Layout.cshtml** file and register the script manager `` at the end of the `` element as follows. - -{% tabs %} -{% highlight cshtml tabtitle="_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET Core 3D Charts control - -Add the [ASP.NET Core 3D Charts](https://www.syncfusion.com/aspnet-core-ui-controls/3d-chart) control in the **~/Pages/Index.cshtml** file. - -{% tabs %} -{% highlight cshtml tabtitle="Index.cshtml" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/getting-started/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Index.cshtml.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/getting-started/getting-started.cs %} -{% endhighlight %} -{% endtabs %} - -## Run the application - -Press Ctrl+F5 (Windows) or +F5 (macOS) to launch the application. The [ASP.NET Core 3D Charts](https://www.syncfusion.com/aspnet-core-ui-controls/3d-chart) control will render in your default web browser. - -![ASP.NET Core 3D Charts Control](images/three-d-chart.webp) - -## See also - -1. [Getting Started with ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) -2. [Getting Started with ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) diff --git a/chart-sdk/asp-net-core/3d-chart/legend.md b/chart-sdk/asp-net-core/3d-chart/legend.md deleted file mode 100644 index 360de3ba9..000000000 --- a/chart-sdk/asp-net-core/3d-chart/legend.md +++ /dev/null @@ -1,221 +0,0 @@ ---- -layout: post -title: Legend in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about legend in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Legend -publishingplatform: chart-sdk -documentation: ug ---- - - -# Legend in ASP.NET Core 3D Chart Component - -Legend provides information about the series rendered in the 3D chart. - -## Position and alignment - -By using the [`Position`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_Position) property, the legend can be positioned at left, right, top or bottom of the 3D chart. The legend is positioned at the bottom of the 3D chart, by default. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -The custom position helps you to position the legend anywhere in the 3D chart using X and Y coordinates. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/custom-position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/custom-position/custom-position.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Legend reverse - -The order of the legend items can be reversed by using the [`Reverse`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_Reverse) property. By default, legend for the first series in the collection will be placed first. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/reverse/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Reverse.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/reverse/reverse.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Legend alignment - -The legend can be aligned at near, far or center to the 3D chart using the [`Alignment`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_Alignment) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/alignment/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Alignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/alignment/alignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Legend customization - -To change the legend icon shape, [`LegendShape`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_LegendShape) property in the [`Series`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html) can be used. By default, the legend icon shape is `SeriesType`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Legend size - -By default, legend takes 20% - 25% of the 3D chart's height horizontally, when it is placed on top or bottom position and 20% - 25% of the 3D chart's width vertically, when it is placed on left or right position. You can change this default legend size by using the [`Height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_Height) and [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_Width) properties of the `LegendSettings`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Legend item size - -The size of the legend items can be customised by using the [`ShapeHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_ShapeHeight) and [`ShapeWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_ShapeWidth) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/item-size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Item-size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/item-size/item-size.cs %} -{% endhighlight %} -{% endtabs %} - - -### Paging for legend - -Paging will be enabled by default, when the legend items exceeds the legend bounds. Each legend items can be viewed by navigating between the pages using navigation buttons. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/paging/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Paging.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/paging/paging.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Legend text wrap - -When the legend text exceeds the container, the text can be wrapped by using the [`TextWrap`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_TextWrap) property. End user can also wrap the legend text based on the [`MaximumLabelWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_MaximumLabelWidth) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/text-wrap/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Text-wrap.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/text-wrap/text-wrap.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series selection through legend - -By default, you can collapse the series visibility by clicking the legend. On the other hand, turn off the [`ToggleVisibility`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_ToggleVisibility) property if you must use a legend click to choose a series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/selection/selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Collapsing legend item - -By default, series name will be displayed as legend. To skip the legend for a particular series, you can give empty string to the series name. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/collapse/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Collapse.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/collapse/collapse.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Legend title - -You can set title for legend using [`Title`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_Title) property in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_LegendSettings). The [`Size`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DFont.html#Syncfusion_EJ2_Charts_Chart3DFont_Size), [`Color`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DFont.html#Syncfusion_EJ2_Charts_Chart3DFont_Color), [`Opacity`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DFont.html#Syncfusion_EJ2_Charts_Chart3DFont_Opacity), [`FontStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DFont.html#Syncfusion_EJ2_Charts_Chart3DFont_FontStyle), [`FontWeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DFont.html#Syncfusion_EJ2_Charts_Chart3DFont_FontWeight), [`FontFamily`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DFont.html#Syncfusion_EJ2_Charts_Chart3DFont_FontFamily), [`TextAlignment`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DFont.html#Syncfusion_EJ2_Charts_Chart3DFont_TextAlignment), and [`TextOverflow`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DFont.html#Syncfusion_EJ2_Charts_Chart3DFont_TextOverflow) of legend title can be customized by using the [`TitleStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_TitleStyle) property in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_LegendSettings). The [`TitlePosition`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_TitlePosition) is used to set the legend position in `Top`, `Left` and `Right` position. The [`MaximumTitleWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_MaximumTitleWidth) is used to set the width of the legend title. By default, it will be `100px`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/title/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Arrow page navigation - -The page number will always be visible while using legend paging. It is now possible to disable the page number and enable page navigation with the left and right arrows. The [`EnablePages`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_EnablePages) property needs to be set to **false** in order to render the arrow page navigation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/arrow-page/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Arrow-page.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/arrow-page/arrow-page.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Legend item padding - -The [`ItemPadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_ItemPadding) property can be used to adjust the space between the legend items. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/item-padding/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Item-padding.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/legend/item-padding/item-padding.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/logarithmic-axis.md b/chart-sdk/asp-net-core/3d-chart/logarithmic-axis.md deleted file mode 100644 index 7deecaa63..000000000 --- a/chart-sdk/asp-net-core/3d-chart/logarithmic-axis.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -layout: post -title: Logarithmic axis in ASP.NET Core 3D Chart Component -description: Learn here all about logarithmic axis in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Logarithmic Axis -publishingplatform: chart-sdk -documentation: ug ---- - - -# Logarithmic axis in ASP.NET Core 3D Chart Component - -Logarithmic axis uses logarithmic scale and it is very useful in visualizing data, when it has numerical values in both lower order of magnitude (eg: 10-6) and higher order of magnitude (eg: 106). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/log/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Log.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/log/log.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -The range of an axis will be calculated automatically based on the provided data and it can also be customized by using the [`Minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) properties of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/log-range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Log-range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/log-range/log-range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic base - -Logarithmic base can be customized by using the [`LogBase`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LogBase) property of the axis. For example when the `LogBase` is **5**, the axis values follows 5-2, 5-1, 50, 51, 52 etc. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/log-base/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Log-base.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/log-base/log-base.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic interval - -The interval of the logarithmic axis can be customized by using the [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) property in the axis. When the logarithmic base is 10 and logarithmic **Interval** is 2, then the axis labels are placed at an interval of 102. The default value of the [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) is **1**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/log-interval/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Log-interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/log-interval/log-interval.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/3d-chart/multiple-panes.md b/chart-sdk/asp-net-core/3d-chart/multiple-panes.md deleted file mode 100644 index 128debfa0..000000000 --- a/chart-sdk/asp-net-core/3d-chart/multiple-panes.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -layout: post -title: Multiple Panes in ASP.NET Core 3D Chart Component -description: Learn here all about Multiple Panes in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Multiple Panes -publishingplatform: chart-sdk -documentation: ug ---- - - -# Multiple panes in ASP.NET Core 3D Chart Component - -The chart area can be divided into multiple panes using [`Rows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Rows) and [`Columns`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Columns). - -## Rows - -To split the chart area vertically into number of rows, use [`Rows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Rows) property of the 3D chart. - -* The space for each row can be allocated by using the [`Height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DRow.html#Syncfusion_EJ2_Charts_Chart3DRow_Height) property. The value can be either in percentage or in pixel. -* To associate a vertical axis to a particular row, specify its index to [`RowIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RowIndex) property of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/row/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Row.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/row/row.cs %} -{% endhighlight %} -{% endtabs %} - - - -For spanning the vertical axis along multiple rows, use [`Span`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Span) property of an axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/row-span/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Row-span.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/row-span/row-span.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Columns - -To split the chart area horizontally into number of columns, use [`Columns`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Columns) property of the 3D chart. - -* The space for each column can be allocated by using the [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DColumn.html#Syncfusion_EJ2_Charts_Chart3DColumn_Width) property. The given width can be either in percentage or in pixel. -* To associate a horizontal axis to a particular column, specify its index to [`ColumnIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_ColumnIndex) property of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - -For spanning the vertical axis along multiple column, you can use [`Span`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Span) property of an axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/column-span/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-span.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/axis/column-span/column-span.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/numeric-axis.md b/chart-sdk/asp-net-core/3d-chart/numeric-axis.md deleted file mode 100644 index 16b5eab47..000000000 --- a/chart-sdk/asp-net-core/3d-chart/numeric-axis.md +++ /dev/null @@ -1,229 +0,0 @@ ---- -layout: post -title: Numeric axis in ASP.NET Core 3D Chart Component -description: Learn here all about numeric axis in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Numeric Axis -publishingplatform: chart-sdk -documentation: ug ---- - -# Numeric axis in ASP.NET Core 3D Chart Component - -The `Numeric Axis` can be used to represent the numeric values of data in 3D chart. By default, the [`ValueType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_ValueType) of an axis is **Double**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/double/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Double.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/double/double.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -The range of an axis will be calculated automatically based on the provided data, and it can also be customized by using the [`Minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) properties of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range padding - -Padding can be applied to the minimum and maximum extremes of an axis range by using the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) property. Numeric axis supports the following types of padding. - -* None -* Round -* Additional -* Normal -* Auto - -**Numeric - None** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **None**, minimum and maximum of the axis is based on the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/none/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="None.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/none/none.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Round** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **Round**, minimum and maximum will be rounded to the nearest possible value, which is divisible by interval. For example, when the [`Minimum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum) is **3.5** and the [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) is **1**, then the minimum will be rounded to **3**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/round/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Round.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/round/round.cs %} -{% endhighlight %} -{% endtabs %} - - -**Numeric - Additional** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **Additional**, interval of an axis will be added to the minimum and maximum of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/additional/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Additional.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/additional/additional.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Normal** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **Normal**, padding is applied to the axis based on default range calculation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/normal/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Normal.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/normal/normal.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Auto** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **Auto**, horizontal numeric axis takes **None** as padding calculation, while the vertical numeric axis takes **Normal** as padding calculation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/auto/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Auto.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/auto/auto.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Label format - -**Numeric label format** - -Numeric labels can be formatted by using the [`LabelFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LabelFormat) property. Also, it supports all globalize format. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/label-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Label-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/label-format/label-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table describes the result of applying some commonly used label formats on numeric values. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Label ValueLabel Format property valueResult Description
1000n11000.0The Number is rounded to 1 decimal place.
1000n21000.00The Number is rounded to 2 decimal place.
1000n31000.000The Number is rounded to 3 decimal place.
0.01p11.0%The Number is converted to percentage with 1 decimal place.
0.01p21.00%The Number is converted to percentage with 2 decimal place.
0.01p31.000%The Number is converted to percentage with 3 decimal place.
1000c1$1000.0The Currency symbol is appended to number and number is rounded to 1 decimal place.
1000c2$1000.00The Currency symbol is appended to number and number is rounded to 2 decimal place.
- -## Grouping separator - -To separate the y-axis labels to groups of thousands, set the [`UseGroupingSeparator`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_UseGroupingSeparator) property to **true** in the 3D chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/group-separator/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group-separator.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/group-separator/group-separator.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Custom label format - -The axis supports custom label format using placeholder like **{value}°C**, in which the value represent the axis label e.g 20°C. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/custom-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/numeric-axis/custom-format/custom-format.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/3d-chart/print-export.md b/chart-sdk/asp-net-core/3d-chart/print-export.md deleted file mode 100644 index 076890bee..000000000 --- a/chart-sdk/asp-net-core/3d-chart/print-export.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Print and Export in ASP.NET Core 3D Chart Component -description: Learn here all about print and export in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Print and Export -publishingplatform: chart-sdk -documentation: ug ---- - -# Print and Export in ASP.NET Core 3D Chart Component - -## Print - -The rendered 3D chart can be printed directly from the browser by calling the public method `print`. The ID of the 3D chart's div element must be passed as the input parameter to that method. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/print/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/print/print.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Export - -The rendered 3D chart can be exported to `JPEG`, `PNG`, `SVG`, or `PDF` format using the `export` method. The input parameters for this method are `type` for format and `fileName` for result. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/export/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/export/export.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/selection.md b/chart-sdk/asp-net-core/3d-chart/selection.md deleted file mode 100644 index 5e6594c08..000000000 --- a/chart-sdk/asp-net-core/3d-chart/selection.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -layout: post -title: Selection in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about selection in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Selection -publishingplatform: chart-sdk -documentation: ug ---- - -# Selection in ASP.NET Core 3D Chart Component - -The 3D chart provides selection support for the series and its data points on mouse click. - ->When mouse is clicked on the data points, the corresponding series legend will also be selected. - -We have different types of selection mode for selecting a data. - -* None -* Point -* Series -* Cluster - -## Point - -To select a point, set the [`SelectionMode`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_SelectionMode) property to **Point**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/point-selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/point-selection/point-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series - -To select a series, set the [`SelectionMode`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_SelectionMode) property to **Series**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/series-selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/series-selection/series-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cluster - -To select the points that corresponds to the same index in all the series, set the [`SelectionMode`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_SelectionMode) property to **Cluster**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/cluster-selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Cluster-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/cluster-selection/cluster-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection type - -To select multiple points or series, enable the [`IsMultiSelect`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_IsMultiSelect) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/selection-type/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Selection-type.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/selection-type/selection-type.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection during initial loading - -In a 3D chart, selecting a point or series during initial loading can only be done programmatically. The [`SelectedDataIndexes`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_SelectedDataIndexes) property can be used for this. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/onload/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Onload.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/onload/onload.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection through legend - -To select a point or series through legend use the [`ToggleVisibility`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_ToggleVisibility) property. Also, use [`EnableHighlight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_EnableHighlight) property for highlighting the series through legend. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/selection-legend/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Selection-legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/selection-legend/selection-legend.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/tool-tip.md b/chart-sdk/asp-net-core/3d-chart/tool-tip.md deleted file mode 100644 index 79c90a0b1..000000000 --- a/chart-sdk/asp-net-core/3d-chart/tool-tip.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -layout: post -title: Tooltip in ASP.NET Core Syncfusion 3D Chart Component -description: Learn here all about tooltip in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Tooltip -publishingplatform: chart-sdk -documentation: ug ---- - -# Tooltip in ASP.NET Core 3D Chart Component - -The 3D Chart will display details about the points through tooltip, when the mouse is moved over the specific point. - -## Default tooltip - -By default, tooltip is not visible. The tooltip can be enabled by setting the [`Enable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Enable) property in `TooltipSettings` to **true**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/default-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Default-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/default-tooltip/default-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Fixed tooltip - -By default, tooltip track the mouse movement, but the tooltip can be set in fixed position by using the [`Location`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Location) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/fixed-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Fixed-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/fixed-tooltip/fixed-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Format the tooltip - -By default, tooltip shows information of x and y value in points. In addition to that, more information can be shown in tooltip by using the [`Format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Format) property. For example the format `${series.name} : ${point.y}` shows series name and point y value. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/format-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Format-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/format-tooltip/format-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Inline tooltip formatting - -The tooltip content can be formatted directly within the [`format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Format) property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. - -A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. - -For example: - -```cshtml - - -``` - -In the above example, `point.x` is displayed in month-year format, `point.y` is displayed with two decimal places, and `series.name` displays the name assigned to the series. - -Inline formatting can be applied to the following tooltip tokens: - -- `point.x` – Specifies the x-value of the data point, such as DateTime or category values. -- `point.y` – Specifies the numeric y-value of the data point. -- `series.name` – Specifies the name assigned to the series. -- `series.type` – Specifies the rendering type of the series, such as `Column`, `Bar`, `Line`, or `StackingColumn`. -- `series.opacity` – Specifies the opacity value applied to the series. This value controls the visual transparency of the series and can be customized in the series configuration. - -**Important:** The availability of point-specific tokens depends on the values configured in the data source and the 3D chart series type. The `series.name` and `series.type` tokens return string values, so DateTime or number formatting is not applied to these tokens. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimal places - - `c2` – currency format - - `p1` – percentage format - - `e1` – exponential notation - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/tooltip-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/tooltip-format/tooltip-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Tooltip template - -Any HTML elements can be displayed in the tooltip by using the [`Template`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Template) property of the tooltip. The ${x} and ${y} can be used as place holders in the HTML element to display the x and y values of the corresponding data point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customize the appearance of tooltip - -The [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Fill) and [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Border) properties are used to customize the background color and border of the tooltip respectively. The [`TextStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_TextStyle) property in the tooltip is used to customize the font of the tooltip text. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/custom-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/user-interaction/custom-tooltip/custom-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/3d-chart/working-with-data.md b/chart-sdk/asp-net-core/3d-chart/working-with-data.md deleted file mode 100644 index fd5b35c73..000000000 --- a/chart-sdk/asp-net-core/3d-chart/working-with-data.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -layout: post -title: Working with data source in ASP.NET Core 3D Chart Component -description: Learn here all about working with data source in Syncfusion ASP.NET Core 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Working With Data -publishingplatform: chart-sdk -documentation: ug ---- - -# Working with data in ASP.NET Core 3D Chart Component - -## Local data - -A simple JSON data can be bound to the 3D chart using [`DataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_DataSource) property in series. Now map the fields in JSON to [`XName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_XName) and [`YName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_YName) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/local-data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Local-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/local-data/local-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Remote data - -The remote data can be bound to the 3D chart using the `DataManager`. The `DataManager` requires minimal information like web service URL, adaptor and cross domain to interact with service endpoint properly. Assign the instance of the `DataManager` to the [`DataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_DataSource) property in series and map the fields of data to [`XName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_XName) and [`YName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_YName) properties. You can also use the [`Query`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Query) property of the series to filter the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/remote-data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Remote-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/remote-data/remote-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Binding data using ODataAdaptor - -`OData` is a standardized protocol for creating and consuming data. You can retrieve data from OData service using the `DataManager`. Refer to the following code example for remote Data binding using OData service. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/adaptor/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/adaptor/adaptor.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Empty points - -The data points that uses the `null` or `undefined` as value are considered as empty points. The empty data points are ignored and is not plotted in the chart. When the data is provided by using the points property, by using [`EmptyPointSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_EmptyPointSettings) property in series, the empty can be customized. The default [`Mode`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DEmptyPointSettings.html#Syncfusion_EJ2_Charts_Chart3DEmptyPointSettings_Mode) of the empty point is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/empty-points/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-points.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/empty-points/empty-points.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customizing empty point** - -The specific color for empty point can be set by the [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DEmptyPointSettings.html#Syncfusion_EJ2_Charts_Chart3DEmptyPointSettings_Fill) property in [`EmptyPointSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_EmptyPointSettings). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/custom-emptypoint/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-emptypoint.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-charts/series/working-data/custom-emptypoint/custom-emptypoint.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/3d-charts/getting-started.md b/chart-sdk/asp-net-core/3d-charts/getting-started.md index 57f2a408a..903e6049b 100644 --- a/chart-sdk/asp-net-core/3d-charts/getting-started.md +++ b/chart-sdk/asp-net-core/3d-charts/getting-started.md @@ -1,107 +1,100 @@ --- layout: post -title: Getting Started with ASP.NET Core 3D Chart Control | Syncfusion -description: Checkout and learn about getting started with ASP.NET Core 3D Chart control of Syncfusion Essential JS 2 and more details. +title: Getting Started with ASP.NET Core 3D Charts Control | Syncfusion +description: Check out and learn about getting started with ASP.NET Core 3D Charts control of Essential JS 2 and more details. platform: chart-sdk -control: Getting Started +control: 3D Charts publishingplatform: chart-sdk documentation: ug --- -# Getting Started with ASP.NET Core 3D Chart Control +# Getting Started with ASP.NET Core 3D Charts Control -This section briefly explains about how to include [ASP.NET Core 3D Chart](https://www.syncfusion.com/aspnet-core-ui-controls/charts) control in your ASP.NET Core application using Visual Studio. +This section briefly explains how to include the [ASP.NET Core 3D Charts](https://www.syncfusion.com/aspnet-core-ui-controls/3d-chart) control in your ASP.NET Core application using [Visual Studio](https://visualstudio.microsoft.com/vs/). -## Prerequisites +## Create an ASP.NET Core Web App with Razor Pages -[System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements) +Create an **ASP.NET Core Web App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-10.0&tabs=visual-studio#create-a-razor-pages-web-app) or the [Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project). For detailed instructions, refer to the [ASP.NET Core Web App Getting Started](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) documentation. -## Create ASP.NET Core web application with Razor pages +## Install the required ASP.NET Core package -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app) +To add [ASP.NET Core 3D Charts](https://www.syncfusion.com/aspnet-core-ui-controls/3d-chart) control in the app, open the NuGet package manager in Visual Studio *(Tools → NuGet Package Manager → Manage NuGet Packages for Solution)*, search for and install the [Syncfusion.AspNetCore.Chart3D](https://www.nuget.org/packages/Syncfusion.AspNetCore.Chart3D/) package. All Syncfusion ASP.NET Core packages are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). See the [NuGet packages](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) topic for details. -* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project) - -## Install ASP.NET Core package in the application - -To add `ASP.NET Core` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and then install it. Alternatively, you can utilize the following package manager command to achieve the same. +Alternatively, you can install the same package using the Package Manager Console with the following command. {% tabs %} -{% highlight C# tabtitle="Package Manager" %} +{% highlight C# tabtitle="Package Manager Console" %} -Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }} +Install-Package Syncfusion.AspNetCore.Chart3D -Version {{ site.releaseversion }} {% endhighlight %} {% endtabs %} -N> Syncfusion® ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.AspNet.Core NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. +## Add the ASP.NET Core Tag Helpers -## Add Syncfusion® ASP.NET Core tag helper - -Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelper. +After the package is installed, open the **~/Pages/_ViewImports.cshtml** file and import the `Syncfusion.AspNetCore.Base` and `Syncfusion.AspNetCore.Charts` Tag Helpers. {% tabs %} -{% highlight C# tabtitle="~/_ViewImports.cshtml" %} +{% highlight cshtml tabtitle="_ViewImports.cshtml" %} -@addTagHelper *, Syncfusion.EJ2 +@addTagHelper *, Syncfusion.AspNetCore.Base +@addTagHelper *, Syncfusion.AspNetCore.Charts {% endhighlight %} {% endtabs %} ## Add script resources -Here, script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, +Include the [script reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) inside the `` of **~/Pages/Shared/_Layout.cshtml**. {% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} +{% highlight cshtml tabtitle="_Layout.cshtml" %} ... - - + + {% endhighlight %} {% endtabs %} -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application. - -## Register Syncfusion® script manager +## Register the script manager -Also, register the script manager `` at the end of `` in the ASP.NET Core application as follows. +Open the **~/Pages/Shared/_Layout.cshtml** file and register the script manager `` at the end of the `` element as follows. {% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} +{% highlight cshtml tabtitle="_Layout.cshtml" %} ... - + {% endhighlight %} {% endtabs %} -## Add ASP.NET Core 3D Chart control +## Add ASP.NET Core 3D Charts control -Now, add the Syncfusion® ASP.NET Core 3D Chart tag helper in `~/Pages/Index.cshtml` page. +Add the [ASP.NET Core 3D Charts](https://www.syncfusion.com/aspnet-core-ui-controls/3d-chart) control in the **~/Pages/Index.cshtml** file. {% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} +{% highlight cshtml tabtitle="Index.cshtml" %} {% include code-snippet/chart-sdk/asp-net-core/3d-charts/getting-started/tagHelper %} {% endhighlight %} -{% highlight c# tabtitle="Getting-started.cs" %} +{% highlight c# tabtitle="Index.cshtml.cs" %} {% include code-snippet/chart-sdk/asp-net-core/3d-charts/getting-started/getting-started.cs %} {% endhighlight %} {% endtabs %} -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET Core Chart control will be rendered in the default web browser. +## Run the application -![ASP.NET Core 3D Chart Control](images/three-d-chart.png) +Press Ctrl+F5 (Windows) or +F5 (macOS) to launch the application. The [ASP.NET Core 3D Charts](https://www.syncfusion.com/aspnet-core-ui-controls/3d-chart) control will render in your default web browser. -N> `View Sample in GitHub`. +![ASP.NET Core 3D Charts Control](images/three-d-chart.webp) ## See also -* [Getting Started with Syncfusion® ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file +1. [Getting Started with ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) +2. [Getting Started with ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) diff --git a/chart-sdk/asp-net-core/3d-chart/images/three-d-chart.webp b/chart-sdk/asp-net-core/3d-charts/images/three-d-chart.webp similarity index 100% rename from chart-sdk/asp-net-core/3d-chart/images/three-d-chart.webp rename to chart-sdk/asp-net-core/3d-charts/images/three-d-chart.webp diff --git a/chart-sdk/asp-net-core/accumulation-chart/accessibility.md b/chart-sdk/asp-net-core/accumulation-charts/accessibility.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/accessibility.md rename to chart-sdk/asp-net-core/accumulation-charts/accessibility.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/advanced-accessibility-configuration.md b/chart-sdk/asp-net-core/accumulation-charts/advanced-accessibility-configuration.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/advanced-accessibility-configuration.md rename to chart-sdk/asp-net-core/accumulation-charts/advanced-accessibility-configuration.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/annotation.md b/chart-sdk/asp-net-core/accumulation-charts/annotation.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/annotation.md rename to chart-sdk/asp-net-core/accumulation-charts/annotation.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/center-label.md b/chart-sdk/asp-net-core/accumulation-charts/center-label.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/center-label.md rename to chart-sdk/asp-net-core/accumulation-charts/center-label.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/chart-print.md b/chart-sdk/asp-net-core/accumulation-charts/chart-print.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/chart-print.md rename to chart-sdk/asp-net-core/accumulation-charts/chart-print.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/data-label.md b/chart-sdk/asp-net-core/accumulation-charts/data-label.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/data-label.md rename to chart-sdk/asp-net-core/accumulation-charts/data-label.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/dynamic-data-update.md b/chart-sdk/asp-net-core/accumulation-charts/dynamic-data-update.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/dynamic-data-update.md rename to chart-sdk/asp-net-core/accumulation-charts/dynamic-data-update.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/ej1-api-migration.md b/chart-sdk/asp-net-core/accumulation-charts/ej1-api-migration.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/ej1-api-migration.md rename to chart-sdk/asp-net-core/accumulation-charts/ej1-api-migration.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/empty-points.md b/chart-sdk/asp-net-core/accumulation-charts/empty-points.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/empty-points.md rename to chart-sdk/asp-net-core/accumulation-charts/empty-points.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/funnel.md b/chart-sdk/asp-net-core/accumulation-charts/funnel.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/funnel.md rename to chart-sdk/asp-net-core/accumulation-charts/funnel.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/getting-started.md b/chart-sdk/asp-net-core/accumulation-charts/getting-started.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/getting-started.md rename to chart-sdk/asp-net-core/accumulation-charts/getting-started.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/gradient.md b/chart-sdk/asp-net-core/accumulation-charts/gradient.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/gradient.md rename to chart-sdk/asp-net-core/accumulation-charts/gradient.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/grouping.md b/chart-sdk/asp-net-core/accumulation-charts/grouping.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/grouping.md rename to chart-sdk/asp-net-core/accumulation-charts/grouping.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/images/accumulation-chart-component.png b/chart-sdk/asp-net-core/accumulation-charts/images/accumulation-chart-component.png similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/images/accumulation-chart-component.png rename to chart-sdk/asp-net-core/accumulation-charts/images/accumulation-chart-component.png diff --git a/chart-sdk/asp-net-core/accumulation-chart/images/accumulation-chart.png b/chart-sdk/asp-net-core/accumulation-charts/images/accumulation-chart.png similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/images/accumulation-chart.png rename to chart-sdk/asp-net-core/accumulation-charts/images/accumulation-chart.png diff --git a/chart-sdk/asp-net-core/accumulation-chart/images/accumulationchart.png b/chart-sdk/asp-net-core/accumulation-charts/images/accumulationchart.png similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/images/accumulationchart.png rename to chart-sdk/asp-net-core/accumulation-charts/images/accumulationchart.png diff --git a/chart-sdk/asp-net-core/accumulation-chart/images/default-template.png b/chart-sdk/asp-net-core/accumulation-charts/images/default-template.png similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/images/default-template.png rename to chart-sdk/asp-net-core/accumulation-charts/images/default-template.png diff --git a/chart-sdk/asp-net-core/accumulation-chart/images/nodatatemplate-accumulationchart.png b/chart-sdk/asp-net-core/accumulation-charts/images/nodatatemplate-accumulationchart.png similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/images/nodatatemplate-accumulationchart.png rename to chart-sdk/asp-net-core/accumulation-charts/images/nodatatemplate-accumulationchart.png diff --git a/chart-sdk/asp-net-core/accumulation-chart/images/nuget-demo.png b/chart-sdk/asp-net-core/accumulation-charts/images/nuget-demo.png similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/images/nuget-demo.png rename to chart-sdk/asp-net-core/accumulation-charts/images/nuget-demo.png diff --git a/chart-sdk/asp-net-core/accumulation-chart/images/pie-drill-down-and-display-data-in-grid.gif b/chart-sdk/asp-net-core/accumulation-charts/images/pie-drill-down-and-display-data-in-grid.gif similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/images/pie-drill-down-and-display-data-in-grid.gif rename to chart-sdk/asp-net-core/accumulation-charts/images/pie-drill-down-and-display-data-in-grid.gif diff --git a/chart-sdk/asp-net-core/accumulation-chart/images/show-percentage-in-pie-chart.png b/chart-sdk/asp-net-core/accumulation-charts/images/show-percentage-in-pie-chart.png similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/images/show-percentage-in-pie-chart.png rename to chart-sdk/asp-net-core/accumulation-charts/images/show-percentage-in-pie-chart.png diff --git a/chart-sdk/asp-net-core/accumulation-chart/images/solution-explorer-core.png b/chart-sdk/asp-net-core/accumulation-charts/images/solution-explorer-core.png similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/images/solution-explorer-core.png rename to chart-sdk/asp-net-core/accumulation-charts/images/solution-explorer-core.png diff --git a/chart-sdk/asp-net-core/accumulation-chart/legend.md b/chart-sdk/asp-net-core/accumulation-charts/legend.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/legend.md rename to chart-sdk/asp-net-core/accumulation-charts/legend.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/overview.md b/chart-sdk/asp-net-core/accumulation-charts/overview.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/overview.md rename to chart-sdk/asp-net-core/accumulation-charts/overview.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/pie-dough-nut.md b/chart-sdk/asp-net-core/accumulation-charts/pie-dough-nut.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/pie-dough-nut.md rename to chart-sdk/asp-net-core/accumulation-charts/pie-dough-nut.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/pyramid.md b/chart-sdk/asp-net-core/accumulation-charts/pyramid.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/pyramid.md rename to chart-sdk/asp-net-core/accumulation-charts/pyramid.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/title-and-sub-title.md b/chart-sdk/asp-net-core/accumulation-charts/title-and-sub-title.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/title-and-sub-title.md rename to chart-sdk/asp-net-core/accumulation-charts/title-and-sub-title.md diff --git a/chart-sdk/asp-net-core/accumulation-chart/tool-tip.md b/chart-sdk/asp-net-core/accumulation-charts/tool-tip.md similarity index 100% rename from chart-sdk/asp-net-core/accumulation-chart/tool-tip.md rename to chart-sdk/asp-net-core/accumulation-charts/tool-tip.md diff --git a/chart-sdk/asp-net-core/bullet-chart/accessibility.md b/chart-sdk/asp-net-core/bullet-charts/accessibility.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/accessibility.md rename to chart-sdk/asp-net-core/bullet-charts/accessibility.md diff --git a/chart-sdk/asp-net-core/bullet-chart/axis-customization.md b/chart-sdk/asp-net-core/bullet-charts/axis-customization.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/axis-customization.md rename to chart-sdk/asp-net-core/bullet-charts/axis-customization.md diff --git a/chart-sdk/asp-net-core/bullet-chart/bullet-chart-dimensions.md b/chart-sdk/asp-net-core/bullet-charts/bullet-chart-dimensions.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/bullet-chart-dimensions.md rename to chart-sdk/asp-net-core/bullet-charts/bullet-chart-dimensions.md diff --git a/chart-sdk/asp-net-core/bullet-chart/comparative-bar.md b/chart-sdk/asp-net-core/bullet-charts/comparative-bar.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/comparative-bar.md rename to chart-sdk/asp-net-core/bullet-charts/comparative-bar.md diff --git a/chart-sdk/asp-net-core/bullet-chart/customization.md b/chart-sdk/asp-net-core/bullet-charts/customization.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/customization.md rename to chart-sdk/asp-net-core/bullet-charts/customization.md diff --git a/chart-sdk/asp-net-core/bullet-chart/data-binding.md b/chart-sdk/asp-net-core/bullet-charts/data-binding.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/data-binding.md rename to chart-sdk/asp-net-core/bullet-charts/data-binding.md diff --git a/chart-sdk/asp-net-core/bullet-chart/data-label.md b/chart-sdk/asp-net-core/bullet-charts/data-label.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/data-label.md rename to chart-sdk/asp-net-core/bullet-charts/data-label.md diff --git a/chart-sdk/asp-net-core/bullet-chart/getting-started.md b/chart-sdk/asp-net-core/bullet-charts/getting-started.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/getting-started.md rename to chart-sdk/asp-net-core/bullet-charts/getting-started.md diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-actual-bar-customization.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-actual-bar-customization.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-actual-bar-customization.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-actual-bar-customization.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-actual-bar.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-actual-bar.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-actual-bar.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-actual-bar.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-category-label.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-category-label.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-category-label.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-category-label.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-component.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-component.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-component.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-component.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-custom-label-format.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-custom-label-format.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-custom-label-format.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-custom-label-format.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-data-binding.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-data-binding.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-data-binding.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-data-binding.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-data-label.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-data-label.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-data-label.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-data-label.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-dot-actual-bar.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-dot-actual-bar.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-dot-actual-bar.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-dot-actual-bar.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-grouping.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-grouping.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-grouping.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-grouping.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-label-customization.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-label-customization.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-label-customization.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-label-customization.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-label-format.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-label-format.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-label-format.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-label-format.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-labels-position.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-labels-position.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-labels-position.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-labels-position.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-alignment.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-alignment.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-alignment.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-alignment.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-color-mapping.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-color-mapping.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-color-mapping.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-color-mapping.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-customization.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-customization.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-customization.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-customization.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-on-custom-position.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-on-custom-position.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-on-custom-position.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-on-custom-position.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-on-top-position.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-on-top-position.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-on-top-position.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-on-top-position.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-paging.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-paging.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-paging.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-paging.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-size.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-size.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend-size.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend-size.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-legend.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-legend.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-margin.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-margin.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-margin.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-margin.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-opposed-position.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-opposed-position.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-opposed-position.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-opposed-position.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-orientation.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-orientation.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-orientation.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-orientation.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-range-customization.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-range-customization.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-range-customization.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-range-customization.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-range.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-range.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-range.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-range.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-ranges.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-ranges.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-ranges.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-ranges.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-rectangle-target-bar.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-rectangle-target-bar.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-rectangle-target-bar.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-rectangle-target-bar.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-right-to-left-direction.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-right-to-left-direction.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-right-to-left-direction.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-right-to-left-direction.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-subtitle.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-subtitle.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-subtitle.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-subtitle.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-target-bar-customization.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-target-bar-customization.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-target-bar-customization.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-target-bar-customization.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-target-bar.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-target-bar.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-target-bar.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-target-bar.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-theme.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-theme.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-theme.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-theme.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tick-line-customization.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tick-line-customization.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tick-line-customization.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tick-line-customization.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tick-position.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tick-position.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tick-position.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tick-position.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-title-customization.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-title-customization.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-title-customization.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-title-customization.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-title-positions.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-title-positions.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-title-positions.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-title-positions.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-title.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-title.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-title.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-title.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tooltip-customization.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tooltip-customization.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tooltip-customization.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tooltip-customization.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tooltip-template.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tooltip-template.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tooltip-template.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tooltip-template.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tooltip.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tooltip.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-tooltip.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-tooltip.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-with-border.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-with-border.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-with-border.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-with-border.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-with-title.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-with-title.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bullet-chart-with-title.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bullet-chart-with-title.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/blazor-bulletchart-tooltip.png b/chart-sdk/asp-net-core/bullet-charts/images/blazor-bulletchart-tooltip.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/blazor-bulletchart-tooltip.png rename to chart-sdk/asp-net-core/bullet-charts/images/blazor-bulletchart-tooltip.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/bullet-chart-control.webp b/chart-sdk/asp-net-core/bullet-charts/images/bullet-chart-control.webp similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/bullet-chart-control.webp rename to chart-sdk/asp-net-core/bullet-charts/images/bullet-chart-control.webp diff --git a/chart-sdk/asp-net-core/bullet-chart/images/bullet-chart-with-title.webp b/chart-sdk/asp-net-core/bullet-charts/images/bullet-chart-with-title.webp similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/bullet-chart-with-title.webp rename to chart-sdk/asp-net-core/bullet-charts/images/bullet-chart-with-title.webp diff --git a/chart-sdk/asp-net-core/bullet-chart/images/bullet-chart-with-tooltip.webp b/chart-sdk/asp-net-core/bullet-charts/images/bullet-chart-with-tooltip.webp similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/bullet-chart-with-tooltip.webp rename to chart-sdk/asp-net-core/bullet-charts/images/bullet-chart-with-tooltip.webp diff --git a/chart-sdk/asp-net-core/bullet-chart/images/default-template.png b/chart-sdk/asp-net-core/bullet-charts/images/default-template.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/default-template.png rename to chart-sdk/asp-net-core/bullet-charts/images/default-template.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/nuget-demo.png b/chart-sdk/asp-net-core/bullet-charts/images/nuget-demo.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/nuget-demo.png rename to chart-sdk/asp-net-core/bullet-charts/images/nuget-demo.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/solution-explorer-core.png b/chart-sdk/asp-net-core/bullet-charts/images/solution-explorer-core.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/solution-explorer-core.png rename to chart-sdk/asp-net-core/bullet-charts/images/solution-explorer-core.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/target-color.png b/chart-sdk/asp-net-core/bullet-charts/images/target-color.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/target-color.png rename to chart-sdk/asp-net-core/bullet-charts/images/target-color.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/target-width.png b/chart-sdk/asp-net-core/bullet-charts/images/target-width.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/target-width.png rename to chart-sdk/asp-net-core/bullet-charts/images/target-width.png diff --git a/chart-sdk/asp-net-core/bullet-chart/images/value-fill.png b/chart-sdk/asp-net-core/bullet-charts/images/value-fill.png similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/images/value-fill.png rename to chart-sdk/asp-net-core/bullet-charts/images/value-fill.png diff --git a/chart-sdk/asp-net-core/bullet-chart/ranges.md b/chart-sdk/asp-net-core/bullet-charts/ranges.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/ranges.md rename to chart-sdk/asp-net-core/bullet-charts/ranges.md diff --git a/chart-sdk/asp-net-core/bullet-chart/title.md b/chart-sdk/asp-net-core/bullet-charts/title.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/title.md rename to chart-sdk/asp-net-core/bullet-charts/title.md diff --git a/chart-sdk/asp-net-core/bullet-chart/tool-tip.md b/chart-sdk/asp-net-core/bullet-charts/tool-tip.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/tool-tip.md rename to chart-sdk/asp-net-core/bullet-charts/tool-tip.md diff --git a/chart-sdk/asp-net-core/bullet-chart/value-bar.md b/chart-sdk/asp-net-core/bullet-charts/value-bar.md similarity index 100% rename from chart-sdk/asp-net-core/bullet-chart/value-bar.md rename to chart-sdk/asp-net-core/bullet-charts/value-bar.md diff --git a/chart-sdk/asp-net-core/chart/Chart-Series_images/Chart-Series_img1.png b/chart-sdk/asp-net-core/chart/Chart-Series_images/Chart-Series_img1.png deleted file mode 100644 index 57c3eb268962bc2518bc74daa767a1f53a88f18c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22879 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 ScfieC3=E#GelF{r5}E*203U$> diff --git a/chart-sdk/asp-net-core/chart/Chart-Series_images/Chart-Series_img2.png b/chart-sdk/asp-net-core/chart/Chart-Series_images/Chart-Series_img2.png deleted file mode 100644 index 8d03f9d366c90ca8826277dd06fedac2b85db006..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38140 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 E0{8f?3jhEB diff --git a/chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img1.png b/chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img1.png deleted file mode 100644 index 15f7cfd93978fdd589111c6b37f535bed9825016..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16915 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 diff --git a/chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img2.png b/chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img2.png deleted file mode 100644 index f9b2c0e5540b4912b666c0ed26fb43a680e25d60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16825 zcmeHvcTiN@_9g~EYyk<G4T^*Y1VI6noKurUqU78J1zIu)NRTK&a+27DCI^nY?y=hzI)a8>Q^;y{+OAnTLne2&pG?7y~4M?wf64zk&zO^y-s!=0|Nv1#q(!! z7#NpTF)%I_UAqj7i0sQO+u4;{e zfme6&d#TAh?G*-wkkpH3LJAI=Yq4EHG)*oG8y!=Aj`)|~9p*iGd+EmL6Z`5X)s*Om zuGbC;gS4=O+TrY1$>i!=r|I57e7P>^4Ske)Ft=FUIwY2BVUxAW(B)ffJIZ5{Q^>sj z{TobmKAW;9M2}7?UwKS%ENh*~%E_1q)iA%{!A6^3(wwfPZ0}Z97Cl?#bPWR|Z)j2& z17py};w}b;DKGLS1_l=;3>c5bgIvXUD~S!hj8UE90lI{t-BW`AZeRKzZ(kq=pKV9r z2L<8Wef8$vz8Z#segbI1X=SRQL*R5842-tj+t<*=$NE574mv;W=wsTGn9+(eKO?&9 znI&GYDZXA=?|S174GDO>l9EaVJtgRNFy2&$O-&&D%}Hdnyq-#8wW)sm#vKp|*maKi z9SA;gq;I@;&+~(=&!C47I&v`j(yN;3+6nYnH6s0%-%a6uW?ezL{nr?(c}SV8Cqo)M zPDfu4R^nBn&~W;#Q~YuGT61V>?UM9k%k4dN-RU*>Ku|n-&!SyA4(8}&bKc)|YYS;- z!{*v&bd+aLQE}SBz=^t9x-;JgJcT&zouOyjALo4iE$)C<+WP?NxTYdNi6XVB--`Be zWFdIGU7K2m=d_AuE=p3TMx8W<*7QV}CojNs#w!WW8g%#54WI%}5EY{7TY3n`gZ90d z+zI64c&q*F6N=#Shi_S8dJy)3c<$MTs&S>qn*8T&na6^ZRcAGuHP{C^?WtEe;%%;c zUCQO<+$Sg!Ae{IFR%!nlG4kdUSb6`O%v+L-t?_TTh#AoOX&2egV9~ zF5BbR2XgMk zgxkIM*}@#>zBuE}CXHST`tUHO>i$A|ti|sBSq-y&fE%yYxPa6AJ!1I#N#Sqpr7(t) z#2eTf+qC|1=%jOkxT`%xF&H14LV_r(vQejXGhHUq@%%f@7RAzW{0FZe#saI+{K{f?CTfzwhF7zaNNabud zt}@}%8u*0M@$5^R2RvhzOgaY5E5W*PnKWHN+tMtL-Izz%0tww$+By&j!M(#5CuNQ* z`|T)lF*e_`fSl6GO}S0_>D$LTpV;VfTmol}re@#O#+th*N$@Xyj~I;QF4B)vd60O! zw(pKg)3ixW2dpUWS+i0gf7A^r`6~EI*bMU&NtdfSr29*zd`zC$Yzl3$-+&n^vzQ0H zY`zS0BA&_PRLk3D6L8(uT|h0iznyj5J5*`Ow~g=S(|Kr~0f5AXVIueD{rGY{%eh!P zV2`hBWztui(FWaLC>a^8?0JlrlDvIrDM-e2d*OJ!l4P}@+Yw?r$jsf^K`~b0>U`hv zqysdt0IxnVr>2bL#(r$KJxp18MNa%Pbz3eWB>~&G(prG?{8F%!&)ni&O}Zs#hlNF` z3^u))Ju}-n z;qVY;b`7(*PVnpQ=^Ny1JdabIO405*(Z>1wtr@h4@lGAM)NerJP^WM+zHi{Rqs{j0 zb4mr(h$H8Q4>%hvC%s+K+|#xy%IR^YbDnkjIz4ASU8eB@Wt68qMw#-YQ!~h*#F&cH z`$NTs4c=_({IOPc%Z-`kxo+e6+I?CIsmKLcEJ^dR)B~vxrqLO!7tu!rj#~?7FJ*1x zh7y$aEtOZmW3@*jZgGn@9A85pl5 zS}z_)rP}p0k9}}nXp)X|T%Da;*}irhJ7OhG9N$L}ZG&8+gxwx$-Hqo z`03!`RolkO(1QDqST-mErAOZLZD|QY9r#sV?${G$TvOj$?Gy2nnk^bQ05(d*M*c*^_NmQfkAP%DEDAYIi4?9*4{22AuSg4Y5Dy7zmxo+e9aUhbIJw zOGNK~>vPCK;jjC6ya(q@5Cz7A&$NlXY1JNtL#(rhx(>Tl@RnXN(F>TwW-*K`zcMdy zT65+K?mcAl%@V;Q(N84@aanG|%;=hJZ(pS`&llLr$jI z=jR${MOaD|7qN%K7Z;5BmiSsf5giT8g;PAEd`XWdC^D<{F+6O$-%F|Z8?Itc>Fz;D zkn!zs-%zr$FL7!_>qrrrwrCSM8q=Zn!!vJx?sk>eJqJF)&%1F|1}%@-)dC9f3a=2~ zF4|CcTGz;d&lho*mf%V|K%Cvaw$r{ZZnm8%9!$WFrOHw6dbV_{NRw6bL17iuvjBLa zx?@1KWOKR!fAcTB4B-0$82v6Jcw54KX-LnK2J#BWL@%NXD5Kx~U6m*Kp zI4Ja>T@r>a7g0Q707FLFK8eXPMe&nVy1^=s=}QlkTiHo{5p#=>8$srY)?rxZqzY}Frw`SSUq-*NRjY_&05{Tek!0;3UoX&}jP&Ox7VnK4EaNzkdM{~f z2{>xg7~*|%xJc}HSI7Mf4%TCcG}TIa*Q;eJT==YL4i^q%(0!j0i&lMhf<3TS1yzi1 z7rtkNNM)GQ!hw72yq635SE=O@T&6`q{{JbG5b~FB?Q*?SLi1h7cDcnJ&*PD)1Yec>_do4?291P z8Y%Ba9EH@^Asfn16dr!0i4&zss8_8q&Fq=pd&cT(7=U6`e!m-IMbJ#L90V4tl-8Z; zD_LJfh3d#_PynpJ(oSbOaV-5Sg?I*y%$oIabC1*UQ6b`m>FjMRxrg1KkLT*xlfXqZ zo%MH*LZ0V(!edT!L{cd-A!f;C)k$ZJoFN4UmNb3o9Qx_KIrNs_3AEy)#cua@H>B?< z_v_iU8g_>u2H*-)N;R3^P!)_Aj*8M;=FNM_g$h7s+B9)jY5jHFuEC<6|3yf=G2L_f2M_m%7 zo)K02s!|k12SK7#`v*a=Obxf|1NR;n9Hu61Y0cJJBv#(cFO#t=w5<<+8E!=quyzqS z!wHZ2HPt?X%^W!SL78kxNLm-%39Zy!YbXj#F&RLY-@1{k)zT~&98Epp(woL-Zm z^9Lk>=(<6YPqVd)@s$&W3wWXIm6`rXHw_El7nFAA*b15*8F77@r= z;0)AJ>$1GKr;S5TR;v9e)0Rf_n^iH3)_h2I%&d-9jA>@*UVhFnWH&C~X7P>cH)r_( zuCn^T}NZWb>G=_b@A% zoEyvq(c(qzuNg|c5fJoZZffdO&7Joxu7J_OyJHFUO&WY%D)f8PlLzT?8>iQHm5`4G z?Fik*#a(vSwq{C*PAKR6@1#?DJ~p;L?=?sgb=@2%Uw&#koI1l1XsOSt3qI{;fL+^& z87(`o;-PAS^s$~? z$dUK>jflE6{0)Ci+;V9tnAMEGQ-VrTj{mIKT)l~6-_8cNO#HnxK>`=d4v%tlMDMuZ z-d!(?_LPL);Jf6`E%rhH*nyBJ1#`aU7W*vfj7zzCvV*!5wD-UZf z=53}rs&5889-^@~vz?Du4)ZsCw_>0oRZBtC?R zu`1e5Pl-omc3Ukl?u5OlBo<$9$CS3y^)q(X-G!WAp0_{FF-REW4}i) zCjyi>Fd8%$?x>cCO0EmwuyoILR+zv%UZGd6`goWld{Qc~MhTZ2~W?SLtN>w?xqH`!FY|{FIzBp2zVkP0&gbOS$E1OBTL~ z-T;nP`xnC{{=Q>F23cA-nJ%bTyDo8Z;;roy?X3iEx@Uc{!x1{mU6l`aL+Lww1%uC` z`tP*7X~uuXB-AdQz2XyI8Y#rOGpp5MSD^pFbWR2DWH%}%<243(;W{zPa#38M+SRZ;Lj zT)`;!*NYo9MOJI-T_slAF!Hr6r;1G8f#T71ZfDUa)Tv5rgmaCu7Bkg)HRgn@l_&98 zyh9r=RQ-svD1v^pDCqX}bj`6oVETbD-FC&^;l&@Zop(FUQEQ>+1#b#}D|@zDR9`86 zF+b3+u=~;W7+HJb<#{tdkO0p9mHNsz?=eIOHF|MMdvkMd;LnDL?gXX zgR&j_%NTD1UO$HM7%HvA>g38sm0NHbn)a#Hr91Gf_qM>tCWGHhC(CCRUBL-d>qBeu z4CuJz5*ZNyeV#a5UNPQI4IaafD_$IXuLegmFlYEj>V;^Wf}Lq4RO&o2FxU+=G)VpT zb=d@BY)rm1Rts2;=7`SJjybt?o3H8tjiXLgWiVZ%_mq6Xn{wzgAgs8EW_;rLklKGv^2JjUiN zhDRc1>Mhl&MP8bXBDYRnR37)`W{7BBb3L7*&J;tuwW>hmY<;TzxDy(GIy)02s8qhO z^EC%TEXs`SA< TW$KFP8MKB*XX@RoNYXzVe;YZ0|2DHfeFh?ny~Bducai0!unM z1>_^G>LE@&8iyABxyr_|vKArMqv?vv=*eK)L_iOZNv}%pSthK%Bu92yGc>6$lEpJh zK#}a)T&8^x%mH+UZF&`g$U{B@9?~oW~G1WiKU4wwW13mWompVK^)|bIfcykUQjTsIEBQ|*c>OU|3N7X;O?*AXob*Vrn z(++^RFg5_dR3BOPrYkdlkxQ3*Lm`#;;zYM{`wM!VCuVbVs?gpsm-*b5@s|jaA`9tBJ%yBK-mq;*dXcJRf=x(KlyQQZjDPL5hmuNe`0`7b z38y0i$%Y$(umh~n>}2=wqSZMc9FjjuJesA^sa4}5nik&pJ0^u|@=95~-qs*3%Av%e zHiEteV`}LS9C*x>lPssqP=ZU``vp-q!A|&p2PT#TcAGI{@-W5K1%Za@+~iVr2PPOP zOnEf>D){CKN~h}U0961y!oEefcK!6BUVQ*Lx96!%jz&3Me>7;JNKnA_sH8nUiF`uF z{2GQy1B$P%cYZZe5dCH^FuLZ|!-<7>uOeF=ewJRW_euLwRxlNTn-Kp`xOjHabw=h| zfkaJjT!@YCmsn1n!}kPHTIcmgJ3AW{iQ|@+bo*q3u3x&4)LQ9m3G5az95ZIM-Qboz zZutPQMA?X#YIq_Ej~x#GkkAQ(lH$CqXW7=g?ei#sl$DFwIL^|*UZCXGpZM0MT7$rw zteuo6(075UR8kn4|A5)a`R+-9Zr_Shg@>l=R5#pHkC8I=UvPhUNLc9bh49f)t+B>2 zTV#fSjY?Mvj_4Xn)UfugCHHB?RQuex5qH)a`}O6*+HgoCy@+ zAmoorPFIbawCcH4QpJpL;kpf#|$)et02}IL#)7xqTJdx792XaQ<`{n=9Zl z*<`Em0e6t3MZy&%I{=VCwhy=$R!~6#Gj#v){&yf?7s-q`J!Y9J`(9ix1q>#9b9^9H~y{b`0GMQz&aUr{xVT-?*!^9#1 z3>f=oa{!_hu#?*^_q}`}GqfQY63W!qsKak`E?25hSvV1}pVc!yhsrq}020CP&q*7M zrmywlH*xGe(*75zW;iRV7`PQg7ps;{xhf}?z3j?%m^uV-YU>s$CHH@mkUv1RO7l%X zZ>YCW5=_v4mdDhruYS_JGtGAPri=g~U6ww_U5E|l&(6qcvQR4oud?O2E~){2VEB7Q$$nL#2o;NXQ64WS{ z5T;=y6HCr*cI{{hR&FPm#qGy)Sc5N5o~mxS6E`WF8>Z9zQd2 zRHRThYPE|lQE1f`87<#K&1|@=oR%JxOvr95)`QRXU5$w>TGc09X!_VoM&S$L#zRRn z<7-tfvd_&3APO6YhD$C`;1b1ovw0dftol{RRDaNotbK|l(}%pK111qIVau5KL|4FE z$IHz?HWTa|zo;L;;rN~)y&vU+%y;G{pP6C--@<&Onc9xCHth8Gr3lLea_Gk$d$%pG zbi``-Ton_&ie_s@BcjPoL6Y-3tK0c_bcR0YTY?EGSgl}v0Aw&Dw4hy8hH}xVtFL)y zXC!m@CKGz&Oc_tqJw(S^e4Lpkn2wmuRH>JLrhVPn4A40c^#K$uHHiMn+At5$mDe*m zB}G~&g;Isg0T21q9ekdwKpks%c^7_1@ILv-$h&!Wa$}~Vb_SVQq@XWxZ_vDXd4;t?VlaX` zKMVY;)CFH56x4B68Wz0E3rE3zeL$rBEJQRs(8hVt*seB+hasgdFfwntClTuL>pkQv zwK~?BWaGh!4~&(iPdeQfCWT9Ykg{UH1_L3e+&-_#R;YnjCo-{fm7&r|trh_2j%ceQvK&i6uXR4nQ~vXcyk zw6aLxL|V+5W`PVmJk}m>hU(f!1 zT9lxYIS}-~Pw-RdAM&qcl;qqz`x z5E~H0hQ{k(0N3L%#8ign^V6oCur!*hr5bEtEGgz}3%yC5u7 zzYXaCDsD14!>OGEbVb~ZC^#@rQJV`taogPJ~Ia{m$E z{|d6QJXz!2z8O;V$zVU>zs+4(Qq}hy&Crn7Y@erp<5w@)kl3U&om&=iqd2zUx@`wB zk1&C;eFucQfT2IFG=Ok#)=5&6jb~;FV=B*{a&k)qm<|>=ss_P}>;xu!&8k6~C}4nG zC;9lpm^NVp9%Y*Ry8^bSM9itDskop}t`RE#XCjlzF% z7uA{C7gb|Qg5Mue?q&P;AD5R~UO>lfSegf@4Y;$v77<#f#5S(ncHPQ{9bgf^PA_xr zj2?E&8V8Dmzb*jmv4-t@D!i5^HeSqM-n3jK2LGaspBN>80rx+{bEUCF$0 z50Rhr2T<2zk05zmYw-g%%@;u4Sg}NHPMHp7XfS2s6RS<}4L-#Dfpb5?zj3nGx)$1P z{mYOr_AcBYrKHLQo^5`+=m&xUi=e!)zFHlMyoUE(Bkx5JrS`1H*{ND_E%(+@6Xz(9du^N4H6)|O z=j4vMUAcz~E*g&cr?Ub-sS_|`S((LBkKYA9ifHYMC+H|P&emZkp|m#!Se3)0rC#GT z?Fe3D#RGVaU>n{FJXYQ=|5wK(gGKrbO==%}9?21Ld)>(}fS(jvTsN;IdE*Q#Kurwq z(%iplZvc?~TG3?f4R6^=Gd*^qD}s9l?tic%+|;0vK0_E%eM9;<0G&lwj{s@_Aky$I z+%8*{2CP)vCp`!%W?o7KF9;`;QR>uozFqF{?l*+^EAW#S+cDQ*);pOGny(g#%>b+` zKQeEGEN)v7THDy%AVpZnxy9j~41KAr7DQ9kjtRh4<`z%P z)5Bw9t6Vn@{Yuv31=*<2;uSJStxn?~rP8^WnOfxy>5I@fcSE~o=$PriNb3MBlOzWpS3AT0>aouM(PKS=cIsFk z+~G+gbM`alhxBR~0j1baK8Xc>EoQCbV99>^zW3#y)TY+N@9v*%*3`J_hKo%5msS5L z41S87KT45bX1u5{{(^uDMEebQ|0q>}6!8}{|ENHI#+o06#m^!2M=A4?x*s#l6Z0%|zrlY_{AA3qgLh41e5J)r zU(xaz@yDvYWfD$tusgkPxCUa|o3Vc2?iNMa zf54l%`U>FbzeMsT%MG$GYCPY`AGPe&8F~X1IHo-I|CCrb*o~Dlr@pa~US`_Bq5F?L z-JdxR09g9Nf@$kqUQ^oaq}1&ir2Mxa&O8^{WJi_ zQUI8Doa?joF#$F5c$FeheIrIPReN&WvM+iwfmQpMeGlm?H%krxEdK9v!FzSVhk5;w z7(BJ2Lz3GyKiAk-blU#zA_IlBIw?3x2bKna{f!x6pni^PG3^}8?s!ak=h3g_a#F)< zkv5L?)%JzrUwMxQNLsIxf%|yb@_Uw6ZtpBMOJl6sm+|=cE0kRJ_*gaaF0i!nZlJ~U z3wrY-fKL9)&r)*c}@uDyE4}AYbp8rW`7fr^0QvCk~(qr=q zs4+6bd(6!J$3R~2X;JFFFtv@->-0sWAWYOwbE^&(iV1NDbIrT*;AZ_lV4sdz#mZPZ- z*NX|17KQur8(0`q4{9#Rc`LV*)qJB!S7z5^rWAg5UU z4|U5zyqo4@rmGXD^W1$&!cYD<+z{MyG(1q5VmGmnBm*IiV#cNs0yKPoBP{qik#Co7 zLE`*vd%Fc|HenW%A4e`ah|?*6GY~30627(@KY*S$Y4ZC5(EaQ^*|GjyH@{wU#~~vK zWUCB$`=;99j}sRORg)O2Qt=E zBR_~ZPT>mT&$OF;F(O&BjaF_r1~0)ek(;C5Xn1;-+eg`lX3FBsgX(i8L7&5knb9km z*`lVfVS8rJiJZ@Z(yn{850$FIa@Hvu_|oINamJyM72P?qS+24%?`D@HN-M;M=e_U^ zlFanX`3@71+h2x5Hf&?4`b${pI=;~`J~T1<+{6SE zp6RSXdiQJ@kyXr`BT8XziaBwg_I8o|%P&VeLprEO=Y1hxvRs)_AMAT0G?tfI9FqB1 zn)+sfiyeo{DO{?WfOhi48k_02qq0>3;!mhT3I1-g77PeKcMaC489;s_h8R-DP{!ri zZ-#n=m<1}0Gi;egx$x$=y;iCoomzC8XRzHcq_9ikCfLZ!b^U^*a((ec?&@@#-7wAG z>}WD9a!_nZ8fZpGgzhCOjEIM!HLYGIk|j}CZp!pmVliy3sQVEd`(=^@9YnVs$=x(3 zs7e5ij4Q`CgqTwo_bQR~k10=#X})RH>dtCov_!m#oy3o z4sSWh50=%tqigImbBgAq@k>nZ7d`ZDvoD9Zg}Mz3e&D-Q^Vy}78hhhr2a_hX`NFiN zaN`0kte}q0^E)#^y|jCj;toCP*se3h$lNWnD`>!|#@(1@ZgHLL5uw)SlE_IhCjF-k zgg1lcwK@dO!Qy;-M!MExnIGpW5{tL(9)CP6oEVhz8`#IH8KEaRbhn2oCQJ=K-0%cG z=aAmu*48g?rCFrhI=TsPWt`MTap8&%k!*{QXDd$$CGpQRxZ0Drye9Tl6kRCvxSsVB zMi{K6O$s^k4Znpr1@Kau7>TRJja%j0_aMS7uq>uZWiveno6>fYb#Vvrj=43Z=ga3l zSQ>Ei^Wv5SR7Nqd+*^=pr-)gM&UGZ*;)QyVx@6RiI&}NqlpL5~%b~sFMCiaa-0CUc zkPyRwVhP;s4+f)!Nj?7NSBk0r_3pNM&@5Hn!9J`zCW6OXiqo zr?Jqf6Z$BsQ#emwDi^lIaW*>E*RETL-q?FJKdo=8_wAvN!)LPS^l!*}shmtiuZ=+J zW~NYsr4$g$U1lJ*o}n0(z8mLJ`NanCANLM~K3m9G@OeWM$H-}YYQwcmwYsss>S>_X z$9wC|!gQ?M0CR`WVdk-Mv>_mjp{x7mt?9#D&Fp$D?D8}+6KK~wyP;nN!wbUc#+#pRF*ly$1>ro5-wiL@ORy(c=XsO`%dO73AO zU1~`>nwY9dM4{xnutkub9jhC~)eGW%&UIJTzBdn86TM`e{5WXb(iY*XY+@q5Y*djk z1ZO&uYi7j7r+$PzW7N5Q2!IbF^!vG#r|j!qn(;#DyTQV`a24{9wEL09HVQE9YDBKA z0Sy!D)7B)r*z9OXrKfx~VnKAJO~<+%)^FF+CFs3060tA3UUKGcp0Jk!~OylQ{^LD#xbCVvbBJwSn3+nX=$LnjX;VyiWhg`~iXJCo7!e-g%{` zk&Mm@LutUCA8sBuZ46m<*uEqa>P%yi%$BLRJHMFU*{ayA%$u>!waT#L^GTj=7bMh*LB4E8}mDs0f>?03mn{a9FxKO}&-fq`TN;v)1 zk|jyb^HAh?ws4(RkCVFj19i0wRh7WO&X)$Ls=I^5g?=v^t;P8;L+kP|6Q7cKd3Kdi8lA+Zb)rxHuC#DDH{qOxyT7%}gx^Au~xsk4Sfw-H{r4{|u zMYx;NHYM`TVvIq{7o3i|TOc$UD91|dlbzH(GS-kIo2tvoD&D%F-u|g<>GDe+5YnQJ zAnCK1t<=;#(xOZ-T($|^U)*U6o4Q^cJjhs`vSTP-jaX?*Q^YkNWW?&JoAg~lP*k2Y z9Fvp|IJT3|EJp-$R-Xqlg`n4@Lme*i&Fv|veMy%9Z*B1{jyJ*`Tp@PCr3*w%Gt8k zw4dz&&8V2|Z#4|B?JD!TODW-G^D?ly@ zKA5KT^2^I2=!fM`xavjX`VaI=`rf2NJ#N>@0*Nw5O099nfPPN!v2kEzjgZKhQ0Pz^ zin=htIlZ3@OY+*Xku9EGix7F;^zj(57qAVSz;fu0=v!-1WnJTrs9DXc?4!Usr;FU* z&s_WJbXkVwZ@Fk;Dnlz*;m1Z*UvEhfpPap9jiF7!sY(XerrE#+RiLF|JYSNvekM`2 zb1B`>>`rcoY0bsazQ-|G=XZuHC?$wEKHB3QPZdr!_q%elEahpYE7UDb>o``?8_3kJ zm9Thd%Ve~~+8ykd`G7AIW5ceA(EL~k6bIbs8yeIQ`CNV!SrBbEl{_&#F*byQt-NKz z5ptm&F^MW!f#((FhBliE&rXs_Zwc+x3$DF{w;tW|GwxZC57>`xeZp>PHgKZr&7c`! z#qi`^HA3c*+*wc3d?W|hW9iZZmR=Z-@dm911BI*!K7G#;%hs@e@@cAA8v#wDo;og? zHtS+?!UeWlJ5C|eEch4t5~@a`m|roRlS^SR+(F*-6>V{I0vu&NFwa4IG{n z`F#P+LB-24yU|mq$6vPZJ95fcYfk&jC451HV5HAW>NPlIOfPI|?tIvlmvadO*)~oRf4b=sPy$Go z7Npk%kP>>pP(#VTaPN0--S0QweCPkqe`e0iI|E^0tvqWzce(ECzV1b$?`f&hQZZAJ zk&)4=-BHpdBl}HZ;x%D@L;}0>7NJyQz7TjI1P%`ryGS z;CD*5JI0=5WOPl(-zVB2c@N3Rl(f{8ZtDA4tk&Y=xZ2Wlp&?qeBKU~ktpe?>9{+ZF zBy{a@=;O5SX`*iA){ot3KVF|`SPQ%IRZ(T)oLS8PC0mg3M)#L4 z5SN(Rkv9DaGO{Fc7zG(w=Wl3ovd523;7*Wz{`8nYMrLLF8A?X>QD91rjO;$68#@`9 z0JRi7aQdnL)zfi}vUoW;xohDsOV5>b{zi$GJ%O($t+z071RoK?&w6Zg`dC_nDrTop zWlzbo>krh+m&|sTClyUeY*)i!(NE2jCVZpQM_$G4xmlPT%|k*Z=I4w+hZG#=Z+&?a zGZGY?o-&dsC?+Lzk%Gd}FZq7dnX9uj%5=NUbS@4J(ELh&2{)|zswK$q%B?ffx6jFn zl<+gimSvy9Wq<2POpwC6F6R-W!A!YO7a0;3GfXFR@IdM?LA58)!A)Bu&<&TE`=ag= zdaniaqAqA=C@zDFz2426SYYFsyA|%&-pd~qy{P=9mW84xh|kPAu69pjZYombHgN*a zdKypY`dtANBC=4E&IHl6OG!8!7Gew9DES!1uIOLqx!e#NX4ky0Pq)T{>$(v|!4zij zJ|$?$v{;^@*sAwg{DZZ6dB3?r-yJ(W)(ThL9b7cqSYIeX*PRo$T6>i3=4AZ3i65d$ zs1MqCwXLmfS`)@==qArmatS(Z2sn~DKfx~9j)FH z4fFkUB8k~fj@x%4U`KHxt*%KO>>5d!Kq0!d2c9nJIr{mMZdbh)RqLpY)1C2TtGeBl zA2tyGRnOO$LrZ??&Ssu>({8S6XDs3r==>)mhp{O+Sn@N#1>xiZRa^nZo=%cFbxjO$ zULD1sU^lU_@Lj{cexP*yIB;`i@B+XMtltgufC!9p|fU*GrLX04E-Du`$iSo z%Gvp01UCylt#5Kw<*XsX#abB)4o9^UeP!XGwb_#CmZV_k%KBmH%4-ORpl{tm!AtAe z!`tQc_Ohxw+v)g_#f3KujngecnA)R?OL~rCPs3yBwZE=fhHSWjV0$r%O~dpIo>)}C z*3@2)k`XHh;6HCW|4|oi_aNDi~kqI+?TA@so(ad-(F^C)K|>X@)a^m&!G%Za=mL^Q+c82 znnz4O0^Qp4L{)@dyXh1^81}Y&oC3j7KsXysnC`dX=^U!9^nKXpS`hui!wgbFTbgIX za5gNDzdWcp=jvcGE5pXl;)tx3yClvvzE~x-pVjW^wNuQlz_1o+4L$hCG8y!x8^4E6 zH&S58Bc9jdiUOmA4<$=@7H=;IbMlV>8*n>%9&hO-RQm@aB z464;0sA^w!DP|RK5_GM$)(`>*ni>?mzoDT-p|(@Zw$eq4SsK_B?|9t~-`~YjCb;TJ z{D|s4S^Pt!RlAGIc$w1dP&R(-w9rYGzDAf=+v?pI(hfCx^tEd*V=M(P3O?WH`;9N*%!Kf)OpvV z_hPh^p5q$P{`2a-I~-4gvM)*JCq*G*NBP+YKUzI}Yr&!~SQE_iec{l~{9vj=Mj@qG zap|!}zv;)3xD4u{%P!x>eZvMdXbZL<4qE38JWtxIJ*?@85Txh+U@=Hbu`Fvn{q&*~ zGx_MNV%E_CMY%Dk+LS zgbmIJ(n-G5Y<0`oxmB50VpD@Pr89ki@I8I5y>_<2BQX3z`sIGDYaNmTl?Xd`F1s}M zf^n`#aCw zm@bw~t6pcAo}e#OR$o676`8f}K)Ljpzi%8XQSv@`X=>}UV`<~g?7iDB6d8pG#-&*e z)g`RYKk(Z5R7fkBRu8sgZMRH<;OftD@4uMLng~XrT0>(qHs6=J{yLhRvQmk{z)#683JLcF=_`N%A^Qa4h|es=8?EwfXuG z{ou{25;q}4lBZM|RYz|+D9+}6u#U~Asy8y)HwcO{_c|SK>b~a6=zz~Gs+TbrjT|UEep4~%pI6;^=lwRkn>s&wxJuZQLGCkr$@4xhmmUup1Dod$w z(ra^d^tw)O6<3wY4YsXXDrA|!*;R9!-q1T0AF|OueM3d@qxpqBL&rF1k4LxYxp6-u zWx7jDg_r1ttCQ4f0GwM$?JUE}unW?q&UDSiV?#gtA>(TY? zUCf&adK1@&gQ-ZX*8t%vPqas_%MKH8)02k5=SY&x%^Uw095~gSRE*z!rx# z4h#-wA65@K9QkuHwK&Hn@`s7!nkjvXAkI|9;~B>NY)pNZuxcgwXj*g=H2=;bYFD{@ z=KTxWnaM9!tU9gQZP}MqTP5ek$+<2+>S%^0j%;%%Hd~xsjB~^Jfktc;Dt1Tur8;F| zs>!mBctu1@ZEteTNIt_`e`{l8R94e7sg`obwg=N>wd+k?B;IiKM43McS%~<83BN?sPEn!mdv_BosT0ppS6sB_J>~N1I-9xiF>*RmB%-%cxUaAC+_yxsHlmijrKtQ-^J#IxgED z-XcPy@4oNyj_I#fzk*!s&Z0ZH6~QrC-M_7ss_E@|ObeA|aDp<0wmgHh0_`Pl<*;#+ zFFmxe15BFF)3ahK?$3-xP6#~>iW<8$zi=&>mCd~JnYnZ_NBA8L8fxf#Aw_pvScr_) zwYx0sDg^-uJ4ti5@2W9!v?(Lzr!$ABlKQ-~(<{#;f5Hota!1ZnCaS~-j40m47UdCd z5NXO+YMKXmC3;}g`g}{A*4EQXnH*2I;~cNQM7>$qMm8m09om0DZ{fEwwYR=@Q9@** z*U}Mlkzpp5^(k+wXxvcj=%B23!Ay#LLhhX!nG-RP}O^1k&1$LWd-fjmX*D>+*%>50q<6w$p^%?nRG zNFBIFCIyLo)a!$Vkru;15+~*?PaW4sRZI+Nq?f=p_~o#$H>%GzM1C&C0JCl$#7W$K zMuDuc)Ei5|pl+zAS(ugJ-$6&;zMTV8)u z-Co1fTTt!a(R$9DPxsDbsS^TOt@ZJnPWaXxHfqZ?-F7_h$vmkKtZ+B|w(^#Nu-mb4jVu ztVP%8&kL%)?rj_2x~6dLg321N09TrHNk~K+lVZ@>RZ*n@oyNuh!zQ^)sIzzFUJXDYwa_(Jm{Lvo=VGpRhy-nNXRCa zI7(4rU2d+cw}I4O3`T@-YO`9X1s1#dXE}(Uraiy_a^Zr|UfBj)+_sS> z8|x$sJDtVYi@JO6*kNTA+*8K%7wSCQ%C8@A&E52WeM+X}A!%z7%ozNAp>g{ObBL0$ z7kTHzeVn30~N<#rzTQDTbr zQ^l*Q7o+pCl13<~xXx*5N4GHucy1Xac)V#N`4^<|<_vScK z{s;gGG*{`pItJ1y6oYb5?1NM;|5wTb#*;I6T4|P_ z4(d~e)Jas|?%VFxp4ESKgncO%ADTF0^rM$;xH*NQ4msR!rc&C>i=lc@7I3PaSJi?= z%bnCXdZ(ddL%*VHHGZpe_IXOQB7!;QOeQr4b7XB(mdjqhJUCB z&uVo#s5%l}4$Ns5^~T$@gVC)`g~K3g z=GfseSl3nvWzysObn4V-^2d*+aff{;k6+(mFXv zQX+(%8-(`QpW3med^-2B?8jBtFzSnPA}{?#rC*LgR%#Da)~7HWlSJYUU9tH{&3bc2 zOH5W+r{$TW#YU1lAz&ZheB>}+fV4PVv6u;%c8c=N*k4IUHis=lFe%oAxX9F%X$Il~ z!1cj%SVXXx|8f9WDEPryluv5!+l`0@S>o&a$42?<^13p3rv1qaq5-lB?z>GOhy~jz z60wwMaoA|Jjui^t>TLj%cDI9_D}J{X+WBoTs4}D`<7>~+Dk5-it!6q56111(g?$i! zH&r}G;4sIIIaxrLn*nD(LPw1G7a$$I4c)S7+kG2it1HLvr;%%NcWu#up1DA<(_`96Jj_? z8r61AJWMC3vFGzQ{|H=h_QRD>>@T4L2LycrM|2_atV9*0v+;NNgT zBjX{(he^A+wf=rGUP+%#hoT!DElD%AF`2bnTlbPmc9=>egBbxL4QPdTa44{=rSMwM zh1NNRoFS}6zb??|zRP-dEo5sAbYxKGIV~>$l-LuWKfN4-wwlM^vYn)aSV=qMB|-%7 z8k9GV!=+2@31Mt{4tXeREpB^hx!VW{2|B#x_d;B%2U@z0lHwLLMqAhFWJdXQCl3j%C-zXrJ^A2wraM?|mn&BR(}x zKUk5JLy*Ha#ogvkv(pe>v*ugXt4F!nHkxBh=&j)g{3z!bk=&fQwsoU@0Fau!&4Oj90jkc%VmY~bo_ZGd__1$`2c zIfL$htoqicgD=wuz)j}NvL$r&n#*n$R_j<88}mX2e6re;qOJS3tNQLPPWS{|((>DN zn~<&_%&27mL}MlkS%lGKUIj6ItfLE>VBu2Uw-DFT^q^38%#k9_nL!nPH~aDz*RLZZ zYvG=&hDek6BS3uKlOo4S22>OL%XPhd-)C$t7baRw*rtsXDhs`e3*X?oL{DawFKvUS zR)Oe|F8 zTE#WzPWQ==`EgX-MhJ^TdiSGgj-#7`W4G1`nItoLzLT$K1ifN=F66*`Cxdpf;uLgi z@C+WUFi@8P)oJ%v!9fz0@+~qVx0tn2>a|7lmn$UgJWbE3>)C6|^PZ%jpjgtm`j!>) z&M7cQctPK)EP@Na+qjIw+!697s#&? z3VJCXN$t>S@9K`Ksp<(814q}j<|+LJLqTzi&mY->Eg*-1xXLu+pUEiJm_eEUJfJ3MR}kiiZ|Xgz78XZp2k7x=KQG5XT&0SDR7Ty&;-_w4aVwLJ1RXo zbmt`)PWoRPW`!k-NcDJLZ!=wB&g9jQmJ+i0`BH8cty6M6@BX#7Db(}-T=+kx{y!32 z#y4=9#Mq9izK*+#X4$=&N(>b6B^BtSN7*QyaW>_Iik84^&+*j`2G{wpx??Y8Ki(;@04^OI=%zy@B83g)O+#H{3FIe$L}t4o)6-n4S}c zmV!jocHa686&DTo(?@m3+QX2>t1qg{SIb(PpxD1s*O(6{&$_e3!he-z%fbz# z?D7<(gH-?9WKyORb%`Ue^en8K^rcwa{R0N~AsCo#-hsUKrl-6Dnt$~SPV>#CkL2>9 zyPfHa{YcFqeS2=CJ66boxRN%gE$6SW+a9yThPz^TZY%HXkG+BBd`ZM$YfqofUL478 z>ji;V1251kB~*DocM)!2e6f!~hW`|oY;=k;wv;ozl_9I%-?&@M*#$jc5&CDcNb^ed zJmL1hR(jTbh$Gy^k=JTg4|-%@oankdfizA6d)_5(b*Edb>vP~1waT9S`mT(1({(ku zy**TH!KRt8L6AM7NRxpk)wKMp--#xlU1;qVA$`Wx_Fu>Zy8y#|)|D2b|5r4CPT`~< z{|$uPjXz9&hbK_1dV?M28&crEN5bA zB_qr(l)(D=xV}z&hPqzJhqaVX$uYoiWIw9tX|!k7ojHNxQ@A%%auh#mCD<*4MVZge zT~Mm$Q?~7{TKd z?pGr)!;<->dVcZG&=kt-AO0ylja$?>eGK}__pocvza@0Alw%e@ta@fA_EoL=lu@wx zq9NsT^*2ubb9qSmu#+p;hr(t{fGHB*;qUD$rK3&GQ#cy< zTGvj%EEz7Rr04$^Yk|k$F7U(_s{&o8Eo*ieZXV2%ip|>$rA^1|CD+Zi{Xc6$ViId# zyK19fq89-1$5!|&&`Mhgo@oiaR!Czwj6V^q6)-Yf2p=#3SZsFU?`5&UR@GK_au0Ye z9aCX!(*sW~W}J&*O_r;REF35>fTjKp#v*C{VFFK+g_B)?jmv6TWY8@LfA(E5xmf8n zFkiN#?|Hv_o)&p68TRV+CB}3&)(vD2U0n*LFWogr0%!9wJ^qIayGPxy4@V&23NSjc z$Dm+v>NRd9@>S6pn9*_ph`ud-^>;|vyni6fXzUz1O>}Y9d1&9-LVArwa!cpk?9yQ2 zEf1MwAxp;PHaQ=xAAiZY>N(=%A@qGN#=~vTcu*8nw_ZApgG>Z$vL3Z?94BvB=23#< z<%cc&meRz+E!CcekfV?R7MYFNo;7aC6Ua>#l4P$ilJ#Kr;^3#axS9actNSDjCoC7c zF_TU3jgG9ETZfR8YNuIMxKxo3r%-pivu6!z+dtNn>d>iJkM@rD-oQ}C!H4!6NOv2) zX!Riw9RY^d`ux5{Y<)_#8ySOjyF40gg=X$0BN=Etsb}QC9@lY)MkJY%mzeL^IlBQ_ z^aFQ6<5&V+{ik^Q6w{;e^kIX}`Ionch0&$0MKN>_ES6EI?ES}Qda?e;(0#XS8gjiO9ssnM}#fu_D*0h-+ zS?H^cC;LTL!Z}(PvO4_1%or_V?6We6LAAE1z3bqunNu|5)3~jn9^V(ES>NQ^fSB^Q zPJsh5N;G$O7+53LpC6U2B(jEV4p(O0w^o<)+ z*ZCJ!FyKZIG8@eQW{ukPJ{7S&hGIMRUk?d{5zyOhJ@8*Ic5GqdR;)>mBI7LiKX!*A zw1!~}y@P^kdg&Akgt?a|b-ytEy66Scgzari-kZn!l6t3pxa?n!!%0#DwdZGpx?$e{ zumgZ({B3Ee9snGrJEu_XZ_UR|Ecpv3>6z)##6dY24%pG(&Ygs20W3DSu4;VbS+E%7 z6VPtJF7F_Zux`J1pGuX=tsO@myLq<`|Hn)c;?7?UWw zD2CIlE+5<~Jq&vIk7bXxP*dtTou;v_goC@@z9W+^8J0qc6|#2wJU|5g5`>e`Q1^NR z%$eY;=Jzbd3w*pVjwyDC_^0jP&Y*PaIm}Db zp2K0QmQ0Pu0cYz5C@ErqMW+3aYZs6qVp7@^xHmwm`Yof>5Or093l2>(BH5oX3gbxE zZ~r_4tL0FbUYYr50{cyD@mKo>;sy;J&A0rX9mzkmJAZ5#JD{W;U!aE>k`7*TMhu-- zeE$_ez}WEq;gUZca}aPp6wl7@vf>r>Zigo;c=^C2zi|uY^#^?X2_kiblUbNC72}{A z5TGX-UC3P3=9`im{`vk_QD?WLYfD{ae*_$`NiVkyz|pZJH2;MkE~P>D|FD3B1t6N- zH#Ih<4w1k=K$N&=K>BIX8LNw({@DJJogOKc>4 z6HTxFxBLYw1CiUUth05V!1hHZB-|`yK6 zzs=+9G|;s2CvxJV?FtiB6nE2p?p^;Y^71dM(*WfPjN{gF*k&%_(3RR^$N-eEd951b z=pzk;VZoZp`L$uAut^8}AfKT0hlFEcZt-~(!R&`K*^UF%c&3KHsL;(UQZQb$#bbRX z_eewdgI+Mh^Rem8e{vM3p8^4}_`5Ri2dJ-JOFd8PbESodgoI$5QdYC6LLVY#%+OPK z1!gG}O_>%O{JnW)u+S)C*6W64oxo5WbOp6xcuXD+@kesK{jSoL2Stu=7>uRy>q19Y ze(-|LO#MzRGsfeobKM*l|qzdk@luE?0-@g;lgOo82TC15k&%kRJx=MdH|6+ zxn2+~s=->~U4lUS!*TwYa-evh6N-4(r4Xo`;Pd7m4Yd^HxpC3;X-d253q|7lVTZ&5 zl$|nXEXcw{s1Ou(RF#1h!Gj$3JoGwAztrimWq zva-IT2*}z=yIWz9xHm5dUZ63cb@>VBHoBn-Z>5D$eoVn)8qh304Ct~rve7Bz>Yu%I z8`b5%lNSi1)3`aRV|4xtKK|hSKZDs1I{$MD{b(S5Mu#7L!Oz(G2i^baw*F`^e%j_A zeZx=j{GS{7(MkQsB7djC|5Y)PCb~4lkGspy&p#LI=p?M82MROv&SKSqufBM%Hg4Ve zcRBd8sr|*%%FktD4MSMvn0=j`3b%sS-TDgQhRoBmKc+D;ssJ18qwz@(Yi;!b?dG<- zdKY?kq4j~5{g;e#-gM+obQ>8eOf0DBeTlHNq|MoO{IzlYB_$b8cgM!MU1OqId_8$G z%jZ${P=J)PtI`ar+tGIb?vg9Pj`pPe85z_?*VdeYE^&J5#wC0=j7jbyIzVa>EZI5z zsQ%aC%~i`B_pK#^tJ3M6$wDz(HtezxRN{gI(u`E2sJ&TcN_RuC&}3f85G{KUqj(1Z zPzuFE(BP*8LfByw0I=Uz=w$)qo?D+Ju>g%`#(1Z#X22>-Ie_3EyRjgHPMF_!yBz>< z|33o1GA=eCwqw)qV#C`ib`D&kPdFh*!(X=X#SFTFb%!>MnD>=xMh+>A7Hg8yj&jeq z+zK5MKJJwVB@4wSPn}6m42@6!U}>4SQ*`IUM)Lx~!jM2?npRr%N4xPC*PKEB!Pp!y*s`s&u`QP&y{3V`autt6Qq>Ih_f!6?#AJ3oc>1Ebn zla8Gs=4bvvl1#q<)EzEPwApYQDR^Bm_N_P1AYVMp9QU@Q1Vee`@W~Y8$W|(r_-oHO zg^D=V71xyH7l)1bt%ZjR4NN@lfH){;4Eiq9o*;V}@W`dlT`grRpRaQIh!gt(8 zCZ4uJ(+1b_OvkmHe&_{%x0^8JQwtYmPhi4wJe!^z5ujk&El3YWRt&Pz$l`|8ts8B# zIASSrSJHP7gepH!n&wU{0s`_M6Qn=da4LA@d3L$l{~;GYj_uJbihd1aD45n1>Tv|! z>^#O|uwwNqpbd{C;em%*B{NUWiN}4CuJ%79?R&g`;CeX-=P>w5TEL>eAV5(YKyu&A z!%0AW>kI$~zcrDJIyHyd>ZCsp_fU^S>j|dygnGz8>XQKmU)R4E1>pI2^ze~Jc~@%y zz7{!vW)UBrnL+ivaKpYc~IeaVTDj_2Ssu8aWjSy7ri*oxbrNBUbcg?rHkp1Fs ze+<3>Ef!q2L0i7Ba8=nY3mZv&-G?`0br15=0F=NmIQQPW~*ql`Sx;}Z0%IO0=hq4iekt+^N$I6q=e?Z zGq?yQJRdGJ#+$`pQK9{9l>v1uldyAC=CG;aq?)@J^>TI39}~mlwVx71qr5S8e~jNB zXfjO6$s+25yEMD(s5>^^a3;PVZ8C#5nAtUHu(A-)Cs?)5G1nYNYFLAC64iZ?{6cMsSCkoPS6hE`_T& zD~V{SUDCZ=eRRdk-bYWEJ8N*r2L*3+^l8U|QrXRu- zb@1mRui{Tr`!sDegAy?%df!Vfys0SD5A4D`3?-PIV_6~+{da4W#Q?EqOh%P zY~CFgxG8^$9@OMoBa6HmH}r_(cKo8cdQ01wCh!yme?#P$v#WEs<=Xp8NTg({rVBOu z4s-uZcD0Fbql=YMFnPsMOa;9vrkZFKb8JTyNUkV5{>h-J1Vh9{TV+ zI%YLy69jZX)V2OP1*`mXt6G6~iMUb8&)>6oX<|%o z8U_Ezw;|`!1Pap*f}ls>bQ4PI2550O=7x;senDw)kmmD!TmH7+ouT8a>yI5o zSM-gtIl@+}^c^}fD_sl?^>bsoz2JNyGeHxWc$S*C!xM{iVZJG7J_|)mM$1f!7e~As zEnV7K(LyERpz{MosftVb!=aL~vg3v2YhIX(UHPrLFV^xb1h-q<36#OtbR_i!PHfn3 zOU#spl$7aZ@GrHY^d*Sg$~TGo6>>xIkZJsIGx@k*{$YH z-Ed$)`j}2M1QxMw~j7GUu?ZnSA-cNlb2x z2Kl5o^}6#_+>0Jo*xNMtgYz3Q(ovT*3z~)&KRiFHIXnq5QTu)K+PY~Om@@a-Z805x zHP)(pZzH!riPDM~=wNU9{l(bP`Lizk?D1$cP4N$i6oCc46I zLo0eYI_~LiA#v%lliubv`{3v67r*%xSLM zn9@vVc}-sJ17<`@+yx?G|8Iv|>8yJUzgtvSEW63NfLT4GYfCLt(nnIx!ix2chnp#rVXzf$~}4x&Iu*4ju2dsibRgXv4;2(!RAV=QluO}S3MQA@mgy$&V*QMr*Ag4O-n^(0KYp?`0N zt_!%5TdS5wO5;LLu4+n!&ohUyuYwC#M#Jx8beb41GQ(DAv<-kbU7@;&7#d1y?q4jh z#pmy;bGM1h1>VEcw%zQ^g@icr!yaz?ay}Q$V&BN=7HQ65t7sm3d0((WKPxNe)M*%z z*<18|pKh6)<8XWR;->l?0112j;g**CiDl`KO?qqM*xu+Cs{F3(g1=1wUFK6Q%UG?& zI3Hih+3rkh31dh&UUm(fYXoVYz%1F8o3s-*eVu9PqKdOuKXwx(q)WCmA*Sb)DwJ30 zFr22Ego@f5blfCgp{2}Kamo%#xLX{OTdl$t11~ERq|byErDh)DKXP z@;hk)M-N=YSgU;+lPGp}o6Kh(&u`-NK4h|*?;~rWAnz{EHZ@FPd zm7Y6#$TGbo51VgYwD8)95HnpcHk+oZh#%qooRi>5DTUV%wRa8&qc4PQxVkBC>eICy zep_MmXEds`cDd$5^>K05;y1Lc)5+W*-J_9x}H0z#--Y{0vxqWWvTsEj_3B$9NecMS>Ri;qMuLT+$#yk7g969H5KKC z7Uy0MS2)(hO^`k2roi32xeGk1AtvPb;xh1XVI;UPGlfYasudu=lOv0Cpy|?$x8_cp zjZtJ%ROqnKm+LTgiMHpZQz$j0N%7j<$rHb;Ovzn8L)o*a35s@TeY|ya;mJ3 zlIe+qUk*HTZm9GOE*#~cAYBefQ0wAH1+wYqTi-e zOn#yXy_v)3JAoZ@Y_mAy7TEy3clLZnf7X1;IZv$qqwgh`X6*S`DkKxoEZ!{RX~6K* z%7Hlc`kGv>YPU$XDgSCS)?8d>*Ykal?&D`~q2Dqkv$N*{;|0qXOY>FsyB}Ry7#=P# z7nx;1s8^n!0%n_Uul(^|8y+&x5TQtD>am1fNeHLr>prrV%V@Sp`(sBrPd5e~H5H+J z%xni$BT&_rqKsXJ&fDt1nrDTbU8xq^Ns$a>&&d9E;u~s#{rv}?HgG=0i^5}YZnO&( zSMg9|!qY5(^sSWhs`+WfrQQan&vHoagKLRmixNXkilB$r$Hc!Xzs5op6T18fe)X1g~K1(F+`)!`2)kGHLryL!7e_eHtW(fGdHQhMEGL z4e#P+2W7flN<4*h@s#Ew$*CcuPkc{fo|M diff --git a/chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img4.png b/chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img4.png deleted file mode 100644 index fe61e98f0eecef0b213b272adcd905459c1fdb41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17600 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 T`#SK}5fT+e4TUfFpZWb?aVHL` diff --git a/chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img5.png b/chart-sdk/asp-net-core/chart/Chart-Title_images/Chart-Title_img5.png deleted file mode 100644 index 817873d712b7276d4fd39ed0042961700fe8798d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19634 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 xrHX?V | -| Screen Reader Support | Yes | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Yes | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | - - -

Yes - All features of the component meet the requirement.
- -
Intermediate - Some features of the component do not meet the requirement.
- -
No - The component does not meet the requirement.
- - -## WAI-ARIA attributes - -The Chart component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Chart component: - -* img (role) -* button (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) -* aria-pressed (attribute) - -## Keyboard interaction - -The Chart component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Chart component. - -| **Press** | **To do this** | -| --- | --- | -| Alt + J | Moves the focus to the chart element. | -| Tab | Moves the focus to the next element in the chart. | -| Shift + Tab | Moves the focus to the previous element in the chart. | -| Down Arrow | Moves the focus to the data point left side from the selected point. | -| Up Arrow | Moves the focus to the data point right side from the selected point. | -| Left Arrow | Moves the focus to the next series in the chart. | -| Right Arrow | Moves the focus to the previous series in the chart. | -| ESC | Cancel the tooltip for the data point. | -| Enter/Space | Selects the data point in the series. | -| Down/Left Arrow | Moves the focus to the legend left side from the selected legend. | -| Up/Right Arrow | Moves the focus to the legend right side from the selected legend. | -| Enter/Space | Toggles the visibility of the corresponding series. | -| Ctrl + + | Zoom in the chart. | -| Ctrl + - | Zoom out the chart. | -| Down/Up Arrow | Pan the chart vertically. | -| Left/Right Arrow | Pan the chart horizontally. | -| R | Reset the zoomed chart. | -| Ctrl + P | Prints the Chart. | - -## Ensuring accessibility - -The Chart component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Chart component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/chart.html) in a new window to evaluate the accessibility of the Chart component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/chart.html" %} - -## See also - -* [Accessibility in ASP.NET Core components](../common/accessibility) diff --git a/chart-sdk/asp-net-core/chart/advanced-accessibility-configuration.md b/chart-sdk/asp-net-core/chart/advanced-accessibility-configuration.md deleted file mode 100644 index 88e43386b..000000000 --- a/chart-sdk/asp-net-core/chart/advanced-accessibility-configuration.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -layout: post -title: Accessibility customization in Syncfusion Accumulation chart Component -description: Learn here all about Accessibility customization in Syncfusion ASP MVC Accumulation Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Accessibility customization in ASP.NET Core Chart component - -The ASP.NET Core Chart component is structured to visualize data in a graphical manner. It provides robust customization options for accessibility, allowing you to enhance the user experience for those with disabilities. The main attributes of the ASP.NET Core Chart component's accessibility customization are briefly explained in this section. - -The chart component has a number of characteristics that enable accessibility features to be customized, including: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the chart, improving support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the chart, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Allows the chart to receive focus, making it accessible via keyboard navigation. -* [`FocusBorderColor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_FocusBorderColor) - Sets the color of the focus border, enhancing visibility when the chart is focused. -* [`FocusBorderMargin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_FocusBorderMargin) - Defines the margin around the focus border. -* [`FocusBorderWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_FocusBorderWidth) - Specifies the width of the focus border. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the chart element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/line/line.cs %} -{% endhighlight %} -{% endtabs %} - -## Series - -The [`Series`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Series) supports the customization of accessibility for data points, allowing key characteristics to be adjusted for enhanced accessibility, such as: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_AccessibilityDescription) - Provides a text description for the series root element, enhancing support for screen readers. -* [`AccessibilityDescriptionFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_AccessibilityDescriptionFormat) - Specifies a format for the accessibility description of each point in the series, allowing dynamic content. The format string can include the placeholders such as ${series.name}, ${point.x}, ${point.y}, ${point.high}, etc. For example, the format "${series.name} : ${point.x}" displays the series name and x-value of the point in the accessibility description. Data point's values like high, low, open, and close are applicable based on the series types. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_AccessibilityRole) - Specifies the role of the series, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_Focusable) - Allows the series to receive focus, making it accessible via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_TabIndex) - Specifies the tab order of the series element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/series/series.cs %} -{% endhighlight %} -{% endtabs %} - -## Title and subtitle - -In the ASP.NET Core chart component, the [`TitleStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TitleStyle) and [`SubTitleStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SubTitleStyle) attributes allow you to customize the accessibility of the chart's title and subtitle. The following [`Accessibility`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_Accessibility) properties in [`TitleStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TitleStyle) and [`SubTitleStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SubTitleStyle) can be customized for accessibility: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the chart title and subtitle, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the chart title and subtitle, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Enables or disables the keyboard navigation focus for the title and subtitle. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the title and subtitle element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/title/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/title/title.cs %} -{% endhighlight %} -{% endtabs %} - -## Annotations - -The [`Annotations`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Annotations) property allows you to add annotations to the chart in specific regions. The following `Accessibility` properties in [`Annotations`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Annotations) can be customized for accessibility: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the annotation, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the annotation, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether annotations are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the annotation element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/annotation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Annotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/annotation/annotation.cs %} -{% endhighlight %} -{% endtabs %} - -## Trendline - -The `Trendlines` property allows you to display trends in the data. The following `Accessibility` properties in `Trendlines` can be customized for accessibility: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the trendline, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the trendline, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether trendlines are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the trendline element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/trendline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Trendline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/trendline/trendline.cs %} -{% endhighlight %} -{% endtabs %} - -## Zooming - -The [`ZoomSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_ZoomSettings) attributes allow you to adjust the chart's zooming capability. The following [`Accessibility`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_ChartZoomSettings_Accessibility) properties in [`ZoomSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_ZoomSettings) offer the parameters for accessibility customization: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the zoom toolkit items, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the zoom toolkit items, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether zoom toolkit items are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the zooming element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/zoom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Zoom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/zoom/zoom.cs %} -{% endhighlight %} -{% endtabs %} - -## Technical indicators - -The [`Indicators`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Indicators) property allows you to analyze the trends and patterns in the data. The following `Accessibility` properties in [`Indicators`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Indicators) can be customized for accessibility: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the indicators, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the indicators, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether indicators are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the indicators element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/indicator/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Indicator.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/indicator/indicator.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend - -The [`LegendSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) provide information about the series shown in the chart. The following [`Accessibility`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Accessibility) properties in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) can be used to alter the accessibility of the chart's legend: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the legend root element, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the legend items to screen readers, providing appropriate context. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether legend items are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the legend element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/legend/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/accessibility/legend/legend.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/axis-customization.md b/chart-sdk/asp-net-core/chart/axis-customization.md deleted file mode 100644 index 57324e551..000000000 --- a/chart-sdk/asp-net-core/chart/axis-customization.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -layout: post -title: Axis Customization in ASP.NET Core Syncfusion Chart Component -description: Learn here all about Axis Customization in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis Customization in ASP.NET Core Chart Component - -## Axis Crossing - -An axis can be positioned in the chart area using `crossesAt` and `crossesInAxis` properties. The `crossesAt` property specifies the values (datetime, numeric, or logarithmic) at which the axis line has to be intersected with the vertical axis or vice-versa, and the `crossesInAxis` property specifies the axis name with which the axis line has to be crossed. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/axis-cross/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Axis-cross.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/axis-cross/axis-cross.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Title - -You can add a title to the axis using [`title`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Title) property to provide quick information to the user about the data plotted in the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/title/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - -## Title Rotation - -By using the [`titleRotation`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_TitleRotation) property, you can rotate the axis title from 0 to 360 degree. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/titlerotation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="TitleRotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/titlerotation/titlerotation.cs %} -{% endhighlight %} -{% endtabs %} - - -## Tick Lines Customization - -You can customize the  `width`, `color` and `size` of the minor and major tick lines, using [`majorTickLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MajorTickLines) and [`minorTickLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MinorTickLines) properties in the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/tick/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tick.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/tick/tick.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Grid Lines Customization - -You can customize the `width`, `color` and `dashArray` of the minor and major grid lines, using [`majorGridLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MajorGridLines) and [`minorGridLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MinorGridLines) properties in the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/grid/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Grid.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/grid/grid.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Multiple Axis - -In addition to primary X and Y axis, add n number of axis to the chart. Series can be associated with this axis, by mapping with axis's unique name. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/multiple/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Multiple.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/multiple/multiple.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Inversed Axis - - - -When an axis is inversed, highest value of the axis comes closer to origin and vice versa. To place an axis in inversed manner set this property [`isInversed`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_IsInversed) to true. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/inversed/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Inversed.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/inversed/inversed.cs %} -{% endhighlight %} -{% endtabs %} - - -## Opposed Position - - -To place an axis opposite from its original position, set [`opposedPosition`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_OpposedPosition) property of the axis to true. - - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/opposed/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opposed.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/opposed/opposed.cs %} -{% endhighlight %} -{% endtabs %} - - - - diff --git a/chart-sdk/asp-net-core/chart/axis-labels.md b/chart-sdk/asp-net-core/chart/axis-labels.md deleted file mode 100644 index 203428f23..000000000 --- a/chart-sdk/asp-net-core/chart/axis-labels.md +++ /dev/null @@ -1,251 +0,0 @@ ---- -layout: post -title: Axis Labels in Syncfusion ASP.NET Core Chart Component -description: Learn here all about Axis Labels in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis Labels in ASP.NET Core Chart Component - -## Smart Axis Labels - -When the axis labels overlap with each other, you can use [`labelIntersectAction`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelIntersectAction) property in the axis, to place them smartly. - -When setting `labelIntersectAction` as `Hide` - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/hide/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Hide.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/hide/hide.cs %} -{% endhighlight %} -{% endtabs %} - - - -When setting `labelIntersectAction` as `Rotate45` - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/rotate45/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rotate45.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/rotate45/rotate45.cs %} -{% endhighlight %} -{% endtabs %} - - - -When setting `labelIntersectAction` as `Rotate90` - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/rotate90/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rotate90.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/rotate90/rotate90.cs %} -{% endhighlight %} -{% endtabs %} - - -## Axis Labels Positioning - -By default, the axis labels can be placed `outside` the axis line and this also can be placed `inside` the axis line using the `labelPosition` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Multilevel Labels - -Any number of levels of labels can be added to an axis using the `multiLevelLabels` property. This property can be configured using the following properties: - -• Categories -• Overflow -• Alignment -• Text style -• Border - -### Categories - -Using the categories property, you can configure the `start`, `end`, `text`, and `maximumTextWidth` of multilevel labels. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-category/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Category.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-category/category.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Overflow - -Using the `overflow` property, you can `trim` or `wrap` the multilevel labels. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-overflow/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Overflow.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-overflow/overflow.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Alignment - -The `alignment` property provides option to position the multilevel labels at `far`, `center`, or `near`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-alignment/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Alignement.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-alignment/alignement.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Text customization - -The `textStyle` property of multilevel labels provides options to customize the `size`, `color`, `fontFamily`, `fontWeight`, `fontStyle`, `opacity`, `textAlignment` and `textOverflow`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-textcustom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Text-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-textcustom/text-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Border customization - -Using the `border` property, you can customize the `width`, `color`, and `type`. The `type` of border are `Rectangle`, `Brace`, `WithoutBorder`, `WithoutTopBorder`, `WithoutTopandBottomBorder` and `CurlyBrace`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-bordercustom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/multi-bordercustom/border-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Edge Label Placement - -Labels with long text at the edges of an axis may appear partially in the chart. To avoid this, use [`edgeLabelPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_EdgeLabelPlacement) property in axis, which moves the label inside the chart area for better appearance or hides it. By default, the [`edgeLabelPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_EdgeLabelPlacement) property is set to **Shift** to ensure that labels are shifted inside the chart area, avoiding any overlap or coincidence. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/edge/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Edge.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/edge/edge.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Labels Customization - -The [`labelStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelStyle) property of an axis provides options to customize the `color`, `font-family`, `font-size` and `font-weight` of the axis labels. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/labels-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Labels-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/labels-custom/labels-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customizing Specific Point - -You can customize the specific text in the axis labels using `axisLabelRender` event. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/custom-point/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/custom-point/custom-point.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Trim using maximum label width - -You can trim the label using [`enableTrim`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_EnableTrim) property and width of the labels can also be customized using [`maximumLabelWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MaximumLabelWidth) property in the axis, the value maximum label width is `34` by default. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/labels-trim/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Labels-trim.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/labels-trim/labels-trim.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Line break support - -Line break feature used to customize the long axis label text into multiple lines by using `
` tag. Refer the following example in that dataSource x value contains long text, it breaks into two lines by using `
` tag. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/line-break/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Line-break.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/line-break/line-break.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Maximum Labels - -`MaximumLabels` property is set, then the labels will be rendered based on the count in the property per 100 pixel. If you have set range (minimum, maximum, interval) and maximumLabels, then the priority goes to range only. If you haven’t set the range, then priority is considered to be maximumLabels property. - -{% tabs %} -{% highlight c# tabtitle="Max-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/max-label/max-label.cs %} -{% endhighlight %} -{% endtabs %} - -## Axis label template - -The axis label template allows you to customize axis labels by formatting them with HTML content, applying conditional styling, and including dynamic elements such as icons, images or additional data. This customization is enabled by setting the template content in the `labelTemplate` property of the [ChartAxis](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html). - -{% tabs %} -{% highlight c# tabtitle="Label-template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple/label-template/label-template.cs %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core Chart Control](images/axislabel-template.png) diff --git a/chart-sdk/asp-net-core/chart/category-axis.md b/chart-sdk/asp-net-core/chart/category-axis.md deleted file mode 100644 index b4f7132ac..000000000 --- a/chart-sdk/asp-net-core/chart/category-axis.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -layout: post -title: Category Axis in ASP.NET Core Chart Component | Syncfusion -description: Learn here all about Category Axis in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Category Axis -publishingplatform: chart-sdk -documentation: ug ---- - - -# ASP.NET Core Category Axis - - - -Category axis are used to represent, the string values instead of numbers. - -To quickly get started with ASP.NET Core Category Axis, you can check out this video: - -{% youtube "https://www.youtube.com/watch?v=l3M5ZvM1Ozs" %} - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Labels Placement - - - -By default, category labels are placed between the ticks in an axis, this can also be placed on ticks using [`labelPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelPlacement) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/placement/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Placement.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/placement/placement.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -Range of the category axis can be customized using [`minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Minimum), [`maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Maximum) and [`interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Indexed category axis - -Category axis also can be rendered based on the index values of data source. This can be achieved by defining the `isIndexed` property to `true` in the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/index/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Index.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/category/index/index.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/chart-annotations.md b/chart-sdk/asp-net-core/chart/chart-annotations.md deleted file mode 100644 index 475f7f409..000000000 --- a/chart-sdk/asp-net-core/chart/chart-annotations.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -layout: post -title: Chart Annotations in ASP.NET Core Chart Component -description: Learn here all about Chart Annotations in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart Annotations -publishingplatform: chart-sdk -documentation: ug ---- - - -# Annotation - -Annotations are used to mark the specific area of interest in the chart area with texts, shapes or images. - - - -You can add annotations to the chart by using the annotations option. By using the [`content`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAnnotation.html#Syncfusion_EJ2_Charts_ChartAnnotation_Content) option of annotation object, you can specify the id of the element that needs to be displayed in the chart area. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/annotation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Annotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/annotation/annotation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Region - -Annotations can be placed either with respect to `Series` or `Chart`. By default, it will be placed with respect to `Chart`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/region/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Region.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/region/region.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Co-ordinate Units - -Specified the coordinates units of the annotation either with `Pixel` or `Point`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/co-ordinate/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Co-ordinate.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/co-ordinate/co-ordinate.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Alignment - -Annotation provides `verticalAlignment` and `horizontalAlignment`. The `verticalAlignment` can be customized via `Top`, `Bottom` or `Middle` and the `horizontalAlignment` can be customized via `Near`, `Far` or `Center`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/alignment/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Alignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/alignment/alignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Adding y-axis sub title through on annotation - -By setting text div in the `content` option of annotation object, you can add sub title to chart y-axis. Specify the `coordinate` value as `pixel` and customize x and y location of the text. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/axis-sub/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Axis-sub.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/axis-sub/axis-sub.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/chart-appearance.md b/chart-sdk/asp-net-core/chart/chart-appearance.md deleted file mode 100644 index 35b1b0d8b..000000000 --- a/chart-sdk/asp-net-core/chart/chart-appearance.md +++ /dev/null @@ -1,247 +0,0 @@ ---- -layout: post -title: Chart Appearance in Syncfusion Chart Component -description: Learn here all about Chart Appearance in Syncfusion ASP Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart Appearance -publishingplatform: chart-sdk -documentation: ug ---- - - -# Appearance in Core Chart component - -## Chart theme customization - -You can customize the default theme of the chart `theme` property. There are 9 themes available. They are, `Material`, `Fabric`, `Bootstrap`, `HighContrastLight`, `MaterialDark`, `FabricDark`, `HighContrast`, `BootstrapDark` and `Bootstrap4`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/theme/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Theme.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/theme/theme.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Custom color palette - -You can customize the default color of series or points by providing a custom color palette of your choice by using the [`palettes`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Palettes) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Data point customization - -The color of individual data point or data points within a range can be customized using the options below. - -### Point color mapping - -You can bind the color for the points from [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource) for the series using [`pointColorMapping`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_PointColorMapping) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/point-color/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-color.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/point-color/point-color.cs %} -{% endhighlight %} -{% endtabs %} - -### Range color mapping - -You can differentiate data points based on their y values using [`rangeColorSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRangeColorSettings.html) in the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/range-color/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range-color.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/range-color/range-color.cs %} -{% endhighlight %} -{% endtabs %} - -## Point level customization - -Marker, datalabel and fill color of each data point can be customized with [`pointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) and [`textRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TextRender) event. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/point/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/point/point.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Chart area customization - - - -**Customize the chart background** - - -Using [`background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Background) and [`border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Border) properties, you can change the background color and border of the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/area/area.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Chart margin** - -You can set margin for chart from its container through [`margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Margin) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/margin/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Chart area customization** - -Using [`background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartArea.html#Syncfusion_EJ2_Charts_ChartArea_Background) and [`border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartArea.html#Syncfusion_EJ2_Charts_ChartArea_Border) properties, you can change the background color and border of the chart area. Width for the chart area can be customized using [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartArea.html#Syncfusion_EJ2_Charts_ChartArea_Width) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/background/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Background.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/background/background.cs %} -{% endhighlight %} -{% endtabs %} - -**Chart area margin** - -You can customize the space between the chart area from its chart container through [`Margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartArea.html#Syncfusion_EJ2_Charts_ChartArea_Margin) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/area-margin/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area-margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/area-margin/area-margin.cs %} -{% endhighlight %} -{% endtabs %} - -## Animation - -You can customize animation for a particular series using [`animation`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAnimation.html) property. You can enable or disable animation of the series using `enable` property, `duration` specifies the duration of an animation and `delay` allows us to start the animation at desire time. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/animation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - -## Fluid animation - -Fluid animation used to animate series with updated dataSource continues animation rather than animation whole series. You can customize animation for a particular series using [`animate`] method. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/fluid-animation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Fluid.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/fluid-animation/fluid.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Chart title - -Chart can be given a title using [`title`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Title) property, to show the information about the data plotted. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/title/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Title position - -By using the [`Position`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_Position) property in [`TitleStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TitleStyle), you can position the [`Title`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Title) at left, right, top or bottom of the chart. The title is positioned at the top of the chart, by default. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/titleposition/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Titleposition.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/titleposition/titleposition.cs %} -{% endhighlight %} -{% endtabs %} - - - -The custom option helps you to position the title anywhere in the chart using [`X`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_X) and [`Y`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_Y) coordinates. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/titleoption/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Titleoption.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/titleoption/titleoption.cs %} -{% endhighlight %} -{% endtabs %} - - -### Title alignment - -You can align the title to the near, far, or center of the chart using the [`TextAlignment`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_TextAlignment) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/titlealignment/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Titlealignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/titlealignment/titlealignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Chart subTitle - -Chart can be given a subtitle using [`subTitle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SubTitle) property, to show the information about the data plotted. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/subtitle/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Subtitle.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/subtitle/subtitle.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-dimensions.md b/chart-sdk/asp-net-core/chart/chart-dimensions.md deleted file mode 100644 index 25f3bb6a1..000000000 --- a/chart-sdk/asp-net-core/chart/chart-dimensions.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -layout: post -title: Chart Dimensions in ASP.NET Core Chart Component -description: Learn here all about Chart Dimensions in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart Dimensions -publishingplatform: chart-sdk -documentation: ug ---- - - -# Chart Dimensions - -## Size for Container - -Chart can render to its container size. You can set the size via inline or CSS as demonstrated below. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Size for Chart - -You can also set size for chart directly through [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Width) and [`height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Height) properties. - - -**In Pixel** - - -You can set the size of chart in pixel as demonstrated below. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/pixel/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/pixel/pixel.cs %} -{% endhighlight %} -{% endtabs %} - - - -**In Percentage** - -By setting value in percentage, chart gets its dimension with respect to its container. For example, when the height is ‘50%’, chart renders to half of the container height. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/percentage/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> When you do not specify the size, it takes `450px` as the height and window size as its width. \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-print.md b/chart-sdk/asp-net-core/chart/chart-print.md deleted file mode 100644 index fda3b13c8..000000000 --- a/chart-sdk/asp-net-core/chart/chart-print.md +++ /dev/null @@ -1,154 +0,0 @@ ---- -layout: post -title: Chart Print in Syncfusion ASP.NET Core Chart Component -description: Learn here all about Chart Print in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart print -publishingplatform: chart-sdk -documentation: ug ---- - -# Print and Export in ASP.NET Core Chart component - -## Print - -The rendered chart can be printed directly from the browser by calling the public method print. You can pass array of ID of elements or element to this method. By default, it takes element of the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/print/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/print/print.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Export - -The rendered chart can be exported to `JPEG`, `PNG`, `SVG`, `PDF`, `XLSX`, or `CSV` format using the export method in chart. The input parameters for this method are `type` for format and `fileName` for result. - -The optional parameters for this method are, -* `Orientation` - either portrait or landscape mode during PDF export, -* `Controls` - pass collections of controls for multiple export, -* `Width` - width of chart export, -* `Height` - height of chart export, -* `IsVertical` - decides the chart export in vertical or horizontal direction, -* `Header` - header for the exported chart, -* `Footer` - footer for the exported chart, and -* `ExportToMultiplePages` - decides to export multiple charts on separate pages for PDF export. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/export/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/export/export.cs %} -{% endhighlight %} -{% endtabs %} - -### Adding header and footer in PDF export - -In the export method, specify the following parameters to add a header and footer text to the exported PDF document: - -* `Header` - Specify the text that should appear at the top of the exported PDF document. -* `Footer` - Specify the text that should appear at the bottom of the exported PDF document. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/header-footer/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Header-footer.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/header-footer/header-footer.cs %} -{% endhighlight %} -{% endtabs %} - -### Positioning the header and footer in PDF export - -The headers and footers can be positioned anywhere on the PDF page using the `x` and `y` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/header-footerPosition/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Header-footerPosition.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/header-footerPosition/header-footerPosition.cs %} -{% endhighlight %} -{% endtabs %} - -### Exporting charts into separate page during the PDF export - -During PDF export, set the `ExportToMultiplePage` parameter to **true** to export each chart as a separate page. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/multi-page/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Multi-page.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/multi-page/multi-page.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Export with optional parameters** - -The rendered chart can be exported to specific orientation, width and height by passing it as optional parameters in the export method of chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/export-optionalParameter/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/export-optionalParameter/export.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Multiple chart export - -You can export the multiple charts in single page by passing the multiple chart objects in the export method of chart. To export multiple charts in a single page, follow the given steps: - -Initially, render more than one chart to export, and then add button to export the multiple charts. In button click, call the export method in charts, and then pass the multiple chart objects in the export method. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/multi-export/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Multi-export.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/multi-export/multi-export.cs %} -{% endhighlight %} -{% endtabs %} - -## Exporting chart using base64 string - -The chart can be exported as an image in the form of a base64 string by utilizing HTML canvas. This process involves rendering the chart onto a canvas element and then converting the canvas content to a base64 string. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/base64-export/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Base64-export.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/base64-export/base64-export.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Excel export - -You can export the rendered chart data to Excel in either `XLSX` or `CSV` format. The `ExcelProperties` property in the [`BeforeExport`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_BeforeExport) event allows users to customize the exported Excel sheet by modifying row, column, and cell properties before the file is generated. You can customize row titles, column titles, cell values, as well as row and column widths. - - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/excel-export/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Excel-export.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/excel-export/excel-export.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/chart/chart-series.md b/chart-sdk/asp-net-core/chart/chart-series.md deleted file mode 100644 index a87edfda3..000000000 --- a/chart-sdk/asp-net-core/chart/chart-series.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -layout: post -title: Chart Series in ASP.NET Core Chart Component -description: Learn here all about Chart Series in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart Series -publishingplatform: chart-sdk -documentation: ug ---- - -# Chart Series in Chart Component - -## Multiple Series - -You can add multiple series to the chart by using [`Series`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html) property. The series are rendered in the order as it is added to the series array. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/multiple-series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Multiple-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/multiple-series/multiple-series.cs %} -{% endhighlight %} -{% endtabs %} - -## Combination Series - -Combination of different types like Line, column etc, can be rendered in a chart. - -N>Bar series cannot be combined with any other series as the axis orientation is different from other series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/combination/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Combination.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/combination/combination.cs %} -{% endhighlight %} -{% endtabs %} - -## Enable Complex Property in Series - -By setting [`EnableComplexProperty`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_EnableComplexProperty) value as **true** in series you can bind complex data to the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/complex/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Complex.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/complex/complex.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/area.md b/chart-sdk/asp-net-core/chart/chart-types/area.md deleted file mode 100644 index d4d5d50b1..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/area.md +++ /dev/null @@ -1,192 +0,0 @@ ---- -layout: post -title: Area Chart in ASP.NET Core Charts -description: Learn here all about Area Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Area Chart in ASP.NET Core Charts - -## Area - -To render an [area](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Area** in your chart configuration. This indicates that the data should be represented as an area chart, which is ideal for showing trends over time or across categories, with filled areas beneath the lines representing data points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area/area.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area/area.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `area` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area-fill/area-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area-grad/area-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -## Area border - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/area-border/area-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Multicolored area - -To render a multicolored area series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **MultiColoredArea** in your chart configuration. This specifies that the series should be rendered as a multicolored area chart, with different segments of the area having distinct colors. - -* **Customize the Segments:** Define the segments of the series using the segments property. Each segment can be customized with properties such as value, color, and dashArray. - - * `value` - Specifies the endpoint of the segment. - * `color` - Defines the color of the segment. - * `dashArray` - Defines the dashes or gaps in the segment. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/multicolor-area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Multicolor-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/multicolor-area/multicolor-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/bar.md b/chart-sdk/asp-net-core/chart/chart-types/bar.md deleted file mode 100644 index ee8f6c089..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/bar.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -layout: post -title: Bar Chart in ASP.NET Core Charts -description: Learn here all about Bar Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Bar chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Bar Chart in ASP.NET Core Charts - -## Bar - -To render a [bar](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/bar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Bar** in your chart configuration. This indicates that the data should be represented as a bar chart, which makes it easy to compare values across categories. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar/bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar/bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `bar` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-fill/bar-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the bar series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-grad/bar-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Bar space and width - -### Bar space - -Use the `columnSpacing` property in the series to adjust the space between bars. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-space/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-space.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-space/bar-space.cs %} -{% endhighlight %} -{% endtabs %} - -### Bar width - -Use the `columnWidth` property in the series to adjust the width of the bars. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-width/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-width/bar-width.cs %} -{% endhighlight %} -{% endtabs %} - -### Bar width in pixel - -Use the `columnWidthInPixel` property in the series to define the exact width of the bars in pixels. This property ensures that each bar maintains the specified width, providing a uniform appearance throughout the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-pixel/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-pixel/bar-pixel.cs %} -{% endhighlight %} -{% endtabs %} - -## Grouped bar - -Use the `groupName` property to group the data points in bar type charts. Data points with the same group name will be grouped together in the chart, making it easy to compare different sets of data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/group-bar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group-bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/group-bar/group-bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Cylindrical bar chart - -To render a cylindrical bar chart, set the `columnFacet` property to **Cylinder** in the chart series. This property transforms the regular bars into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/bar-cylinder/bar-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for bar series. This allows you to create bars with rounded corners, giving your chart a more polished appearance. You can customize each corner of the bars using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/point-corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/box-whisker.md b/chart-sdk/asp-net-core/chart/chart-types/box-whisker.md deleted file mode 100644 index 656adfb49..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/box-whisker.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -layout: post -title: Box and Whisker Chart in ASP.NET Core Charts -description: Learn here all about Box and Whisker Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Box and Whisker Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Box and Whisker Chart in ASP.NET Core Charts - -## Box and Whisker - -To render a `box and whisker` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **BoxAndWhisker** in your chart configuration. This indicates that the data should be represented as a box and whisker chart, which will plot segments to illustrate the statistical distribution of the data. - -* **Data requirements:** The y field of the Box and Whisker series requires a specific number of data points, with a minimum of five values needed to plot a segment. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Box.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box/box.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Box.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box/box.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `box and whisker` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Box-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box-fill/box-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the box and whisker series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Box-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box-grad/box-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Box Plot - -To change the rendering mode of the box and whisker series, use the `boxPlotMode` property. The default value for `boxPlotMode` is **Exclusive**. The other available options for `boxPlotMode` are **Inclusive** and **Normal**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box-plot/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Box-plot.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box-plot/box-plot.cs %} -{% endhighlight %} -{% endtabs %} - -## Show mean - -In the box and whisker series, the `showMean` property is used to display the average value of the box and whisker. The default value of `showMean` is **false**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box-mean/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Box-mean.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/box-mean/box-mean.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/box/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/bubble.md b/chart-sdk/asp-net-core/chart/chart-types/bubble.md deleted file mode 100644 index 8a856f6e1..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/bubble.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -layout: post -title: Bubble Chart in ASP.NET Core Charts -description: Learn here all about Bubble Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Bubble Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Bubble Chart in ASP.NET Core Charts - -## Bubble - -To render a [bubble](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/bubble-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Bubble** in your chart configuration. This indicates that the data should be displayed as a bubble series in the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/bubble/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bubble.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/bubble/bubble.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/bubble/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bubble.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/bubble/bubble.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `bubble` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/bubble-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bubble-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/bubble-fill/bubble-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -## Bubble size mapping - -Use the `size` property to map the size of each bubble to the value specified in the data source. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/bubble/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bubble.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/bubble/bubble.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/bubble/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/candle.md b/chart-sdk/asp-net-core/chart/chart-types/candle.md deleted file mode 100644 index 24ab52b32..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/candle.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -layout: post -title: Candle Chart in ASP.NET Core Charts -description: Learn here all about Candle Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Candle Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Candle Chart in ASP.NET Core Charts - -To get started with the ASP.NET Core Candle charts, you can check on this video: - -{% youtube "https://www.youtube.com/watch?v=O3akshh4BvM" %} - -## Candle - -The Candle series, similar to the Hilo Open Close series, is used to represent the low, high, open, and closing prices over time. It is commonly used in financial charts to visualize stock price movements. - -To render a `candle` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Candle** in your chart configuration. This indicates that the data should be represented as a candle chart, providing a detailed view of stock price fluctuations by displaying the high, low, open, and close values for each time period. - -* **Provide high, low, open, and close values:** The Candle series requires five fields (x, high, low, open, and close) to accurately display the stock’s high, low, open, and close prices. Ensure that your data source includes these fields to create a detailed representation of stock price movements over time. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/candle/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Candle.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/candle/candle.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName`, `high`, `low`, `open` and `close` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/candle/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Candle.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/candle/candle.cs %} -{% endhighlight %} -{% endtabs %} - -## Hollow Candles - -Hollow candles in candle charts allow you to visually compare the current price with the previous price by coloring them differently. The candles are filled or left hollow based on the following criteria: - - - - - - - - - - - - - - - -
StatesDescription
FilledCandlesticks are filled when the close value is less than the open value.
UnfilledCandlesticks are unfilled when the close value is greater than the open value.
- -The color of the candle will be defined by comparing it with previous values. The bear color will be applied when the current closing value is greater than the previous closing value. The bull color will be applied when the current closing value is less than the previous closing value. - -By default, the `bullFillColor` is set to **red** and the `bearFillColor` is set to **green**. - -## Solid Candles - -The `enableSolidCandles` property is used to enable or disable solid candles. By default, it is set to false. The fill color of the candle will be determined by its opening and closing values. - -* The `bearFillColor` will be applied when the opening value is less than the closing value. -* The `bullFillColor` will be applied when the opening value is greater than the closing value. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/solid-candle/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Solid-candle.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/solid-candle/solid-candle.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/candle/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/column.md b/chart-sdk/asp-net-core/chart/chart-types/column.md deleted file mode 100644 index dcc504d21..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/column.md +++ /dev/null @@ -1,272 +0,0 @@ ---- -layout: post -title: Column Chart in ASP.NET Core Charts -description: Learn here all about Column Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Column Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Column Chart in ASP.NET Core Charts - -## Column - -To render a [column series](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/column-chart) in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Column** in your chart configuration. This indicates that the data should be represented as a column chart, which is ideal for visualizing for comparing different categories of data or tracking changes over time. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column/column.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column/column.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `column` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-fill/column-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the column series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-grad/column-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Column space and width - -### Column space - -Use the `columnSpacing` property in the series to adjust the space between columns. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-space/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-space.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-space/column-space.cs %} -{% endhighlight %} -{% endtabs %} - -### Column width - -Use the `columnWidth` property in the series to adjust the width of the columns. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-width/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-width/column-width.cs %} -{% endhighlight %} -{% endtabs %} - -### Column width in pixel - -Use the `columnWidthInPixel` property in the series to define the exact width of the columns in pixels. This property ensures that each column maintains the specified width, providing a uniform appearance throughout the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-pixel/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-pixel/column-pixel.cs %} -{% endhighlight %} -{% endtabs %} - - -## Grouped column - -Use the `groupName` property to group the data points in column type charts. Data points with the same group name will be grouped together in the chart, making it easy to compare different sets of data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/group-column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/group-column/group-column.cs %} -{% endhighlight %} -{% endtabs %} - -## Cylindrical column chart - -To render a cylindrical column chart, set the `columnFacet` property to **Cylinder** in the chart series. This property transforms the regular columns into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/column-cylinder/column-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for column series. This allows you to create columns with rounded corners, giving your chart a more polished appearance. You can customize each corner of the columns using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/point-corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column-charts/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/error-bar.md b/chart-sdk/asp-net-core/chart/chart-types/error-bar.md deleted file mode 100644 index 818ec78bd..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/error-bar.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -layout: post -title: Error Bar Chart in ASP.NET Core Charts -description: Learn here all about Error Bar Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Error Bar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Error Bar Chart in ASP.NET Core Charts - -## Error Bar - -Error bars are graphical representations of the variability of data and are used on graphs to indicate the error or uncertainty in a reported measurement. - -To render error bars for the series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -**Set visibility:** Set the visible property to true for the error bars to be displayed. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/errorbar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Errorbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/errorbar/errorbar.cs %} -{% endhighlight %} -{% endtabs %} - -## Customizing error bar - -To customize the error bar type, set the error bar `type` to **Custom**, and then change the horizontal or vertical positive and negative error values for the error bar. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/errorbar-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Errorbar-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/errorbar-custom/errorbar-custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Error bar mode - -The error bar mode is used to define whether the error bar line is drawn horizontally, vertically or on both sides. To change the error bar mode, use the `mode` option. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/mode/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Mode.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/mode/mode.cs %} -{% endhighlight %} -{% endtabs %} - -## Error bar direction - -To change the direction of the error bars to plus, minus, or both sides, use the `direction` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/direction/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Direction.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/direction/direction.cs %} -{% endhighlight %} -{% endtabs %} - -## Customizing error bar cap - -To customize the length, width, opacity, and fill color of the error bar caps, you can use the `errorBarCap` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/errorbarcap/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Errorbarcap.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/errorbarcap/errorbarcap.cs %} -{% endhighlight %} -{% endtabs %} - -## Customizing error bar color - -To customize the error bar color for individual errors, use the `errorBarColorMapping` property. You can also customize the vertical error, horizontal error, horizontal negative and positive error, and vertical negative and positive error for an individual point using the `verticalError`, `horizontalError`, `horizontalNegativeError`, `horizontalPositiveError`, `verticalNegativeError`, and `verticalPositiveError` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/errorbarcolor/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Errorbarcolor.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/errorbarcolor/errorbarcolor.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/error-bar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/high-low-open-close.md b/chart-sdk/asp-net-core/chart/chart-types/high-low-open-close.md deleted file mode 100644 index da46d1631..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/high-low-open-close.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -layout: post -title: High Low Open Close Chart in ASP.NET Core Charts -description: Learn here all about High Low Open Close Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: High Low Open Close Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# High Low Open Close Chart in ASP.NET Core Charts - -## High Low Open Close - -To render an `hiloOpenClose` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **HiloOpenClose** in your chart configuration. This indicates that the data should be represented as a hiloOpenClose chart, which displays the high, low, open, and close values for each data point, providing a comprehensive visualization of stock price movements. - -* **Provide high, low, open, and close values:** The `HiloOpenClose` series requires five fields (x, high, low, open, and close) to accurately display the stock’s high, low, open, and close prices. Ensure that your data source includes these fields to create a detailed representation of stock price movements over time. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/high-low/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="High-low.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/high-low/high-low.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName`, `high`, `low`, `open` and `close` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/high-low/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="High-low.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/high-low/high-low.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -In the `hiloOpenClose` series, the `bullFillColor` property is used to fill the segment when the open value is greater than the close value, while the `bearFillColor` property is used to fill the segment when the open value is less than the close value. By default, `bullFillColor` is set to **#e74c3d** and `bearFillColor` is set to **#2ecd71**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/custom-openclose/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-openclose.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/custom-openclose/custom-openclose.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/high-low/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/high-low.md b/chart-sdk/asp-net-core/chart/chart-types/high-low.md deleted file mode 100644 index 003e09f88..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/high-low.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -layout: post -title: High Low Chart in ASP.NET Core Charts -description: Learn here all about High Low Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: High Low Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# High Low Chart in ASP.NET Core Charts - -To get started with the ASP.NET Core Hilo charts, you can check on this video: - -{% youtube "https://www.youtube.com/watch?v=O3akshh4BvM" %} - -## Hilo - -To render a `hilo` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Hilo** in your chart configuration. This indicates that the data should be represented as a hilo chart, which shows the high and low values for each data point, illustrating price movements in stocks and providing a clear visualization of price ranges. - -* **Provide high and low values:** The Hilo series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum price, while the low value represents the minimum price of the stock. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/hilo/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Hilo.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/hilo/hilo.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName`, `high`, and `low` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/hilo/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Hilo.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/hilo/hilo.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the hilo series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/hilo-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Hilo-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/hilo-fill/hilo-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the hilo series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/hilo-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Hilo-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/hilo-grad/hilo-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/hilo/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/histogram.md b/chart-sdk/asp-net-core/chart/chart-types/histogram.md deleted file mode 100644 index 26f8b3767..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/histogram.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: post -title: Histogram Chart in ASP.NET Core Charts -description: Learn here all about Histogram Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Histogram Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Histogram Chart in ASP.NET Core Charts - -## Histogram - -To render a [histogram](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/histogram-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Histogram** in your chart configuration. This indicates that the data should be represented as a histogram chart, providing a visual display of large amounts of data that are difficult to understand in a tabular or spreadsheet format. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/histogram/histogram/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Histogram.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/histogram/histogram/histogram.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/histogram/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/histogram/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/histogram/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/histogram/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/line.md b/chart-sdk/asp-net-core/chart/chart-types/line.md deleted file mode 100644 index 42c756bc2..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/line.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -layout: post -title: Line Chart in ASP.NET Core Charts -description: Learn here all about Line Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Line Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Line Chart in ASP.NET Core Charts - -## Line - -To render a [line](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/line-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - - * **Set the series type:** Define the series `type` as **Line** in your chart configuration. This indicates that the data should be represented as a line chart, which is ideal for visualizing trends over time or across categories. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/line/line.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/line/line.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `line` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/series-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/series-line/series-line.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the line series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/series-line-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-line-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/series-line-grad/series-line-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/custom-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/custom-line/custom-line.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `dashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/line-width/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Line-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/line-width/line-width.cs %} -{% endhighlight %} -{% endtabs %} - -## Multicolored line - -To render a multicolored line series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **MultiColoredLine** in your chart configuration. This specifies that the series should be rendered as a multicolored line chart, with different segments of the line having distinct colors. - -* **Map individual colors:** Utilize the `pointColorMapping` property to assign individual colors to each data point. This allows you to customize the color of each segment of the line based on your data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/multi-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Multi-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/multi-line/multi-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series Render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/line-charts/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/pareto.md b/chart-sdk/asp-net-core/chart/chart-types/pareto.md deleted file mode 100644 index da2f25cf8..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/pareto.md +++ /dev/null @@ -1,186 +0,0 @@ ---- -layout: post -title: Pareto Chart in ASP.NET Core Charts -description: Learn here all about Pareto Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Pareto Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Pareto Chart in ASP.NET Core Charts - -## Pareto - -Pareto charts are used to find the cumulative values of data in different categories. It is a combination of **Column** and **Line** series, where the initial values are represented by the column chart and the cumulative values are represented by the line chart. - -To render a **pareto** series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -**Set the series type:** Define the series `type` as **Pareto** in your chart configuration. This indicates that the data should be represented as a pareto chart, will use a combination of column and line series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/pareto/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Pareto.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/pareto/pareto.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/pareto/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Pareto.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/pareto/pareto.cs %} -{% endhighlight %} -{% endtabs %} - -## Pareto customization - -## Fill - -Use the `fill` property to apply a color to the pareto line. By default, a color based on the theme is used. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/pareto-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Pareto-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/pareto-fill/pareto-fill.cs %} -{% endhighlight %} -{% endtabs %} - -### Width - -Use the `width` property to control the thickness of the line for the pareto series, which affects its visual weight on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/pareto-width/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Pareto-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/pareto-width/pareto-width.cs %} -{% endhighlight %} -{% endtabs %} - -### Dash array - -The `dashArray` property determines the pattern of dashes and gaps in the pareto line series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/dasharray/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dasharray.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/dasharray/dasharray.cs %} -{% endhighlight %} -{% endtabs %} - -### Marker - -Use the `marker` property to display and customize markers for individual points in a pareto line. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/marker/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Marker.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/marker/marker.cs %} -{% endhighlight %} -{% endtabs %} - -### Show axis - -Use the `showAxis` property to show or hide the secondary axis for the pareto series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/showaxis/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Showaxis.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/showaxis/showaxis.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/pareto/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/polar.md b/chart-sdk/asp-net-core/chart/chart-types/polar.md deleted file mode 100644 index 6d09a70a7..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/polar.md +++ /dev/null @@ -1,287 +0,0 @@ ---- -layout: post -title: Polar Chart in ASP.NET Core Charts -description: Learn here all about Polar Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Polar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Polar Chart in ASP.NET Core Charts - -To get started with the ASP.NET Core Polar charts, you can check on this video: - -{% youtube "https://www.youtube.com/watch?v=cwIaOclRzwY" %} - -## Polar chart - -To render a [polar](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/polar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Polar** in your chart configuration. This indicates that the data should be represented as a polar chart, which is ideal for plotting data points on a circular graph. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-line/polar-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-line/polar-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Draw types - -Use the `drawType` property to change the series plotting type in a Polar chart to line, column, area, range column, spline, scatter, stacking area, spline area, or stacking column. The default value of `drawType` is **Line**. - -### Line - -To render a line draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `drawType` as **Line** in your chart configuration. This indicates that the data should be represented as a polar line chart, with lines connecting each data point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-line/polar-line.cs %} -{% endhighlight %} -{% endtabs %} - -### Spline - -To render a spline draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `drawType` as **Spline** in your chart configuration. This indicates that the data should be represented as a polar spline chart, with smooth, curved lines connecting each data point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-spline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-spline/polar-spline.cs %} -{% endhighlight %} -{% endtabs %} - -### Area - -To render an area draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `drawType` as **Area** in your chart configuration. This indicates that the data should be represented as a polar area chart, with filled areas below the lines connecting each data point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-area/polar-area.cs %} -{% endhighlight %} -{% endtabs %} - -### Stacked Area - -To render a stacked area draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `drawType` as **StackingArea** in your chart configuration. This indicates that the data should be represented as a polar stacked area chart, with areas stacked on top of each other, displaying the cumulative value of multiple series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-stackedarea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-stackedarea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-stackedarea/polar-stackedarea.cs %} -{% endhighlight %} -{% endtabs %} - -### Column - -To render a column draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `drawType` as **Column** in your chart configuration. This indicates that the data should be represented as a polar column chart, allowing for the comparison of values across categories. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-column/polar-column.cs %} -{% endhighlight %} -{% endtabs %} - -### Stacked Column - -To render a stacked column draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `drawType` as **StackingColumn** in your chart configuration. This indicates that the data should be represented as a polar stacked column chart, with each column consisting of multiple segments stacked on top of each other. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-stackedcolumn/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-stackedcolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-stackedcolumn/polar-stackedcolumn.cs %} -{% endhighlight %} -{% endtabs %} - -### Range Column - -To render a range column draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `drawType` as **RangeColumn** in your chart configuration. This indicates that the data should be represented as a polar range column chart, where each column spans a range of values. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-rangecolumn/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-rangecolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-rangecolumn/polar-rangecolumn.cs %} -{% endhighlight %} -{% endtabs %} - -### Scatter - -To render a scatter draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `drawType` as **Scatter** in your chart configuration. This indicates that the data should be represented as a polar scatter chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-scatter/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-scatter.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-scatter/polar-scatter.cs %} -{% endhighlight %} -{% endtabs %} - -### Spline area - -To render an spline area draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `drawType` as **SplineArea** in your chart configuration. This indicates that the data should be represented as a polar spline area chart, where the series is drawn with smooth, curved lines connecting each data point, and the area beneath the line is filled with color. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-splinearea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-splinearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/polar-splinearea/polar-splinearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -### Start Angle - -You can customize the start angle of the polar series using startAngle property. By default, `startAngle` is **0** degree. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/start-angle/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Start-angle.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/start-angle/start-angle.cs %} -{% endhighlight %} -{% endtabs %} - -### Radius - -You can customize the radius of the polar series using `coefficient` property. By default, `coefficient` is **100**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/co-efficient/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Co-efficient.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/co-efficient/co-efficient.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/polar-radar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/radar.md b/chart-sdk/asp-net-core/chart/chart-types/radar.md deleted file mode 100644 index 811cdcbb4..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/radar.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -layout: post -title: Radar Chart in ASP.NET Core Charts -description: Learn here all about Radar Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Radar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Radar Chart in ASP.NET Core Charts - -To get started with the ASP.NET Core Radar charts, you can check on this video: - -{% youtube "https://www.youtube.com/watch?v=cwIaOclRzwY" %} - -## Radar - -To render a [radar](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/radar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -**Set the series type:** Define the series `type` as **Radar** in your chart configuration. This indicates that the data should be represented as a radar chart, which is ideal for plotting data points on a circular grid. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/radar-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Radar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/radar-line/radar-line.cs %} -{% endhighlight %} -{% endtabs %} - -### Draw type - -Similar to the polar chart, use the `drawType` property to change the series plotting type in a Radar chart to line, column, area, range column, spline, scatter, stacking area, spline area, or stacking column. The default value of `drawType` is **Line**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/radar-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Radar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/radar-line/radar-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/radar-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Radar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/radar-line/radar-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Customization - -### Start angle - -You can customize the start angle of the radar series using `startAngle` property. By default, startAngle is 0 degree. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/start-angle/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Start-angle.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/start-angle/start-angle.cs %} -{% endhighlight %} -{% endtabs %} - -### Radius - -You can customize the radius of the radar series using `coefficient` property. By default, `coefficient` is **100**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/radius/radius.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/radar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/range-area.md b/chart-sdk/asp-net-core/chart/chart-types/range-area.md deleted file mode 100644 index 2d83a126a..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/range-area.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -layout: post -title: Range Area Chart in ASP.NET Core Charts -description: Learn here all about Range Area Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Area Chart in ASP.NET Core Charts - -## Range Area - -To render a [range area](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/range-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **RangeArea** in your chart configuration. This indicates that the data should be represented as a range area chart, which is ideal for visualizing a range of values for each data point. This type of chart is particularly useful for displaying data that has a range between a minimum and maximum value, such as temperature ranges, stock price ranges, or any other type of data that varies within a specific interval. - -* **Provide high and low values:** The RangeArea series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum range, while the low value represents the minimum range for each data point. These values define the upper and lower boundaries of the area for each point on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/rangearea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rangearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/rangearea/rangearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName`, `high`, and `low` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/rangearea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rangearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/rangearea/rangearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the range area series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/rangearea-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rangearea-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/rangearea-fill/rangearea-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the range area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/rangearea-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rangearea-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/rangearea-grad/rangearea-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/range-column.md b/chart-sdk/asp-net-core/chart/chart-types/range-column.md deleted file mode 100644 index 863414cf8..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/range-column.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -layout: post -title: Range Column Chart in ASP.NET Core Charts -description: Learn here all about Range Column Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range Column Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Column Chart in ASP.NET Core Charts - -## Range Column - -To render a [range column](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/range-column-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **RangeColumn** in your chart configuration. This indicates that the data should be represented as a range column chart, which is ideal for visualizing data that has both minimum and maximum values for each category. This is especially useful for visualizing data ranges, such as temperature fluctuations over time, stock prices, or any other data with upper and lower bounds. - -* **Provide high and low values:** The RangeColumn series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum range, while the low value represents the minimum range for each data point. These values define the upper and lower boundaries of the column for each point on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/rangecolumn/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rangecolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/rangecolumn/rangecolumn.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName`, `high`, and `low` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/rangecolumn/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rangecolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/rangecolumn/rangecolumn.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `range column` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/rangecolumn-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rangecolumn-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/rangecolumn-fill/rangecolumn-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the range column series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/rangecolumn-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rangecolumn-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/rangecolumn-grad/rangecolumn-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for range column series. This allows you to create range columns with rounded corners, giving your chart a more polished appearance. You can customize each corner of the range columns using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/point-corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-column/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/range-step-area.md b/chart-sdk/asp-net-core/chart/chart-types/range-step-area.md deleted file mode 100644 index a384ff23d..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/range-step-area.md +++ /dev/null @@ -1,199 +0,0 @@ ---- -layout: post -title: Range Step Area Chart in ASP.NET Core Charts -description: Learn here all about Range Step Area Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range Step Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Step Area Chart in ASP.NET Core Charts - -## Range Step Area - -To render a range step area series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series type as RangeStepArea in your chart configuration. This indicates that the data should be represented as a range step area chart, which is ideal for displaying data points as a range with high and low values. It connects these points with vertical and horizontal lines, creating a step like appearance. - -* **Provide high and low values:** The RangeStepArea series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum range, while the low value represents the minimum range for each data point. These values define the upper and lower boundaries of the area for each point on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/range-step-area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range-step-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/range-step-area/range-step-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName`, `high`, and `low` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/range-step-area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range-step-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/range-step-area/range-step-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `range step area` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/range-step-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range-step-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/range-step-fill/range-step-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the range step area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/range-step-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range-step-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/range-step-grad/range-step-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Step** - -Use the `step` property to change the position of the steps in a range step area series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/step/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/step/step.cs %} -{% endhighlight %} -{% endtabs %} - -**No risers** - -You can eliminate the vertical lines between points by using the `NoRisers` property in a series. This approach is useful for highlighting trends without the distraction of risers. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/rangesteparea/no-risers/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="No-risers.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/rangesteparea/no-risers/no-risers.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is Gap. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/range-step-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/scatter.md b/chart-sdk/asp-net-core/chart/chart-types/scatter.md deleted file mode 100644 index 315744ef5..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/scatter.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -layout: post -title: Scatter Chart in ASP.NET Core Charts -description: Learn here all about Scatter Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Scatter Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Scatter Chart in ASP.NET Core Charts - -## Scatter - -To render a [scatter](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/scatter-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Scatter** in your chart configuration. This indicates that the data should be displayed as individual points scattered across the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/scatter/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Scatter.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/scatter/scatter.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/scatter/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Scatter.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/scatter/scatter.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `scatter` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/scatter-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Scatter-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/scatter-fill/scatter-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Shape** - -The `shape` property allows you to customize the appearance of the markers by specifying different shapes. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/shape/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Shape.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/shape/shape.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/scatter/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/spline-area.md b/chart-sdk/asp-net-core/chart/chart-types/spline-area.md deleted file mode 100644 index cdbc58af4..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/spline-area.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -layout: post -title: Spline Area Chart in ASP.NET Core Charts -description: Learn here all about Spline Area Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Spline Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - -# Spline Area Chart in ASP.NET Core Charts - -## Spline Area - -To render a [spline area](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/spline-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **SplineArea** in your chart configuration. This indicates that the data should be represented as a spline area chart, where data points are connected by smooth, curved lines (splines) instead of straight lines. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/spline-area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/spline-area/spline-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/spline-area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/spline-area/spline-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `spline area` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/splinearea-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Splinearea-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/splinearea-fill/splinearea-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the spline area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/spline-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/spline-grad/spline-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/custom-spline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/custom-spline/custom-spline.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/spline-range-area.md b/chart-sdk/asp-net-core/chart/chart-types/spline-range-area.md deleted file mode 100644 index 33e708530..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/spline-range-area.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -layout: post -title: Spline Range Area Chart in ASP.NET Core Charts -description: Learn here all about Spline Range Area Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Spline Range Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Spline Range Area Chart in ASP.NET Core Charts - -## Spline Range Area - -To render a [spline range area](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/spline-range-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **SplineRangeArea** in your chart configuration. This indicates that the data should be represented as a spline range area chart, which is ideal for visualizing continuous data points as a set of splines that vary between high and low values over intervals of time and across different categories. - -* **Provide high and low values:** The SplineRangeArea series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum range, while the low value represents the minimum range for each data point. These values define the upper and lower boundaries of the area for each point on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/splinerangearea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Splinerangearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/splinerangearea/splinerangearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName`, `high`, and `low` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/splinerangearea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Splinerangearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/splinerangearea/splinerangearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `spline range area` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/range-spline-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range-spline-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/range-spline-fill/range-spline-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the spline range area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/range-spline-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range-spline-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/range-spline-grad/range-spline-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is Gap. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline-range/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/spline.md b/chart-sdk/asp-net-core/chart/chart-types/spline.md deleted file mode 100644 index 4703777d5..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/spline.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -layout: post -title: Spline Chart in ASP.NET Core Charts -description: Learn here all about Spline Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Spline Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Spline Chart in ASP.NET Core Charts - -## Spline - -To render a [spline](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/spline-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Spline** in your chart configuration. This indicates that the series should be represented as a smooth curve, connecting data points with a spline rather than straight lines. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline/spline.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline/spline.cs %} -{% endhighlight %} -{% endtabs %} - -## Spline type - -Use the `splineType` to define the type of the spline series. The default type is **Natural**, which creates a smooth curve through the data points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/splinetype/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Splinetype.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/splinetype/splinetype.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `spline` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline-fill/spline-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the spline series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline-grad/spline-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/custom-spline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/custom-spline/custom-spline.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `dashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline-width/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/spline-width/spline-width.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/spline/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/stack-area100.md b/chart-sdk/asp-net-core/chart/chart-types/stack-area100.md deleted file mode 100644 index 8404f7227..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/stack-area100.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -layout: post -title: 100% Stacked Area Chart in ASP.NET Core Charts -description: Learn here all about 100% Stacked Area Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked Area Chart in ASP.NET Core Charts - -## 100% Stacked Area Chart - -To render a [100% stacked area](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/100-stacked-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StackingArea100** in your chart configuration. This indicates that the data should be represented as a 100% stacked area chart, where the cumulative values for each data point are expressed as a percentage of the total. This ensures that the sum of all series at each point is always 100%. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/stackedarea100/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedarea100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/stackedarea100/stackedarea100.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/stackedarea100/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedarea100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/stackedarea100/stackedarea100.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `100% stacked area` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/stacked-area100-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-area100-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/stacked-area100-fill/stacked-area100-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the 100% stacked area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/stacked-area100-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-area100-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/Stacked-area100-grad/stacked-area100-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area-100/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/stack-bar100.md b/chart-sdk/asp-net-core/chart/chart-types/stack-bar100.md deleted file mode 100644 index d7fab0b90..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/stack-bar100.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -layout: post -title: 100% Stacked Bar Chart in ASP.NET Core Charts -description: Learn here all about 100% Stacked Bar Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked Bar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked Bar Chart in ASP.NET Core Charts - -## 100% Stacked Bar - -To render a [100% stacked bar](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/100-stacked-bar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StackingBar100** in your chart configuration. This indicates that the data should be represented as a 100% stacked bar chart, with segments that show the percentage contribution of each part. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stacked-bar100/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stacked-bar100/stacked-bar100.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stacked-bar100/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stacked-bar100/stacked-bar100.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `100% stacked bar` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stacked-bar100-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar100-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stacked-bar100-fill/stacked-bar100-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the 100% stacked bar series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stacked-bar100-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar100-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stacked-bar100-grad/stacked-bar100-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## 100% Cylindrical stacked bar chart - -To render a 100% cylindrical stacked bar chart, set the `columnFacet` property to **Cylinder** in the chart series. This property transforms the regular 100% stacked bars into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stackedbar100-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar100-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/stackedbar100-cylinder/stackedbar100-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for 100% stacked bar series. This allows you to create 100% stacked bars with rounded corners, giving your chart a more polished appearance. You can customize each corner of the 100% stacked bars using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/point-corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar100/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/stack-column100.md b/chart-sdk/asp-net-core/chart/chart-types/stack-column100.md deleted file mode 100644 index 3880eca75..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/stack-column100.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -layout: post -title: 100% Stacked Column Chart in ASP.NET Core Charts -description: Learn here all about 100% Stacked Column Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked Column Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked Column Chart in ASP.NET Core Charts - -## 100% Stacked Column - -To render a [100% stacked column](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/100-stacked-column-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StackingColumn100** in your chart configuration. This indicates that the data should be represented as a 100% stacked column chart, with segments that show the percentage contribution of each part. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stacked-column100/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stacked-column100/stacked-column100.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stacked-column100/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stacked-column100/stacked-column100.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `100% stacked column` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stacked-column100-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column100-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stacked-column100-fill/stacked-column100-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the 100% stacked column series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stacked-column100-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column100-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stacked-column100-grad/stacked-column100-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## 100% Cylindrical stacked column chart - -To render a 100% cylindrical stacked column chart, set the `columnFacet` property to **Cylinder** in the chart series. This property transforms the regular 100% stacked columns into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stackedcolumn100-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn100-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/stackedcolumn100-cylinder/stackedcolumn100-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for 100% stacked column series. This allows you to create 100% stacked columns with rounded corners, giving your chart a more polished appearance. You can customize each corner of the 100% stacked columns using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/point-corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column100/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/stack-line100.md b/chart-sdk/asp-net-core/chart/chart-types/stack-line100.md deleted file mode 100644 index 9b37a1bf6..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/stack-line100.md +++ /dev/null @@ -1,184 +0,0 @@ ---- -layout: post -title: 100% Stacked Line Chart in ASP.NET Core Charts -description: Learn here all about 100% Stacked Line Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked Line Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked Line Chart in ASP.NET Core Charts - -## 100% Stacked Line - -To render a [100% stacked line](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/100-stacked-line-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StackingLine100** in your chart configuration. This indicates that the data should be represented as a 100% stacked line chart, with each data series shown as a percentage of the total. This chart type ensures that all lines are stacked to always reach 100% at each data point, allowing for easy comparison of the proportional relationships between the series without the influence of absolute values. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line-100/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line-100/stacked-line-100.cs %} -{% endhighlight %} -{% endtabs %} - - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line-100/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line-100/stacked-line-100.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `100% stacked line` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line100-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line100-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line100-fill/stacked-line100-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the 100% stacked line series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line100-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line100-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line100-grad/stacked-line100-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line100-opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line100-opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line100-opacity/stacked-line100-opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `dashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line-100/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-100.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/stacked-line-100/stacked-line-100.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line-100/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/stacked-area.md b/chart-sdk/asp-net-core/chart/chart-types/stacked-area.md deleted file mode 100644 index 4d284d5c3..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/stacked-area.md +++ /dev/null @@ -1,214 +0,0 @@ ---- -layout: post -title: Stacked Area Chart in ASP.NET Core Charts -description: Learn here all about Stacked Area Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Area Chart in ASP.NET Core Charts - -## Stacked Area - -To render a [stacked area](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/stacked-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StackingArea** in your chart configuration. This indicates that the data should be represented as a stacked area chart, which is ideal for showing the contribution of each part to a total over time or across other categorical data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stackedarea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedarea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stackedarea/stackedarea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stackedarea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedarea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stackedarea/stackedarea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked area` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stacked-area-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-area-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stacked-area-fill/stacked-area-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the stacked area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stacked-area-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-area-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stacked-area-grad/stacked-area-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stack-labels/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stack-labels-cus/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/stacked-bar.md b/chart-sdk/asp-net-core/chart/chart-types/stacked-bar.md deleted file mode 100644 index 30784ae2f..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/stacked-bar.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -layout: post -title: Stacked Bar Chart in ASP.NET Core Charts -description: Learn here all about Stacked Bar Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Bar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Bar Chart in ASP.NET Core Charts - -## Stacked Bar - -To render a [stacked bar](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/stacked-bar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StackingBar** in your chart configuration. This indicates that the data should be represented as a stacked bar chart, where each bar consists of multiple segments stacked horizontally on top of each other. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stacked-bar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stacked-bar/stacked-bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stacked-bar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stacked-bar/stacked-bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked bar` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stacked-bar-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stacked-bar-fill/stacked-bar-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the stacked bar series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stacked-bar-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stacked-bar-grad/stacked-bar-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Stacking group - -Use the `stackingGroup` property to group stacked bars and 100% stacked bars. Bars with the same group name are stacked on top of each other. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/group/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/group/group.cs %} -{% endhighlight %} -{% endtabs %} - -## Cylindrical stacked bar chart - -To render a cylindrical stacked bar chart, set the `columnFacet` property to **Cylinder** in the chart series. This property transforms the regular stacked bars into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stackedbar-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stackedbar-cylinder/stackedbar-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stack-labels/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stack-labels-cus/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for stacked bar series. This allows you to create stacked bars with rounded corners, giving your chart a more polished appearance. You can customize each corner of the stacked bars using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/point-corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-bar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/stacked-column.md b/chart-sdk/asp-net-core/chart/chart-types/stacked-column.md deleted file mode 100644 index 156a1447a..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/stacked-column.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -layout: post -title: Stacked Column Chart in ASP.NET Core Charts -description: Learn here all about Stacked Column Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Column Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Column Chart in ASP.NET Core Charts - -## Stacked Column - -To render a [stacked column](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/stacked-column-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StackingColumn** in your chart configuration. This indicates that the data should be represented as a stacked column chart, where each column consists of multiple segments stacked on top of each other. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stacked-column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stacked-column/stacked-column.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stacked-column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stacked-column/stacked-column.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked column` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stacked-column-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stacked-column-fill/stacked-column-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the stacked column series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stacked-column-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stacked-column-grad/stacked-column-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Stacking group - -Use the `stackingGroup` property to group stacked columns and 100% stacked columns. Columns with the same group name are stacked on top of each other. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/group/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/group/group.cs %} -{% endhighlight %} -{% endtabs %} - -## Cylindrical stacked column chart - -To render a cylindrical stacked column chart, set the `columnFacet` property to **Cylinder** in the chart series. This property transforms the regular stacked columns into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stackedcolumn-cylinder/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stackedcolumn-cylinder/stackedcolumn-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stack-labels/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stack-labels-cus/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for stacked column series. This allows you to create stacked columns with rounded corners, giving your chart a more polished appearance. You can customize each corner of the stacked columns using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/point-corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-column/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/stacked-line.md b/chart-sdk/asp-net-core/chart/chart-types/stacked-line.md deleted file mode 100644 index c603daf01..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/stacked-line.md +++ /dev/null @@ -1,227 +0,0 @@ ---- -layout: post -title: Stacked Line Chart in ASP.NET Core Charts -description: Learn here all about Stacked Line Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Line Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Line Chart in ASP.NET Core Charts - -## Stacked Line - -To render a [stacked line](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/stacked-line-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StackingLine** in your chart configuration. This indicates that the data should be represented as a stacked line chart, allowing multiple data series to be stacked on top of each other. This makes it easier to compare the contribution of each series to the total over a specific period. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line/stacked-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line/stacked-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked line` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line-fill/stacked-line-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the stacked line series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line-grad/stacked-line-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line-opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line-opacity/stacked-line-opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `dashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Width.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stacked-line/stacked-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is Gap. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stack-labels/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stack-labels-cus/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-line/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/stacked-step-area.md b/chart-sdk/asp-net-core/chart/chart-types/stacked-step-area.md deleted file mode 100644 index cf051ba2e..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/stacked-step-area.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -layout: post -title: Stacked Step Area Chart in ASP.NET Core Charts -description: Learn here all about Stacked Step Area Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Step Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Step Area Chart in ASP.NET Core Charts - -## Stacked Step Area - -To render a stacked step area series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StackingStepArea** in your chart configuration. This indicates that the data should be represented as a stacked step area chart, which is a combination of a stacked area chart and a step area chart. It connects the data points with vertical and horizontal lines, creating a step like appearance. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stackedsteparea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedsteparea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stackedsteparea/stackedsteparea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stackedsteparea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedsteparea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stackedsteparea/stackedsteparea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked step area` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stacked-step-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-step-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stacked-step-fill/stacked-step-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the stacked step area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stacked-step-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-step-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stacked-step-grad/stacked-step-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Step** - -Use the `step` property to change the position of the steps in a stacked step area series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/step/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/step/step.cs %} -{% endhighlight %} -{% endtabs %} - -**No risers** - -You can eliminate the vertical lines between points by using the `NoRisers` property in a series. This approach is useful for highlighting trends without the distraction of risers. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/stackedsteparea/no-risers/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="No-risers.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/stackedsteparea/no-risers/no-risers.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stack-labels/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stack-labels-cus/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/stacked-steparea/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/step-area.md b/chart-sdk/asp-net-core/chart/chart-types/step-area.md deleted file mode 100644 index 3546412be..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/step-area.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -layout: post -title: Step Area Chart in ASP.NET Core Charts -description: Learn here all about Step Area Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Step Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Step Area Chart in ASP.NET Core Charts - -## Step Area - -To render a [step area](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/step-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StepArea** in your chart configuration. This indicates that the data should be represented as a step area chart, which connects data points with vertical and horizontal lines, creating a step like appearance. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/steparea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Steparea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/steparea/steparea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/steparea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Steparea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/steparea/steparea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `step area` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/steparea-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Steparea-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/steparea-fill/steparea-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the step area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/steparea-fill-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Steparea-fill-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/steparea-fill-grad/steparea-fill-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Step** - -Use the `step` property to change the position of the steps in a step area series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/step/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/step/step.cs %} -{% endhighlight %} -{% endtabs %} - -**No risers** - -You can eliminate the vertical lines between points by using the `NoRisers` property in a series. This approach is useful for highlighting trends without the distraction of risers. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/stepareaseries/no-risers/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="No-risers.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/stepareaseries/no-risers/no-risers.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/step-line.md b/chart-sdk/asp-net-core/chart/chart-types/step-line.md deleted file mode 100644 index e9586ccb6..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/step-line.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -layout: post -title: Step Line Chart in ASP.NET Core Charts -description: Learn here all about Step Line Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Step Line Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Step Line Chart in ASP.NET Core Charts - -## Step Line - -To render a [step line](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/stepline-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **StepLine** in your chart configuration. This indicates that the data should be represented as a step line chart, which connects data points with horizontal and vertical lines, creating a staircase effect. This type is ideal for displaying data that changes at distinct points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/stepline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stepline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/stepline/stepline.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/stepline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stepline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/stepline/stepline.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `step line` series. - -**Fill** - -The `fill` property determines the color applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/stepline-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stepline-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/stepline-fill/stepline-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `fill` property can be used to apply a gradient color to the step line series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/stepline-fill-grad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stepline-fill-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/stepline-fill-grad/stepline-fill-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `dashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/dash-array/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/width/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Width.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/width/width.cs %} -{% endhighlight %} -{% endtabs %} - -**Step** - -Use the `step` property to change the position of the steps in a step line series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/step/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/step/step.cs %} -{% endhighlight %} -{% endtabs %} - -**No risers** - -You can eliminate the vertical lines between points by using the `NoRisers` property in a series. This approach is useful for highlighting trends without the distraction of risers. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/stepline/no-risers/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="No-risers.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/area-charts/stepline/no-risers/no-risers.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/step-line/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/vertical-chart.md b/chart-sdk/asp-net-core/chart/chart-types/vertical-chart.md deleted file mode 100644 index 6ade0e94a..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/vertical-chart.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: post -title: Vertical Chart in ASP.NET Core Charts -description: Learn here all about Vertical Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Vertical Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Vertical Chart in ASP.NET Core Charts - -## Vertical Chart - -To draw a chart in a vertical manner, change the orientation of the axis using the `isTransposed` property, which is supported by all series types. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/vertical/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Vertical.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/vertical/vertical.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/vertical/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Vertical.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/vertical/vertical.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/vertical/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/chart-types/waterfall.md b/chart-sdk/asp-net-core/chart/chart-types/waterfall.md deleted file mode 100644 index ed9f34c35..000000000 --- a/chart-sdk/asp-net-core/chart/chart-types/waterfall.md +++ /dev/null @@ -1,165 +0,0 @@ ---- -layout: post -title: Waterfall Chart in ASP.NET Core Charts -description: Learn here all about Waterfall Chart in Syncfusion ASP.NET Core Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Waterfall Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Waterfall Chart in ASP.NET Core Charts - -## Waterfall - -To render a `waterfall` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `type` as **Waterfall** in your chart configuration. This indicates that the data should be represented as a waterfall chart, which helps illustrate the cumulative effect of sequentially introduced positive and negative values. - -* **Configure intermediate and cumulative sums:** Use the `intermediateSumIndexes` property to represent intermediate sum values, and the `sumIndexes` property to represent cumulative sum values. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/waterfall/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Waterfall.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/waterfall/waterfall.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `dataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `xName` and `yName` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/waterfall/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Waterfall.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/waterfall/waterfall.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -In waterfall charts, you can customize the appearance of different types of data changes using specific properties. The `negativeFillColor` property is used to specify the color for negative changes, which helps visually distinguish decreases in the data. Similarly, the `summaryFillColor` property is used to define the color for summary changes. By default, the `negativeFillColor` is set to **green**, indicating decreases, while the `summaryFillColor` is set to **black**, marking summary or total values. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/custom-waterfall/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-waterfall.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/custom-waterfall/custom-waterfall.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/empty/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/empty-fill/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/empty-border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for waterfall series. This allows you to create waterfalls with rounded corners, giving your chart a more polished appearance. You can customize each corner of the waterfalls using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/point-corner-radius/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `seriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/series-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `pointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/point-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/waterfall/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/cross-hair-and-track-ball.md b/chart-sdk/asp-net-core/chart/cross-hair-and-track-ball.md deleted file mode 100644 index 09415e8f1..000000000 --- a/chart-sdk/asp-net-core/chart/cross-hair-and-track-ball.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -layout: post -title: Cross Hair And Track Ball in Syncfusion ASP.NET Core Chart Component -description: Learn here all about Cross Hair and Track Ball in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Cross Hair And Track Ball -publishingplatform: chart-sdk -documentation: ug ---- - - -# Crosshair in ASP.NET Core Chart Component - -Crosshair has a vertical and horizontal line to view the value of the axis at mouse or touch position. - -Crosshair lines can be enabled by using [`enable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_Enable) property in the `crosshair`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/crosshair/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Crosshair.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/crosshair/crosshair.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Tooltip for axis - -Tooltip label for an axis can be enabled by using [`enable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairTooltip.html#Syncfusion_EJ2_Charts_ChartCrosshairTooltip_Enable) property of `crosshairTooltip` in the corresponding axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/axis-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Axis-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/axis-tooltip/axis-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -The [`fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Fill) and [`textStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html) property of the `crosshairTooltip` is used to customize the background color and font style of the crosshair label respectively. Color and width of the crosshair line can be customized by using the [`line`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_Line) property in the crosshair. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Crosshair label customization - -The [`CrosshairLabelRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_CrosshairLabelRender) event is triggered before each crosshair axis label is rendered. This event allows you to customize the label content and appearance, or prevent a label from being displayed. - -Event arguments: - -* `text` – The label text that can be modified. -* `value` – The data value at the crosshair position. -* `axisName` – The axis identifier (for example, `primaryXAxis`). -* `axisOrientation` – The orientation of the axis (`Horizontal` or `Vertical`). -* `textStyle` – Font properties used to customize the label text. -* `fill` – Background color of the label. -* `cancel` – Set this property to **true** to skip rendering the label. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/crosshair-label-render/tagHelper %} -{% endhighlight %} - -{% highlight c# tabtitle="Crosshair-label-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/crosshair-label-render/crosshair-label-render.cs %} -{% endhighlight %} -{% endtabs %} - -**Snap to data** - -Enabling the [`SnapToData`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_SnapToData) property in the crosshair aligns it with the nearest data point instead of following the exact mouse position. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/snapToData/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="SnapToData.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/snapToData/snapToData.cs %} -{% endhighlight %} -{% endtabs %} - -## Trackball - -Trackball is used to track a data point closest to the mouse or touch position. Trackball marker indicates the closest point and trackball tooltip displays the information about the point. - -Trackball can be enabled by setting the [`enable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html) property of the crosshair to true and [`shared`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html) property in `tooltip` to true in chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/trackball/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Trackball.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/trackball/trackball.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Crosshair highlight - -The [`HighlightCategory`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_HighlightCategory) property in the crosshair highlights the background of the entire category when hovered over. The crosshair color can be customized using the [`Color`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartBorder.html#Syncfusion_EJ2_Charts_ChartBorder_Color) property within the [`Line`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_Line) configuration. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/highlight-category/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Highlight-category.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/crosshair-trackball/highlight-category/highlight-category.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/chart/data-editing.md b/chart-sdk/asp-net-core/chart/data-editing.md deleted file mode 100644 index 3dbd82c0a..000000000 --- a/chart-sdk/asp-net-core/chart/data-editing.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: post -title: Data Editing in ASP.NET Core Chart Component -description: Learn here all about Data Editing in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Editing -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Editing - -## Enable Data Editing - -It provides drag and drop support to the rendered points. Now, the location or value of the point based on its `y` value can be changed. To enable the data editing, set the `enable` property to true in the drag settings of the series. Also, the color can be set using `fill` property and set the data editing minimum and maximum range using `minY` and `maxY` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/data-editing/default/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Default.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/data-editing/default/default.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/data-labels.md b/chart-sdk/asp-net-core/chart/data-labels.md deleted file mode 100644 index 2520c7292..000000000 --- a/chart-sdk/asp-net-core/chart/data-labels.md +++ /dev/null @@ -1,198 +0,0 @@ ---- -layout: post -title: Data Labels in ASP.NET Core Syncfusion Chart Component -description: Learn here all about Data Labels in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Labels in ASP.NET Core Chart - -Data label can be added to a chart series by enabling the [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Marker) option in the dataLabel. By default, the labels will arrange smartly without overlapping. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/datalabel/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Datalabel.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/datalabel/datalabel.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Position - -Using [`position`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Marker) property, you can place the label either on `Top`, `Middle`, `Bottom` or `Outer` (outer is applicable for column and bar type series). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> The position `Outer` is applicable for column and bar type series. - -## Data Label Template - -Label content can be formatted by using the template option. Inside the template, you can add the placeholder text `${point.x}` and `${point.y}` to display corresponding data points x & y value. Using [`template`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartDataLabelSettings.html#Syncfusion_EJ2_Charts_ChartDataLabelSettings_Template) property, you can set data label template in chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Text Mapping - -Text from the data source can be mapped using `name` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/mapping/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/mapping/mapping.cs %} -{% endhighlight %} -{% endtabs %} - -## Format - -Data label for the chart can be formatted using [`format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartDataLabelSettings.html#Syncfusion_EJ2_Charts_ChartDataLabelSettings_Format) property. You can use the global formatting options, such as 'n', 'p', and 'c'. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ValueFormatResultant ValueDescription
1000n11000.0The number is rounded to 1 decimal place.
1000n21000.00The number is rounded to 2 decimal places.
1000n31000.000The number is rounded to 3 decimal place.
0.01p11.0%The number is converted to percentage with 1 decimal place.
0.01p21.00%The number is converted to percentage with 2 decimal place.
0.01p31.000%The number is converted to percentage with 3 decimal place.
1000c1$1000.0The currency symbol is appended to number and number is rounded to 1 decimal place.
1000c2$1000.00The currency symbol is appended to number and number is rounded to 2 decimal place.
- -## Margin - -The `margin` for data label can be applied to use `left`, `right`, `bottom` and `top` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/margin/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -The `stroke` and `border` of data label can be customized using `fill` and `border` properties. Rounded corners can be customized using `rx` and `ry` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> `rx` and `ry` properties requires `border` values not to be null. - -## Customizing Specific Point - -You can also customize the specific marker and label using [`pointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) and [`textRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TextRender) event. The `pointRender` event allows to change the shape, color and border for a point, whereas the `textRender` event allows to change the text for the point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/custom-point/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/custom-point/custom-point.cs %} -{% endhighlight %} -{% endtabs %} - -## Show percentage based on each series points - -You can calculate the percentage value based on the sum for each series using the `seriesRender` and `textRender` events in the chart. In `seriesRender` calculate the sum of each series y values and In `textRender` calculate percentage value based on the sum value and modify the text. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/series-percentage/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/datalabels/series-percentage/series-percentage.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/chart/data-markers.md b/chart-sdk/asp-net-core/chart/data-markers.md deleted file mode 100644 index 24703eed2..000000000 --- a/chart-sdk/asp-net-core/chart/data-markers.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -layout: post -title: Data Markers in ASP.NET Core Syncfusion Chart Component -description: Learn here all about Data Markers in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Markers -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Markers in ASP.NET Core Chart Component - -Data markers are used to provide information about the data points in the series. You can add a shape to adorn each data point. - - - -## Marker - - - -Markers can be added to points by enabling the [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Marker) option of the marker property. By default, distinct markers will be enabled for each series in the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/marker/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Marker.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/marker/marker.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Shape - -Markers can be assigned with different shapes such as Rectangle, Circle, Diamond etc. using the [`Shape`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Marker) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/shape/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Shape.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/shape/shape.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> To know more about the marker shape type refer the [`shape`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartMarkerSettings.html#Syncfusion_EJ2_Charts_ChartMarkerSettings_Shape). - -## Images - -Apart from the shapes, you can also add custom images to mark the data point using the [`imageUrl`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartMarkerSettings.html#Syncfusion_EJ2_Charts_ChartMarkerSettings_ImageUrl) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/images/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Images.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/images/images.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -Marker's color and border can be customized using `fill` and `border` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customizing specific point - -You can also customize the specific marker and label using [`pointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event. The `pointRender` event allows you to change the shape, color and border for a point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/custom-point/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/custom-point/custom-point.cs %} -{% endhighlight %} -{% endtabs %} - -## Fill marker with series color - -Marker can be filled with the series color by setting the [`isFilled`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartMarkerSettings.html#Syncfusion_EJ2_Charts_ChartMarkerSettings_IsFilled) property to true. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/isfilled/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="IsFilled.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/data-marker/isfilled/isfilled.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/date-time-axis.md b/chart-sdk/asp-net-core/chart/date-time-axis.md deleted file mode 100644 index 1f534c00f..000000000 --- a/chart-sdk/asp-net-core/chart/date-time-axis.md +++ /dev/null @@ -1,211 +0,0 @@ ---- -layout: post -title: Date Time Axis in Syncfusion ASP.NET Core Chart Component -description: Learn here all about Date Time Axis in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Date Time Axis -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# DateTime and DateTimeCategory Axis - -## DateTime Axis - -Date time axis uses date time scale and displays the date time values as axis labels in the specified format. To get start quickly with DateTime axis in ASP.NET Core Charts, you can check on this video: - -{% youtube "https://www.youtube.com/watch?v=DnMIgbn6bco" %} - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/dateTime/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Datetime.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/dateTime/datetime.cs %} -{% endhighlight %} -{% endtabs %} - - - -## DateTimeCategory Axis - -Date-time category axis is used to display the date-time values with non-linear intervals. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/datetimeCategory/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="DateCategory.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/datetimeCategory/dateCategory.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Range - -Range for an axis, will be calculated automatically based on the provided data, you can also customize the range of the axis using [`minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Minimum), [`maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Maximum) and [`interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Interval Customization - -Date time intervals can be customized by using the [`interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) and [`intervalType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_IntervalType) properties of the axis. For example, when you set interval as 2 and intervalType as years, it considers 2 years as interval. DateTime axis supports following interval types, - -* Auto -* Years -* Months -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/interval/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/interval/interval.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Applying Padding to the Range** - -Padding can be applied to the minimum and maximum extremes of the range by using the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) property. Date time axis supports the following types of padding, - -* None -* Round -* Additional - -**DateTime - None** - -When the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `None`, minimum and maximum of the axis is based on the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/none/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="None.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/none/none.cs %} -{% endhighlight %} -{% endtabs %} - - - -**DateTime - Round** - -When the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Round`, minimum and maximum will be rounded to the nearest possible value divisible by interval. For example, when the minimum is 15th Jan, interval is 1 and the interval type is ‘month’, then the axis minimum will be Jan 1st. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/round/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Round.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/round/round.cs %} -{% endhighlight %} -{% endtabs %} - - - -**DateTime - Additional** - -When the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Additional`, interval of an axis will be padded to the minimum and maximum of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/additional/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Additional.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/additional/additional.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Label Format - -You can format and parse the date to all globalize format using [`labelFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelFormat) property in an axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/label-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Label-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/label-format/label-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table describes the result of applying some common date time formats to the labelFormat property - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Label ValueLabel Format Property ValueResult Description
new Date(2000, 03, 10)EEEEMondayThe Date is displayed in day format
new Date(2000, 03, 10)yMd04/10/2000The Date is displayed in month/date/year format
new Date(2000, 03, 10) MMM AprThe Shorthand month for the date is displayed
new Date(2000, 03, 10)hm12:00 AMTime of the date value is displayed as label
new Date(2000, 03, 10)hms12:00:00 AMThe Label is displayed in hours:minutes:seconds format
- - - -## Custom Label Format - -Axis also supports custom label format using placeholder like {value}°C, in which the value represents the axis label e.g 20°C. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/datetime/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/dynamic-data-update.md b/chart-sdk/asp-net-core/chart/dynamic-data-update.md deleted file mode 100644 index 48a8b8d4b..000000000 --- a/chart-sdk/asp-net-core/chart/dynamic-data-update.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -layout: post -title: Dynamic data update in ASP.NET Core Syncfusion Chart Component -description: Learn here all about dynamic data update in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Dynamic Data Update -publishingplatform: chart-sdk -documentation: ug ---- - - -# Dynamic data update in ASP.NET Core Chart Component - -## Adding a new data point - -The `AddPoint` method is used to dynamically add a new data point to the chart series. This method is particularly useful when you want to update the chart with a new data point without having to refresh the entire chart. This method takes two parameters: - -* The first parameter is the new data point to add to your existing data source. -* The optional second parameter specifies the animation duration for adding the new data point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/dynamic-update/add-point/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Add-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/dynamic-update/add-point/add-point.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Removing an existing data point - -The `RemovePoint` method is used to dynamically remove a data point from the chart series. This method is particularly useful when you want to update the chart by removing an existing data point without having to refresh the entire chart. This method takes two parameters: - -* The first parameter is the index of the data point that needs to be removed from the existing data source. -* The optional second parameter specifies the animation duration for removing the data point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/dynamic-update/remove-point/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Remove-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/dynamic-update/remove-point/remove-point.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Replacing entire data points - -To replace the existing data source in the chart with a new data source, you can simply use the `SetData` method. This method allows you to replace the existing data points in the chart series with a new set of data points, enabling you to easily update the chart with new information. This method takes two parameters: - -* The first parameter is the new set of data points to be updated. -* The optional second parameter specifies the animation duration for updating the new data source. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/dynamic-update/set-data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Set-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/dynamic-update/set-data/set-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Click to add or remove a data point - -You can use mouse or touch events to dynamically add or remove data points from an existing data source by clicking on the appropriate position within the chart area. To add a new data point to the existing data source, click anywhere in the chart area, retrieve the x-axis and y-axis information of the clicked location from the `ChartMouseClick` event arguments. Then, utilize the `AddPoint` method to add a new data point to the existing data source. - -To remove a data point from the existing data source, simply click on the desired data point. To achieve this, first, verify whether the clicked data point obtained from `ChartMouseClick` already exists in the data source. If it does, remove it by utilizing the `RemovePoint` method based on its index. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/dynamic-update/click-add-point/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Click-add-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/dynamic-update/click-add-point/click-add-point.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/chart/ej1-api-migration.md b/chart-sdk/asp-net-core/chart/ej1-api-migration.md deleted file mode 100644 index 10f02695d..000000000 --- a/chart-sdk/asp-net-core/chart/ej1-api-migration.md +++ /dev/null @@ -1,552 +0,0 @@ ---- -layout: post -title: Ej1 Api Migration in ASP.NET Core Chart Component -description: Learn here all about Ej1 Api Migration in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Ej1 Api Migration -publishingplatform: chart-sdk -documentation: ug ---- - -# Migration from Essential® JS 1 - -This article describes the API migration process of Chart component from Essential® JS 1 to Essential® JS 2. - -## Annotation - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Rotation of annotation | **Property:** *e-annotations.angle*

``
``
``
`
`
`
`
``
`
` | **Property:** Not applicable. | -| Annotations | **Property:** *e-annotations.content*

``
``
``
`
`
`
`
`
` | **Property:** *e-chart-annotations.content*

``
``
``
`
`
`
`
`
` | -|Coordinate unit for annotation | **Property:** *e-annotations.coordinate-unit*

``
``
``
`
`
`
`
`
` | **Property:** *e-chart-annotations.coordinateUnits*

``
``
``
`
`
`
`
`
` | -| HorizontalAlignment for annotation | **Property:** *e-annotations.horizontal-alignment*

``
``
``
`
`
`
`
`
` | **Property:** *e-chart-annotations.horizontalAlignment*

``
``
``
`
`
`
`
`
` | -| Margin for annotation | **Property:** *annotations.margin*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** Not applicable -| Opacity for annotation | **Property:** *e-annotations.opacity*

``
``
``
`
`
`
`
`
` | **Property:** Not applicable | -| Region for annotation with respect to chart or series | **Property:** *e-annotations.region*

``
``
``
`
`
`
`
`
` | **Property:** *e-chart-annotations.region*

``
``
``
`
`
`
`
`
` | -| VerticalAlignment for annotation | **Property:** *e-annotation.vertical-alignment*

``
``
``
`
`
`
`
`
` |**Property:** *e-chart-annotations.verticalAlignment*

``
``
``
`
`
`
`
`
` | -| Visibility of annotations | **Property:** *e-annotations.visible*

``
``
``
`
`
`
`
`
` | Not applicable | -| X offset for annotation | **Property:** *e-annotations.x*

``
``
``
`
`
`
`
`
` | **Property:** *e-chart-annotations.x*

``
``
``
`
`
`
`
`
` | -| X axis name in which annotation to be rendered | **Property:** *e-annotations.xAxisName*

``
``
``
`
`
`
`
`
` | **Property:** *e-chart-annotation.xAxisName*

``
``
``
`
`
`
`
`
` | -| Y offset for annotation | **Property:** *annotations.y*

``
``
``
`
`
`
`
`
` | **Property:** *e-chart-annotations.y*

``
``
``
`
`
`
`
`
` | -| Y axis name in which annotation to be rendered | **Property:** *annotations.yAxisName*

``
``
``
`
`
`
`
`
` | **Property:** *e-chart-annotation.yAxisName*

``
``
``
`
`
`
`
`
` | - -## Columns - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Columns in chart | **Property:** *e-column-definitions*

``
``
`
`
`
` | **Property:** *e-chart-columns*

``
``
`
`
`
` | -| Unit | **Property:** *unit*

``
``
``
`
`
``
`
`
`
`
`
` | Not Available | -| Width of columns in chart | **Property:** *column-width*

``
``
``
`
`
``
`
`
`
`
`
` | **Property:** *width*

``
``
``
`
`
`
`
`
` | -| Line customization | **Property:** *line-color, line-width*

``
``
``
`
`
`
` | **Property:** *border*

``
``
``
``
`
`
`
`
`
`
`
` | - -## CommonSeriesOptions - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| CommonSeriesOptios | **Property:** *commonSeriesOptions*

``
``
`
`
`
` | Not Applicable | - -## Crosshair - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Crosshair | **Property:** *visible*

``
``
`
`
`
` | **Property:** *enable*

``
``
`
`
`` | -| TrackballTooltipSettings | **Property:** *e-trackball-tooltip-settings*

``
``
``
``
`
`
`
`
`
`
`
` | Not applicable | -| Marker | **Property:** *marker*

``
``
``
``
`
`
`
`
`
`
`
` | Not applicable | -| Crosshair line style | **Property:** *e-line*

``
``
``
`
`
`
`
`
` | **Property:** *e-crosshairsettings-line*

``
``
``
`
`
`
`
`
` | -| Type | **Property:** *type*

``
``
`
`
`
` | Not applicable | - -## 3D chart - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| 3d chart | **Property:** *enable3d*

``
`
` | Not applicable | -| Rotation of 3d chart | **Property:** *enable-rotation*

``
`
` | Not applicable | -| Depth | **Property:** *depth*

``
`
` |Not applicable | - -## Canvas rendering - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Canvas rendering | **Property:** *enable-canvas-rendering*

``
`
` | Not applicable | - -## Indicators - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Type of Indicator | **Property:** *type*

``
``
``
`
`
`
`
`
` | **Property:** *type*

``
``
``
`
`
`
`
`
` | -| Period for indicator | **Property :** *period*

``
``
``
`
`
`
`
`
` | **Property:** *period*

``
``
``
`
`
`
`
`
` | -| %K value in stochastic indicator | **Property:** *kPeriod*

``
``
``
`
`
`
`
`
` | **Property:** *kPeriod*

``
``
``
`
`
`
`
`
` | -| %D value in stochastic indicator | **Property:** *dPeriod*

``
``
``
`
`
`
`
`
` | **Property:** *dPeriod*

``
``
``
`
`
`
`
`
` | -| Shows overSold/overBought values | Not applicable | **Property:** *showZones*

``
``
``
`
`
`
`
`
` | -| Overbought value for RSI and stochastic indicator | Not applicable | **Property:** *overBought*

``
``
``
`
`
`
`
`
` | -| Oversold value for RSI and stochastic indicator | Not applicable | **Property:** *overSold*

``
``
``
`
`
`
`
`
` | -| Standard deviation | **Property:** *standardDeviations*

``
``
``
`
`
`
`
`
` | **Property:** *standardDeviation*

``
``
``
`
`
`
`
`
` | -| Field for indicator | **Property:** *field*

``
``
``
`
`
`
`
`
` | **Property:** *field*

``
``
``
`
`
`
`
`
` | -| Slow period for MACD indicator | **Property:** *shortPeriod*

``
``
``
`
`
`
`
`
` | **Property:** *lowPeriod*

``
``
``
`
`
`
`
`
` | -| Fast period for MACD indicator | **Property:** *longPeriod*

``
``
``
`
`
`
`
`
` | **Property:** *fastPeriod*

``
``
``
`
`
`
`
`
` | -| Line style for MACD indicator | **Property:** *e-macd-line*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-technicalindicator-macdline*

``
``
``
``
`
`
`
`
`
`
`
` | -| Type of MACD indicator | **Property:** *macdType*

``
``
``
`
`
`
`
`
` | **Property:** *macdType*

``
``
``
`
`
`
`
`
` | -| Color of the positive bars in Macd indicators | **Property:** *Not applicable* | **Property:** *macdPositiveColor*

``
``
``
`
`
`
`
`
` | -| Color of the negative bars in Macd indicators | **Property:** *Not applicable* | **Property:** *macdNegativeColor*

``
``
``
`
`
`
`
`
` | -| Color for Bollinger bands | **Property:** *Not applicable* | **Property:** *bandColor*

``
``
``
`
`
`
`
`
` | -| Appearance of upper line in indicator | **Property:** *e-upper-line*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-technicalindicator-upperline*

``
``
``
``
`
`
`
`
`
`
`
` | -| Appearance of lower line in indicator | **Property:** *e-lower-line*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-technicalindicator-lowerline*

``
``
``
``
`
`
`
`
`
`
`
` | -| Appearance of period line in indicator | **Property:** *e-period-line*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-technicalindicator-periodline*

``
``
``
``
`
`
`
`
`
`
`
` | -| Name of the series for which indicator has to be drawn | **Property:** *series-name*

``
``
``
`
`
`
`
`
` | **Property:** *seriesName*

``
``
``
`
`
`
`
`
` | -| Options to customize the histogram in MACD indicator | **Property:** *e-histogram*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *Not applicable* | -| Enabling animation | **Property:** *enableAnimation*

``
``
``
`
`
`
`
`
` | **Property:** *e-indicator-animation.enable*

``
``
``
``
`
`
`
`
`
`
`
` | -| Animation duration | **Property:** *animationDuration*

``
``
``
`
`
`
`
`
` | **Property:** *e-indicator-animation.duration*

``
``
``
``
`
`
`
`
`
`
`
` | -| Tooltip | **Property:** *e-tooltip*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *Not applicable* | -| Trigger value of MACD indicator | **Property:** *trigger*

``
``
``
`
`
`
`
`
` | **Property:** *Not applicable* | -| Fill color for indicator | **Property:** *fill*

``
``
``
`
`
`
`
`
` | **Property:** *fill*

``
``
``
`
`
`
`
`
` | -| Width for indicator | **Property:** *width*

``
``
``
`
`
`
`
`
` | **Property:** *width*

``
``
``
`
`
`
`
`
` | -| xAxis Name of indicator | **Property:** *xAxisName*

``
``
``
`
`
`
`
`
` | **Property:** *xAxisName*

``
``
``
`
`
`
`
`
` | -| xAxis Name of indicator | **Property:** *yAxisName*

``
``
``
`
`
`
`
`
` | **Property:** *yAxisName*

``
``
``
`
`
`
`
`
` | -| Visibility of indicator | **Property:** *visibility*

``
``
``
`
`
`
`
`
` | **Property:** *Not applicable* | - -## primaryXAxis - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Alternate grid band | **Property:** *alternateGridBand*

``
``
``
`
`
`
`
`
` | Not applicable -| Axis line cross value | **Property:** *crosses-at*

``
``
`
`
`
` | **Property:** *crossesAt*
``
``
`
`
`
` | -| Axis name with which the axis line has to be crossed | **Property:** *crosses-in-axis*

``
``
`
`
`
` | **Property:** *crossesInAxis*
``
``
`
`
`
` | -| Axis elements placed with axis line | **Property:** *show-next-to-axis-line*

``
``
`
`
`
` | **Property:** *placeNextToAxisLine*
``
``
`
`
`
` | -| Axis line style | **Property:** *e-axis-line.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-linestyle.color*
``
``
``
`
`
`
`
`
` | -| Axis line dashArray | **Property:** *e-axis-line.dashArray*

``
``
``
`
`
`
`
`
` | **Property:** *e-linestyle.dashArray*
``
``
``
`
`
`
`
`
` | -| Offset for axis | **Property:** *e-axis-line.offset*

``
``
``
`
`
`
`
`
` | **Property:** *plotOffset*
``
``
``
`
`
`
`
`
` | -| Visible of an axis | **Property:** *e-axis-line.visible*

``
``
``
`
`
`
`
`
` | **Property:** *visible*
``
``
``
`
`
`
`
`
` | -| Width of an axis | **Property:** *e-axis-line.width*

``
``
``
`
`
`
`
`
` | **Property:** *width*
``
``
``
`
`
`
`
`
` | -| Column index of an axis | **Property:** *columnIndex*

``
``
`
`
`
` | **Property:** *columnIndex*
``
``
`
`
`
` | -| Span of an axis to place horizontally or vertically | **Property:** *columnSpan*

``
``
`
`
`
` | **Property:** *span*
``
``
`
`
`
` | -| Crosshair label of an axis | **Property:** *e-crosshair-label.visible*

``
``
``
`
`
`
`
`
` | **Property:** *e-crosshairtooltip.enable*
``
``
``
`
`
`
`
`
` | - | Crosshair label color of an axis | **Property:** *Not applicable* | **Property:** *e-crosshairtooltip.fill*
``
``
``
`
`
`
`
`
` | - | Crosshair label text style | **Property:** *Not applicable* | **Property:** *e-crosshairtooltip.textStyle*
``
``
``
`
`
`
`
`
` | -| Desired interval count for primaryXAxis | **Property:** *desiredIntervals*

``
``
`
`
`
` | **Property:** *desiredIntervals*
``
``
`
`
`
` | -| Edges primaryXAxis | **Property:** *edgeLabelPlacement*

``
``
`
`
`
` | **Property:** *edgeLabelPlacement*
``
``
`
`
`
` | -| Enables trim for axis labels | **Property:** *enable-trim*

``
``
`
`
`
` | **Property:** *enableTrim*
``
``
``
`
`
`
`
`
` | -| Specifies the interval of the axis according to the zoomed data of the chart | **Property:** *enableAutoIntervalOnZooming*

``
``
`
`
`
` | **Property:** *enableAutoIntervalOnZooming*
``
``
`
`
`
` | -| Font style for primaryXAxis | **Property:** *e-font*

``
``
``
`
`
`
`
`
` | **Property:** *titleStyle*
``
``
``
`
`
`
`
`
` | -| Indexed for category axis | **Property:** *is-indexed*

``
``
`
`
`
` | **Property:** *isIndexed*
``
``
`
`
`
` | -| Interval type for date time axis | **Property:** *interval-type*

``
``
`
`
`
` | **Property:** *intervalType*
``
``
`
`
`
` | -| Inversed axis | **Property:** *is-inversed*

``
``
`
`
`
` | **Property:** *isInversed*
``
``
`
`
`
` | -| Custom label format | **Property:** *label-format*

``
``
`
`
`
` | **Property:** *labelFormat*
``
``
`
`
`
` | -| labelIntersectAction | **Property:** *label-intersect-action*

``
``
`
`
`
` | **Property:** *labelIntersectAction*
``
``
`
`
`
` | -| labelPosition | **Property:** *axislabel-position*

``
``
`
`
`
` | **Property:** *labelPosition*
``
``
`
`
`
` | -| labelPlacement for category axis | **Property:** *label-placement*

``
``
`
`
`
` | **Property:** *labelPlacement*
``
``
`
`
`
` | -| Rotation of axis labels | **Property:** *label-rotation*

``
``
`
`
`
` | **Property:** *labelRotation*
``
``
`
`
`
` | -| Axis label alignment | **Property:** *alignment*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Log base value for logarithmic axis | **Property:** *log-base*

``
``
`
`
`
` | **Property:** *logBase*
``
``
`
`
`
` | -| Major grid line | **Property:** *e-major-grid-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MajorGridLines | **Property:** *e-major-grid-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorgridlines.width*
``
``
``
`
`
`
`
`
` | -| Color of MajorGridLines | **Property:** *e-major-grid-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorgridlines.color*
``
``
``
`
`
`
`
`
` | -| DashArray of MajorGridLines | **Property:** *e-major-grid-lines.dash-array*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorgridlines.dashArray*
``
``
``
`
`
`
`
`
` | -| Opacity of MajorGridLines | **Property:** *e-major-grid-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Major Tick line | **Property:** *e-major-tick-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MajorTickLines | **Property:** *e-major-tick-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorticklines.width*
``
``
``
`
`
`
`
`
` | -| Height of MajorTickLines | **Property:** *e-major-tick-lines.size*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorticklines.height*
``
``
``
`
`
`
`
`
` | -| Color of MajorTickLines | **Property:** *e-major-tick-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorticklines.color*
``
``
``
`
`
`
`
`
` | -| Opacity of MajorTickLines | **Property:** *e-major-tick-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| maximum labels of primaryXAxis | **Property:** *maximum-labels*

``
``
`
`
`
` | **Property:** *maximumLabels*
``
``
`
`
`
` | -| maximum labels width of primaryXAxis to trim | **Property:** *maximum-label-width*

``
``
`
`
`
` | **Property:** *maximumLabelWidth*
``
``
`
`
`
` | -| Minor grid line | **Property:** *e-minor-grid-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MinorGridLines | **Property:** *e-minor-grid-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorgridlines.width*
``
``
``
`
`
`
`
`
` | -| Color of MinorGridLines | **Property:** *e-minor-grid-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorgridlines.color*
``
``
``
`
`
`
`
`
` | -| DashArray of MinorGridLines | **Property:** *e-minor-grid-lines.dash-array*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorgridlines.dashArray*
``
``
``
`
`
`
`
`
` | -| Opacity of MinorGridLines | **Property:** *e-minor-grid-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Minor Tick line | **Property:** *e-minor-tick-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MinorTickLines | **Property:** *e-minor-tick-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorticklines.width*
``
``
``
`
`
`
`
`
` | -| Height of MinorTickLines | **Property:** *e-minor-tick-lines.size*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorticklines.height*
``
``
``
``
`
`
`
` | -| Color of MinorTickLines | **Property:** *e-minor-tick-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorticklines.color*
``
``
``
`
`
`
`
`
` | -| Opacity of MinorTickLines | **Property:** *e-major-tick-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Minor ticks per interval of primaryXAxis | **Property:** *minor-ticks-per-interval*

``
``
`
`
`
` | **Property:** *minorTicksPerInterval*
``
``
`
`
`
` | -| Name of the primaryXAxis | **Property:** *name*

``
``
`
`
`
` | **Property:** *name*
``
``
`
`
`
` | -| Orientation of the primaryXAxis | **Property:** *orientation*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Plot offset for primaryXAxis | **Property:** *plot-offset*

``
``
`
`
`
` | **Property:** *plotOffset*
``
``
`
`
`
` | -| Minimum for primaryXAxis | **Property:** *e-range.min*

``
``
``
`
`
`
`
`
` | **Property:** *minimum*
``
``
`
`
`
` | -| Maximum for primaryXAxis | **Property:** *e-range.max*

``
``
``
`
`
`
`
`
` | **Property:** *maximum*
``
``
`
`
`
` | -| Interval for primaryXAxis | **Property:** *e-range.interval*

``
``
``
`
`
`
`
`
` | **Property:** *interval*
``
``
`
`
`
` | -| RangePadding for primaryXAxis | **Property:** *range-padding*

``
``
`
`
`
` | **Property:** *rangePadding*
``
``
`
`
`
` | -| Rounding Places in primaryXAxis | **Property:** *rounding-places*

``
``
`
`
`
` | **Property:** *labelFormat*
``
``
`
`
`
` | -| ScrollBar settings of primaryXAxis | **Property:** *e-scrollbar-settings*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| TickPosition in primaryXAxis | **Property:** *tick-lines-position*

``
``
`
`
`
` | **Property:** *tickPosition*
``
``
`
`
`
` | -| ValueType of primaryXAxis | **Property:** *value-type*

``
``
`
`
`
` | **Property:** *valueType*
``
``
`
`
`
` | -| visible of primaryXAxis | **Property:** *visible*

``
``
`
`
`
` | **Property:** *visible*
``
``
`
`
`
` | -| ZoomFactor of primaryXAxis | **Property:** *zoom-factor*

``
``
`
`
`
` | **Property:** *zoomFactor*
``
``
`
`
`
` | -| ZoomPosition of primaryXAxis | **Property:** *zoom-position*

``
``
`
`
`
` | **Property:** *zoomPosition*
``
``
`
`
`
` | -| labelBorder of primaryXAxis | **Property:** *e-border*

``
``
``
`
`
`
`
`
` | **Property:** *border*
``
``
``
`
`
`
`
`
` | -| Title of primaryXAxis | **Property:** *e-title.text*

``
``
``
`
`
`
`
`
` | **Property:** *title*
``
``
`
`
`
` | -| StripLine of primaryXAxis | **Property:** *e-strip-lines*

``
``
``
`
`
`
`
`
` | **Property:** *e-primaryxaxis-striplines*
``
``
``
`
`
`
`
`
` | -| Multilevel labels of primaryXAxis | **Property:** *e-multi-level-labels*

``
``
``
`
`
`
`
`
` | **Property:** *e-primaryxaxis-multilevellabels*
``
``
``
`
`
`
`
`
` | -| Skeleton for an axes | **Property:** *Not Applicable* | **Property:** *skeleton*
``
``
``
`
`
`
`
`
`
`
` | -| Skeleton type for an axes | **Property:** *Not Applicable* | **Property:** *skeletonType*
``
``
``
`
`
`
`
`
`
`
` | - -## primaryYAxis - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Alternate grid band | **Property:** *alternateGridBand*

``
``
``
`
`
`
`
`
` | Not applicable -| Axis line cross value | **Property:** *crosses-at*

``
``
`
`
`
` | **Property:** *crossesAt*
``
``
`
`
`
` | -| Axis name with which the axis line has to be crossed | **Property:** *crosses-in-axis*

``
``
`
`
`
` | **Property:** *crossesInAxis*
``
``
`
`
`
` | -| Axis elements placed with axis line | **Property:** *show-next-to-axis-line*

``
``
`
`
`
` | **Property:** *placeNextToAxisLine*
``
``
`
`
`
` | -| Axis line style | **Property:** *e-axis-line.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-linestyle.color*
``
``
``
`
`
`
`
`
` | -| Axis line dashArray | **Property:** *e-axis-line.dashArray*

``
``
``
`
`
`
`
`
` | **Property:** *e-linestyle.dashArray*
``
``
``
``
`
`
`
` | -| Offset for axis | **Property:** *e-axis-line.offset*

``
``
``
`
`
`
`
`
` | **Property:** *plotOffset*
``
``
``
`
`
`
`
`
` | -| Visible of an axis | **Property:** *e-axis-line.visible*

``
``
``
`
`
`
`
`
` | **Property:** *visible*
``
``
``
`
`
`
`
`
` | -| Width of an axis | **Property:** *e-axis-line.width*

``
``
``
`
`
`
`
`
` | **Property:** *width*
``
``
``
`
`
`
`
`
` | -| Column index of an axis | **Property:** *columnIndex*

``
``
`
`
`
` | **Property:** *columnIndex*
``
``
`
`
`
` | -| Span of an axis to place horizontally or vertically | **Property:** *columnSpan*

``
``
`
`
`
` | **Property:** *span*
``
``
`
`
`
` | -| Crosshair label of an axis | **Property:** *e-crosshair-label.visible*

``
``
``
`
`
`
`
`
` | **Property:** *e-crosshairtooltip.enable*
``
``
``
`
`
`
`
`
` | - | Crosshair label color of an axis | **Property:** *Not applicable* | **Property:** *e-crosshairtooltip.fill*
``
``
``
`
`
`
`
`
` | - | Crosshair label text style | **Property:** *Not applicable* | **Property:** *e-crosshairtooltip.textStyle*
``
``
``
`
`
`
`
`
` | -| Desired interval count for primaryyaxis | **Property:** *desiredIntervals*

``
``
`
`
`
` | **Property:** *desiredIntervals*
``
``
`
`
`
` | -| Edges primaryyaxis | **Property:** *edgeLabelPlacement*

``
``
`
`
`
` | **Property:** *edgeLabelPlacement*
``
``
`
`
`
` | -| Enables trim for axis labels | **Property:** *enable-trim*

``
``
`
`
`
` | **Property:** *enableTrim*
``
``
``
`
`
`
`
`
` | -| Specifies the interval of the axis according to the zoomed data of the chart | **Property:** *enableAutoIntervalOnZooming*

``
``
`
`
`
` | **Property:** *enableAutoIntervalOnZooming*
``
``
`
`
`
` | -| Font style for primaryyaxis | **Property:** *e-font*

``
``
``
`
`
`
`
`
` | **Property:** *titleStyle*
``
``
``
`
`
`
`
`
` | -| Indexed for category axis | **Property:** *is-indexed*

``
``
`
`
`
` | **Property:** *isIndexed*
``
``
`
`
`
` | -| Interval type for date time axis | **Property:** *interval-type*

``
``
`
`
`
` | **Property:** *intervalType*
``
``
`
`
`
` | -| Inversed axis | **Property:** *is-inversed*

``
``
`
`
`
` | **Property:** *isInversed*
``
``
`
`
`
` | -| Custom label format | **Property:** *label-format*

``
``
`
`
`
` | **Property:** *labelFormat*
``
``
`
`
`
` | -| labelIntersectAction | **Property:** *label-intersect-action*

``
``
`
`
`
` | **Property:** *labelIntersectAction*
``
``
`
`
`
` | -| labelPosition | **Property:** *axislabel-position*

``
``
`
`
`
` | **Property:** *labelPosition*
``
``
`
`
`
` | -| labelPlacement for category axis | **Property:** *label-placement*

``
``
`
`
`
` | **Property:** *labelPlacement*
``
``
`
`
`
` | -| Rotation of axis labels | **Property:** *label-rotation*

``
``
`
`
`
` | **Property:** *labelRotation*
``
``
`
`
`
` | -| Axis label alignment | **Property:** *alignment*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Log base value for logarithmic axis | **Property:** *log-base*

``
``
`
`
`
` | **Property:** *logBase*
``
``
`
`
`
` | -| Major grid line | **Property:** *e-major-grid-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MajorGridLines | **Property:** *e-major-grid-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorgridlines.width*
``
``
``
`
`
`
`
`
` | -| Color of MajorGridLines | **Property:** *e-major-grid-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorgridlines.color*
``
``
``
`
`
`
`
`
` | -| DashArray of MajorGridLines | **Property:** *e-major-grid-lines.dash-array*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorgridlines.dashArray*
``
``
``
`
`
`
`
`
` | -| Opacity of MajorGridLines | **Property:** *e-major-grid-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Major Tick line | **Property:** *e-major-tick-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MajorTickLines | **Property:** *e-major-tick-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorticklines.width*
``
``
``
`
`
`
`
`
` | -| Height of MajorTickLines | **Property:** *e-major-tick-lines.size*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorticklines.height*
``
``
``
`
`
`
`
`
` | -| Color of MajorTickLines | **Property:** *e-major-tick-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorticklines.color*
``
``
``
`
`
`
`
`
` | -| Opacity of MajorTickLines | **Property:** *e-major-tick-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| maximum labels of primaryyaxis | **Property:** *maximum-labels*

``
``
`
`
`
` | **Property:** *maximumLabels*
``
``
`
`
`
` | -| maximum labels width of primaryyaxis to trim | **Property:** *maximum-label-width*

``
``
`
`
`
` | **Property:** *maximumLabelWidth*
``
``
`
`
`
` | -| Minor grid line | **Property:** *e-minor-grid-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MinorGridLines | **Property:** *e-minor-grid-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorgridlines.width*
``
``
``
`
`
`
`
`
` | -| Color of MinorGridLines | **Property:** *e-minor-grid-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorgridlines.color*
``
``
``
`
`
`
`
`
` | -| DashArray of MinorGridLines | **Property:** *e-minor-grid-lines.dash-array*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorgridlines.dashArray*
``
``
``
`
`
`
`
`
` | -| Opacity of MinorGridLines | **Property:** *e-minor-grid-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Minor Tick line | **Property:** *e-minor-tick-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MinorTickLines | **Property:** *e-minor-tick-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorticklines.width*
``
``
``
`
`
`
`
`
` | -| Height of MinorTickLines | **Property:** *e-minor-tick-lines.size*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorticklines.height*
``
``
``
``
`
`
`
` | -| Color of MinorTickLines | **Property:** *e-minor-tick-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorticklines.color*
``
``
``
`
`
`
`
`
` | -| Opacity of MinorTickLines | **Property:** *e-major-tick-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Minor ticks per interval of primaryyaxis | **Property:** *minor-ticks-per-interval*

``
``
`
`
`
` | **Property:** *minorTicksPerInterval*
``
``
`
`
`
` | -| Name of the primaryyaxis | **Property:** *name*

``
``
`
`
`
` | **Property:** *name*
``
``
`
`
`
` | -| Orientation of the primaryyaxis | **Property:** *orientation*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Plot offset for primaryyaxis | **Property:** *plot-offset*

``
``
`
`
`
` | **Property:** *plotOffset*
``
``
`
`
`
` | -| Minimum for primaryyaxis | **Property:** *e-range.min*

``
``
``
`
`
`
`
`
` | **Property:** *minimum*
``
``
`
`
`
` | -| Maximum for primaryyaxis | **Property:** *e-range.max*

``
``
``
`
`
`
`
`
` | **Property:** *maximum*
``
``
`
`
`
` | -| Interval for primaryyaxis | **Property:** *e-range.interval*

``
``
``
`
`
`
`
`
` | **Property:** *interval*
``
``
`
`
`
` | -| RangePadding for primaryyaxis | **Property:** *range-padding*

``
``
`
`
`
` | **Property:** *rangePadding*
``
``
`
`
`
` | -| Rounding Places in primaryyaxis | **Property:** *rounding-places*

``
``
`
`
`
` | **Property:** *labelFormat*
``
``
`
`
`
` | -| ScrollBar settings of primaryyaxis | **Property:** *e-scrollbar-settings*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| TickPosition in primaryyaxis | **Property:** *tick-lines-position*

``
``
`
`
`
` | **Property:** *tickPosition*
``
``
`
`
`
` | -| ValueType of primaryyaxis | **Property:** *value-type*

``
``
`
`
`
` | **Property:** *valueType*
``
``
`
`
`
` | -| visible of primaryyaxis | **Property:** *visible*

``
``
`
`
`
` | **Property:** *visible*
``
``
`
`
`
` | -| ZoomFactor of primaryyaxis | **Property:** *zoom-factor*

``
``
`
`
`
` | **Property:** *zoomFactor*
``
``
`
`
`
` | -| ZoomPosition of primaryyaxis | **Property:** *zoom-position*

``
``
`
`
`
` | **Property:** *zoomPosition*
``
``
`
`
`
` | -| labelBorder of primaryyaxis | **Property:** *e-border*

``
``
``
`
`
`
`
`
` | **Property:** *border*
``
``
``
`
`
`
`
`
` | -| Title of primaryyaxis | **Property:** *e-title.text*

``
``
``
`
`
`
`
`
` | **Property:** *title*
``
``
`
`
`
` | -| StripLine of primaryyaxis | **Property:** *e-strip-lines*

``
``
``
`
`
`
`
`
` | **Property:** *e-primaryyaxis-striplines*
``
``
``
`
`
`
`
`
` | -| Multilevel labels of primaryyaxis | **Property:** *e-multi-level-labels*

``
``
``
`
`
`
`
`
` | **Property:** *e-primaryyaxis-multilevellabels*
``
``
``
`
`
`
`
`
` | -| Skeleton for an axes | **Property:** *Not Applicable* | **Property:** *skeleton*
``
``
``
`
`
`
`
`
`
`
` | -| Skeleton type for an axes | **Property:** *Not Applicable* | **Property:** *skeletonType*
``
``
``
`
`
`
`
`
`
`
` | - -## Axes - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Alternate grid band | **Property:** *alternateGridBand*

``
``
``
`
`
`
`
`
` | Not applicable -| Axis line cross value | **Property:** *crosses-at*

``
``
`
`
`
` | **Property:** *crossesAt*
``
` `
`
`
`
` | -| Axis name with which the axis line has to be crossed | **Property:** *crosses-in-axis*

``
``
`
`
`
` | **Property:** *crossesInAxis*
``
` `
`
`
`
` | -| Axis elements placed with axis line | **Property:** *show-next-to-axis-line*

``
``
`
`
`
` | **Property:** *placeNextToAxisLine*
``
` `
`
`
`
` | -| Axis line style | **Property:** *e-axis-line.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-linestyle.color*
``
` `
``
`
`
`
`
`
` | -| Axis line dashArray | **Property:** *e-axis-line.dashArray*

``
``
``
`
`
`
`
`
` | **Property:** *e-linestyle.dashArray*
``
` `
``
``
`
`
`
` | -| Offset for axis | **Property:** *e-axis-line.offset*

``
``
``
`
`
`
`
`
` | **Property:** *plotOffset*
``
` `
``
`
`
`
`
` | -| Visible of an axis | **Property:** *e-axis-line.visible*

``
``
``
`
`
`
`
`
` | **Property:** *visible*
``
` `
``
`
`
`
`
`
` | -| Width of an axis | **Property:** *e-axis-line.width*

``
``
``
`
`
`
`
`
` | **Property:** *width*
``
` `
``
`
`
`
`
`
` | -| Column index of an axis | **Property:** *columnIndex*

``
``
`
`
`
` | **Property:** *columnIndex*
``
` `
`
`
`
` | -| Span of an axis to place horizontally or vertically | **Property:** *columnSpan*

``
``
`
`
`
` | **Property:** *span*
``
` `
`
`
`
` | -| Crosshair label of an axis | **Property:** *e-crosshair-label.visible*

``
``
``
`
`
`
`
`
` | **Property:** *e-crosshairtooltip.enable*
``
` `
``
`
`
`
`
`
` | - | Crosshair label color of an axis | **Property:** *Not applicable* | **Property:** *e-crosshairtooltip.fill*
``
` `
``
`
`
`
`
`
` | - | Crosshair label text style | **Property:** *Not applicable* | **Property:** *e-crosshairtooltip.textStyle*
``
` `
``
`
`
`
`
`
` | -| Desired interval count for axes | **Property:** *desiredIntervals*

``
``
`
`
`
` | **Property:** *desiredIntervals*
``
` `
`
`
`
` | -| Edges axes | **Property:** *edgeLabelPlacement*

``
``
`
`
`
` | **Property:** *edgeLabelPlacement*
``
` `
`
`
` | -| Enables trim for axis labels | **Property:** *enable-trim*

``
``
`
`
`
` | **Property:** *enableTrim*
``
` `
``
`
`
`
`
`
` | -| Specifies the interval of the axis according to the zoomed data of the chart | **Property:** *enableAutoIntervalOnZooming*

``
``
`
`
`
` | **Property:** *enableAutoIntervalOnZooming*
``
` `
`
`
`
` | -| Font style for axes | **Property:** *e-font*

``
``
``
`
`
`
`
`
` | **Property:** *titleStyle*
``
` `
``
`
`
`
`
`
` | -| Indexed for category axis | **Property:** *is-indexed*

``
``
`
`
`
` | **Property:** *isIndexed*
``
` `
`
`
`
` | -| Interval type for date time axis | **Property:** *interval-type*

``
``
`
`
`
` | **Property:** *intervalType*
``
` `
`
`
`
` | -| Inversed axis | **Property:** *is-inversed*

``
``
`
`
`
` | **Property:** *isInversed*
``
` `
`
`
`
` | -| Custom label format | **Property:** *label-format*

``
``
`
`
`
` | **Property:** *labelFormat*
``
` `
`
`
`
` | -| labelIntersectAction | **Property:** *label-intersect-action*

``
``
`
`
`
` | **Property:** *labelIntersectAction*
``
` `
`
`
`
` | -| labelPosition | **Property:** *axislabel-position*

``
``
`
`
`
` | **Property:** *labelPosition*
``
` `
`
`
`
` | -| labelPlacement for category axis | **Property:** *label-placement*

``
``
`
`
`
` | **Property:** *labelPlacement*
``
` `
`
`
`
` | -| Rotation of axis labels | **Property:** *label-rotation*

``
``
`
`
`
` | **Property:** *labelRotation*
``
` `
`
`
`
` | -| Axis label alignment | **Property:** *alignment*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Log base value for logarithmic axis | **Property:** *log-base*

``
``
`
`
`
` | **Property:** *logBase*
``
` `
`
`
`
` | -| Major grid line | **Property:** *e-major-grid-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MajorGridLines | **Property:** *e-major-grid-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorgridlines.width*
``
` `
``
`
`
`
`
`
` | -| Color of MajorGridLines | **Property:** *e-major-grid-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorgridlines.color*
``
` `
``
`
`
`
`
`
` | -| DashArray of MajorGridLines | **Property:** *e-major-grid-lines.dash-array*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorgridlines.dashArray*
``
` `
``
`
`
`
`
`
` | -| Opacity of MajorGridLines | **Property:** *e-major-grid-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Major Tick line | **Property:** *e-major-tick-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MajorTickLines | **Property:** *e-major-tick-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorticklines.width*
``
` `
``
`
`
`
`
`
` | -| Height of MajorTickLines | **Property:** *e-major-tick-lines.size*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorticklines.height*
``
` `
``
`
`
`
`
`
` | -| Color of MajorTickLines | **Property:** *e-major-tick-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-majorticklines.color*
``
` `
``
`
`
`
`
`
` | -| Opacity of MajorTickLines | **Property:** *e-major-tick-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| maximum labels of axes | **Property:** *maximum-labels*

``
``
`
`
`
` | **Property:** *maximumLabels*
``
` `
`
`
`
` | -| maximum labels width of axes to trim | **Property:** *maximum-label-width*

``
``
`
`
`
` | **Property:** *maximumLabelWidth*
``
` `
`
`
`
` | -| Minor grid line | **Property:** *e-minor-grid-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MinorGridLines | **Property:** *e-minor-grid-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorgridlines.width*
``
` `
``
`
`
`
`
`
` | -| Color of MinorGridLines | **Property:** *e-minor-grid-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorgridlines.color*
``
` `
``
`
`
`
`
`
` | -| DashArray of MinorGridLines | **Property:** *e-minor-grid-lines.dash-array*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorgridlines.dashArray*
``
` `
``
`
`
`
`
`
` | -| Opacity of MinorGridLines | **Property:** *e-minor-grid-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Minor Tick line | **Property:** *e-minor-tick-lines.visible*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Width of MinorTickLines | **Property:** *e-minor-tick-lines.width*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorticklines.width*
``
` `
``
`
`
`
`
`
` | -| Height of MinorTickLines | **Property:** *e-minor-tick-lines.size*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorticklines.height*
``
` `
``
``
`
`
`
` | -| Color of MinorTickLines | **Property:** *e-minor-tick-lines.color*

``
``
``
`
`
`
`
`
` | **Property:** *e-minorticklines.color*
``
` `
``
`
`
`
`
`
` | -| Opacity of MinorTickLines | **Property:** *e-major-tick-lines.opacity*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Minor ticks per interval of axes | **Property:** *minor-ticks-per-interval*

``
``
`
`
`
` | **Property:** *minorTicksPerInterval*
``
` `
`
`
`
` | -| Name of the axes | **Property:** *name*

``
``
`
`
`
` | **Property:** *name*
``
` `
`
`
`
` | -| Orientation of the axes | **Property:** *orientation*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Plot offset for axes | **Property:** *plot-offset*

``
``
`
`
`
` | **Property:** *plotOffset*
``
` `
`
`
`
` | -| Minimum for axes | **Property:** *e-range.min*

``
``
``
`
`
`
`
`
` | **Property:** *minimum*
``
` `
`
`
`
` | -| Maximum for axes | **Property:** *e-range.max*

``
``
``
`
`
`
`
`
` | **Property:** *maximum*
``
` `
`
`
`
` | -| Interval for axes | **Property:** *e-range.interval*

``
``
``
`
`
`
`
`
` | **Property:** *interval*
``
` `
`
`
`
` | -| RangePadding for axes | **Property:** *range-padding*

``
``
`
`
`
` | **Property:** *rangePadding*
``
` `
`
`
`
` | -| Rounding Places in axes | **Property:** *rounding-places*

``
``
`
`
`
` | **Property:** *labelFormat*
``
` `
`
`
`
` | -| ScrollBar settings of axes | **Property:** *e-scrollbar-settings*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| TickPosition in axes | **Property:** *tick-lines-position*

``
``
`
`
`
` | **Property:** *tickPosition*
``
` `
`
`
`
` | -| ValueType of axes | **Property:** *value-type*

``
``
`
`
`
` | **Property:** *valueType*
``
` `
`
`
`
` | -| visible of axes | **Property:** *visible*

``
``
`
`
`
` | **Property:** *visible*
``
` `
`
`
`
` | -| ZoomFactor of axes | **Property:** *zoom-factor*

``
``
`
`
`
` | **Property:** *zoomFactor*
``
` `
`
`
`
` | -| ZoomPosition of axes | **Property:** *zoom-position*

``
``
`
`
`
` | **Property:** *zoomPosition*
``
` `
`
`
`
` | -| labelBorder of axes | **Property:** *e-border*

``
``
``
`
`
`
`
`
` | **Property:** *border*
``
` `
``
`
`
`
`
`
` | -| Title of axes | **Property:** *e-title.text*

``
``
``
`
`
`
`
`
` | **Property:** *title*
``
` `
`
`
`
` | -| StripLine of axes | **Property:** *e-strip-lines*

``
``
``
`
`
`
`
`
` | **Property:** *e-axes -striplines*
``
` `
``
`
`
`
`
`
` | -| Multilevel labels of axes | **Property:** *e-multi-level-labels*

``
``
``
`
`
`
`
`
` | **Property:** *e-axes -multilevellabels*
``
` `
``
`
`
`
`
`
` | -| Skeleton for an axes | **Property:** *Not Applicable* | **Property:** *skeleton*
``
` `
``
`
`
`
`
`
`
`
` | -| Skeleton type for an axes | **Property:** *Not Applicable* | **Property:** *skeletonType*
``
` `
``
`
`
`
`
`
`
`
` | - -## Series - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| BearFillColor | **Property:** *bear-fill-color*

``
``
``
`
`
`
`
`
` | **Property:** *bearFillColor*

``
``
``
`
`
`
`
`
` | -| Border | **Property:** *e-border*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-series-border*

``
``
``
``
`
`
`
`
`
`
`
` | -| BoxPlotMode | **Property:** *box-plot-mode*

``
``
``
`
`
`
`
`
` | **Property:** *boxPlotMode*

``
``
``
`
`
`
`
`
` | -| Minimum radius of Bubble series | **Property:** *e-bubble-options.min-Radius*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *minRadius*

``
``
``
`
`
`
`
`
` | -| Maximum radius of Bubble series | **Property:** *e-bubble-options.max-Radius*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *maxRadius*

``
``
``
`
`
`
`
`
` | -| BullFillColor | **Property:** *bull-fill-color*

``
``
``
`
`
`
`
`
` | **Property:** *bullFillColor*

``
``
``
`
`
`
`
`
` | -| Cardinal spline tension for spline series | **Property:** *cardinal-spline-tension*

``
``
``
`
`
`
`
`
` | **Property:** *cardinalSplineTension*

``
``
``
`
`
`
`
`
` | -| Column Width for rectangle series | **Property:** *column-width*

``
``
``
`
`
`
`
`
` | **Property:** *columnWidth*

``
``
``
`
`
`
`
`
` | -| Column spacing for rectangle series | **Property:** *column-spacing*

``
``
``
`
`
`
`
`
` | **Property:** *columnSpacing*

``
``
``
`
`
`
`
`
` | -| Topleft radius for rectangle series | **Property:** *e-corner-radius.top-left*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-series-cornerradius.topLeft*

``
``
``
``
`
`
`
`
`
`
`
` | -| TopRight radius for rectangle series | **Property:** *e-corner-radius.top-right*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-series-cornerradius.topRight*

``
``
``
``
`
`
`
`
`
`
`
` | -| BottomRight radius for rectangle series | **Property:** *e-corner-radius.bottom-right*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-series-cornerradius.bottomRight*

``
``
``
``
`
`
`
`
`
`
`
` | -| BottomLeft radius for rectangle series | **Property:** *e-corner-radius.bottom-left*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-series-cornerradius.bottomLeft*

``
``
``
``
`
`
`
`
`
`
`
` | -| DashArray property | **Property:** *dash-array*

``
``
``
`
`
`
`
`
` | **Property:** *dashArray*

``
``
``
`
`
`
`
`
` | -| DataSource for series | **Property:** *dataSource*

``
``
``
`
`
`
`
`
` | **Property:** *dataSource*

``
``
``
`
`
`
`
`
` | -| Draw type for Polar series | **Property:** *draw-type*

``
``
``
`
`
`
`
`
` | **Property:** *drawType*

``
``
``
`
`
`
`
`
` | -| EmptyPointSettings for series | **Property:** *e-empty-point-settings.visible*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Empty Point Display modes | **Property:** *e-empty-point-settings.display-mode*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-series-emptypointsettings.mode*

``
``
``
``
`
`
`
`
`
`
`
` | -| Empty Point color | **Property:** *color*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *e-series-emptypointsettings.fill*

``
``
``
``
`
`
`
`
`
`
`
` | -| Empty Point Border | **Property:** *e-border*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | **Property:** *e-emptypointsettings-border*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Enable animation for series | **Property:** *enable-animation*

``
``
``
`
`
`
`
`
` | **Property:** *e-series-animation.enable*

``
``
``
``
`
`
`
`
`
`
`
` | -| Animation duration for series | **Property:** *animation-duration*

``
``
``
`
`
`
`
`
` | **Property:** *e-series-animation.duration*

``
``
``
``
`
`
`
`
`
`
`
` | -| Animation delay for series | **Property:** *Not Applicable* | **Property:** *e-series-animation.delay*

``
``
``
``
`
`
`
`
`
`
`
` | -| Drag settings for series | **Property:** *e-drag-options*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Errorbar settings for series | **Property:** *e-error-bar*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-series-errorbar*

``
``
``
``
`
`
`
`
`
`
`
` | -| Closed series | **Property:** *is-closed*

``
``
``
`
`
`
`
`
` | **Property:** *isClosed*

``
``
``
`
`
`
`
`
` | -| Stacking Property for series | **Property:** *is-stacking*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Line cap for series | **Property:** *line-cap*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Line cap for series | **Property:** *line-join*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Outlier settings of series | **Property:** *e-outlier-settings*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Opacity for series | **Property:** *opacity*

``
``
``
`
`
`
`
`
` | **Property:** *opacity*

``
``
``
`
`
`
`
`
` | -| point Color Mapping | **Property:** *point-color-mapping-name*

``
``
``
`
`
`
`
`
` | **Property:** *pointColorMapping*

``
``
``
`
`
`
`
`
` | -| Positive fill for waterfall series | **Property:** *positive-fill*

``
``
``
`
`
`
`
`
` | **Property:** *pointColorMapping*

``
``
``
`
`
`
`
`
` | -| Show average value in box and whisker series | **Property:** *show-median*

``
``
``
`
`
`
`
`
` | **Property:** *showMean*

``
``
``
`
`
`
`
`
` | -| To group the series of stacking collection | **Property:** *stacking-group*

``
``
``
`
`
`
`
`
` | **Property:** *stackingGroup*

``
``
``
`
`
`
`
`
` | -| Specifies the type of the series to render in chart | **Property:** *type*

``
``
``
`
`
`
`
`
` | **Property:** *type*

``
``
``
`
`
`
`
`
` | -| Defines the visibility of the series | **Property:** *visibility*

``
``
``
`
`
`
`
`
` | **Property:** *visible*

``
``
``
`
`
`
`
`
` | -| Enables or disables the visibility of legend item | **Property:** *visible-on-legend*

``
``
``
`
`
`
`
`
` | **Property:** *toggleVisibility*

``
``
``
`
`
`
`
`
` | -| Specifies the different types of spline curve | **Property:** *spline-type*

``
``
``
`
`
`
`
`
` | **Property:** *splineType*

``
``
``
`
`
`
`
`
` | -| Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection | **Property:** *x-axis-name*

``
``
``
`
`
`
`
`
` | **Property:** *xAxisName*

``
``
``
`
`
`
`
`
` | -| Name of the property in the datasource that contains x value for the series | **Property:** *x-name*

``
``
``
`
`
`
`
`
` | **Property:** *xName*

``
``
``
`
`
`
`
`
` | -| Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection | **Property:** *y-axis-name*

``
``
``
`
`
`
`
`
` | **Property:** *yAxisName*

``
``
``
`
`
`
`
`
` | -| Name of the property in the datasource that contains y value for the series | **Property:** *x-name*

``
``
``
`
`
`
`
`
` | **Property:** *yName*

``
``
``
`
`
`
`
`
` | -| Name of the property in the datasource that contains high value for the series | **Property:** *high*

``
``
``
`
`
`
`
`
` | **Property:** *high*

``
``
``
`
`
`
`
`
` | -| Name of the property in the datasource that contains low value for the series | **Property:** *low*

``
``
``
`
`
`
`
`
` | **Property:** *low*

``
``
``
`
`
`
`
`
` | -| Name of the property in the datasource that contains close value for the series | **Property:** *close*

``
``
``
`
`
`
`
`
` | **Property:** *close*

``
``
``
`
`
`
`
`
` | -| Name of the property in the datasource that contains open value for the series | **Property:** *open*

``
``
``
`
`
`
`
`
` | **Property:** *open*

``
``
``
`
`
`
`
`
` | -| Option to add trendlines to chart | **Property:** *e-trend-lines*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *e-series-trendlines*

``
``
``
``
`
`
`
`
`
`
`
` | -|Options for customizing the appearance of the series or data point while highlighting | **Property:** *e-highlight-settings*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *Not applicable* | -|Options for customizing the appearance of the series/data point on selection | **Property:** *e-selection-settings*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *Not applicable* | - -## marker - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| visibility of marker | **Property:** *visible*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *visible*

``
``
``
``
`
`
`
`
`
`
`
` | -| Fill for marker | **Property:** *fill*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *fill*

``
``
``
``
`
`
`
`
`
`
`
` | -| Opacity for marker | **Property:** *opacity*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *opacity*

``
``
``
``
`
`
`
`
`
`
`
` | -| Shape for marker | **Property:** *shape*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *shape*

``
``
``
``
`
`
`
`
`
`
`
` | -| ImageUrl for marker | **Property:** *image-url*

``
``
``
``
`
`
`
`
`
`
`
` | **Property:** *imageUrl*

``
``
``
``
`
`
`
`
`
`
`
` | -| Border for marker | **Property:** *e-border*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *e-marker-border*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Height for marker | **Property:** *size.height*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *height*

``
``
``
``
`
`
`
`
`
`
`
` | -| Width for marker | **Property:** *size.Width*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *Width*

``
``
``
``
`
`
`
`
`
`
`
` | -| DataLabelSettings of marker | **Property:** *e-series-marker.e-data-label*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *marker.dataLabel*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Visibility of dataLabel | **Property:** *e-data-label.visible*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *e-series-datalabel.visible*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Text mapping name of dataLabel | **Property:** *e-data-label.text-mapping-name*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *e-series-datalabel.name*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Fill color of data label | **Property:** *e-data-label.fill*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *dataLabel.fill*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Opacity of data label | **Property:** *e-data-label.opacity*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *e-series-datalabel.opacity*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Text position of data label | **Property:** *e-data-label.text-position*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *e-series-datalabel.position*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Alignment of data label | **Property:** *e-data-label.vertical-text-alignment*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *e-series-datalabel.alignment*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Border of data label | **Property:** *e-data-label.e-border*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | **Property:** *e-datalabelsettings-border*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | -| Offset for data label | **Property:** *e-data-label.e-offset*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Margin of data label | **Property:** *e-data-label.e-margin*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | **Property:** *e-series-datalabe.e-datalabelsettings-margin*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | -| Font of data label | **Property:** *e-data-label.e-font*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | **Property:** *e-series-datalabel.e-font*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | -| HTML template in dataLabel | **Property:** *e-data-label.template*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *e-series-datalabel.template*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Rounded corner radius X | **Property:** *Not Applicable* | **Property:** *e-series-datalabel.rx*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Rounded corner radius Y | **Property:** *Not Applicable* | **Property:** *e-series-datalabel.ry*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Maximum Label width for data label | **Property:** *maximum-label-width*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Enable wrapping of text for data label | **Property:** *enable-wrap*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *Not Applicable* | -| To show edge label for data label | **Property:** *show-edge-labels*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *Not Applicable* | - -## TrendLines - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Trendlines settings | **Property:** *e-series.e-trend-lines*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-series.e-series-trendlines*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Visibility of trendline | **Property:** *e-trend-line.visibility*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *Not applicable* | -| Type of trendLine | **Property:** *e-trend-line.type*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-trendline.type*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Name of trendLine | **Property:** *e-trend-line.name*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-trendline.name*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Period of trendLine | **Property:** *Not available* | **Property:** *e-trendline.period*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Polynomial order for Polynomial type trendLines | **Property:** *e-trend-line.polynomial-order*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-trendline.polynomialOrder*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Backward forecost for trendLines | **Property:** *e-trend-line.backward-forecast*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-trendline.backwardForecast*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Forward forecost for trendLines | **Property:** *e-trend-line.forward-forecast*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-trendline.forwardForecast*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Fill for trendLines | **Property:** *e-trend-line.fill*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-trendline.fill*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Width for trendLines | **Property:** *e-trend-line.width*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-trendline.width*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Intercept value for trendLines | **Property:** *Not Applicable* | **Property:** *e-trendline.intercept*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Intercept value for trendLines | **Property:** *Not Applicable* | **Property:** *e-trendline.legendShape*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Animation settings for trendLines | **Property:** *Not Applicable* | **Property:** *e-trendline.animation*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | -| Marker settings for trendLines | **Property:** *Not Applicable* | **Property:** *e-trendline.marker*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | -| Tooltip for trendLines | **Property:** *Not Applicable* | **Property:** *e-trendline.enableTooltip*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| DashArray for trendLines | **Property:** *e-trend-line.dash-array*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *Not Applicable* | -| Visible on legend for trendLines | **Property:** *e-trend-line.visible-on-legend*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *Not Applicable* | - -## StripLines - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Default behaviour for striplines | **Property:** *e-primary-x-axis.e-strip-lines*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.width*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| border for stripline | **Property:** *e-strip-lines.border-color*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.e-primaryxaxis-border*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | -| Background color for stripline | **Property:** *e-strip-line.color*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.color*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Start value for stripline | **Property:** *e-strip-line.start*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.start*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| End value for stripline | **Property:** *e-strip-line.end*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.end*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| StartfromAxis value for stripline | **Property:** *e-strip-line.start-from-axis*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.startFromAxis*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Text in stripline | **Property:** *e-strip-line.text*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.text*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Text alignment in stripline | **Property:** *e-strip-line.text-alignment*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.horizontalAlignment*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Vertical Text alignment in stripline | **Property:** *e-strip-line.text-alignment*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.verticalAlignment*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Size of stripline | **Property:** *e-strip-line.border-width*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.size*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| ZIndex of stripline | **Property:** *e-strip-line.z-index*

``
``
``
``
``
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.zIndex*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Font style of stripline | **Property:** *e-strip-line.e-Font*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
``
`
` | **Property:** *e-primaryxaxis-stripline.zIndex*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | - -## Multilevel Labels - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Default behaviour for multilevelLabels | **Property:** *e-primary-x-axis.e-multi-level-labels*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *e-chart-primaryxaxis-stripline.e-primaryxaxis-multilevellabel*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Text alignment for multilevelLabels | **Property:** *text-alignment*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *alignment*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Text overflow for multilevelLabels | **Property:** *text-overflow*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *overFlow*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | -| Border for multilevelLabels | **Property:** *text-overflow*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *overFlow*

``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
` | -| Start value for label | **Property:** *start*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *start*

``
``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
`
`
` | -| End value for label | **Property:** *end*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *end*

``
``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
`
`
` | -| Text for label | **Property:** *text*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *text*

``
``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
`
`
` | -| Maximum text width for label | **Property:** *maximum-text-width*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *maximumTextWidth*

``
``
``
``
``
``
``
`
`
`
`
`
`
`
`
`
`
`
`
`
` | -| level of labels | **Property:** *level*

``
``
``
``
``
`
`
`
`
`
`
`
`
`
` | **Property:** *Not applicable* | - - - -## Methods - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Animation for series | **Property:** *chart.animate*

``
`
`
`` | Not applicable | -| Redraw for chart | **Property** *chart.redraw*

``
`
`
`` | **Property:** *chart.refresh()*

``
`
`
`` | -| Export | **Property** *chart.export*

``
`
`
`` | **Property:** *chart.export()*

``
`
`
`` | -| Print | **Property** *chart.print*

``
`
`
`` | **Property:** *chart.print()*

``
`
`
`` | -| AddSeries | **Property** *Not Applicable* | **Property:** *chart.addSeries()*

``
`
`
`` | -| RemoveSeries | **Property** *Not Applicable* | **Property:** *chart.removeSeries()*

``
`
`
`` | - - - -## Events - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Fires on annotation click | **Property:** *annotation-click*

``
`
`
`` | Not applicable | -| Fires after animation | **Property:** *animation-complete*

``
`
`
`` | **Property:** *animationComplete*

``
`
`
``| -| Fires on axis label click | **Property:** *axis-label-click*

``
`
`
`` | **Property:** *Not applicable* | -| Fires before axis label render | **Property:** *axes-label-rendering*

``
`
`
`` | **Property:** *axisLabelRender*

``
`
`
``| -| Fires on axis label mouseMove | **Property:** *axis-label-mouse-move*

``
`
`
`` | **Property:** *Not applicable* | -| Fires on axis label initialize | **Property:** *axes-labels-initialize*

``
`
`
`` | **Property:** *Not applicable* | -| Fires before axis range calculation | **Property:** *axes-range-calculate*

``
`
`
`` | **Property:** *axisRangeCalculated*

``
`
`
``| -| Fires on axis title rendering | **Property:** *axes-title-rendering*

``
`
`
`` | **Property:** *Not applicable* | -| Fires on after chart resize | **Property:** *after-resize*

``
`
`
`` | **Property:** *Not applicable* | -| Fires on before chart resize | **Property:** *before-resize*

``
`
`
`` | **Property:** *resized*

``
`
`
``| -| Fires on chart click | **Property:** *chart-click*

``
`
`
`` | **Property:** *chartMouseClick*

``
`
`
``| -| Fires on chart mouse move | **Property:** *chart-mouse-move*

``
`
`
`` | **Property:** *chartMouseMove*

``
`
`
``| -| Fires on chart mouse leave | **Property:** *chart-mouse-leave*

``
`
`
`` | **Property:** *chartMouseLeave*

``
`
`
``| -| Fires on before chart double click | **Property:** *chart-double-click*

``
`
`
`` | **Property:** *Not applicable* | -| Fires on chart mouse up | **Property:** *Not Applicable* | **Property:** *chartmouseUp*

``
`
`
``| -| Fires on chart mouse down | **Property:** *Not Applicable* | **Property:** *chartmouseDown*

``
`
`
``| -| Fires during the calculation of chart area bounds. You can use this event to customize the bounds of chart area | **Property:** *chart-area-bounds-calculate*

``
`
`
`` | **Property:** *Not applicable* | -| Fires when the dragging is started | **Property:** *drag-start*

``
`
`
`` | **Property:** *Not applicable* | -| Fires while dragging | **Property:** *dragging*

``
`
`
`` | **Property:** *Not applicable* | -| Fires when the dragging is completed | **Property:** *drag-end*

``
`
`
`` | **Property:** *dragComplete*

``
`
`
``| -| Fires when chart is destroyed completely | **Property:** *destroy*

``
`
`
`` | **Property:** *Not applicable* | -| Fires after chart is created | **Property:** *create*

``
`
`
`` | **Property:** *loaded*

``
`
`
``| -| Fires before rendering the data labels | **Property:** *display-text-rendering*

``
`
`
`` | **Property:** *textRender*

``
`
`
``| -| Fires during the calculation of legend bounds | **Property:** *lengend-bounds-calculate*

``
`
`
`` | **Property:** *Not applicable* | -| Fires on clicking the legend item | **Property:** *legend-item-click*

``
`
`
`` | **Property:** *Not applicable* | -| Fires when moving mouse over legend item | **Property:** *legend-item-mouse-move*

``
`
`
`` | **Property:** *Not applicable* | -| Fires before rendering the legend item | **Property:** *legend-item-rendering*

``
`
`
`` | **Property:** *legendRender*

``
`
`
``| -| Fires before loading the chart | **Property:** *load*

``
`
`
`` | **Property:** *load*

``
`
`
``| -| Fires, when multi level labels are rendering | **Property:** *multi-level-label-rendering*

``
`
`
`` | **Property:** *axisMultiLabelRender*

``
`
`
``| -| Fires on clicking a point in chart | **Property:** *point-region-click*

``
`
`
`` | **Property:** *pointClick*

``
`
`
``| -| Fires when mouse is moved over a point | **Property:** *point-region-click*

``
`
`
`` | **Property:** *pointMove*

``
`
`
``| -| Fires before rendering chart | **Property:** *pre-render*

``
`
`
`` | **Property:** *Not applicable* | -| Fires after selected the data in chart | **Property:** *range-selected*

``
`
`
`` | **Property:** *Not applicable* | -| Fires after selecting a series | **Property:** *series-region-click*

``
`
`
`` | **Property:** *Not applicable* | -| Fires when point render | **Property:** *Not Applicable* | **Property:** *pointRender*

``
`
`
``| -| Fires before rendering a series | **Property:** *series-rendering*

``
`
`
`` | **Property:** *seriesRender*

``
`
`
``| -| Fires before rendering the marker symbols | **Property:** *symbol-rendering*

``
`
`
`` | **Property:** *Not applicable* | -| Fires before rendering the trendline | **Property:** *trendline-rendering*

``
`
`
`` | **Property:** *Not applicable* | -| Fires before rendering the Chart title | **Property:** *title-rendering*

``
`
`
`` | **Property:** *Not applicable* | -| Fires before rendering the tooltip | **Property:** *tool-tip-initialize*

``
`
`
`` | **Property:** *tooltipRender*

``
`
`
``| -| Fires before rendering crosshair tooltip in axis | **Property:** *track-axis-tool-tip*

``
`
`
`` | **Property:** *Not applicable* | -| Fires before rendering trackball tooltip | **Property:** *track-tool-tip*

``
`
`
`` | **Property:** *Not applicable* | -| Event triggered when scroll starts | **Property:** *scroll-start*

``
`
`
`` | **Property:** *scrollStart*

``
`
`
``| -| Event triggered when scroll ends | **Property:** *scroll-end*

``
`
`
`` | **Property:** *scrollEnd*

``
`
`
``| -| Event triggered when scroll changes | **Property:** *scrollChanged*

``
`
`
`` | **Property:** *scrollChanged*

``
`
`
``| -| Fires while performing rectangle zooming in chart | **Property:** *zoomed*

``
`
`
`` | **Property:** *zoomComplete*

``
`
`
``| - -## Chart properties - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| selected data index | **Property:** *e-selected-data-point-indexes*

``
``
`
`
`
` | **Property:** *overFlow*

``
``
``
`
`
`
`
`
` | -| sideBySideSeriesPlacement for column based series | **Property:** *side-by-side-series-placement*

``
`
` | **Property:** *enableSideBySidePlacement*

``
`
` | -| ZoomSettings | **Property:** *zooming*

``
``
`
`
`
` | **Property:** *e-chart-zoomsettings*

``
``
`
`
`
` | -| Background color of the chart | **Property:** *background*

``
`
` | **Property:** *background*

``
`
` | -| URL of the image to be used as chart background | **Property:** *back-ground-image-url*

``
`
` | **Property:** *Not Applicable* | -| Customizing border of the chart | **Property:** *background*

``
``
`
`
`
` | **Property:** *background*

``
``
`
`
`
` | -| ChartArea customization | **Property:** *background*

``
``
`
`
`
` | **Property:** *background*

``
``
`
`
`
` | \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/getting-started.md b/chart-sdk/asp-net-core/chart/getting-started.md deleted file mode 100644 index a3bda1c11..000000000 --- a/chart-sdk/asp-net-core/chart/getting-started.md +++ /dev/null @@ -1,212 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET Core Chart Control | Syncfusion -description: Check out and learn about getting started with ASP.NET Core Chart control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - -# Getting Started with the ASP.NET Core Chart Control - -This section briefly explains how to include the [ASP.NET Core Chart](https://www.syncfusion.com/aspnet-core-ui-controls/charts) control in your ASP.NET Core Web App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and [Visual Studio Code](https://code.visualstudio.com/). - -> **Ready to streamline your ASP.NET Core development?** Discover the full potential of ASP.NET Core controls with AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like Visual Studio, Visual Studio Code, Cursor, Code Studio and more. [Explore AI Coding Assistant](https://ej2.syncfusion.com/aspnetcore/documentation/ai-coding-assistant/overview) - -To get started quickly with ASP.NET Core Chart control, you can check out this video. - -{% youtube "https://www.youtube.com/watch?v=Vll9DXQ7z4Q" %} - -## Create an ASP.NET Core Web App with Razor Pages - -{% tabcontents %} - -{% tabcontent Visual Studio %} - -Create an **ASP.NET Core Web App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-10.0&tabs=visual-studio#create-a-razor-pages-web-app) or the [ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project). - -{% endtabcontent %} - -{% tabcontent Visual Studio Code %} - -Run the following command to create a new ASP.NET Core Web App. - -{% tabs %} -{% highlight C# tabtitle="Terminal" %} - -dotnet new webapp -o SyncfusionApp -code -r SyncfusionApp - -{% endhighlight %} -{% endtabs %} - -Alternatively, create an ASP.NET Core Web App using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-10.0&tabs=visual-studio-code#create-a-razor-pages-web-app) or the [ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-code-integration/create-project), or the [C# Dev Kit](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) extension. - -{% endtabcontent %} - -{% endtabcontents %} - -## Install the required ASP.NET Core package - -Install the [Syncfusion.AspNetCore.Charts](https://www.nuget.org/packages/Syncfusion.AspNetCore.Charts) NuGet package. All Syncfusion ASP.NET Core packages are available on [nuget.org](https://www.nuget.org/packages?q=Syncfusion.EJ2). See the [NuGet packages](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) topic for more details. - -{% tabcontents %} - -{% tabcontent Visual Studio %} - -1. Go to *Tools → NuGet Package Manager → Manage NuGet Packages for Solution*. -2. Search the required NuGet package (`Syncfusion.AspNetCore.Charts`) and install it. - -Alternatively, you can install the same package using the Package Manager Console with the following command. - -{% tabs %} -{% highlight C# tabtitle="Package Manager Console" %} - -Install-Package Syncfusion.AspNetCore.Charts -Version {{ site.releaseversion }} - -{% endhighlight %} -{% endtabs %} - -{% endtabcontent %} - -{% tabcontent Visual Studio Code %} - -Open the terminal and run the following command. - -{% tabs %} -{% highlight C# tabtitle="Terminal" %} - -dotnet add package Syncfusion.AspNetCore.Charts --version {{ site.releaseversion }} - -{% endhighlight %} -{% endtabs %} - -{% endtabcontent %} - -{% endtabcontents %} - -## Add ASP.NET Core tag helpers - -After the package is installed, open the **~/Pages/_ViewImports.cshtml** file and import the `Syncfusion.AspNetCore.Charts` and `Syncfusion.AspNetCore.Base` tag helpers. - -{% tabs %} -{% highlight C# tabtitle="_ViewImports.cshtml" %} - -@addTagHelper *, Syncfusion.AspNetCore.Charts -@addTagHelper *, Syncfusion.AspNetCore.Base - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -The script can be referenced from NuGet through [Static Web Assets](https://ej2.syncfusion.com/aspnetcore/documentation/appearance/theme#static-web-assets). Include the [script references](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) inside the `` of **~/Pages/Shared/_Layout.cshtml** file. - -{% tabs %} -{% highlight cshtml tabtitle="_Layout.cshtml" %} - - - ... - - - -{% endhighlight %} -{% endtabs %} - -## Register the script manager - -Open the **~/Pages/Shared/_Layout.cshtml** file and register the script manager (``) at the end of the `` element as shown below. - -{% tabs %} -{% highlight cshtml tabtitle="_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -## Add the ASP.NET Core Chart control - -Add the ASP.NET Core Chart control in the **~/Pages/Index.cshtml** page. - -{% tabs %} -{% highlight cshtml tabtitle="Index.cshtml" %} - - - -{% endhighlight %} -{% endtabs %} - -## Run the application - -{% tabcontents %} - -{% tabcontent Visual Studio %} - -Press Ctrl+F5 (Windows) or +F5 (macOS) to launch the application. The [ASP.NET Core Chart](https://www.syncfusion.com/aspnet-core-ui-controls/charts) control will render in your default web browser. - -{% endtabcontent %} - -{% tabcontent Visual Studio Code %} - -Open the terminal and run the following command. - -{% tabs %} -{% highlight C# tabtitle="Terminal" %} - -dotnet run - -{% endhighlight %} -{% endtabs %} - -{% endtabcontent %} - -{% endtabcontents %} - -![ASP.NET Core Chart control](how-to/images/chart-control.webp) - -## Render a Chart with data - -To render a column chart, bind a data source to the chart series using the [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource), [`xName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_XName), and [`yName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_YName) properties, and set the [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Type) property to **Column**. The `dataSource` property specifies the data for the series, while `xName` and `yName` map the x-axis and y-axis fields from the data source. The default series type is **Line**. - -{% tabs %} -{% highlight cshtml tabtitle="Index.cshtml" %} - -@{ - var chartData = new List - { - new { Month = "Jan", Sales = 35 }, - new { Month = "Feb", Sales = 28 }, - new { Month = "Mar", Sales = 34 }, - new { Month = "Apr", Sales = 32 }, - new { Month = "May", Sales = 40 } - }; -} - - - - - - - - - -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core Chart control](how-to/images/chart-data.webp) - -N> Explore the sample on [GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/Chart/ASP.NET%20Core%20Tag%20Helper%20Examples) to understand how this getting started example works. - -## See also - -1. [Getting Started with ASP.NET Core in Visual Studio Mac](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/visual-studio-mac) -2. [Getting Started with ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) diff --git a/chart-sdk/asp-net-core/chart/gradient.md b/chart-sdk/asp-net-core/chart/gradient.md deleted file mode 100644 index 13ffb1569..000000000 --- a/chart-sdk/asp-net-core/chart/gradient.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -layout: post -title: Gradient and Customization in ASP.NET Core Syncfusion Chart Component -description: Learn here all about Gradient in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Gradient -publishingplatform: chart-sdk -documentation: ug ---- - -# Gradient in ASP.NET Core Chart control - -Gradients add depth and modern styling to charts by smoothly blending multiple colors. The Charts component supports two gradient types: - -- Linear Gradient -- Radial Gradient - -Gradients can be applied to: - -- Series -- Trendlines -- Technical Indicators - -The gradient can be defined in the `@{ }` Razor code block or dynamically configured in the `load` event of the chart. - -## Linear Gradient - -A linear gradient blends color along a straight path from a defined start point to an end point. Configure it by adding `LinearGradient` inside the target element (Series, Trendlines or Indicators) and define one or more color stops that control how colors transition across the gradient. Set the start and end positions of the gradient using `X1`, `Y1`, `X2` and `Y2` properties. The gradient color stop values such as `Offset`, `Color`, `Opacity`, `Lighten` and `Brighten` are set using the `ChartGradientColorStop` property. - -In the `LinearGradient`: -- `X1` - Sets the horizontal start position of the gradient (0 to 1). -- `Y1` - Sets the vertical start position of the gradient (0 to 1). -- `X2` - Sets the horizontal end position of the gradient (0 to 1). -- `Y2` - Sets the vertical end position of the gradient (0 to 1). - -In the `ChartGradientColorStop`: - -- `Offset` - Specifies the position of the color stop along the gradient (0 to 100). -- `Color` - Sets the color at the stop. -- `Opacity` - Defines the transparency of the stop (0 to 1). -- `Lighten` - Adjusts the lightness at the stop. A value of 1 applies maximum lightening. Range: 0 to 1. -- `Brighten` - Adjusts brightness at the stop. Positive values increase brightness; negative values decrease it. Range: -1 to 1. - -### Series - -Apply a linear gradient to a series by adding `LinearGradient` inside the target Series. The same gradient is applied to the series markers, legend symbol and tooltip marker for visual consistency. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/series-linear/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="LinearGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/series-linear/series-linear.cs %} -{% endhighlight %} -{% endtabs %} - -### Trendlines - -Apply a linear gradient to a trendline by adding `LinearGradient` inside the target Trendline. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/trendlines-linear/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="LinearGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/trendlines-linear/trendlines-linear.cs %} -{% endhighlight %} -{% endtabs %} - -### Technical Indicators - -Apply a linear gradient to a technical indicator by adding `LinearGradient` inside the target Indicator. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/indicators-linear/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="LinearGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/indicators-linear/indicators-linear.cs %} -{% endhighlight %} -{% endtabs %} - -## Radial gradient - -A radial gradient blends colors outward from a central point, creating a circular or elliptical color progression. Configure it by adding `RadialGradient` inside the target element (Series, Trendline, or Indicator) and define one or more color stops to control how colors transition from the center to the outer edge. Set the gradient’s center, optional focal point, and radius using `RadialGradient` properties. The color stop values such as `Offset`, `Color`, `Opacity`, `Lighten`, and `Brighten` are set using the `ChartGradientColorStop` property. - -In the `RadialGradient`: - -- `Cx` - Sets the normalized horizontal center of the gradient (0 to 1). -- `Cy` - Sets the normalized vertical center of the gradient (0 to 1). -- `Fx` - Sets the normalized horizontal focal point of the gradient's origin (0 to 1). -- `Fy` - Sets the normalized vertical focal point (0 to 1). -- `R` - Sets the normalized radius of the gradient circle (0 to 1). - -In the `ChartGradientColorStop`: - -- `Offset` - Specifies the position of the color stop along the gradient (0 to 100). -- `Color` - Sets the color at the stop. -- `Opacity` - Defines the transparency of the stop (0 to 1). -- `Lighten` - Adjusts lightness at the stop. Positive values lighten the color. Range: 0 to 1. -- `Brighten` - Adjusts brightness at the stop. Positive values increase brightness; negative values decrease it. Ranges: -1 to 1. - -### Series - -Apply a radial gradient to a series by adding `RadialGradient` inside the target Series. The same gradient is applied to the series markers, legend symbol and tooltip marker for visual consistency. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/series-radial/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="RadialGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/series-radial/series-radial.cs %} -{% endhighlight %} -{% endtabs %} - -### Trendlines - -Apply a radial gradient to a trendline by adding `RadialGradient` inside the target Trendline. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/trendlines-radial/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="RadialGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/trendlines-radial/trendlines-radial.cs %} -{% endhighlight %} -{% endtabs %} - -### Technical Indicators - -Apply a radial gradient to a technical indicator by adding `RadialGradient` inside the target Indicator. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/indicators-radial/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="RadialGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/gradient/indicators-radial/indicators-radial.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/how-to/add-remove.md b/chart-sdk/asp-net-core/chart/how-to/add-remove.md deleted file mode 100644 index ac78cc341..000000000 --- a/chart-sdk/asp-net-core/chart/how-to/add-remove.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: post -title: Add Remove in ASP.NET Core Chart Component -description: Learn here all about Add Remove in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Add Remove -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Add or remove a series from the chart dynamically - -You can add or remove the chart series dynamically by using the `addSeries` or `removeSeries` method. - -To add or remove the series dynamically, follow the given steps: - -**Step 1**: - -To add a new series to chart dynamically, pass the series value to the `addSeries` method. - -To remove the new series from chart dynamically, pass the series index to the `removeSeries` method. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/add-remove/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Add-remove.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/add-remove/add-remove.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/how-to/ajax-chart-call.md b/chart-sdk/asp-net-core/chart/how-to/ajax-chart-call.md deleted file mode 100644 index 73e629b75..000000000 --- a/chart-sdk/asp-net-core/chart/how-to/ajax-chart-call.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -layout: post -title: Ajax Chart Call in ASP.NET Core Chart Component -description: Learn here all about Ajax Chart Call in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Ajax Chart Call -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Ajax Chart in ASP.NET MVC Chart control - -The following section explains how to customize various aspects of the chart. - -## Bind data to chart on ajax request - -You can bind data to chart on ajax request using the following steps: - -**Step 1:** - -Create a http post action method to return data for ajax call in a controller page. The following GetServerData() method will return a JSON data string. - -```cs -[HttpPost] - public ActionResult GetServerData() - { - List data1 = new List(); - data1.Add(new LineChart("India", 1)); - data1.Add(new LineChart("USA", 5)); - data1.Add(new LineChart("USSR", 10)); - data1.Add(new LineChart("Chinaa", 12)); - data1.Add(new LineChart("Japan", 8)); - return Json(data1); - } - - public class LineChart - { - public LineChart(string name, double cnt) - { - this.x = name; - this.y = cnt; - } - public string x { get; set; } - public double y { get; set; } - } -``` - -**Step 2:** - -Make a simple chart with series. - -```html -@using Syncfusion.EJ2; -@using EJ2MVCSamples.Controllers; - -
- @Html.EJS().Chart("container").PrimaryXAxis(px => px.Title("Years").ValueType(Syncfusion.EJ2.Charts.ValueType.Category)).Series(series => - { - series.Type(Syncfusion.EJ2.Charts.ChartSeriesType.Column).Add(); - } - ).Render() -
-``` - -**Step 3:** - -Make ajax call to the GetServerData() action method in chart load event to get JSON data, and then assign the data to the chart series using the `dataSource` property and mapping the field name to `xName` and `yName` properties of the series. - -```html -@using Syncfusion.EJ2; -@using EJ2MVCSamples.Controllers; - -
- @Html.EJS().Chart("container").PrimaryXAxis(px => px.Title("Years").ValueType(Syncfusion.EJ2.Charts.ValueType.Category)).Series(series => - { - series.Type(Syncfusion.EJ2.Charts.ChartSeriesType.Column).Add(); - } - ).Load("chartLoad").Render() -
- -``` - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/ajax-data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Ajax-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/ajax-data/ajax-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Sample reference** - -Sample for how to get data from ajax call is available in [`chart sample`](http://www.syncfusion.com/downloads/support/directtrac/general/ze/samples1051291506). diff --git a/chart-sdk/asp-net-core/chart/how-to/code-behind-chart.md b/chart-sdk/asp-net-core/chart/how-to/code-behind-chart.md deleted file mode 100644 index 61c4ba382..000000000 --- a/chart-sdk/asp-net-core/chart/how-to/code-behind-chart.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -layout: post -title: Code Behind Chart in ASP.NET Core Chart Component -description: Learn here all about Code Behind Chart in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Code Behind Chart -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Render chart from code behind and update the chart using partial view - -You can render the charts from code behind and update the charts in partial view by calling the partial view action method in ajax. - -Follow the given steps to render and update the charts from code behind. - -**Step 1**: Initially, render the home view page, and then call the partial view action method via ajax call in the home view page. In that chart is rendered using client side content. - -```html -
- -
- -
- @Html.Partial("_ViewChart"); -
- - - -``` - -**Initial Chart** -![Alt text](images/initialview.png) - -**Step 2**: Then create chart model properties in controller page. After initial rendering then update the created chart properties in the home view page through partial view action method in ajax call. - -```cs -// partial view action method - [HttpGet] - public ActionResult Create() - { - Chart chartModel = new Chart(); - - InitializeChart(chartModel); - - ViewData["ChartModel"] = chartModel; - return PartialView("_ViewChart"); - } - - private void InitializeChart(Chart chartModel) - { - List data = new List(); - - data.Add(new LineChartData(10, 12, 26)); - data.Add(new LineChartData(20, 14, 22)); - data.Add(new LineChartData(30, 16, 18)); - data.Add(new LineChartData(40, 13, 35)); - data.Add(new LineChartData(50, 11, 24)); - ChartSeries series1 = new ChartSeries(); - series1.XName = "Xvalue"; - series1.YName = "YValue1"; - series1.DataSource = data; - series1.Fill = "red"; - series1.Name = "Series1"; - series1.Type = Syncfusion.EJ2.Charts.ChartSeriesType.Column; - series1.Trendlines = new List(); - series1.Segments = new List(); - series1.Visible = true; - ChartSeries series2 = new ChartSeries(); - series2.XName = "Xvalue"; - series2.YName = "yValue2"; - series2.DataSource = data; - series2.Fill = "blue"; - series2.Name = "Series2"; - series2.Type = Syncfusion.EJ2.Charts.ChartSeriesType.Column; - series2.Trendlines = new List(); - series2.Segments = new List(); - series2.Visible = true; - chartModel.Series = new List(); - chartModel.PrimaryXAxis = new ChartAxis(); - chartModel.PrimaryXAxis.Minimum = 5; - chartModel.PrimaryXAxis.Maximum = 50; - chartModel.PrimaryXAxis.Interval = 2; - chartModel.Series.Add(series1); - chartModel.Series.Add(series2); - } - - } - [Serializable] - public class LineChartData - { - public LineChartData(double xval, double yvalue1, double yvalue2) - { - this.Xvalue = xval; - this.YValue1 = yvalue1; - this.yValue2 = yvalue2; - } - public double Xvalue { get; set; } - public double YValue1 { get; set; } - public double yValue2 { get; set; } - - - } -``` - -**Step 3**: Return the partial view page when calling partial view action method. In that partial view, refer the `scriptManager` to render the charts. Using `viewData` you can get chart object in view page from code behind and append it to chart container. - -```html -
- @if ((Syncfusion.EJ2.Charts.Chart)ViewData["ChartModel"] == null) - { - @Html.EJS().Chart("container").Load("firstChartLoad").Render(); - } - else - { - @Html.EJS().Chart("container", (Syncfusion.EJ2.Charts.Chart)ViewData["ChartModel"]).Render(); - } -
- -@Html.EJS().ScriptManager() - -``` - -**Updated Chart** -![Alt text](images/updatechart.png) - -**Sample reference** - -Sample for how to render the charts from code behind and update using partial view [`chart sample`](http://www.syncfusion.com/downloads/support/directtrac/219809/ze/ajaxcall-611246099) diff --git a/chart-sdk/asp-net-core/chart/how-to/control-chart.md b/chart-sdk/asp-net-core/chart/how-to/control-chart.md deleted file mode 100644 index 3e1a0c700..000000000 --- a/chart-sdk/asp-net-core/chart/how-to/control-chart.md +++ /dev/null @@ -1,197 +0,0 @@ ---- -layout: post -title: Control Chart in ASP.NET Core Chart Component -description: Learn here all about Control Chart in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Control Chart -publishingplatform: chart-sdk -documentation: ug ---- - - - -# Create a control chart - -You can create a control chart (with UCL, CL, and LCL limits) using the stripline and annotation features. - -To create a control charts, follow the given steps. - -**Step 1**: Load line charts for the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/control-chart/step1/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Step1.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/control-chart/step1/step1.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Alt text](../images/step1.png) - -**Step 2**: Now, add three striplines for three control limits: LCL, UCL, and CL. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/control-chart/step2/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Step2.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/control-chart/step2/step2.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Step 3**: Then, add annotations to show the text for LCL, UCL, and CL in respective positions. - -```html - - - - - - - - - - - - - - - -``` - -**Step 4**: Calculate the control limits based on the CL, LCL, and UCL. The start and end ranges have been set for strip lines in the load event. - -```html - -``` - -![Alt text](./images/step4.png) - -**Step 5**: Highlight the points that are above the UCL using the pointRender event. - -```html - -``` - -![Alt text](./images/step5.png) - -**Step 6**: Change the values of annotation text (UCL, LCL, mean, and CL). - -```html - -``` - -![Alt text](./images/step6.png) - -**Step 7**: Add the dasharray for stripline elements and add some pixel for the annotation elements to move from its default position and then add the text for the last annotation to show the mean, UCL, CL, LCL and standard divation in the loaded event. - -```html - -``` - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/control-chart/final-chart/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Control.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/control-chart/final-chart/control.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Screenshots**: - -![Alt text](./images/control-charts.png) - -**Sample link**: A sample for creating control chart is available in the following link, [`chartSample`](http://www.syncfusion.com/downloads/support/directtrac/207077/ze/coreEJ2Sample-1067535862). \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/how-to/data-label-customization.md b/chart-sdk/asp-net-core/chart/how-to/data-label-customization.md deleted file mode 100644 index a806801fd..000000000 --- a/chart-sdk/asp-net-core/chart/how-to/data-label-customization.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -layout: post -title: Data Label Customization in ASP.NET Core Chart Component -description: Learn here all about Data Label Customization in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Label Customization -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Customize the background color of data label template from webservice - -Bind the text and interior information for a point from dataSource. To change the background color in the datalabel template, use `${point.text}`. You have to bind the property from dataSource to name in the data label options to use point.text. - -Follow the given steps to customize the background color of data label template from webservice, which includes colors: - -**Step 1**: Get the data from webservice, which also includes color attribute to bind the name in the data label options to use point.text in the data label template. - -To get data from web service, use any adaptor webApi or Url adaptor in the data manager, and then bind the data manager to the `dataSource` property in the series options. - -```html -@Html.EJS().Chart("container").Series( - series => - { - series.Type(Syncfusion.EJ2.Charts.ChartSeriesType.Line).Width(2). - XName("Year").YName("yValue").DataSource("dataManager"). - Query("query").Add(); - }).PrimaryXAxis( - px => px.ValueType(Syncfusion.EJ2.Charts.ValueType.DateTime). - EdgeLabelPlacement(Syncfusion.EJ2.Charts.EdgeLabelPlacement.Shift) - ).Render() - - -``` - -```cs -// get the data from here -public object Get() - { - List revenue = new List(); - revenue.Add(new EmployeeModel() { Year = "2018-06-13T00:00:00", yValue = 30, color = "red" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-14T00:00:00", yValue = 20, color = "blue" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-15T00:00:00", yValue = 15, color = "green" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-16T00:00:00", yValue = 30, color = "orange" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-17T00:00:00", yValue = 60, color = "skyblue" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-18T00:00:00", yValue = 10, color = "red" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-19T00:00:00", yValue = 70, color = "yellow" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-20T00:00:00", yValue = 50, color = "pink" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-21T00:00:00", yValue = 88, color = "green" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-22T00:00:00", yValue = 35, color = "blue" }); - - return new { Items = revenue, Count = revenue.Count() }; -} - -public class EmployeeModel -{ - public string Year { get; set; } - public double yValue { get; set; } - public string color { get; set; } -} -``` - -**Step 2**: Initialize the data label template
as demonstrated in the following html page. - -```html - -``` - -**Step 3**: To show the data label template, set the element id to the `template` property in data label. - -```html - @Html.EJS().Chart("container").Series( - series => - { - series.Type(Syncfusion.EJ2.Charts.ChartSeriesType.Line).Width(2). - XName("Year").YName("yValue").DataSource("dataManager"). - Query("query").Marker(mark => mark.Visible(true).DataLabel(dl => dl.Visible(true). - Position(Syncfusion.EJ2.Charts.LabelPosition.Top).Name("color").Template("#index"))).Add(); - }).PrimaryXAxis( - px => px.ValueType(Syncfusion.EJ2.Charts.ValueType.DateTime). - EdgeLabelPlacement(Syncfusion.EJ2.Charts.EdgeLabelPlacement.Shift) - ).PrimaryYAxis( - py => py.RangePadding(Syncfusion.EJ2.Charts.ChartRangePadding.None). - Interval(20).Minimum(0).Maximum(100) - ).Render() -``` - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/data-label-template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/how-to/data-label-template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Sample:** Customize the background color of data label is available in [`chart sample`](http://www.syncfusion.com/downloads/support/directtrac/general/ze/chartsample1860216677). diff --git a/chart-sdk/asp-net-core/chart/how-to/dotted-line.md b/chart-sdk/asp-net-core/chart/how-to/dotted-line.md deleted file mode 100644 index 60b87ac4d..000000000 --- a/chart-sdk/asp-net-core/chart/how-to/dotted-line.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: post -title: Dotted Line in ASP.NET Core Chart Component -description: Learn here all about Dotted Line in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Dotted Line -publishingplatform: chart-sdk -documentation: ug ---- - - -# To add dotted line using annotation - -By using `annotation`, you can add dotted lines in the chart. - -To add dotted lines in the chart, follow the given steps: - -**Step 1**: Initialize the custom elements by using the `annotation` property. - -By setting `coordinateUnits` value as `point` in annotation object, you can place dotted lines in the chart based on point x and y values. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/dotted-annotation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dotted-annotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/dotted-annotation/dotted-annotation.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/how-to/dynamic-chart.md b/chart-sdk/asp-net-core/chart/how-to/dynamic-chart.md deleted file mode 100644 index 54fe44d19..000000000 --- a/chart-sdk/asp-net-core/chart/how-to/dynamic-chart.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -title: Dynamic Chart in ASP.NET Core Chart Component -description: Learn here all about Dynamic Chart in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Dynamic Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# To add chart dynamically - -By using html button, you can add the chart dynamically by clicking the button. - -To add the chart dynamically through button click, follow the given steps: - -**Step 1**: Initially create the html button. Then create chart inside of button `onClick` function. Now, clicking the button charts will render based on click count. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/dynamic-chart/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dynamic-chart.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/dynamic-chart/dynamic-chart.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/how-to/hide-tool-tip.md b/chart-sdk/asp-net-core/chart/how-to/hide-tool-tip.md deleted file mode 100644 index 401662e23..000000000 --- a/chart-sdk/asp-net-core/chart/how-to/hide-tool-tip.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: post -title: Hide Tool Tip in ASP.NET Core Chart Component -description: Learn here all about Hide Tool Tip in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Hide Tool Tip -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Hide the tooltip for unselected series - -By using the [`tooltipRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TooltipRender) event, you can cancel the tooltip for unselected series in the chart. - -To hide the tooltip value in unselected series, follow the given steps: - -**Step 1**: By using the [`tooltipRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TooltipRender) event, you can get the series elements in the arguments. By using this argument, it can be compared whether seriesElementclasslist is deselected container or not. If it is true then the tooltip can be cancelled by setting the value for `args.cancel` as `true`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/hide-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Hide-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/column/hide-tooltip/hide-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/how-to/images/chart.png b/chart-sdk/asp-net-core/chart/how-to/images/chart.png deleted file mode 100644 index 08bcf798385752c74d425e9e66b70cda555351cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6158 zcmeHLdr(u^9llsstQOJ5$5b{_cdMWxtgV6?Nvfg|9AJI$xI|uR)(2=53?Km`Wf8Zo zGOh@1DWoeR1ww)W2@pbfXwjfy6ipNeK`_R6%>yI^^13}27B<^i z3|tAlqoJw^)h~peU*XPZ%FS5>)!bx3l`AM8oL{?Y4HV}G+ePmd&4I{!L!jqh|HLJ1 zvPAaS+M8g?;_Ht?EIksTq9fl@nYl#S%*hnvz?Lk+SGqLlbpZJ$mNqicR(JOuS! zFVEAzaFSSxl-?EmR*Qg4J&Fuy!%%zZ;VA*PG3CB7&UiAMD%6aQjtUIDrt?iCm$Wn5 zUI8t7p9{l0Sb$HGq^sTOE!-NU>6WHf5PJeIw5X}l`w@>e1Z4<0EcuYCglT={N`&pb z^oqPFt15^Q4j%b(izc7i2;0}Z?_gNpdke=NZLTcEVuh$hD@_kr>%1*YQc_~?>B8~2 zo;Gky$8(D%!FbWqJ(4Tj#C|S;(O~RZ#I64f8|G}d!NO70uP6c!iW*z@iKq)(HxHY> zJQ2A0;?z1fpL||Mw};;GlUUk()L~FpP^Q@@6NN7X{942!M&v9~(@j z(P=n|WHOQXwAv4CGA%GlqW^U=71jA?2HWK0T}qmwKfPSZ(&kR(UQZazB>4C|=j$(! z*i3;&T!1%dWG3ParBWG{I(QGDK(TK)i)fC)Jr`ed4a()Rf0iHaai>EpmSCu8akx%P zszv|K?PbUY2M1Lu71!@}o#HpgzeGT2mZJ+HW%wuv<(fPx5%ykp4jds0KR%q$eqnwt zEh$;oZ`vK0A@?b1#+5WL7{3>ctRL+s=rhX?)4st#azkuaWT?D=Xc#CwXMBBJ~f2Th4Ol#VN}ooYLF>hAd6)yJXH7iP?yf{gN(D1~BEU8Z3(T`T_6idx#9 z5?{&dBKA}e>1!tH@Ho*4JRs>TDpLB$aB8iZ!;$;jKy9DAss_)U7hNQB7{+*=E{PP~O9Cq$HpDD~mYeJ0j?0V09SF zSlYrV$o-Hw7xO)lArk#Xmdm+hpqPkGVYx}X?h4R{2s?rbw_ttcS!mQ+O!VkS2M1O_ z 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 VtyLGtNj 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

Cf#jyXIPG0_27`1NzEGC&m%Wu#(XGg=%lcO7_x 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 BQM>>E diff --git a/chart-sdk/asp-net-core/chart/how-to/images/initialview.png b/chart-sdk/asp-net-core/chart/how-to/images/initialview.png deleted file mode 100644 index e777f81bbe55c092f4cf4fd8f68f02fd8fd8d977..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28441 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 diff --git a/chart-sdk/asp-net-core/chart/how-to/images/step4.png b/chart-sdk/asp-net-core/chart/how-to/images/step4.png deleted file mode 100644 index fa694d08a70130853aa9dcc37c81cd50173e02c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18541 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\v 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 diff --git a/chart-sdk/asp-net-core/chart/how-to/images/updatechart.png b/chart-sdk/asp-net-core/chart/how-to/images/updatechart.png deleted file mode 100644 index 2044ecaac72f78f3000d1e7ec1acd761b5679ae5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17440 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 Q@H`TE8SulL2fw`fUyFWV_y7O^ diff --git a/chart-sdk/asp-net-core/chart/how-to/partial-chart.md b/chart-sdk/asp-net-core/chart/how-to/partial-chart.md deleted file mode 100644 index 58be7e6a7..000000000 --- a/chart-sdk/asp-net-core/chart/how-to/partial-chart.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -layout: post -title: Partial Chart in ASP.NET Core Chart Component -description: Learn here all about Partial Chart in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Partial Chart -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Render chart in partial view in ajax call - -You can render the charts in partial view in ajax call by calling the partial view action method in ajax. - -Follow the given steps to render the charts in partial view. - -**Step 1**: Initially, render the home view page, and then call the partial view action method via ajax call in the home view page. - -```html -

-
- -``` - -```cs -// partial view action method - [HttpPost] - public ActionResult Create() - { - List chartData = new List - { - new ChartData { xValue = 10, yValue = 21 }, - new ChartData { xValue = 20, yValue = 24 }, - new ChartData { xValue = 30, yValue = 36 }, - new ChartData { xValue = 40, yValue = 38 }, - new ChartData { xValue = 50, yValue = 54 }, - new ChartData { xValue = 60, yValue = 57 }, - new ChartData { xValue = 70, yValue = 70 }, - }; - ViewBag.dataSource = chartData; - return PartialView("_RefreshCharts"); - } - public class ChartData - { - public double xValue; - public double yValue; - } -``` - -**Step 2**: Return the partial view page when calling partial view action method. In that partial view, refer the `scriptManager` to render the charts. - -```html -
- @Html.EJS().Chart("container").Series(sr => - { - sr.XName("xValue").YName("yValue").Type(Syncfusion.EJ2.Charts.ChartSeriesType.Column).DataSource(ViewBag.dataSource).Add(); - }).Render(); -
- -@Html.EJS().ScriptManager() -``` - -**Sample reference:** Sample for how to render the charts in partial view is available in [`chart sample`](http://www.syncfusion.com/downloads/support/directtrac/general/ze/chartsample1860216677). diff --git a/chart-sdk/asp-net-core/chart/images/axislabel-template.png b/chart-sdk/asp-net-core/chart/images/axislabel-template.png deleted file mode 100644 index 8d18ea9427b0ed5dd914e6a9c330df22b95144c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18927 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 Lf52RFeE7crz1+4x diff --git a/chart-sdk/asp-net-core/chart/images/control-template.png b/chart-sdk/asp-net-core/chart/images/control-template.png deleted file mode 100644 index 78a62b6f051c65da6c3feda3f5d4f5bbf46637cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31301 zcmeEuWl&sgn`YBk2W<%MgkZtlT{>ux1a}V(A-FXjJZNwW5FyY=pb6HH1Si3QyC%51 z?BV_1+4*K>cXn&5c7JS5Rd;oBPIKgWp4+bLy3Z>uO&C576%Ggl!dH2$r~?9l8-OR62)^FE(YoB; z*?>TPQ!0vbPkqg{TX4Oe{c1cZ;7de5V7GNpl78|_&uQ~~G+atA4)0Tj|H_k(%WPu= zF6^Vd?@77X9ZDaWeW)Yj3ai5@4)ejq@#M4GzkvWdOWK8-r2DE`ed4P3biL)N-7Ky=?5b$21}T{S!o{}4c#CLA*NEG*f{@*)R9CY&7?M`VnmXR2#d3!1 zjhu3Jqp$rJUhI#CwRRe|w#=&-#4ovM0=`nQ{`y|x=KMm3O0U*o=s`R<>Ddect$5l+ zL?P|#VuzlTq-?=P{}heGgpP=N_a8la#1Ky@fHgkX65#WD&~kt2`_l{AB#wdPj{&DU zyitEUZvhqpON8#x9VP2SsU13A%@;pX2AGBYz3 zUOkV<#{#{GncSIglff%|5-^;`vHD@rbD{q$UIWtV!}A^(GIAkP1;2<=_Bl)H+BA`0 zwAB9PjD;0Nq&m!EBJjcjQ|x_F-SZKIaaNi7^> zn-K`9?YTUmf3x@e*=l9bx`v@;FV;i-CpGUWBi*iC{xsy9yEdGwRzw|sC0&FGMSTKS zyhdS6MWAz|QH|g|X+(l;D#7_R-D>TyU`8c@1h75mh7uR87NcDfvoL9a65jZIM7u<} zwBRiPQI5C`obCz!26d9OZrLE)+jl}ZZf)1Xk#50Z+Gh__5yaxMBgw7(giD3(pTjjoQ8%iMT+a_+t1!*Euus5B zxUQT#{8nDuD{{NL5b3+I`Pu;wFsN>cySx79*W-k+TSEMclkI@TNOE}rt8b7Sb-+M2 zaHJ}`Xnjn29WK2kTNc7_x3C>6kxMum#!&lwzp~UivKVE?NZ>UmR0yt$`ef?S1}HqbY}hps zIs5+9JN%bP@cAl<>~EQn_{_&n@V4>$uQ|G&in8N>JpaxU4Bu>A&yTYvW!)zX-b3HG zALgwXOLoOU;`jDkxyZE1`)YiQR@^JJKZIlZ_R^PMYFVERly=pCwC;?r4snT-cL?;q zm|t3sO%VuL>bObpCYWJEkr<57`~PN4eO=kKBfe#CeqRc(^Mp;~Ho>u@dY5TB?+Htp ziy>P9`D{`z-3R_pZ_-;ON+%Cxz{?s5Gm5#u4Jf{__=?>}a|tuW`Zr zI^kO;1O}>{82X_j*!ngryFWoxyyR63FIoiW6Cd+?B!*ophTZP&9zI_Gk(c+Be85M? zihat=qT&2LMl$a8A8{qS@gYzkdBrkeRdU_fCKu>YON2RdcD75@&9Y?rc7ChKTJTpu@xk&C8Sgbr#=CXP7 zy*yhRwIP(%u`fO_M>UJ6>=TH5w>^=K5%Wj z7WRv7QEaNt<~JNO@+e(nme6+M{{9qy39Cb;+yeGSa#6wk;wNM5j>?wnKeEkv=RP}) zuk@tO4v?F38X!c*cN8!iEt7;#>R4il!|JM8<(HUXx$WpDeD1N_{*Rb3b zBE-E?xA|7nFJ5r>8IP_63cfJagPo?`{D7UtG{dJ~jJUei*0vkwPeKY~MvZVn8$vz1 z5^2u~CEK-Ow3w?-RW06^+YLTI^r-zQ9X?z$6B6P$)^>Zn`y^lTyrT9;SYRim{fz(S zC!V&e1BB(*sRp-#de!TuqMPf>C%K|Tlt0BTolO$Z(6J0mi~sx{DNjmuETLtmF~aE> zTG?I5p&BO~a;PJTU_z2q26-L=mJ2)YP7xyU{95p6*{#`j_>Z@~k?@>xEA@B@cEy^@ z&!P9jTF30+j@J`D!X`3`CHMAm-bC%rH^Jo#s&g3K{m*cNwLD+B@0k0CVCNHXeJsAY z{^>o^kJ9~ZxweU|aYdtVw?97Euw#II*|Y1i&h%D9X6_~6S-x~xB7@(ycR_Keg`L^B zxyzz@{r;G{FA+|}YI({2HLil^ZVf^&J+JrPXkCgRP;dCG#l3!m;QHZh7D7Q6UO1wP zQFxTYZ6UWuU!yE!Qoc{qOjJ3XPw+TSCh-cfetN;aH{OS2Ijhw-!ARztX$d%8`-CrL z@fZz#ZHX&XW4<-$`A>6LN5>KmTRT=~-8a(B!n!&Ve)5QP5Te5u7ww5Q14m6WvbdOC zw+xR)6yY>pX`mjOE{`zhJ_t#FB~(*;!y_*AWqC_#eL_(jR@Vkx|U3{d&VS@jZNvFI)IIU z$`cadOb_}R{nCLZ6g}g@be5PNJh`6%4a~H#D9=_a#L7vRz%zy>Atn6w&}S}&a>YOv zm!6wrpS&?$rs^ogJRepjpXZ0`v*{*DMd4E`Ti#rqGcz+IKg;tQ);SPW=1KTOF=J5Z z>+9E&rNx&IF0)76b4)_SZ+1?$}}tKi-+nyl!nIqs`L&%#3}6h5jD;Gb8%WX zlnI_13bGF+_Vrajks8yRp%H{*4zHq!Z^G$1cm@*vX84(GSHhgZs>(_w$_f0|bx^-g z-VRz!HWtFoOYFvAN^nq))c4P=qt@(_M^#)Br#t4REv$t}B8|ayHXFHO#@HIFXF3aU z&FZVLg56G?P=s$EH$-7wU-DGtm(Z<&aifzt3OSjw3DfMyA62mv)a+V-VWDx3@^Usa zWZ4Rb_8ajFt=&>7e-vln{e9F=K@t%=<1(RRfa6sUUkvY*Zp8GaJ6!6G55&CJKF41g zKU}De^nX+BKH<)eDg*3Xk_tkH_SA;xqu*IS6PEti_e6t5Q62}p1h*tBLn=bKF{g5h zwE73n3tn|7FFHI6N$mK6I#{QRR7dllj+~&J5Jy_sPjJhT?a)EpsZsS3st8Yz=OWPw zn`3n>f_72n%y4x6I-*Ie`ZrH%M^PyQO?xTg`3TFIpov@azH+%ZB==Dzq4e1T;CIW_ zvkoTh3#3jatbzG!yZBYL({gGiX@sz7f2)!jd@)ksy*0s?S0d(q4NXuslM@BJfP&ip zi;s?wA{7z_zysagfDz95x9>dXU(=g{F5hSV{Nd)g>hHk5a$f{axi!;xe|)mmzQCiC z60j(zkurSO^SEbMksqCro-eo~1M<&EGD>TOWux4?ekUHQC z?xGFYiXmcRyW}+eGO9A&Pyje=P4UNom&i+7dkv%W(8&g}MyvORqz||&n-6*iZ(rGd zDwTy>2zhP!j(#PSx!Uidw@$ofH$l2DZv6V#jfdw z7!F(Pn6i}m757ZqJ1}w82{on9ZE)TOU7lzXYdk5C4$AdP&d$1znfPz+7S?xj(6kxR zjs4$;zJtgF2bNLcp(8l z>y6xo@pOrub5mei4p)H9*3=6S7SxrZp|p>FyujzC7U8u!~Cm7A8=!al|s+@rcrS8yoWWZKMl|>shj3!R|rW0+6VD> z%7iQLW5e}-kA0$U={Vb8cKh;&Wh0u9{ssuqcLig^gS0^I$hEGQ@+;_En2Uot(8OY9 zHEGAj9$-tj-e(ei8RfN`E!oSFCo(~E&3;fa9Ted_Zavl06MrxF^eK?? z;?>!ACo}Gp-E+uOYiAMiVxNdn2xZQYKi!!PC@-P|D!kwO5HRZ-H8kO7S^+z}$~p|r z5p$e=H3vNKW)BZ#1b1YmX;U#7;Ay;m52C5o%Ak=HZGTM^XojsoZmc}KUt5MUp5O*(QEjow?=l8om*6+JM ztrkZSp}Tny*Ro;JYsoLjkcI8OjoP6_;c3Y#HJ76J87F>W&^ab=d&y>CS%E(DS77{>%1P-yU0ffzm@qR7BBC zn7#W7<7Lr#$JpRZ1Xt~mboaj!Gt}xpf*H{$jNQd**wkxH(Q43BJtFxq1VOrS8zAxq zF3e3Z<0Km>*Lbr!;aPh@nwakVM7;4^=v-(>?V1H_4F>RQgj0J4ze7Uev^vpqw^T zdWLnuZZY6RL3@$c&J5-FYbMx%u*kTn5ABZ~VV5ah{rf{x8Q>q<@!3r(UrRycj@Sq; zOydW_Op?5*Oi`ITnv#;T zv}6T=3&G`i_ib%$_05BXgxH{ymV{z^E_iRm*b}5mQ74K;&#uLAQf<`QD;rzD0~TM; zJKyS{v$?YyJVzFjIcUA+!rTzZl&|LqWv!dlWiI3 z;J17eRz>NUFC-tlcT0HpKH(!a8!F7FFv3}l(G9-uu*)*5#ykVN|l?%nGl0b>LP)GvpY z$HUS4R16^#B2j}D50E5Z(u2LXMhfJANHP$=F=3V55@m%;FTa-w$qk;G&?&SSLVv(- zjKe18#r_7Z{Jt7I63UHf47KZjuaxTB*W6r8HWvAji)aFyjJYyHN??rfT_%2%EVW?M zPU+xM%H}sYUKbiF2+|6|2A%O_=l#&ZWQ@b2i((UaymDm;HqZpZ2a*K2d;QFoRIaDg zf(oY_B4rc8zDHE`#*?gj8pwX#*=0}c6Q8`Y#jYoLCpbuC2irz0j)dYrf2Jk}AQ-^3 zyI^DF@dirFN~f(QFHS7(ZF})1sj|j%)^(*nS*(0tG@N)Zf8VP<`MMUQ>iZJXDpmQe z_%7Lwm+KYutE&&8{jNLHl>sh`u$QT-Cjr@|$zhS>WDsS_Uli$H*h@yLBR@d4wK=z{ zar`2c)rwTy^Be@TaM^Yzu;Jf||H>-44rk;~=}YJKFw8rQNa}Rv#a4CK$)Az+ zr8u78Kc$&a3Tt-f86=TDXXH=`jA?gk^8Kxtr@+FUuj|$^08j-0Nkms$tm)&vth&9Z z0vxv$JBlOMvzNW?>^sj~z-~+1^|qS%ceR|@ z>qPHXAP{p1{t11@{G;h6vHy<4I@zk!o zs;Uw{KA7}VZ)>$DQac&a>89ps-U|zuea)&@Wj2t4em^VoTS`zJ$$@fsro6WHS)4Ri zWQJ;e>0qU)1P)Nrw0~}Hz5;+IAg$Y&s9sKE*X>NCo$fB(TdZ+G{_rhdYWbf2v*kKgp3pQCPa# zhW>vvr}CrnnsN|rTro^WMXnW+2ji~NJ=qcUr=ZNUbzTvg(03ZY90ikgd0jDue$g^k926Mfqo&$I23)iO|C!;e*U}2q{ikRrzIg}w#V|#SiOsJ_gkQlX>}hnwBIKyOdiM)(KQ1K zKiA#X%bnq29f(xGiJ}q|Zvu}>5CWb8Wl_EP>^7fYV=Cdj1^5Z!Rv`UMj&z_!361_C zcj|VHo0vV+!`-;sAF4j7LUixZzq2S zE0?2S^dVP#!i++=WSk3QnBmxjcfbpyMb*-V1ZIcEbiE6ooAy+B0rxS7?Q{CTJv0+6 z*W1f5+_QJUOy6AYiq!TyWpcm&GAL&f>G0=l2u?3#!}J*&auV)>7oNob{zJvq&@%Cs zz0drYvyp-uLHi%MG_&Nzq$MwTBHl&jhCz$TJaOb>jJnw&jE+M!A>)mu%Pev+4;jm$ ztggfnkBL2TJeK~48(#OZ_nUs%oGPzJ=1kET)^w^+;$@$m-%$}F$K^nhEWwTo{}7N^ z>8_(tO{E~QnpsdXj{j9d9%JgW)A~ck>^EPSA_0Un*XwW!z(pdt+A)|bC(g^@SA%%# z5U{4@R)tIXTzy6(WM#3+St%?K$YGII%Z%gw-z6Ad#AQpl?#F!AdY%Lk`Q+j}Q|#S_ zwm#F+IeSk=Gu^gE^^NjU=7N?e3_bko7Vw+ zjg5`X;4+Sy-kEJu$d?Whw}F%cOQqTGkO2honGX_)@L29Ft;Nxn@f3^v?sR%bxV$~h z*zMdtUaq$oIz8KD={C8R@p}gbH)E|h70lqBS5N+$khz%?m1toN8aQj5=DF!phLo*z zMr9ec);O?6^z4fDxt_Y9wzpFsF_xfiHJgY#nh_Cb{S4T-9Sytc>94?ywKPY4ZqF># zswyS|jzWKRD>3)UST0c66v0DEbwfk7JG!+fX@PsO(3fCOP{JAHF>5{>)qRpD6(H== z@40}2??Ipoq5x#XYts$ghrKRM{p>d^EZ*g(Rhh33w57&G!9=sOxd zD~z0V8Gg8Xj78GM**KY`l2S0~Q-1R8A{!I2hbd?s>Ay?m4aiB*4tC#?8@dx{TnZtaL+O0gkrgSCKqW0i z*lm9FkS$_$Liz5Z>fJn6-wfvK*9wY~{C=H4;Z&Z_d=?%)W+hl?S!>AI6|HfQ5L6D* zqIy(}R}sFS(#KvXfQCQP$CHUEsEV)lmsK_9f+byL?=wrCEp!8w0cf$48at8h8gcs@ z2)o=o1-nlE#~V_?S1(#w1cWLmxgPvAD}qJ3Z-kt@RaEX(vgUaa$A(E1>KfGjHV60& z7D3)incMYS6fs!P*9)jeYLZ=Nzud8LL*d=*(73N93(*y5SF%##@v+o+GUmvfZeBe% zVJc{geegw$W};Z^W4mx_F^#tb<%2u}x=*Au&{WOR4^n0xMl6P0l&Y7bH~{PsjOaMa zM!9;drmV6WP#k7x!kYv~%VNV8(A6WJu#Fvj%lu2;o_Pko_-u0{=D-< z3ky!TcNX)bnJs}*J1)Jmxgw49yu@Yz>+0Q4maO?|tlDQ~4IU*l6Fq@8SQ&kSp}Ry^ zLl(Nv`#D_Roz5!`=GWXRv)Ag@z0IHC9m_P)T+A@mxwS4;zuBI@;j(x?iU6h>uafi! zpKS%+j1~I}vMqK!V%J7jHtRnY+E&&R!z&jHTxy{xW(V0r3ddMt#|5(V=6B7#-xSjI~QjM zkS&UTl3lt6F25Y4f$s46wO`!he{rxZBKPDU-V=)yP0fkmrEqx=WwX`mPQ+JBPho7* z8$;eecEQhfTunF(;Dqwrk94)|whPG{AQD9F7X?HNyb_h~@tzN_8RFXDsWZ!FA#G(h zec=2Z2VSjImr8MDF0)^bn-70*aC4s=-+`N-Dl1*@&?Q(R%_|NYS%Ha5Lk6uVX4TE< z1|HXFd}=aZNALhpV-*DNe8>@h=?DbRkhx+YqeRO40ij6&l}?Gj@fuU#=EBA}s}ZbR`HLR!-`89={LLUPG#`@1GJGMXBZ8;Je9lR?zu2cySbcBjt5dGI5om(T z8Bx_@w41ny&O$Ohn;lSTmJ^en{xbWc*0(DF-`n|2UH}*QMWvf#B6X%TGQ92e0a7F- zTnVie<|H1A5KLcE{ii9i>Xb>@y4tla z3nGu6cXFH}NK+aM3<;*~cyI@UUr0G5y~MYzk#(HV=ykp){nh?3+?l!-@nHI$u&8s< z?Np?2+V#$*`#0a!k^a_N8t<`?=U})2y@o7x@;Lqd01N}nSRr)j(pIy|dcGA;9P_|^ zCE2e>pVl+6|KW!^PzOt_Jx2knX`zu|w9T*HkKgH9C|B53FhX96W13hBJC3q-*Jl+i z9z>!_2`Qf;+$*&?FsMG}$-Xif6RyW_u}BErh7&h|OFek1G3MD9dN(Rm^l**AS|qS2 zN;I30>954&&YE!M+DlEzbNM1 zQuZ`^#cbsC~ROTbA;s}p@h*gxj+r9@=<^vTTeP8oe$ zjd-!HR%|{HT4FFXnIhgQWj|45Ctk2)B*aChV9pb$x@5y?rAFNf1vR4Lnn!QQHq(odXWP8Cz^dfo1Zn{IZzI z=o4HnDFr*lzi#j)kaizqSFky1iB=jIBd0bRFcT7BJ|KMCX-Ta$cN|WfhHj;Vb}Be& zVg^FC&1vjMXun;FqfEesisP-8>^njdWT;NpKS%7w zeL?7`o~4B|-JbaF?~gznLioMa9p{l8WY1U|bHj9WS^w3UVKAmd{KNFUId25{m-jkR zKfw@DzZ~kg7V6N*%`AGS>*R^9TUIP08N9e=hH|JqaC2B9ZM!6A?Z13*is&1wuh|X- z9M@px7W6@A2Q})hnt@w&gvGoi;|y1dz0JJJ%E4G=!<<7{ZBkFObwMXR8HR!77F-y- z%Ul?3lnyTS2iJ1e)uSSvd87;%^PS&c0Uj1n;~{x~9fx3Mco8kT#=?i+&Q*_*2e#Q7 zRxc0bpkr(j!_2S_h|1~p!9jL_WEbp|OOZgef9!?03ptJEajZziF1@WvKtQEIP&jQ>Q&C)Bk|V;z!dLD&CF=NfD>nXMylw$ zy^6G&?JA$)=I%NaE&j)M%x05VH^6KF4Ev^Q2l8lGEicUuDAJd^l6*uyk^i;&#dAA8 zJp0IS^$_1?Z+16Wq(PUV?Q(V(phUupALzG=Me1sbVVZ?kMJ_@J#8#kGvaP3c0V1w5 zkFzw3th*BH-m3SFMf`no%iXya=vXPdf0|8GPO)7h465<~Sav`?=ci@A#HqOKewQB( zo+RG?m+AHRJ7N5<4gZMU|NoB%o98X5e2n0~){Bhg4F9f(jCpv_FYps7GtH6?U?0eO zx)ng`!z$BQzow`u_wY5jnQyyG>)RUtW5@BaaEy9${!}L?%@q6_jdg2$?rpTu74 zLRH?jYBC~90fr%N69BOe0Z!v&bG!<`*&6Ej`Tz=g)}xCSdb8Pf;{^O>Up$g9(}nu9 zm&)W1iL!=)p|Cv@-S%V?{djEeY^r@_!LwG%gUVTUjqrcEJ`_P$B~T^$0Gth!T{a)U zukW$u^1fJ87sU*`iN3coJkOg7;|$jXZKD*V(Ito|f*E{vBs~KBUnI~5xCs$ArFx&ox zUQf9v1@=B5)i-G`pP0L2qXFdL3^JZbo5Y{>M!j7UYyjX%X{)QNBC}p2_8;}cT&T8O zn)pl7!|R8bv}(P#jowt}L8WibtdAgJjnsW?ifY(H?SN48Dv5CNo#7F^{{$C3CY$Rt znf{h?F!!Fw93Z$1<5-xytRj>~0y($4Q&XJg!x1L;ua`N=p0>|^MUtCA+D{=EO6h57 z6~+w&{IT){<5lJ%08X}WlIc>VVM)MF6y=S?UP`X!57%GG1@6b%aCXL^S5* zS#o%`QWCxeaN^gEFV?N@Ke)1Uz|RVsT)qGx2035L;fFhd4vFF$@93`q#uU0Q21(?BrOG<9Vq95qamOtJR6d9jiDQX4 z*pb++8^b>Y@Y1%!9}-gjN1-7ej~H>HDgw+P+M)l`^^fI;!KnC8hCESiGesqQr@|nDF)-gf4)1VkI8wq`ZfaYl*nng zyhAwr!YeZMpq)K@Oq^XKQ>M~K2ZN=pL8{j8cy+63yx_&@MLKDKKpc+4;Qq_>%SxKm zf}K9#EWlxGrkxw5b_;M(A|3$+KYgsxYz2mQo)bqE_r-iQyZchtD@Pey79nT52 zinRsm`N%26f;LMDo&8U?9p@hWMv>+~4bA*Rx&Z8MxiTDUHRSTgODF)NxdYG>TSSt3 zXj0y1{G>ve+c|t6jrZ!LfV31>f7{MoES9 zd=0SIH`e=_Y5jJW&kkdSOPt`f*#4I9_|v#u?^=5SG%bhntudP;yAES7sA!m z5@9)ofIcOAz8CwNy~rh^`!m=+)>FKgFNXSE{e;}(wpHO&3k|W8lk5%#t;a)^p{n(8 zzw_S`KBcO>wu+v<5e;+xaWd9VeiPmCzc-54)Nail-Hg#*s<*D!fbI&=S?N4|I$ETF zeG_;x_R0A6dj2-=mXL#SLv7ZLj6S;>f12X5Yj%8&>tW7c808Y%NdpcI8W=yfzwW3C zB7%_7&TEUl1~*dA4z$Cx9+b>pob1^m%`QjDR``PopS8k5M<^wQNW%j+6JH`PFgx;v zox^vDe3d!_{qA&{2O(|>3q*)TMvIU7PoM6EJmmvayfroaz7aWYtzs^#H@76@rd~rS z%xdq5id$C>AoET3=wtp3mpYf&#<(5_)gl#gG(QrmUv>r09O#1bSDkp$n-!7^mdk&CiwET}@0{#8JA% z{*)9_3C7UYAbHG=?s<3lpgZ{UNrA7xF<-QjT-4r5ZUr4$D+t_7As#s$v$6*%EiG+3 zA8?yVIHfBBROWjS^P7Xrg200wK$NZVh8K+vO+R~xDYQKtJBL%T<(-6b3}&D!>;OIW zVfasm6HP|(#(5@-X{H0hW>_H%wp89KQbgJf6?z8}VG*%cxy1v_Kb&r z8@$TjKTY}D5tPo*-O1!hNlBq!e0DW8*c77hicma47q?U$nF4=?OL6Sp3aB_ zTnzgc*g~7rTe`4Yo|0NWj5mC^dcqi$Yd~*-f!XiIRV{4*gTd>Jr&JI~qx^zasHi=W z>p&P6NxVr1-n2bOt}=!4dnl2sqfcOo6L4T>KqqV;4KN`teZOHDkUPg%{M@!DJ%6Tk zPi;!~9=>dCQN%(3jb1cAqw%56*k{a+eS2LGrA1CCf40pw;}HpsaUwM~CAhEsS3?pe zFk(6_Rv2@hSyn2goWnMUkh=9KjQ-y+{J}kTjOkmp1l7LZ*3+HllcVlxh(O^t2%72X zZ}XL7!DNXkpB!b#3x+4E#{D&tEDWz6K?G^;>khxk=qIRfPo$9B4lYG0rzi}yg@l+C z*(^Ra%0jayvy~_qu&8nov;roneiW31nuqNzhGChg*Pnsu;7&vN;7Z?>u;C1eerMLR z&WEE+2sD$i{-s?7Cs6z(Ep(!CMoiB%j}FbWcHmWW{|^oe0I==HOxPu=I6<-06)hy% ze(YzOczgEA_7|`!ku?)+bZB7JuS_{|PzQBR!2M@XEf6tSluqq~3r~gW&-&>kBoEma zeyo4^EQHfuA5>@)`YXwpWU0zIV>bZfHy3$>&j*q!ny0bGC%E84ou2L2H7C+SpqXL` zPBDawZ(riu!_r4MPtgLCP@bR$aa#l8lbB_6w1I^;gIM|`t4R;3QRNjxEy~=&_s&wm z0%rvA)EIXAU1ERe7FRR-z*J>G^uz+-n#YY&VbE$VSUjj4v$t=3`QmrUd-^?pKwjBi zfZ2bg7=60!R#5G`pMoms2ecAxi84376SwC-6*K@**^|D@g>a^Vkl-*WM~%DXog5YD zh{7UpxUzX7FwnZ6;D#aiG71QQ@`9`{eKEEid4n$SOeB1E;x|h(Zy@8LSp{2vUa{uK zY|`KQo&tIL{<-6i+y+h2#m(L3!<}dPrpLV;RUPE<)FQ4|XZwQ6Ko}RM#SpktpaZ5U zebCLcN)+KBys-x^eUK%o&Wv1EU1p44aTH5YT<0Dk`>iL(aa^7x|qn!uB9^ zMQ`6?G#o($_2Ol>@BW-YzWIx6_is_rpa@xXHM1KGTFY_8f!Ml)$%ki3=+ zr}J2+h1d;`?_{4wm@K02T+Qjc4A`R`;6_C}SJ+&4fv6*Mb9Nt@k&#i8 zT#_X14{#<8v);yKFwvD{g)+?`qSg|SR9Fk?uKQk-3Q`BrM!UdnbNflCP@P(`!+&)i z6EsHewhypyGdINT<$=os#|f{Z)Vmhj>R1DNKgR?SP=YH-3>c=LPzy)VwSTdGdq|qq zR@-n+NI@KTs)w^|MRuQTwSGDiAa4df8QsuO%2XvYo$gxjn46^)1+|5$fPw5Kiea3C>=r5#w~5D zW)LH#bUrG;!}+NlVWal0e3)wMw68v5o2(x0KW&YyA#(&>hIL%WR=DWBPfuboBptIb z8G1BwxvVV4YZdtI<0?PCMGq+Qa`r7>mEE!reT#5FVrURGGl1I*N+Ft$OBn-<=@@z5 z^U9vO7H2wD^2RD)@+*FrCuvj_ zGOpC!Gt^K72Usnuq2ILuqYrWcXd2|#Iu~@5&3=Ev2rVCU-<*<;z|tacmX|JO&XBed zPM=_cAl5TNw|ugw)~s^S>EH<%zxi?QVK5DTjp8rj!-(Go^py-FbOQ=pGXRj*{>&Vjl+X=CwtJ1Ju!s*v%8xP6gy4g7BXoaruCxYS%BxI{3xe`as!RP_4ErSv zTxPJ2znf=rVR~gy^Mtx|KLmA+BPe@#fPA&o7w`~8cOLBT*v8fKkIdD$w*FJr8ZoAgIwOwp{%u6HG;_saYx`>LE z;s7c@#&hLy8#l3oEXd~Q)-CVc#Y_&$xG*Z>|2$vq5Vu+2DvxU zr%=3kCI;NT6}9K{#K$$Vz8C=*a8(j;IB-i#V78gx=rL!r4$&Rh6LxY9!Bs#9Ytwp|dft%N_!~ ztr%%|N20%DZ}*MsMAD|sZ*T#J*$rSZl+h4uX?rMiLSBh<&a7L-(7o56V^_(^$(eQm z(zo#KlXmD3MY??V`0bfK5NXoBGEL~g7;ePfF!G_9DibF=5CWaBO9+HFwxDdbU1TAlgr>6g&~!&l%+NjG$u zppSDIr6n9>7Z{sy_Uy&&rEGY47G3);nA#%Afd4v-RC9u2EwW`bvhzbH)Ns*H?(Rx1 zb22(C33(@Zu_aU52+Z>pYq7$Ns@Ip=1D>g=$6Cw z24Z%J+#@MvU+T%1!9cugEZCfs2IN50Q6Bq4q=oA#2RVjdb$!_Xefx)m8i*ydvlA8* zViTq_rO?85?+&xbcnawSBF>Usa(OAR@FUg2s6rZ7YZ+yWgjU$XxF_2sW=BdV=cIJf z0@hA>3S0|58et{58`iA2x+eA|*&6(RVf3;665%7N5k&=3{!*m+6zsqw1OZ9)f zJg@i5Cpib=7vZbpnuK!0vHY`FDm9)Q6a)ASIBC=Se!AnSE&?E{etWZ`q= zBvhWdhASE{c6{K^mm!J_&LAB7>B9E()n%M4x&+hZTl`maXxq`m)ZvXF4C$Iy>QSxd zLfQFDomjF-AMwe(Jr~F`w3JYc@+#=}1GAc@T=^Uvgqu=@E85q>p1kgp1iKo(zh=Cr zZ;=?)0Oe)K3ZL=1Gw|YXkY=lNYn9Sp?8uTryl!5CTmh4iEIN1`an0n5msTFNY~i?R zc6RYxHjxo@yGNYP)VC3@Jl$=%oC%vc`Gb-`aDL;k*g=pT9;)7u?5WLk4?PXp54%C8 zK`hV0ODtoDdi@_hHb&`)32%E{-ciODaS%LK6?( zRlycImM)y$z$_9tqwVarZZDvr2|eFVAt%Nbp`Xv_;GP6Y77Ii^h3&+gxLcD(-JBWt z7NtdW?em8ukmDPGyfPLOlLT8R=fKvEyCPaZbvD&p{Y(`z^{j>3AKX5SFfpip8*X3Q29uEJ2cyTI>c*P%ih~OcEB{${w&@Lo)JUkaWn^uay>*<5gH9EX}jiSoR?~-dooIX`gSP zWB571eBpHpP%p>{Qcpy*N;rYmx{c7Zr8@f@Qo7?7Q$CEF#$Oo$@kdGgo@;jI~&jZIlxCCIeezsiO*r2ohxWH2w&2)A% zN;;o~#Ook5zi_^syKXTvKm2(t!D;>R34mZ^js9c;+EE37MU1f3*Dyg*EGGIm!6UIqZfe{GBFwL?xzaIH?xMwe!2OLS>=2DT-JL{Q?;@XkVBwnH2*6Op z&TOlhvcjNJ@D1Ew$9?2&CgLXUptn^rs4n@jnx za|M_;g~*`WTgu6yP~C53n)Z&%WTY2dJDMW*PmgC zw{-g65qV4M)ifDBn#aijn&rVc^Uf*YgeC)#iW zX#IhDA#evG(o5pYbGRsjP^ZYr#!-H240Ch@c7@rffss+K>L1)I;fWsr7P2+gtkPTT ztsS`1@NG96pJ2}xHOya|!y|i-#*zSx@E;ORy=JTl);`(xVCF112EP!gvoxzu_)Oi3 zhR`cQp`Kpgq9?h3&P(FxE5a8r(r&zihYl4+bm^Y~NzO)&XBVVV3XEy20u`M!$*!xz zBr;GA?VOYhYjZUq;c}U^_s8J&nP<|n^CqDl0+NuZUyv)V0q+ab+IBRS5z$x}f{|H| zXUeX|{PS^K&E(mD#W`?1$F5&%uP1}hEk@wrPi+yD0&O5=eBc6%V&ZT5*BCZ(luED4 z#ASpmf(9q2W7|J9-iD%j)`lbSO1U7$%JoeM6$@0s&LWkSH>dyaYZr7%tg?398BY%d ztO_E`;s+JMR156Xb`o9l8Q+Y)dmoUMma1tS#~^roSKOXYotauo=u!?Zuy5^?fSdl< zvm)#nlf@XuBn7|TnzvQs)3nI8xqo)Sle&~=7(ww+4n_%On-^|9p`j;YL&MnQ=`o?8 zxl6d*jpToPEypS?Q}YX~Wm9Yga0Avqmw+(=&NdaW4}JhC_?K+zNh}4^8BZz5d}x)Z zwLP2P7RT+yLR*FtDDY3@$>nap?1D?y5YSs+yERx8-tv)LBSBJLl6`5O>NnBwZi+5X zssQFvo7y^u6XZmdreQ|=X4=`RDX}wdnwHH1e76{e;T1*u zE>XX)T7VN4jG-bJiIt*j*WCCzo?Kw_i zOm7qH1!c!S7V9JTVxt&=tsVd#?D@Zm`T~#|KuDRs<30CN~EF zcGtE3ETsI8ZKBR3dcts^$rpJk*jSqjl$<~d6{9Ha9ROAAk5Mo)eGFin?kUld@+@~y z^XMW`@P3@RdcGtjzqFieC#mPo_C?-qU^&ohnHCopCv(1%8hi9pscpZL8UU8U4<@XW zOdCB{8KY_B!j4K1vM++Lp&N*!r+ zBj9{oe&0uaebk@#?Bluv6$sByArBt>ebC&ez$$G9=qcjIl`RQ*^u0ju*e<6c(_hG3 zdC>n3-u}OU_#iA6`Sz94ZBKDIZ0vba! z6A}rP2l(birhm&k|9j@`-%xZZ-9W4VrED0bl)sm)ZK>0yT(H)`51=zyI5-`=&2O`nl(!6T$b?TXx^mA_<%<5o&b`DX9DqT1&^6={L=RBZ4uRlzZzHl({*`E3Z zaIq5rDh51fM)df=FkkZWVv(NPwB@?_ah1VjKN{8|StPxE3FHNRBH!D`=h-E#q#DZvRm3SLkr z@OYqnAtyazNieargjVId8GQ1+iy4iUUEj7qm0yQdpJtEFcWzFDVtmosJDTYAhFe?z zx>f*i&n}SkkFZlafD|h|NE%f9Yx4?GHXDFokpUI`edfC{ngpQmwwq&~hC||eR6w7K zdVPlTRI?D`n)uC*ufr=RSMUE^0`Z?N#0aQ-j5`T4gfRm8fJW(_Jn#hq(+-0IUplnY zfCc^^cb6|}cK}VExexDljy-;ywkMR-Z;WuBtVz`rfB)|BE^sXQ7|}@pM*Gw-cX2Z9 z)^s_w5=<4DoJ!Z#_Sz2@kW6s59O*O-bOJ-^f3h{%8Wdo#ba5x3!A`LI7DL48z1R_{ zNeV|p$1(vH@=h7i(e|{+ppW?oGrnyB(BUQGDQNdIKj@%`l}X}D(sWNMtIyU1Q3DX? z1-mgacp>jZ^BTk`B<$2ZJf@eHmW+3Um_QoJYU|KKNIFR0^;M?3VBAyT_a3GC+TU z*3uWN@3AP$=g~_wwtWnDrVJ#Qd7>Um;e^sL<=(+nMxQs3%ZU=(bt7d@3KEARLX{8L zBGFcW2bvTy1G+kSMghD2$E4efT^QfSb6<`bRxpG7BU0cAShA&qUciG#fW90UJ^nyTtv zjOj^91YjRfVTuO8c285(xZ!k-g{LKz&iCOQHfea*1vf{m-5`HpW%R&z2{nP6LIp&2 zLYFrEu#&~yN)Qf1#ej6=%U-lhgrwV!iOqj&?>wWL?7BWr2_+y^I!Fg&zuKi=pbwee$tVEME@ggyc2iXFBO_7&6s z{SaqtSjbcN7zaLX3u-9Z=$x>#txP2moxv@?$?OQ}j z^QcW5&&&YKp*0HB&=h*zv~8gvC6^1u#GQ?xd;zW!9$DK4uf0qnos%NK+~Bxih98|yT0Sq|*kYO^DS1R-6uAHjs^Xlut7y(dnoHeLFHF|Q zV4GH|duOx=a@5FYHv?e#B~HoOJUJZ>5lWkkT?#G60ii3MKV12UD{k;;m$OvoPJ9pv z+vZ5p4oQzF5a8#pcKyOt;j3Uq6S`;gj58JIm8*1O8))V^(s? zfB0fhdmt6VtfWjtXwT{57J9EI%5F(yxz=P(#Ho`vG$#`tDL!-O?#fUF2E60Vn<2Z!}&FuLbAg>o2{}`AEXJGhX1{7mxz{MpQhcKYnK?A-2 zyEpTIwWQNm1BGIXkML-rGftC$Ovwq`ySpdK4D|0>W~M*KcDY`opeM=ARsGXHvi??E zWzHmDZ8)6p-=DuL5ojJB(|Bd4KWnske^V~dF6%gbxyH}MTK(Ra!a-rB<{i{Uzn7>> z8Ss|-#py474ojs}or-{D!@>yfKOQM8PaLeKFM6$@*1je(Q%pR^J$fUkU;5g6MW6kW zi)+oQY|YKwKSYlC=<2AnWv^jym7W9C5FT}{Ts?@we$(pb=vH&-hs<}inkvd3yphom zPX_f~=v~;b2ixzVL(PruZ7p)=z(tE#)j4-8y%H{9;#Jw$T~G5YQ}8P8P#ydb^j4@eKR+n7Blzu6I~<{DQb%5a2Op34sIQ zGXTe6FHy1Yv?)1qV;kN6CdFpqgH_Z~f0@@OB#o7CsD%`U_bNJ!mX*NqPajCcjYnj} z2cEo)r8g(9OnxDWKfZqA?E9*33Pbc-o33ZFVsE{tM=W9&<2wzY-~=1C_U6Z1|DV2q zdg0>c1|^P^!bUSW+r|cCkWiK&5b!L|XwQtKT!Z+?To7ih){9sx(6c?)`im=Xh z{}a?#Q91=cgJi{LT_dUh2-2Dp$;m#uj}X~3YfnvP=lhyg#Tb&kdV@x|$~Ho;O_n~k zJ^`rQt?+cCEtVdB@Y|axzU)dxnEdQ@^*GAP4?WleFl4>cSdalM4q_i)k1&LxNOAYCZE8kk%y}$naQc<7Zy;f=&hnSeEd+N~~{ZABCNFF~#mS^Ae zX6I%k`&b?%4^rWc35-d`E44YjUCVTl1p;HkXmNcXUpV1lj*G z+$9qO&&EB;ry+F;X5t0VZo}-xK8R>f-(=$bq-urbG8;w(U99tLh2-WEatF9k}m!%9o3$&<=8g0 z1KG&F-L1wSfiem@?lIauDm8bHtampj1IzVgOX9=l6nZJ+9$CCYap1$elx8LU*Jn=b z0%RyqCXTfInuC1Vzg<+X?H$kJOW8h{dH2A7l7&zRQ7(ISc5UQXW3ci)z)C;$ zA39GF5Y$a%N2r{Bz`3kff2g{lET?0wkNNd@11}y&zp-bi+3c5oSp5S^J8A=TWk?^2 z?z{KZ^Ij{r+0U9KE|LL#7auJY3bq+?n+VD5#*J)oq;AmdHWoFZyGwbXu38N|bs+b1 zEG!A;(4To``t2P}Kueqjo44co+h672BO%w-$$I?q%ThuylNi>Wp0a;DSEOtpT&xc` z4aD*(8&!TTOpog%Wsf?^^q;=@rzZ9J75DT1+IcREo%&<3=?tOBdr$tgHNm(YZ(8C& zVQ6gr#D*FU&{@KS>(AqWV3`j^f94ceYEB>}Z+2seyy0=M{j)3^e`F(17&eVWLhs%_ z_*s1I>eT};1)7TsY(@_Uhm<~yWOqhfby2N-(Ms^koeHyUZ7~uWnDWVggHZU*Vx5yg z=uo8{w|e&Gw!v^7Oz#D|xzmiK^Vy!o1WtjUMHx-N8I7bbUH2oc&QbYj-IOp&IqjfCxO171ffSeTYqC|tkH#N#&z8Whbx`Biv{W3x{rYuIspi~F+1%4jWAnfKG{N*k-M zPU1TOfyjhmkmW7ymZ_sc;c~CUz4$pJIcEOWFsHAe<7uq}iGy(KvJ2EgHC{ z*UHM~iIVVNdvf-V69*^43hh{%v=m)(A$S&@k)R$KiQ$?<*A{serRp*B&%KCaD&h(s z$LYn)%4X;K&gh$+NPlpqr9yhJK&WZ%p^^Li=#n+P)i*bZ4CbK{4kc{3GLDtee$rKdVJtIK^aAsjcKQ24%_`taWV0z-9MMTS0GKeJMeHP7s0PGK>U81<6HtILBxZ?EOydBM^S@YwHq z&GPEk(L*NIlPi<69lC!7_H?EYXn)nu+B#Wku+v0SJ(-?}u5+27!at0Z8NW)?XC}|| zntn3Ec^76aPrNHuBTiC(Lfvz$?^Hh`ohdKUPG@p1eSI?bp{hFdxClFKFvoFA%LpFC zZmIIP9j7W%qSA`-cV^;6{?2|GSzbtK2jdk~w~7LiPZh0h#8V^uP&`TfTbeaJ9TV#E z1L-rTfGZgHJ}(kQ!%B)M`uI6Q28q0g`@3`mxFw&@a0)#K=6|?&z(>u{5J=srMw`eV zJ#_KVy}Qx+usftzHW~yt9s)!&Cv11Tq3Qc06CT-vYb`^jz&D<}?v`y~s{_y78xC1d zEyxCk1w#)I{blc22NwiKKu!hyyW}IfS<)^)FNi>Z(;Z(>`yvnt#75Yj{_uBQ=b=!D zrpw|55HjC0we@TeT|NL98J4&Q%A-K2+#L{|Xwnv(><3ho%$@~(yWarnS0&Zw!-0Vk zx!umupiSIp<6s9kSpq+>IwI;mqP@qS19@Z-phsDf4;-8Boe^vAf(zZDX90Fzf!Qe? zEa=R-^%feHk4;PckD<`o`8=Ek&Wly{t%!HoTEP$a8;QOdU?7-|D%Wzx(>AV?1!oEL zvm%7*oU+$lBH=U?9hDcc+PA3v6p;-p)gsnLrJIXc-X4>6vIizdO?xE%H(Zjh%RX1a zTFD2NE6$kX{Zf0wr{0sxuRs14uGrs2ersbQws*nhmxte@5|y01D}igHR)h88 zg4~k+ySlNnp?*p4eokeGY@Y^o8Q!ucw3kJZgpIZiTKZ!x8b@HHn#rW7?pvt+XX8OYLc~MBZ{cM^y69V6RL#jVGNX^u6+`SImMof6=^Wcw_r>14b&vj3I z(Rg3AeyZSK573wJHI}?&46h#8JO@t9ow)h2=G}>3Zv)AZhVfNINNkG@ zLh(g%_39Co`eA?}1eu6_xRDS51sT;T)2$;u{d*i|${Ier9f*S7LskIA-X;_G`!5_& zQR{YdVks13ebuFF(ge`!u++fk)iO1DeG z`(NCBw^Gj#{Hiw6R@e10aT)y`buKtq10sT7#}rcuu=DYJGyMe+FrP#v0_HJsjZke@ zkTWX6WUrmi;xgyP<}6mpmVNrQ*p_h>%-XbOT!k(10cX-?!$O)KIFbvlEk1FQd%JW} zd1?4ZxNQ8R%bb^O^C97ESu=s5K0KDYI#V+k+m@A&CszaK4Epj2gyL*F4koPd!WdqY zO>3vrNv!!c6<@#yw?T?S|w9$;gTO zaQBvV*5aXRLfC*1gLId?g2LR$tZreX@VHlQYY|(5wWucahPS)V(y?k4ypVFQkcx7z zqQARXj9iUH%RuV*Z{1PdqKoaV3?mY7leN6uu-u`+`%b&th|*ShmhVqacgrQ$o6*+r z+#J?Y+4z2Iwz;XvH~Eo0(VM*MOw+1!h8lFov;k0uQw(UlJFolZB`Lq$T%$EN1=;b&jyy%=g zZt(U*rBRJBYQ#!fgpj?%Agf?g#9-sw?Vb~HM3dM;$mPjW!YdlJ6nzYYW?YP#3+zg# z{nhF!Qk|Oo7A--$5UV=YsCg&RGf;^~C`ac-EDk#jHXbI6$thR};l@Ew7j%P0)eY4+JK9&AbQ`|8ZyLm=+3ynHiIemVKi zb_oqlAAAC9Wpuu9374|Un5>B0s4B0mhJX2?E)GIqoO~kAmu+mc!bzcwj3>&Q4{rVw z`O|Os3C!VBz9A4Og0dLXBzjE4kY@k1Q>-IAdi8=*D|}-vOB9l%3l9O3lc#k*tmL7h z!WE1)=#+tHw45KaP@}SZ{aT&h1UVf`lyY-VSU?!2F;{ah2tGOHYXHrY#Xj9vR>Fu8 z?}&?N)#gVmF!>M0bdMS*a1x!OMcPl#xA$v3AZ~d~y!K$HDNf2(`JAP=eQI9jwUwE@ zdt%=$n`fOx+#e zNivYT(kx!8k_i`0L$c&WxNdRp%T`glp_&unqbs$k>({Ued1pG~{tOulCOu-_*>-nU z{#ynE!Mmh7+cd&hATKdoXFrX|dmWRgv7sD=W|<3KccP|-;`CQwbl@Sri(=i?HbW%A z#3tGG0wnLk#hvEUf>Rh?R&w-Sy;m{7BPkS4+$<|MFTP}UFf#>zU424I>mS{@D|6Myid`_W#gc>XFfGOJ z$~2Md#O7ER5_vC;lhA|}A{ZCBhkaM)B(`0U;D;~ML`D=e=f3{l_YOSV_sEWP+}y;; zdE(#G(@8>M9m0)B9z5jQ?rtQdqW6w9r3x`6UZORKr5M%={Ec3A~ z*Y=m&$=BjIphs&o%PdD9?NwJaV@PTwD>c6u#~XZ- z03Di%%v?wJ-=|m-r@*e^`vW5=i>UmpPv5RQ$H}4R)8FBOx7GH=Rgmm?Dz1t9#drKz z@3iG(UB@bA87a0VRbXGPH4sONJw^`Qf#07X)8Lop;6u@cVPc9|GdH23LyjJR!Kz2T zqRtbZvg+_9@=SbkPj#KJY%Aj#GtbyBHN*ASS37%ZWOf;sb@Y|p6Wxk^6iS3e&byY+ zG8OmTo(sCXD|mc~bz7AyBRb<%%AoDx^uRQ)Ia-SCg}x5WJF-J=0;@J#!)Jd0C?t*AUYxd;*3;4+($^=i@!GRlN5MGb3*E*lZJWCV zq~}=no^D84i7stQp~*)(PW>BvUcFJiL*^*j2eo%mFNTG&UX1=&NKATKq${oR)~cR+ zhHN^BONv}u3xJy*<Vt&Bm1v1e$sd-$9~nKcH7`AWDvZ0C%!9(Knx~GW!_OX?}Mm zBJh;!%Avd6db+OQ><=sPS6S|CI84n^akI{#uS#+^!^L??!;I-A6`nPYtcFdUDqTYDU=KQz@ z*+#xnKaFIM+8D0nIDE(>AQ?CIAsn{>m#=s~JpLU^bQ2><1RTBVC@EM z!xs{2i;R0ha2vmSykOtISbPaJos)t`G&s!|JrP3^_P5Wx+dDyc?i&aMIQ@eif<=+` z7g}&H^aO}&r?AYP_3KA_Qa5qPSEnR3kQ?|DSEcgoI&K0NUo(vtfuG?f+_cUf%UuYv z>whp6zY|?)zWe1(r}=D}8k_}FD00^PBC>f=GI`6oVs$*z9gU+B^CAAwM(Q3co9Fah zPd_lBM$)Ff+dXpm>bj&~fGrRvFWF@Uu1<#AuajsiKw|l=)Xp9qpK~Xq7>+-doLe^b zX1y9;VU^6p`kdrTy}(^juBu!(l5VAk8$@G`purldnX*U)C1%rexIwKhACqKGfkD#y z1kT@+pBoLK1DL00qr?$NXz`Et@&+0B|U zzI@nYKk`#9+#O*tn3hk9lL|4v3=*F2RTN5$$-AjCBO)Ep-#H@RBjPj6&^atsbCQn@ z$R`WD9=D^ZM8>>_w#2hgjzRq@DNf-|DRjrpB!2stNk{%XbOTYonFAv=ln{ zF7$p=`_Q$R6z10Sxh5E$^~EJ?!btqJu~D64hT^brWnfyzdV@u)P`r+f(d+GK1@MSC+#!$0KHT5+oZoP&gr$-pw4!}%rNvhRIJ zeZ8-8P%oza_WT}VX8su~*vtt2Q^DdoC&Eq(mN>#o3f`qYsX-9Q9XcIsw*@%AU3 z$Vd8JTDjX@5`G)Boq6-L2x%JF6n9{ym&Q#s8htEszs3-=b#5-<16sJ+eo86JZD*p9 z3La9TQ}eXtqy*+rxp-23ywaD3&MGnQ&6t8355uV2+VA_^S>xhuIRa1KoMnA)gIPys z26>*LpLpz*B4|om0Ff-@$rj*|^bwiZWj^YVSTUWP@uwcE?{*gbp*ZIzD~@FSycC#1kb@GUQwmy}g^~DVSEKQ_Ae2|fqlBhm{d7!} zK>KaJK9L|k55K45#}{T+G5f6L0=3}d!B#fDzYp=3Qf2Y@&AqP;`-u)3-JbLOOj&Mp z`97YHX0`B7BQ7q6QsYNem8gP`0t8e$+6Nwa4S8*h2mW%(UBAk!S_^+fGRH3%B{}L( z($bhmJLy|I>kOdjklP)BSW7%1ZC=P(+k;yr*(m|pQ z#G?Kc5e0kK&l{AS+g~36xb+&%xu2hJSexwLd(k;KedzlxjOFE~|2gtx;?iu+xB4-G zSt?9wpOk#T_h=60Z2zm-U5Z>M#s0e4TBsuxZ)x_ftS!?Z2Occpan~sGo2e`s#T=vNVuv#uOwXU{4BX znZsKiGVfHIe|GCUNwVZ05e9|fHL%C8&ZdMUQJHK>S96vzyW4KtX)~SK)np~6(rfqy zY3Px(m>$aibvG?>RCZ`%`3*L{XVft#@=1BzH=PKD)Ob1EyxUg}#5nxXMG+X&*zHFw znmJU7sLUhjRo$-smdvm7Y9A`p{2Nw0>Xf{W`6VQC@cB4;*?%qLHRFek2pIWpC$Ve@ zt_1R!-r(TC?7)WA2Q_;=rCS+mc~2&TgzCL>ZTS!o18j9|o@A9exGgM59afUqy49H^ z$2Yh>PnBDE;vDG%mw=?M(Iic5%9*T|F`f4`z;h9AXSmA6D1-DwOk60OmB3qu zHxLz{3t62CF$haCAK75wubf}GmouGXY-jgFC{lMlRPYy~CC0_oGhEdvya&Am%WC?X z90PYps0bTE^VvW2?r~Z%VYb;h$V;46$Kx|czb>WiBWI0LvnpQ)%x6N2es zAo^t7NmUMUN{Ick**XZf=eJVs2l$L&%0=Y^xQCK2j)VQDZ&D(QngL~pyI#)CKvn2% zAEG_+&p(1@S=d=JX%Dn^3RL5WP^6&?6gQaqd!_Fh$fb$eU-QZEk58zsb%R)$)^_53 zPNQVu#6~=ELB1H2c>zuV=(g4Y2~O?Oejst=pb@xc6KH1&bp5{rk>bzOSP+P#!ND=a zpg?&mnZJtyghK$gvK?|I{-2`4#2h!VuK(>0qdC-aR#~} z`mwC5DWvevl(=C|I7y=b0y)ljwZx_l&7TNb+_bHSt%t-4`F5v+pGC=SF|Z0nP+EhG z+J%RKtPId7WmpI&c7-b-8-Qxk!?5|z#GhqnKIw}hgFv>ldAGJgkCry(l;=pM8(*2@u#6_){a~Mg&FrtlHayKnMM7yh;M+3KxFk zJ+rCC0uHny``QNdV+daZTyp@Ka}B^P04_2UjpmDRn#Uf$6elc65x0ednqGddN<~2S zf)GWqY0eeZhxY#w$wW`qtpc33Yn8aa1(u!Y+yNj6%#x*@pJorLDIpbr8nZSoT8UTI z${*xVXb%fbaVPk}8_(jgLDAfk20yg9=p$u5FJU zaKH6|$0A|WpCY8?SpIRu*}FVw|C`boEP=It#7qUOPH-dULZBX#T(09(2Rpw4ft>Wo zklVL!1KAylB+PO>di-~<9jO{*NrL=AZ=`D$7B2Ceq5~PqKfXUUtwR8%W0nPQ>vy-8 zBHicPkDERP8VpU!y3Rhs7u7c9IT#HP1(2~Rz}FB%y1>(ONoWDlP7rPdtOA8t0I}_c zEJhU&{yw?>cT%coA)f$Y)Q_aN7E4srIgp25+2`F;YvCNP~|6a)HS=U@L1 zc)U^9{96<* zg_lcG#riUZ)$NbX$2R7|^2Q%gwqtjlOev(g&s+-? zms`MNxb&rwD+pKVbvP4t$R=|g6}G%kQ{wH6^Z9avIbd}LkJ&1ZXb%3@PdST(NlUju zj{sxz?(i7>F+K|QY6?7#z9)*5{r_6?@6<#=HNe>myJ z{%-amyWBQm_1)kh>b(a%qsezVsp*il?{IGGG}#jGuqB7(V#8N*CNIj2Il5Mk*94Mf z+2r>72ibBXZQgjXt#n;_wUd_5|37Y|Wk2!w+t;r@PrGgWEY2a3Ko0U_VDr|O3JiCe zJ*bKrR7P4>InwnLACvOq<<5c}pc?wzi929AC=b2yy#4LI)UEMqLlliS{Dws$0i zwS5!?3@-{XV-7J@_`T1~D4N2Y`4OI@UpPbA+w%rLqbNNJu}yM)~wORTluyW=!A=@e`~b^5Zdq7nR?x+kIR|JOjNiyqk7-aNzq#TRG$@AZ!Rj&C&7N z061J}iCdC@B<)b&HG-Z4iiT?sYG1%%y7zy*WYK)Lm(^9z=&81PwqP`?GT8sO8>9SH z@39Y)yhRn0Z!|5si%Z#UKXc6-`;+uh5$QiJ`TFi7e#zH8&nZ|kS!AGfT9~d14)pf`6Y*7b z^$?3Y&$Ez)np>m&%uj=nJ4igSEz0!jt=qJJm*)R78{u@gOBR{TZrVx^I1B}?pQ+9p LUNR_0*hl?0vUf=< diff --git a/chart-sdk/asp-net-core/chart/images/default-template-mvc.png b/chart-sdk/asp-net-core/chart/images/default-template-mvc.png deleted file mode 100644 index 55491df316a81efac6b245853ccb46bab06002de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77472 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η!l*Sz@vCX89ko-kwjqxx^`&6 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 P-(yRP%8FD9>G}O1LEYe~ diff --git a/chart-sdk/asp-net-core/chart/images/scaffold-template.png b/chart-sdk/asp-net-core/chart/images/scaffold-template.png deleted file mode 100644 index fff4481456853b4b46852123e04987e9659d21c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25857 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 diff --git a/chart-sdk/asp-net-core/chart/images/solution-explorer-mvc.png b/chart-sdk/asp-net-core/chart/images/solution-explorer-mvc.png deleted file mode 100644 index a6ee4245cf0431a793c072d94e8090f190d219fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16685 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 diff --git a/chart-sdk/asp-net-core/chart/images/ui-scaffolder.png b/chart-sdk/asp-net-core/chart/images/ui-scaffolder.png deleted file mode 100644 index d9551f23266514ee28d0b9ad9791df22593a06b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57487 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 diff --git a/chart-sdk/asp-net-core/chart/internationalization.md b/chart-sdk/asp-net-core/chart/internationalization.md deleted file mode 100644 index 39e7761d8..000000000 --- a/chart-sdk/asp-net-core/chart/internationalization.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: post -title: Internationalization in ASP.NET Core Chart Component -description: Learn here all about Internationalization in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Internationalization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Internationalization - -Chart provides supports for internationalization for the following chart elements. - -* Datalabel. -* Axis label. -* Tooltip. - -For more information about number and date formatter, you can refer [`internationalization`](http://ej2.syncfusion.com/documentation/base/intl.html). - - -**Globalization** - -Globalization is the process of designing and developing a component that works in different cultures/locales. Internationalization library is used to globalize number, date, time values in Chart component using `labelFormat` property in axis. - -**Numeric Format** - -In the following example axis, point and tooltip labels are globalized to EUR. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/number-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Number-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/number-format/number-format.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/lastvaluelabel.md b/chart-sdk/asp-net-core/chart/lastvaluelabel.md deleted file mode 100644 index 3772e24c9..000000000 --- a/chart-sdk/asp-net-core/chart/lastvaluelabel.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: post -title: Last Value Label in ASP.NET Core Syncfusion Chart Component -description: Learn here all about Data Labels in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Last value label -publishingplatform: chart-sdk -documentation: ug ---- - -# Last value label in ASP.NET Core Chart Control - -The `lastValueLabel` in a chart allows you to easily display the value of the last data point in a series. This feature provides an intuitive way to highlight the most recent or last data value in a series on your chart. - -## Enable Last value label - -To show the last value label, make sure the `enable` property inside the `lastValueLabel` settings is set to `true` within the series configuration. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/last-value-label/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="LastValueLabel.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/last-value-label/lastValueLabel.cs %} -{% endhighlight %} -{% endtabs %} - -## Customization - -The appearance of the last value label can be customized using style properties such as `font`, `background`, `border`, `dashArray`, `lineWidth`, `lineColor`, `rx`, and `ry` in the lastValueLabel property of the chart series. These settings allow you to tailor the label’s look to align with your desired visual presentation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/last-value-label-customization/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="LastValueLabelCustomization.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/last-value-label-customization/lastValueLabelCustomization.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/legend.md b/chart-sdk/asp-net-core/chart/legend.md deleted file mode 100644 index 6fb63a8ec..000000000 --- a/chart-sdk/asp-net-core/chart/legend.md +++ /dev/null @@ -1,291 +0,0 @@ ---- -layout: post -title: Legend and Customization in ASP.NET Core Syncfusion Chart Component -description: Learn here all about Legend in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Legend -publishingplatform: chart-sdk -documentation: ug ---- - - -# Legend in ASP.NET Core Chart Component - -Legend provides information about the series rendered in the chart. - -## Enable Legend - -You can use legend for the chart by setting the [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Visible) property to true in [`legendSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html) object. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/legend/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/legend/legend.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Position and Alignment - -By using the [`position`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Position) property, you can position the legend at left, right, top or bottom of the chart. The legend is positioned at the bottom of the chart, by default. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/default/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Default.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/default/default.cs %} -{% endhighlight %} -{% endtabs %} - - - -Custom position helps you to position the legend anywhere in the chart using x, y coordinates. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Legend Reverse - -You can reverse the order of the legend items by using the [`reverse`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Reverse) property. By default, legend for the first series in the collection will be placed first. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/reverse/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Reverse.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/reverse/reverse.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -**Legend Alignment** - - - -You can align the legend as `center`, `far` or `near` to the chart using [`alignment`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Alignment) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/alignment/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Alignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/alignment/alignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -To change the legend icon shape, you can use [`legendShape`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_LegendShape) property in the [`series`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html). By default, legend icon shape is `seriesType`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Legend Size - -By default, legend takes 20% - 25% of the chart's height horizontally, when it is placed on top or bottom position and 20% - 25% of the chart's width vertically, when placed on left or right position of the chart. You can change this default legend size by using the [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Width) and [`height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Height) property of the `legendSettings`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Legend Item Size - -You can customize the size of the legend items by using the [`shapeHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ShapeHeight) and [`shapeWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ShapeWidth) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/item-size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Item-size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/item-size/item-size.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Paging for Legend - -Paging will be enabled by default, when the legend items exceeds the legend bounds. You can view each legend items by navigating between the pages using navigation buttons. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/paging/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Paging.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/paging/paging.cs %} -{% endhighlight %} -{% endtabs %} - -### Legend Text Wrap - -When the legend text exceed the container, the text can be wrapped by using the [`textWrap`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_TextWrap) property. End user can also wrap the legend text based on the [`maximumLabelWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_MaximumLabelWidth) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/text-wrap/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Textwrap.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/text-wrap/textwrap.cs %} -{% endhighlight %} -{% endtabs %} - -### Set the label color based on series color - -You can set the legend label color based on series color by using chart's [loaded](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Loaded) event. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/legend-label/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="legend-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/legend-label/legend-label.cs %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core Chart Label Color](../images/legend-label.png) - -## Series Selection on Legend - -By default, legend click enables to collapse the series visibility. On other hand, if you need to select a series through legend click, disable the [`toggleVisibility`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ToggleVisibility). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/selection/selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Enable Animation - -You can customize the animation while clicking legend by setting enableAnimation as true or false using `enableAnimation` property in chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/animation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Collapsing Legend Item - -By default, series name will be displayed as legend. To skip the legend for a particular series, you can give empty string to the series name. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/collapse/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Collapse.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/collapse/collapse.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Legend Title - -You can set title for legend using `Title` property in `LegendSettings`. You can also customize the `FontStyle`, `Size`, `FontWeight`, `Color`, `TextAlignment`, `FontFamily`, `Opacity` and `TextOverflow` of legend title. `TitlePosition` is used to set the legend position in `Top`, `Left` and `Right` position. `MaximumTitleWidth` is used to set the width of the legend title. By default, it will be `100px`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/title/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Arrow Page Navigation - -By default, the page number will be enabled while legend paging. Now, you can disable that page number and also you can get left and right arrows for page navigation. You have to set `false` value to `EnablePages` to get this support. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/arrow-page/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Arrow-page.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/arrow-page/arrow-page.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend Item Padding - -The [`itemPadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ItemPadding) property can be used to adjust the space between the legend items. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/itempadding/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="ItemPadding.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/itemPadding/itemPadding.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend layout - -The [`Layout`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Layout) property in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) allows you to display the legend either horizontally or vertically. By default, the [`Layout`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Layout) is set to **Auto**. The [`MaximumColumns`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_MaximumColumns) property in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) defines the maximum number of columns that can be displayed within the available space when using the auto layout. Additionally, enabling the [`FixedWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_FixedWidth) property in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) ensures that all legend items are displayed with equal widths. The width of each item is determined by the maximum width among the legend items. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/layout/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Layout.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/layout/layout.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend template - -Legend templates allow you to replace default legend icons and text with custom HTML for each series. This enables branded styles, richer content (icons, multi-line text, badges), improved readability, and localization. - -You can customize the legend items by using the [`template`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) property of [`legendSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings). Legend interactions (click to toggle series) remain unless [`ToggleVisibility`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings#togglevisibility) is set to false. Templates work with all legend positions, alignments, and paging. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/legend/template/template.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/localization.md b/chart-sdk/asp-net-core/chart/localization.md deleted file mode 100644 index 7c718e3c1..000000000 --- a/chart-sdk/asp-net-core/chart/localization.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: post -title: Localization in ASP.NET Core Chart Component -description: Learn here all about Localization in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Localization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Localization - -Localization library allows to localize the default text content of Chart. In Chart component, it has the static text on some features (like zooming toolbars) and this can be changed to any other culture (Arabic, Deutsch, French, etc) by defining the locale value and translation object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Locale key wordsText to display
ZoomZoom
ZoomInZoomIn
ZoomOutZoomOut
ResetReset
PanPan
ResetZoomReset Zoom
- -To load translation object in an application, use load function of L10n class. - -For more information about localization, refer this [`localization`](https://ej2.syncfusion.com/aspnetcore/documentation/common/localization/). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/localization/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Localization.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/localization/localization.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/logarithmic-axis.md b/chart-sdk/asp-net-core/chart/logarithmic-axis.md deleted file mode 100644 index ec462f627..000000000 --- a/chart-sdk/asp-net-core/chart/logarithmic-axis.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -layout: post -title: Logarithmic Axis in ASP.NET Core Chart Component | Syncfusion -description: Learn here all about Logarithmic Axis in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Logarithmic Axis -publishingplatform: chart-sdk -documentation: ug ---- - - -# ASP.NET Core Logarithmic Axis - - - -Logarithmic axis uses logarithmic scale and it is very useful in visualizing data, when it has numeric values in both lower order of magnitude (eg: 10-6) and higher order of magnitude (eg: 106). - -To quickly get started with Syncfusion® ASP.NET Core Logarithmic Axis, you can check out this video: - -{% youtube "https://www.youtube.com/watch?v=l3M5ZvM1Ozs" %} - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/log/log/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Log.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/log/log/log.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -Range of an axis, will be calculated automatically based on the provided data, you can also customize the range of the axis using [`minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Minimum), [`maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Maximum) and [`interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/log/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/log/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic Base - -Logarithmic base can be customized by using the [`logBase`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LogBase) property of the axis. For example when the logBase is 5, the axis values follows 5-2, 5-1, 50, 51, 52 etc. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/log/base/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Base.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/log/base/base.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic Interval - -Logarithmic axis interval can be customized by using the [`interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. When the logarithmic base is 10 and logarithmic interval is 2, then the axis labels are placed at an interval of 102. The default value of the interval is 1. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/log/interval/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/log/interval/interval.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/multiple-panes.md b/chart-sdk/asp-net-core/chart/multiple-panes.md deleted file mode 100644 index c8d3cf75b..000000000 --- a/chart-sdk/asp-net-core/chart/multiple-panes.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -layout: post -title: Multiple Panes in ASP.NET Core Chart Component -description: Learn here all about Multiple Panes in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Multiple Panes -publishingplatform: chart-sdk -documentation: ug ---- - - -# Multiple Panes - -Chart area can be divided into multiple panes using [`rows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) and [`columns`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html). - -## Rows - -To split the chart area vertically into number of rows, use [`rows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) property of the chart. - -* You can allocate space for each row by using the [`height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html#Syncfusion_EJ2_Charts_ChartRow_Height) property. The value can be either in percentage or in pixel. -* To associate a vertical axis to a particular row, specify its index to [`rowIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) property of the axis. -* To customize each row’s bottom line, use [`border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple-panes/row/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Row.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple-panes/row/row.cs %} -{% endhighlight %} -{% endtabs %} - - - -For spanning the vertical axis along multiple row, you can use [`span`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) property of an axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple-panes/row-span/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Row-span.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple-panes/row-span/row-span.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Columns - -To split the chart area horizontally into number of columns, use [`columns`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html) property of the chart. - -* You can allocate space for each column by using the [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html#Syncfusion_EJ2_Charts_ChartColumn_Width) property. The given width can be either in percentage or in pixel. -* To associate a horizontal axis to a particular column, specify its index to [`columnIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html) property of the axis. -* To customize each column’s bottom line, use [`border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html#Syncfusion_EJ2_Charts_ChartColumn_Border) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple-panes/column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple-panes/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - -For spanning the horizontal axis along multiple column, you can use [`span`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html) property of an axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple-panes/column-span/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column-span.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/multiple-panes/column-span/column-span.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/chart/numeric-axis.md b/chart-sdk/asp-net-core/chart/numeric-axis.md deleted file mode 100644 index c8e449401..000000000 --- a/chart-sdk/asp-net-core/chart/numeric-axis.md +++ /dev/null @@ -1,234 +0,0 @@ ---- -layout: post -title: Numeric Axis in ASP.NET Core Chart Component -description: Learn here all about Numeric Axis in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Numeric Axis -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Numeric Axis - -You can use numeric [`axis`](https://ej2.syncfusion.com/aspnetcore/Chart/NumericAxis#/material) to represent numeric values of data in chart. By default, the `valueType` of an axis is [`Double`](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-axis). - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/double/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Double.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/double/double.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -Range for an axis, will be calculated automatically based on the provided data, you can also customize the range of the axis using [`minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Minimum), [`maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Maximum) and [`interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range Padding - -Padding can be applied to the minimum and maximum extremes of the axis range by using the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) property. Numeric axis supports the following types of padding. - -* None -* Round -* Additional -* Normal -* Auto - -**Numeric - None** - -When the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `None`, minimum and maximum of an axis is based on the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/none/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="None.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/none/none.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Round** - -When the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Round`, minimum and maximum will be rounded to the nearest possible value divisible by interval. For example, when the minimum is 3.5 and the interval is 1, then the minimum will be rounded to 3. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/round/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Round.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/round/round.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Additional** - -When the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Additional`, interval of an axis will be padded to the minimum and maximum of the axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/additional/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Additional.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/additional/additional.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Normal** - -When the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Normal`, padding is applied to the axis based on default range calculation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/normal/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Normal.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/normal/normal.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Auto** - -When the [`rangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Auto`, horizontal numeric axis takes None as padding calculation, while the vertical numeric axis takes Normal as padding calculation. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/auto/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Auto.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/auto/auto.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Label Format - -**Numeric Label Format** - -Numeric labels can be formatted by using the [`labelFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelFormat) property. Numeric labels supports all globalize format. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/label-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Label-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/label-format/label-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table describes the result of applying some commonly used label formats on numeric values. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Label ValueLabel Format property valueResult Description
1000n11000.0The Number is rounded to 1 decimal place
1000n21000.00The Number is rounded to 2 decimal places
1000n31000.000The Number is rounded to 3 decimal places
0.01p11.0%The Number is converted to percentage with 1 decimal place
0.01p21.00%The Number is converted to percentage with 2 decimal places
0.01p31.000%The Number is converted to percentage with 3 decimal places
1000c1$1000.0The Currency symbol is appended to number and number is rounded to 1 decimal place
1000c2$1000.00The Currency symbol is appended to number and number is rounded to 2 decimal places
- -## GroupingSeparator - -To separate groups of thousands, use [`useGroupingSeparator`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html) property in chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/group/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/group/group.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Custom Label Format - -Axis also supports custom label format using placeholder like {value}°C, in which the value represents the axis label e.g 20°C. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/double/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/overview.md b/chart-sdk/asp-net-core/chart/overview.md deleted file mode 100644 index ea5868187..000000000 --- a/chart-sdk/asp-net-core/chart/overview.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: post -title: Overview in ASP.NET Core Chart Component -description: Learn here all about Overview in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Index -publishingplatform: chart-sdk -documentation: ug ---- - - -# Overview - -The Chart control is used to visualize the data with user interactivity and provides customizing options to configure the data visually. It can bind data from datasource such as array of JSON objects, OData web services or [`DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager.html). All chart elements are rendered using Scalable Vector Graphics (SVG). - -## Key Features - -* **Chart Types** - Supports 25 interactive chart types starting from line to financial chart. -* [**Data sources**](https://ej2.syncfusion.com/aspnetmvc/Chart/LocalData#/material) - Bind the Chart component with an array of JSON objects or DataManager. -* **Axis Types** - Supports multiple axes, and to plot data with different data types such as numbers, datetime, logarithmic and string. -* [**Multiple Pane**](https://ej2.syncfusion.com/aspnetmvc/Chart/Candle#/material) - Provides the options to split the chart area into multiple panes. -* [**Multilevel Labels**](https://ej2.syncfusion.com/aspnetmvc/Chart/MultiLevelLabels#/material) - Organizes or groups data points in the chart based on different categories. -* [**Axis Crossing**](https://ej2.syncfusion.com/aspnetmvc/Chart/AxesCrossing#/material) - Provides the option to move the origin of axis to any point within the chart area. -* [**Smart Labels**](https://ej2.syncfusion.com/aspnetmvc/Chart/SmartAxisLabels#/material) - Avoids overlapping of axis labels by trimming, wrapping, rotating, hiding, or placing them on multiple rows. -* [**Stripline**](https://ej2.syncfusion.com/aspnetmvc/Chart/StripLine#/material) - Provides options to highlight and annotate any region in chart. -* [**DataLabel**](https://ej2.syncfusion.com/aspnetmvc/Chart/DataLabelTemplate#/material) - Datalabel annotates data points with label to improve the readability of data. -* [**Technical Indicators**](https://ej2.syncfusion.com/aspnetmvc/Chart/AccumulationDistribution#/material) - Indicators allows to analyse the past and predict the future market trends based on historic price, volume, or open interest. -* [**Trendlines**](https://ej2.syncfusion.com/aspnetmvc/Chart/Trendlines#/material) - Predicts the future trends with predetermined data for any measurements. -* [**Error Bars**](https://ej2.syncfusion.com/aspnetmvc/Chart/ErrorBar#/material) - Provides options to handle any error or uncertainty in the measurements. -* [**Empty Points**](https://ej2.syncfusion.com/aspnetmvc/Chart/AreaEmptyPoints#/material) - Provides options to handle missed data for the series elegantly with empty points. -* **Annotation** - Provides support to mark any specific area of interest by adding custom element. -* [**Vertical Chart**](https://ej2.syncfusion.com/aspnetmvc/Chart/VerticalChart#/material) - Provides options to invert the chart. -* [**Zooming**](https://ej2.syncfusion.com/aspnetmvc/Chart/Zooming#/material) - Provides options to visualize the data points under any region using rectangular selection, pinch, or mouse wheel zooming. -* [**Crosshair & Trackball**](https://ej2.syncfusion.com/aspnetmvc/Chart/Crosshair#/material) - Provides options to track data points closer to the mouse position or touch action. -* [**Selection**](https://ej2.syncfusion.com/aspnetmvc/Chart/Selection#/material) - Allows you to select any data point or subset of points using selection feature. -* [**Export**](https://ej2.syncfusion.com/aspnetmvc/Chart/Export#/material) - Provides the options to Export the chart to PDF, SVG and CSV formats. -* [**RTL support**](https://ej2.syncfusion.com/aspnetmvc/Chart/InversedAxis#/material) - Provides a full-fledged right-to-left mode which aligns axis in the chart control from right to left. \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/render-methods.md b/chart-sdk/asp-net-core/chart/render-methods.md deleted file mode 100644 index c1e45820c..000000000 --- a/chart-sdk/asp-net-core/chart/render-methods.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: post -title: Render Methods in ASP.NET Core Chart Component -description: Learn here all about Render Methods in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Render Methods -publishingplatform: chart-sdk -documentation: ug ---- - - - -# Rendering Types - -Chart uses following two rendering methods. - -* SVG -* Canvas - -## SVG - -SVG is used to render Chart by default for all browsers expect IE8 and old versions. - -## Canvas - -You can switch between SVG and Canvas rendering by using the `enableCanvas` option. The canvas mode rendering is used in the following scenarios, - -* Plotting large number of data points. -* Performing high frequency live updates. - -**Limitations** - -* Animation is not supported. \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/selection.md b/chart-sdk/asp-net-core/chart/selection.md deleted file mode 100644 index e7bd20210..000000000 --- a/chart-sdk/asp-net-core/chart/selection.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -layout: post -title: Selection in ASP.NET Core Syncfusion Chart Component -description: Learn here all about Selection in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Selection -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Selection in ASP.NET Core Chart Component - -Chart provides selection support for the series and its data points on mouse click. - -N> When Mouse is clicked on the data points, the corresponding series legend will also be selected. - -There are different types of selection mode for selecting the data. They are, - -* None -* Point -* Series -* Cluster -* DragXY -* DragX -* DragY - -## Point - -You can select a point, by setting `selectionMode` to point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/point-selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Point-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/point-selection/point-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series - -You can select a series, by setting `selectionMode` to series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/series-selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/series-selection/series-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cluster - -You can select the points that corresponds to the same index in all the series, by setting `selectionMode` to cluster. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/cluster-selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Cluster-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/cluster-selection/cluster-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Rectangular selection - -**DragXY, DragX and DragY** - -To fetch the collection of data under a particular region, you have to set `selectionMode` as `DragXY`. - -* DragXY - Allows us to select data with respect to horizontal and vertical axis. -* DragX - Allows us to select data with respect to horizontal axis. -* DragY - Allows us to select data with respect to vertical axis. - -The selected data are returned as an array collection in the [`dragComplete`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_DragComplete) event. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/drag/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Drag.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/drag/drag.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection type - -You can select multiple points or series, by enabling the [`isMultiSelect`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_IsMultiSelect) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/selection-type/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Selection-type.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/selection-type/selection-type.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection on load - -You can select a point or series programmatically on a chart using [`selectedDataIndexes`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SelectedDataIndexes) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/onload/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Onload.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/onload/onload.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection through on legend - -You can able to select a point or series through on legend using [`toggleVisibility`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ToggleVisibility) property. Also, use [`enableHighlight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_EnableHighlight) property for highlighting the series through legend. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/selection-legend/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Selection-legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/selection-legend/selection-legend.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization for selection - -You can apply custom style to selected points or series with [`selectionStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_SelectionStyle) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/custom-selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/selection/custom-selection/custom-selection.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/series-label.md b/chart-sdk/asp-net-core/chart/series-label.md deleted file mode 100644 index 41874db6d..000000000 --- a/chart-sdk/asp-net-core/chart/series-label.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: post -title: Series label in Syncfusion ASP.NET Core Chart Component -description: Learn here all about Series label in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Series label -documentation: ug ---- - -# Series label in ASP.NET Core Chart component - -The series label displays the name of each series inline, positioned near the end of the series path or the last visible data point. This helps identify each series without referring to the legend. - -## Overview - -Enable series labels using the [`LabelSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_LabelSettings) property within the series configuration. Set the [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Visible) property to **true** to display the label. - -{% tabs %} - -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/series-label/tagHelper %} -{% endhighlight %} - -{% highlight c# tabtitle="Series-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/series-label/series-label.cs %} -{% endhighlight %} - -{% endtabs %} - -## Customization - -Customize the appearance of series labels using the following properties: - -* [`Text`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Text) -* [`Font`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Font) -* [`Background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Background) -* [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Border) -* [`Opacity`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Opacity) -* [`ShowOverlapText`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_ShowOverlapText) - -{% tabs %} - -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/series-label-customization/tagHelper %} -{% endhighlight %} - -{% highlight c# tabtitle="Series-label-customization.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/series/series-label-customization/series-label-customization.cs %} -{% endhighlight %} - -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/chart/strip-line.md b/chart-sdk/asp-net-core/chart/strip-line.md deleted file mode 100644 index 645553494..000000000 --- a/chart-sdk/asp-net-core/chart/strip-line.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -layout: post -title: Strip Line in ASP.NET Core Chart Component -description: Learn here all about Strip Line in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Strip Line -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Strip lines - - - -EJ2 chart supports horizontal and vertical strip lines and customization of stripline in both orientation. - -## Horizontal Strip lines - -You can create Horizontal stripline by adding the `stripline` in the vertical axis and set `visible` option to true. Striplines are rendered in the specified start to end range and you can add more than one stripline for an axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/horizontal/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Horizontal.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/horizontal/horizontal.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Vertical Striplines - -You can create vertical stripline by adding the`stripline` in the horizontal axis and set `visible` option to true. Striplines are rendered in the specified start to end range and you can add more than one stripline for an axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/vertical/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Vertical.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/vertical/vertical.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customize the strip line - -Starting value in specific strip line can be customized by `start` property in strip line. Similarly, ending value is customized by `end`. It can be also set for starting from the corresponding origin of the axis by `startFromOrigin`. Size of the strip line is customized by `size`. Border for the stripline is customized by `border`. Order of the strip line such that whether it should be rendered in behind or over the series elements is customized by `zIndex`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/custom-stripline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-stripline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/custom-stripline/custom-stripline.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customize the stripline text - -You can customize the text rendered in stripline by `textStyle` property. Rotation of the strip line text can be changed by `rotation` property. Horizontal and Vertical alignment of stripline text can be changed by `horizontalAlignment` and `verticalAlignment` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/custom-striptext/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-striptext.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/custom-striptext/custom-striptext.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Dash Array - -You can create dash array stripline by using `dashArray` property. The Striplines are rendered with specified dash array values. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/dasarray/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dash.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/dasarray/dash.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Recurrence Stripline - -The strip lines to be drawn repeatedly at the regular intervals – this will be useful when you want to mark an event that occurs recursively along the timeline of the chart. The following properties are used to configure this feature. - -* `isRepeat` - It is used to enable or disable the recurrence strip line. -* `repeatEvery` - It is used to mention the stripline interval. -* `repeatUntil` - It specifies the end value at which point strip line has to stop repeating. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/recurrence/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Recurrence.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/recurrence/recurrence.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Size Type - -The `sizeType` property refers the size of the stripline. They are, - -* `Auto` -* `Pixel` -* `Years` -* `Months` -* `Days` -* `Hours` -* `Minutes` -* `Seconds` - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/size-type/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Size-type.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/size-type/size-type.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Segment Stripline - -You can create stripline in a particular region with respect to segment. You can enable the segment stripline using `isSegmented` property. The start and end value of this type of stripline can be defined using `segmentStart` and `segmentEnd` properties. - -* `isSegmented` - Used to enable the segment stripline. -* `segmentStart` - Used to change the segment start value. Value correspond to associated axis. -* `segmentEnd` - Used to change the segment end value. Value correspond to associated axis. -* `segmentAxisName` - Used to specify the name of the associated axis. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/segment/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Segment.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/strip-line/segment/segment.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/synchronized-chart.md b/chart-sdk/asp-net-core/chart/synchronized-chart.md deleted file mode 100644 index 9d2124028..000000000 --- a/chart-sdk/asp-net-core/chart/synchronized-chart.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -layout: post -title: Synchronized Charts in ASP.NET Core Chart Component -description: Learn here all about Synchronized Charts in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Synchronized charts -publishingplatform: chart-sdk -documentation: ug ---- - - -# Synchronized charts in ASP.NET Core Chart Component - -## Tooltip synchronization - -The tooltip can be synchronized across multiple charts using the `ShowTooltip` and `HideTooltip` methods. When we hover over a data point in one chart, we call the `ShowTooltip` method for the other charts to display related information in other connected charts simultaneously. - -In the `ShowTooltip` method, specify the following parameters programmatically to enable tooltip for a particular chart: - -* `X` - Data point x-value or x-coordinate value. -* `Y` - Data point y-value or y-coordinate value. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/synchronization/tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/synchronization/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Crosshair synchronization - -The crosshair can be synchronized across multiple charts using the `ShowCrosshair` and `HideCrosshair` methods. When we hover over one chart, we call the `ShowCrosshair` method for the other charts to align with data points in other connected charts, simplifying data comparison and analysis. - -In the `ShowCrosshair` method, specify the following parameters programmatically to enable crosshair for a particular chart: - -* `X` - Specifies the x-value of the point or x-coordinate. -* `Y` - Specifies the y-value of the point or y-coordinate. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/synchronization/crosshair/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Crosshair.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/synchronization/crosshair/crosshair.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Zooming synchronization - -You can maintain constant zoom levels across multiple charts using the [`ZoomComplete`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_ZoomComplete) event. In the `ZoomComplete` event, obtain the [`ZoomFactor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_ZoomFactor) and [`ZoomPosition`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_ZoomPosition) values of the particular chart, and then apply those values to the other charts. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/synchronization/zooming/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Zooming.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/synchronization/zooming/zooming.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection synchronization - -You can select the data across multiple charts using the [`SelectionComplete`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SelectionComplete) event. In the `SelectionComplete` event, obtain the selected values of the particular chart, and then apply those values to the other charts. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/synchronization/selection/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/synchronization/selection/selection.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/chart/technical-indicators.md b/chart-sdk/asp-net-core/chart/technical-indicators.md deleted file mode 100644 index 2c07ae1da..000000000 --- a/chart-sdk/asp-net-core/chart/technical-indicators.md +++ /dev/null @@ -1,259 +0,0 @@ ---- -layout: post -title: Technical Indicators in ASP.NET Core Chart Component -description: Learn here all about Technical Indicators in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Technical Indicators -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Technical Indicators - -A [`technical indicator`](https://www.syncfusion.com/aspnet-core-ui-controls/charts/technical-indicators) is a mathematical calculation based on historic price, volume or open interest information that aims to forecast financial market direction. - -Chart supports 10 types of technical indicators. - -## Accumulation Distribution - -Accumulation Distribution combines price and volume to show how money may be flowing into or out of stock. To render a [`Accumulation Distribution Indicator`](https://ej2.syncfusion.com/aspnetcore/Chart/ADIChart#/material), use indicator [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `AccumulationDistribution`. To calculate the signal line [`volume`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Volume) field is additionally added with `dataSource`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/ad/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Ad.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/ad/ad.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Average True Range (ATR) - -ATR measures the stock volatility by comparing the current value with the previous value. To render a Average True Range (ATR) Indicator, use indicator [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Atr`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/atr/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Atr.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/atr/atr.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Bollinger Band - -A chart overlay that shows the upper and lower limits of normal price movements based on the standard deviation of prices. To render a Bollinger Band, use indicator [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `BollingerBand`. Bollinger band will be represented by three lines (upperLine, lowerLine, signalLine). Bollinger Band default values of the [`period`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Period) is 14 and [`standardDeviations`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_StandardDeviation) is 2. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/bollinger/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Bollinger.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/bollinger/bollinger.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of BollingerBand** - -The `stroke`, `stroke-width`, and `color` of upperLine can be customized by using [`upperLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_UpperLine) and the lowerLine can be customized by using [`lowerLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_LowerLine) properties of indicator. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/custom-bollinger/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-bollinger.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/getting-started/custom-bollinger/custom-bollinger.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Exponential Moving Average (EMA) - -Moving average Indicators are used to define the direction of the trend. To render a EMA Indicator, use indicator [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Ema`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/ema/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Ema.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/ema/ema.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Momentum - -Momentum shows the speed at which the price of the stock is changing. To render a Momentum indicator, use indicator [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Momentum`. Momentum indicator will be represented by two lines (upperLine, signalLine). In momentum indicator the upperBand value is always render at the value 100. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/momentum/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Momentum.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/momentum/momentum.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of MomentumIndicator** - -The `stroke`, `stroke-width`, and `color` of upperLine can be customized by using [`upperLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_UpperLine) property of indicator. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/custom-momentum/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-momentum.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/custom-momentum/custom-momentum.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Moving Average Convergence Divergence (MACD) - -MACD is based on the difference between two EMA's. To render a MACD Indicator, use indicator [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `MACD`. MACD indicator will be represented by MACD line, signal line, MACD histogram. MACD histogram is used to differentiate MACD line and signal line. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/macd/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Macd.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/macd/macd.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of MACD** - -The `stroke`, `stroke-width`, and `color`of macdLine can be customized by using [`macdLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_MacdLine) property of indicator. The positive and negative changes of histogram can be customized by [`macdPositiveColor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_MacdPositiveColor) and [`macdNegativeColor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_MacdNegativeColor) properties. The [`macdType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_MacdType) is used to define the type of MACD indicator. To customize the MACD period using [`slowPeriod`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_SlowPeriod) and [`fastPeriod`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_FastPeriod) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/custom-macd/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-macd.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/custom-macd/custom-macd.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Relative Strength Index (RSI) - -RSI shows how strongly a stock is moving in its current direction. To render a RSI Indicator, use indicator [`type`](./https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Rsi`. RSI indicator will be represented by three lines (upperBand, lowerBand, signalLine). The upperBand and lowerBand values are customized by [`overBought`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_OverBought) and [`overSold`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_OverSold) properties of indicator and the signalLine is calculated by RSI formula. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/rsi/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rsi.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/rsi/rsi.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Simple Moving Average (SMA) - -Moving average Indicators are used to define the direction of the trend. To render a SMA Indicator, use indicator [`type`](./https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Sma`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/sma/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Sma.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/sma/sma.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stochastic - -It shows how a stock is, when compared to previous state. To render a Stochastic indicator, use indicator [`type`](./https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Stochastic`. stochastic indicator will be represented by four lines (upperLine, lowerLine, periodLine, signalLine). In stochastic indicator the upperBand value and lowerBand value is customized by [`overBought`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_OverBought) and [`overBought`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_OverBought) properties of indicators and the periodLine and signalLine is render based on stochastic formula. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/stochastic/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Stochastic.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/stochastic/stochastic.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of StochasticIndicator** - -The `stroke`, `stroke-width`, and `color` of upperLine can be customized by using [`upperLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_UpperLine), the lowerLine can be customized by using [`lowerLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_LowerLine) and the periodLine can be customized by using [`periodLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_PeriodLine) properties of indicator. To customize the period to find the average price using [`kPeriod`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_KPeriod) and [`dPeriod`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_DPeriod) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/custom-stochastic/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-stochastic.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/custom-stochastic/custom-stochastic.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Triangular Moving Average (TMA) - -Moving average indicators are used to define the direction of the trend. To render a TMA Indicator, use indicator [`type`](./https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `TMA`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/tma/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tma.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/tma/tma.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of Technical Indicators** - -The `stroke`, `stroke-width`, and `color` of signalLine can be customized by using [`fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Fill), [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Width) and [`dashArray`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_DashArray) properties and the [`period`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Period) property is used to predict the data forecast calculations. The [`field`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Field) value is used to the compare the current price with previous price. It is applicable to Bollinger bands and moving averages. The [`showZones`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_ShowZones) property is used to show or hide the overBought and overSold regions. It is applicable for RSI and stochastic indicators. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/custom-tma/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-tma.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/custom-tma/custom-tma.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Data Source** - -Usually technical indicators are added along with a financial series. The [`seriesName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_SeriesName) represents the series, the data of which has to be analysed through indicators. - -Technical indicators can also be added without series using [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_DataSource) property of indicator. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/datasource/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Datasource.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/technical-indicators/datasource/datasource.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/chart/tool-tip.md b/chart-sdk/asp-net-core/chart/tool-tip.md deleted file mode 100644 index c600ac9e5..000000000 --- a/chart-sdk/asp-net-core/chart/tool-tip.md +++ /dev/null @@ -1,239 +0,0 @@ ---- -layout: post -title: Tool Tip in Syncfusion ASP.NET Core Chart Component -description: Learn here all about Tool Tip in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Tool Tip -publishingplatform: chart-sdk -documentation: ug ---- - - -# Tooltip in ASP.NET Core Chart Component - - - -Chart will display details about the points through tooltip, when the mouse is moved over the point. - -## Enable tooltip - -The tooltip is useful when you cannot display information by using the data labels due to space constraints. You can enable the tooltip by setting [`Enable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Enable) property as true in [`Tooltip`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html) object. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/default/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Default.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/default/default.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Fixed tooltip - -By default, tooltip track the mouse movement, but you can set a fixed position for the tooltip by using the [`Location`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Location) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/fixed/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Fixed.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/fixed/fixed.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Format the tooltip - - - -By default, tooltip shows information of x and y value in points. In addition to that, you can show more information in tooltip. For example the format `${series.name} ${point.x}` shows series name and point x value. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Inline tooltip formatting - -The tooltip content can be formatted directly within the [`Format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Format) property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. - -A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. - -For example: - -```cshtml - -``` - -In the above example, `point.x` is displayed in month-year format, and `point.y` is displayed as a percentage without decimal places. - -Inline formatting can be applied to the following tooltip tokens: - -- `point.x` – Specifies the x-value of the data point, such as DateTime or category values. -- `point.y` – Specifies the numeric y-value of the data point. -- `point.size` – Specifies the size value of the data point, commonly used in bubble series. -- `point.high` and `point.low` – Specify the high and low values, commonly used in range and financial series. -- `point.open` and `point.close` – Specify the open and close values, commonly used in financial series. -- `point.volume` – Specifies the volume value, commonly used in financial series. -- `point.minimum` – Specifies the minimum value, commonly used in box and whisker series. -- `point.maximum` – Specifies the maximum value, commonly used in box and whisker series. -- `point.median` – Specifies the median value, commonly used in box and whisker series. -- `point.lowerQuartile` – Specifies the lower quartile value, commonly used in box and whisker series. -- `point.upperQuartile` – Specifies the upper quartile value, commonly used in box and whisker series. -- `point.outliers` – Specifies the outlier values, commonly used in box and whisker series. -- `series.name` – Specifies the name assigned to the series. -- `series.type` – Specifies the rendering type of the series, such as `Line`, `Spline`, or `Column`. -- `series.opacity` – Specifies the opacity value applied to the series. This value controls the visual transparency of the series and can be customized in the series configuration. - -**Important:** The availability of point-specific tokens depends on the series type and the values configured in the data source. For example, `point.size` is applicable to bubble series, while `point.median`, `point.lowerQuartile`, and `point.upperQuartile` are applicable to box and whisker series. The `series.name` and `series.type` tokens return string values, so DateTime or number formatting is not applied to these tokens. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimals - - `c2` – currency format - - `p1` – percentage format - - `e1` – exponential notation - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/inline-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Inline-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/inline-format/inline-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Tooltip template - -Any HTML elements can be displayed in the tooltip by using the [`Template`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Template) property of the tooltip. You can use the ${x} and ${y} as place holders in the HTML element to display the x and y values of the corresponding data point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customize the appearance of tooltip - -The [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Fill) and [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Border) properties are used to customize the background color and border of the tooltip respectively. The [`TextStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_TextStyle) property in the tooltip is used to customize the font of the tooltip text. The [`HighlightColor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_HighlightColor) property is used to customize the point color while hovering for tooltip. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/custom-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/custom-tooltip/custom-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Tooltip mapping name - -By default, tooltip shows information of x and y value in points. You can show more information from data source in tooltip by using the [`TooltipMappingName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_TooltipMappingName) property of the tooltip. You can use the `${point.tooltip}` as place holders to display the specified tooltip content. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/tooltip-mapping/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/tooltip-mapping/tooltip-mapping.cs %} -{% endhighlight %} -{% endtabs %} - -## Split tooltip - -The split tooltip displays a separate tooltip for each series at the same data point, making it easier to compare values across multiple series. - -Enable this feature by setting the `split` property to **true**: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/split-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Split-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/split-tooltip/split-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Follow pointer - -The follow pointer feature enables the tooltip to follow the mouse cursor or touch pointer as users interact with the chart. This provides a more dynamic and intuitive experience by keeping the tooltip close to the user's point of interaction. - -Enable this feature by setting the `followPointer` property to **true**: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/follow-pointer/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Follow-pointer.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/follow-pointer/follow-pointer.cs %} -{% endhighlight %} -{% endtabs %} - -## Tooltip distance -The tooltip distance property controls the spacing between the tooltip and the mouse pointer or target data point. This prevents the tooltip from overlapping with the cursor or nearby chart elements, improving readability. - -Set the `distance` property to specify the gap in pixels: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip-distance/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-distance.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip-distance/tooltip-distance.cs %} -{% endhighlight %} -{% endtabs %} - -## Enable highlight - -By setting the [`EnableHighlight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_EnableHighlight) property to **true**, you can highlight all points in the hovered series while dimming points in other series, enhancing focus and clarity. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/tooltip-enable/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-enable.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/tooltip-enable/tooltip-enable.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Closest tooltip - -The [`ShowNearestTooltip`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_ShowNearestTooltip) property in the chart tooltip displays tooltips based on the data points closest to the cursor. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/nearest-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Nearest-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/tooltip/nearest-tooltip/nearest-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/chart/trend-lines.md b/chart-sdk/asp-net-core/chart/trend-lines.md deleted file mode 100644 index f8cf1ea09..000000000 --- a/chart-sdk/asp-net-core/chart/trend-lines.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -layout: post -title: Trend Lines in ASP.NET Core Chart Component -description: Learn here all about Trend Lines in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Trend Lines -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Trend Lines in ASP.NET Core Chart Component - -Trendlines are used to show the direction and speed of price. Trendlines can be generated for Cartesian type series (Line, Column, Scatter, Area, Candle, Hilo etc.) except bar type series. You can add more than one trendline to a series. - -Chart supports 6 types of trendlines. - -## Linear - -A linear trendline is a best fit straight line that is used with simpler data sets. To render a linear trendline, use trendline [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Linear`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/linear/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Linear.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/linear/linear.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Exponential - -An exponential trendline is a curved line that is most useful when data values rise or fall at increasingly higher rates. You cannot create an exponential trendline, if your data contains zero or negative values. To render a exponential trendline, use trendline [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Exponential`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/exponential/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Exponential.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/exponential/exponential.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic - -A logarithmic trendline is a best-fit curved line that is most useful when the rate of change in the data increases or decreases quickly and then levels out. - -A logarithmic trendline can use negative and/or positive values. To render a logarithmic trendline, use trendline [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Logarithmic`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/logarithmic/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Logarithmic.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/logarithmic/logarithmic.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Polynomial - -A polynomial trendline is a curved line that is used when data fluctuates. - -To render a polynomial trendline, use trendline [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Polynomial`. `polynomialOrder` used to define the polynomial value. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/polynomial/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Polynomial.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/polynomial/polynomial.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Power - -A power trendline is a curved line that is best used with data sets that compare measurements that increase at a specific rate. - -To render a power trendline, use trendline [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Power`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/power/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Power.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/power/power.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Moving Average - -A moving average trendline smoothen out fluctuations in data to show a pattern or trend more clearly. - -To render a moving average trendline, use trendline [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `MovingAverage`. The `period` property defines the period to find the moving average. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/movingaverage/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Movingaverage.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/movingaverage/movingaverage.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of Trendlines** - -The [`fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html#Syncfusion_EJ2_Charts_ChartTrendline_Fill) and [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html#Syncfusion_EJ2_Charts_ChartTrendline_Width) properties are used to customize the appearance of the trendline. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/custom-trendline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-trendline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/custom-trendline/custom-trendline.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Forecasting - -Trendlines forecasting is the prediction of future/past situations. Forecasting can be classified into two types as follows, - -* Forward Forecasting -* Backward Forecasting - -**Forward Forecasting** - -The value set for forwardForecast is used to determine the distance moving towards the future trend. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/forward-forecast/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Forward-forecast.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/forward-forecast/forward-forecast.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Backward Forecasting** - -The value set for the backwardForecast is used to determine the past trends. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/backward-forecast/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Backward-forecast.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/backward-forecast/backward-forecast.cs %} -{% endhighlight %} -{% endtabs %} - -## Show or hide a trendline - -You can show or hide the trendline by setting trendline `visible` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/hide/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Hide.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/trendlines/hide/hide.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/chart/working-with-data.md b/chart-sdk/asp-net-core/chart/working-with-data.md deleted file mode 100644 index d09913756..000000000 --- a/chart-sdk/asp-net-core/chart/working-with-data.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -layout: post -title: Working with data in ASP.NET Core Syncfusion Chart Component -description: Learn here all about Working with data in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Working with data -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Working with data in ASP.NET Core Chart Component - -Chart can visualize data bound from local or remote data. - -## Local data - -You can bind a simple JSON data to the chart using [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource) property in series. Now, map the fields in JSON to [`xName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_XName) and [`yName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_YName) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/local-data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Local-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/local-data/local-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Common datasource - -You can also bind a JSON data common to all series using [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource) property in chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/common-data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Common-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/common-data/common-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Remote data - -You can also bind remote data to the chart using `DataManager`. The DataManager requires minimal information like webservice URL, adaptor and crossDomain to interact with service endpoint properly. Assign the instance of DataManager to the [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource) property in series and map the fields of data to [`xName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_XName) and [`yName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_YName) properties. You can also use the [`query`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Query) property of the series to filter the data. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/remote-data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Remote-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/remote-data/remote-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Binding data using ODataAdaptor - -[`OData`](http://www.odata.org/documentation/odata-version-3-0/) is a standardized protocol for creating and consuming data. You can retrieve data from an OData service using the DataManager. Refer to the following code example for remote data binding using an OData service. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/odata-adaptor/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Odata-adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/odata-adaptor/odata-adaptor.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Binding data using ODataV4Adaptor - -ODataV4 is an improved version of the OData protocols, and the `DataManager` can also retrieve and consume ODataV4 services. For more details on ODataV4 services, refer to the [`odata documentation`](http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html#_Toc453752197). To bind an ODataV4 service, use the **ODataV4Adaptor**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/odatav4-adaptor/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Odatav4-adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/odatav4-adaptor/odatav4-adaptor.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Web API adaptor - -You can use the **WebApiAdaptor** to bind the chart with a Web API created using an OData endpoint. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/web-adaptor/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Web-adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/web-adaptor/web-adaptor.cs %} -{% endhighlight %} -{% endtabs %} - -The response object should contain the properties **Items** and **Count**, where **Items** represents a collection of entities, and **Count** represents the total number of entities. - -The sample response object should appear as follows: - -``` -{ - Items: [{..}, {..}, {..}, ...], - Count: 830 -} -``` - - - -## Custom adaptor - -You can create your own adaptor by extending the built-in adaptors. The following demonstrates the custom adaptor approach and how to add a serial number to the records by overriding the built-in response processing using the **processResponse** method of the **ODataAdaptor**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/custom-adaptor/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/custom-adaptor/custom-adaptor.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Offline mode - -When using remote data binding, all chart actions will be processed on the server-side. To avoid postback for every action, configure the chart to load all data upon initialization and handle actions on the client-side. To enable this behavior, utilize the **offline** property of the `DataManager`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/offline-mode/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Offline-mode.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/offline-mode/offline-mode.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Empty points - -The Data points that uses the `null` or `undefined` as value are considered as empty points. Empty data points are ignored and not plotted in the Chart. When the data is provided by using the points property, by using `emptyPointSettings` property in series, you can customize the empty point. Default `mode` of the empty point is `Gap`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/empty-points/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-points.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/empty-points/empty-points.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Lazy loading - -Lazy loading allows to load data for chart on demand. Chart will fire the scrollEnd event, in that the minimum and maximum range of the axis is achieved. Based on this, the data can be uploaded to chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/lazy-loading/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Local-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/lazy-loading/local-data.cs %} -{% endhighlight %} -{% endtabs %} - - -**Customizing empty point** - -Specific color for empty point can be set by `fill` property in `emptyPointSettings`. Border for a empty point can be set by `border` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/custom-emptypoint/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-emptypoint.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/custom-emptypoint/custom-emptypoint.cs %} -{% endhighlight %} -{% endtabs %} - -## Handling No Data - -When no data is available to render in the chart, the `noDataTemplate` property can be used to display a custom layout within the chart area. This layout may include a message indicating the absence of data, a relevant image, or a button to initiate data loading. Styled text, images, or interactive elements can be incorporated to maintain design consistency and improve user guidance. Once data becomes available, the chart automatically updates to display the appropriate visualization. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/no-data-template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="No-data-template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/axis/working-data/no-data-template/no-data-template.cs %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core Chart Control](images/nodatatemplate-chart.png) diff --git a/chart-sdk/asp-net-core/chart/zooming.md b/chart-sdk/asp-net-core/chart/zooming.md deleted file mode 100644 index 6a1c4cb1f..000000000 --- a/chart-sdk/asp-net-core/chart/zooming.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -layout: post -title: Zooming in ASP.NET Core Syncfusion Chart Component -description: Learn here all about Zooming in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Zooming -publishingplatform: chart-sdk -documentation: ug ---- - - -# Zooming and Panning in ASP.NET Core Chart Component - -## Enable zooming - -Chart can be zoomed in three ways. - -* Selection - By setting [`enableSelectionZooming`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html) property to true in `zoomSettings`, you can zoom the chart using the rubber band selection. -* Mousewheel - By setting [`enableMouseWheelZooming`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html) property to true in `zoomSettings`, you can zoomin and zoomout the chart by scrolling the mouse wheel. -* Pinch - By setting [`enablePinchZooming`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html) property to true in `zoomSettings`, you can zoom the chart through pinch gesture in touch enabled devices. - -N> Pinch zooming is supported only in browsers that support multi-touch gestures. Currently IE11, Chrome and Opera browsers support multi-touch in desktop devices. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/default/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Default.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/default/default.cs %} -{% endhighlight %} -{% endtabs %} - - - -After zooming the chart, a zooming toolbar will appear with `zoom`,`zoomin`, `zoomout`, `pan` and `reset` buttons. Selecting the Pan option will allow to pan the chart and selecting the Reset option will reset the zoomed chart. - -## Modes - -The [`mode`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ZoomMode.html) property in zoomSettings specifies whether the chart is allowed to scale along the horizontal axis or vertical axis. The default value of the mode is XY (both axis). - -There are three types of mode. - -* X - Allows us to zoom the chart horizontally. -* Y - Allows us to zoom the chart vertically. -* XY - Allows us to zoom the chart both vertically and horizontally. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/mode/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Mode.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/mode/mode.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Toolbar - -By default, zoomin, zoomout, pan and reset buttons will be displayed for zoomed chart. You can customize to show the desired options in the toolbar using the [`toolbarItems`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_zoomsettings_ToolbarItems) property. Also using the [`showToolbar`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_zoomsettings_ShowToolbar) property, you can show toolkit for zooming and panning the chart during initial rendering itself. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/toolbar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Toolbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/toolbar/toolbar.cs %} -{% endhighlight %} -{% endtabs %} - -### Toolbar customization - -The zoom toolbar in the chart can be repositioned using the [`ToolbarPosition`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_ChartZoomSettings_ToolbarPosition) property, allowing flexible alignment and placement. It supports horizontal alignments (**Near**, **Center**, and **Far**) and vertical alignments (**Top**, **Middle**, and **Bottom**), with default values set to **Far** and **Top**, respectively. For precise placement, the [`X`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartToolbarPosition.html#Syncfusion_EJ2_Charts_ChartToolbarPosition_X) and [`Y`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartToolbarPosition.html#Syncfusion_EJ2_Charts_ChartToolbarPosition_Y) properties can be used to adjust the toolbar's position within the chart area. Additionally, enabling the [`Draggable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartToolbarPosition.html#Syncfusion_EJ2_Charts_ChartToolbarPosition_Draggable) property allows users to freely move the toolbar within the chart area, ensuring optimal usability. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/toolbar-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Toolbar-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/toolbar-custom/toolbar-custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Enable pan - -Using [`enablePan`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html) property, you can pan the zoomed chart without the help of toolbar items. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/pan/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Pan.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/pan/pan.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Enable scrollbar - -Using the [`EnableScrollbar`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_ChartZoomSettings_EnableScrollbar) property, you can add a scrollbar to a zoomed chart. This scrollbar allows you to zoom or pan the chart. The appearance of the scrollbar can be customized using properties in [`ScrollbarSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html). For example, you can use [`TrackColor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_TrackColor) and [`TrackRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_TrackRadius) properties to customize the track of the scrollbar, and [`ScrollbarRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_ScrollbarRadius) and [`ScrollbarColor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_ScrollbarColor) properties to customize the scroller. The ability to zoom through the scrollbar can be enabled or disabled using the [`EnableZoom`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_EnableZoom) property in [`ScrollbarSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html). Additionally, you can change the color of the grip and height of the scrollbar using the [`GripColor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_GripColor) and [`Height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_Height) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/scrollbar/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Scrollbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/scrollbar/scrollbar.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Position - -The [`Position`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_Position) property allows users to specify their preferred scrollbar location. By default, both vertical and horizontal scrollbars are rendered near their respective axes. Using the customization options below, you can position the scrollbar as desired: - -* Default: `placeNextToAxisLine`. -* Horizontal scrollbar: Available positions are `Top` and `Bottom`. -* Vertical scrollbar: Available positions are `Left` and `Right`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Enable animation - -Enable the [`EnableAnimation`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_ChartZoomSettings_EnableAnimation) property to experience smooth transitions when zooming in on the chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/animation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Auto interval on zooming - -By using [`enableAutoIntervalOnZooming`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html) property, the axis interval will get calculated automatically with respect to the zoomed range. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/auto-interval/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Auto-interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/charts/user-interaction/zoom/auto-interval/auto-interval.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/charts/getting-started.md b/chart-sdk/asp-net-core/charts/getting-started.md index 2ccadd53c..a3bda1c11 100644 --- a/chart-sdk/asp-net-core/charts/getting-started.md +++ b/chart-sdk/asp-net-core/charts/getting-started.md @@ -1,7 +1,7 @@ --- layout: post title: Getting Started with ASP.NET Core Chart Control | Syncfusion -description: Checkout and learn about getting started with ASP.NET Core Chart control of Syncfusion Essential JS 2 and more details. +description: Check out and learn about getting started with ASP.NET Core Chart control of Syncfusion Essential JS 2 and more details. platform: chart-sdk control: Getting Started publishingplatform: chart-sdk @@ -10,104 +10,74 @@ documentation: ug # Getting Started with the ASP.NET Core Chart Control -This section explains how to add the [ASP.NET Core Chart](https://www.syncfusion.com/aspnet-core-ui-controls/charts) control to your application using Visual Studio. +This section briefly explains how to include the [ASP.NET Core Chart](https://www.syncfusion.com/aspnet-core-ui-controls/charts) control in your ASP.NET Core Web App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and [Visual Studio Code](https://code.visualstudio.com/). -> **Ready to streamline your Syncfusion® ASP.NET Core development?** Discover the full potential of Syncfusion® ASP.NET Core controls with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like Visual Studio, Visual Studio Code, Cursor, Syncfusion® CodeStudio, and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/aspnetcore/documentation/ai-coding-assistant/overview) +> **Ready to streamline your ASP.NET Core development?** Discover the full potential of ASP.NET Core controls with AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like Visual Studio, Visual Studio Code, Cursor, Code Studio and more. [Explore AI Coding Assistant](https://ej2.syncfusion.com/aspnetcore/documentation/ai-coding-assistant/overview) -To get started quickly with the ASP.NET Core Chart control, watch this video: +To get started quickly with ASP.NET Core Chart control, you can check out this video. {% youtube "https://www.youtube.com/watch?v=Vll9DXQ7z4Q" %} -## Prerequisites - -Refer to the [System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements) before creating the application. - -## Create an ASP.NET Core Web Application with Razor Pages - -You can create an ASP.NET Core application using either of the following options: - -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app) - -* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project) +## Create an ASP.NET Core Web App with Razor Pages {% tabcontents %} {% tabcontent Visual Studio %} -## Create an ASP.NET Core Razor Pages Project Using Visual Studio - -1. Start **Visual Studio** and select **Create a new project**. - -2. In the **Create a new project** window, choose **ASP.NET Core Web App (Razor Pages)** → **Next**. - -3. In the **Configure your new project** dialog, specify the **project name** (and optionally change location/folder). - -4. Click **Next**. - -5. In the **Additional information** dialog: -* Select **.NET 10.0** or the latest supported .NET version. -* Verify: **Do not use top-level statements** is unchecked. - -6. Click **Create**. +Create an **ASP.NET Core Web App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-10.0&tabs=visual-studio#create-a-razor-pages-web-app) or the [ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project). -For alternative approaches to create the project, see [Create a new project in Visual Studio](https://learn.microsoft.com/en-us/visualstudio/ide/create-new-project?view=visualstudio). - -## Install ASP.NET Core Package in the Application +{% endtabcontent %} -To add Syncfusion® **ASP.NET Core** controls in the application, open the NuGet Package Manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution). Search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and install it. +{% tabcontent Visual Studio Code %} -Alternatively, you can use the Package Manager Console by navigating to: -Tools → NuGet Package Manager → Package Manager Console, and then run the following command: +Run the following command to create a new ASP.NET Core Web App. {% tabs %} -{% highlight bash tabtitle="Package Manager Console" %} +{% highlight C# tabtitle="Terminal" %} -Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }} +dotnet new webapp -o SyncfusionApp +code -r SyncfusionApp {% endhighlight %} {% endtabs %} +Alternatively, create an ASP.NET Core Web App using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-10.0&tabs=visual-studio-code#create-a-razor-pages-web-app) or the [ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-code-integration/create-project), or the [C# Dev Kit](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) extension. {% endtabcontent %} -{% tabcontent Visual Studio Code %} +{% endtabcontents %} -## Create an ASP.NET Core Razor Pages Project Using Visual Studio Code +## Install the required ASP.NET Core package -1. Install the latest **.NET SDK** that supports **.NET 10.0** or later. -2. Open **Visual Studio Code**. -3. Press Ctrl + ` to open the integrated terminal. -4. Run the following command to create the project: +Install the [Syncfusion.AspNetCore.Charts](https://www.nuget.org/packages/Syncfusion.AspNetCore.Charts) NuGet package. All Syncfusion ASP.NET Core packages are available on [nuget.org](https://www.nuget.org/packages?q=Syncfusion.EJ2). See the [NuGet packages](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) topic for more details. -{% tabs %} -{% highlight bash tabtitle=".NET CLI" %} +{% tabcontents %} -dotnet new webapp -o SyncfusionApp +{% tabcontent Visual Studio %} -{% endhighlight %} -{% endtabs %} +1. Go to *Tools → NuGet Package Manager → Manage NuGet Packages for Solution*. +2. Search the required NuGet package (`Syncfusion.AspNetCore.Charts`) and install it. -Then, open the project in a new Visual Studio Code window using the following command: +Alternatively, you can install the same package using the Package Manager Console with the following command. {% tabs %} -{% highlight bash tabtitle=".NET CLI" %} +{% highlight C# tabtitle="Package Manager Console" %} -code -r SyncfusionApp +Install-Package Syncfusion.AspNetCore.Charts -Version {{ site.releaseversion }} {% endhighlight %} {% endtabs %} -## Install ASP.NET Core Package in the Application +{% endtabcontent %} -To integrate the Syncfusion® ASP.NET Core Chart component, install the required [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) NuGet packages using the integrated terminal: +{% tabcontent Visual Studio Code %} -1. Navigate to the directory containing the **.csproj** file. -2. Run the following commands to install the package: +Open the terminal and run the following command. {% tabs %} -{% highlight bash tabtitle=".NET CLI" %} +{% highlight C# tabtitle="Terminal" %} -dotnet add package Syncfusion.EJ2.AspNet.Core --version {{ site.releaseversion }} +dotnet add package Syncfusion.AspNetCore.Charts --version {{ site.releaseversion }} {% endhighlight %} {% endtabs %} @@ -116,44 +86,40 @@ dotnet add package Syncfusion.EJ2.AspNet.Core --version {{ site.releaseversion } {% endtabcontents %} -N> Syncfusion® ASP.NET Core controls are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). Refer to the [NuGet packages](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) topic to learn more about installing NuGet packages in various operating system environments. The Syncfusion.EJ2.AspNet.Core NuGet package depends on [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating the Syncfusion® license key. - -## Add the Syncfusion® ASP.NET Core Tag Helper +## Add ASP.NET Core tag helpers -Open the `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` Tag Helper. +After the package is installed, open the **~/Pages/_ViewImports.cshtml** file and import the `Syncfusion.AspNetCore.Charts` and `Syncfusion.AspNetCore.Base` tag helpers. {% tabs %} -{% highlight C# tabtitle="~/_ViewImports.cshtml" %} +{% highlight C# tabtitle="_ViewImports.cshtml" %} -@addTagHelper *, Syncfusion.EJ2 +@addTagHelper *, Syncfusion.AspNetCore.Charts +@addTagHelper *, Syncfusion.AspNetCore.Base {% endhighlight %} {% endtabs %} -## Add Script Resources +## Add script resources -Add the script reference inside the `` element of the `~/Pages/Shared/_Layout.cshtml` file as follows. +The script can be referenced from NuGet through [Static Web Assets](https://ej2.syncfusion.com/aspnetcore/documentation/appearance/theme#static-web-assets). Include the [script references](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) inside the `` of **~/Pages/Shared/_Layout.cshtml** file. {% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} +{% highlight cshtml tabtitle="_Layout.cshtml" %} ... - - + {% endhighlight %} {% endtabs %} -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application. +## Register the script manager -## Register the Syncfusion® Script Manager - -Register the script manager `` at the end of the `` element in the ASP.NET Core application as follows. +Open the **~/Pages/Shared/_Layout.cshtml** file and register the script manager (``) at the end of the `` element as shown below. {% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} +{% highlight cshtml tabtitle="_Layout.cshtml" %} ... @@ -164,37 +130,52 @@ Register the script manager `` at the end of the `` element i {% endhighlight %} {% endtabs %} -## Add the ASP.NET Core Chart Control +## Add the ASP.NET Core Chart control -Add the Syncfusion® ASP.NET Core Chart tag helper to the `~/Pages/Index.cshtml` page. +Add the ASP.NET Core Chart control in the **~/Pages/Index.cshtml** page. {% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} +{% highlight cshtml tabtitle="Index.cshtml" %} {% endhighlight %} {% endtabs %} -Press Ctrl + F5 on Windows or + F5 on macOS to run the application in -Visual Studio. If you are using Visual Studio Code, run the following command in the terminal: +## Run the application + +{% tabcontents %} + +{% tabcontent Visual Studio %} + +Press Ctrl+F5 (Windows) or +F5 (macOS) to launch the application. The [ASP.NET Core Chart](https://www.syncfusion.com/aspnet-core-ui-controls/charts) control will render in your default web browser. + +{% endtabcontent %} + +{% tabcontent Visual Studio Code %} + +Open the terminal and run the following command. {% tabs %} -{% highlight bash tabtitle=".NET CLI" %} +{% highlight C# tabtitle="Terminal" %} + dotnet run + {% endhighlight %} {% endtabs %} -The Syncfusion® ASP.NET Core Chart control will be rendered in the default web browser. +{% endtabcontent %} + +{% endtabcontents %} -![ASP.NET Core Chart Control](how-to/images/chart.png) +![ASP.NET Core Chart control](how-to/images/chart-control.webp) -## Render a Chart with Data +## Render a Chart with data -To render a column chart, define a data source and bind it to the chart series using the [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource), [`xName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_XName), and [`yName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_YName) properties. +To render a column chart, bind a data source to the chart series using the [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource), [`xName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_XName), and [`yName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_YName) properties, and set the [`type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Type) property to **Column**. The `dataSource` property specifies the data for the series, while `xName` and `yName` map the x-axis and y-axis fields from the data source. The default series type is **Line**. {% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} +{% highlight cshtml tabtitle="Index.cshtml" %} @{ var chartData = new List @@ -221,11 +202,11 @@ To render a column chart, define a data source and bind it to the chart series u {% endhighlight %} {% endtabs %} -![ASP.NET Core Chart Control](how-to/images/chart-data.png) +![ASP.NET Core Chart control](how-to/images/chart-data.webp) N> Explore the sample on [GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/Chart/ASP.NET%20Core%20Tag%20Helper%20Examples) to understand how this getting started example works. -## See Also +## See also -* [Getting Started with ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) -* [Getting Started with ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) +1. [Getting Started with ASP.NET Core in Visual Studio Mac](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/visual-studio-mac) +2. [Getting Started with ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) diff --git a/chart-sdk/asp-net-core/chart/how-to/images/chart-control.webp b/chart-sdk/asp-net-core/charts/how-to/images/chart-control.webp similarity index 100% rename from chart-sdk/asp-net-core/chart/how-to/images/chart-control.webp rename to chart-sdk/asp-net-core/charts/how-to/images/chart-control.webp diff --git a/chart-sdk/asp-net-core/chart/how-to/images/chart-data.webp b/chart-sdk/asp-net-core/charts/how-to/images/chart-data.webp similarity index 100% rename from chart-sdk/asp-net-core/chart/how-to/images/chart-data.webp rename to chart-sdk/asp-net-core/charts/how-to/images/chart-data.webp diff --git a/chart-sdk/asp-net-core/circular-chart-3d/data-label.md b/chart-sdk/asp-net-core/circular-chart-3d/data-label.md deleted file mode 100644 index e13d6ad31..000000000 --- a/chart-sdk/asp-net-core/circular-chart-3d/data-label.md +++ /dev/null @@ -1,188 +0,0 @@ ---- -layout: post -title: Data Label in Syncfusion ASP.NET Core 3D Circular Chart Component -description: Learn here all about data label in Syncfusion ASP.NET Core 3D Circular Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Label -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Label in ASP.NET Core 3D Circular Chart Component - -A data label refers to a label associated with specific data points. It can be added to a 3D Circular Chart series by enabling the `Visible` option in the `DataLabel` property. By default, the labels will arrange themselves smartly to avoid overlapping. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/datalabel/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Datalabel.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/datalabel/datalabel.cs %} -{% endhighlight %} -{% endtabs %} - -## Positioning - -Using the `Position` property, we can place the data label either `Inside` or `Outside` the 3D Circular Chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/position/position.cs %} -{% endhighlight %} -{% endtabs %} - -## Data label template - -The label content can be formatted using the template option. Inside the template, placeholder text `${point.x}` and `${point.y` can be added to display the corresponding data point's x & y value. The data label template can be set using the `Template` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/template/template.cs %} -{% endhighlight %} -{% endtabs %} - -## Connector line - -The connector line will be visible when the data label is placed `Outside` the chart. It can be customized using properties such as `Color`, `Width`, `Length`, and `DashArray` within the `ConnectorStyle` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/connector-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Connector-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/connector-line/connector-line.cs %} -{% endhighlight %} -{% endtabs %} - - -## Text mapping - -Text from the data source can be mapped using the `Name` property within the data label. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/text-mapping/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Text-mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/text-mapping/text-mapping.cs %} -{% endhighlight %} -{% endtabs %} - - -## Format - -The data label for the 3D Circular Chart can be formatted using the `Format` property. You can utilize global formatting options such as 'n', 'p', and 'c'. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ValueFormatResultant ValueDescription
1000n11000.0The number is rounded to 1 decimal place.
1000n21000.00The number is rounded to 2 decimal places.
1000n31000.000The number is rounded to 3 decimal place.
0.01p11.0%The number is converted to percentage with 1 decimal place.
0.01p21.00%The number is converted to percentage with 2 decimal place.
0.01p31.000%The number is converted to percentage with 3 decimal place.
1000c1$1000.0The currency symbol is appended to number and number is rounded to 1 decimal place.
1000c2$1000.00The currency symbol is appended to number and number is rounded to 2 decimal place.
- -## Customization - -Individual text for the data points in the 3D Circular Chart can be customized using the `TextRender` event. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Using textRender event - -You can customize the data label of a pie chart using the `TextRender` event as follows to show the percentage. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/text-render/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Text-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/text-render/text-render.cs %} -{% endhighlight %} -{% endtabs %} - -## Using template - -You can display the percentage values in the data label of a pie chart using the `Template` option. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/percentage/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/datalabel/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/circular-chart-3d/empty-points.md b/chart-sdk/asp-net-core/circular-chart-3d/empty-points.md deleted file mode 100644 index b09fd2381..000000000 --- a/chart-sdk/asp-net-core/circular-chart-3d/empty-points.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: post -title: Empty points in ASP.NET Core Syncfusion 3D Circular Chart Component -description: Learn here all about empty points in Syncfusion ASP.NET Core 3D Circular Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Empty points -publishingplatform: chart-sdk -documentation: ug ---- - - -# Empty points in ASP.NET Core 3D Circular Chart Component - -Data points containing `null` or `undefined` values are considered empty points. These empty data points are ignored and not plotted in the 3D Circular Chart. You can customize the handling of empty points using the `EmptyPointSettings` property in the series. The default mode for empty points is `Gap`. Other supported modes include `Average`, `Drop`, and `Zero`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/pie-donut/empty-points/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-points.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/pie-donut/empty-points/empty-points.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -A specific color for an empty point can be set by using the `Fill` property in `EmptyPointSettings`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/pie-donut/empty-point-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-point-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/pie-donut/empty-point-custom/empty-point-custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/circular-chart-3d/getting-started.md b/chart-sdk/asp-net-core/circular-chart-3d/getting-started.md deleted file mode 100644 index 1883de1b8..000000000 --- a/chart-sdk/asp-net-core/circular-chart-3d/getting-started.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET Core 3D Circular Chart | Syncfusion -description: Checkout and learn about getting started with Syncfusion ASP.NET Core 3D Circular Chart control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - -# Getting Started with ASP.NET Core 3D Circular Chart Control - -This section briefly explains about how to include [ASP.NET Core 3D Circular Chart](https://www.syncfusion.com/aspnet-core-ui-controls/charts) control in your ASP.NET Core application using Visual Studio. - -## Prerequisites - -[System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements) - -## Create ASP.NET Core web application with Razor pages - -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app) - -* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project) - -## Install ASP.NET Core package in the application - -To add `ASP.NET Core` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and then install it. Alternatively, you can utilize the following package manager command to achieve the same. - -{% tabs %} -{% highlight C# tabtitle="Package Manager" %} - -Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.AspNet.Core NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. - -## Add Syncfusion® ASP.NET Core tag helper - -Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelper. - -{% tabs %} -{% highlight C# tabtitle="~/_ViewImports.cshtml" %} - -@addTagHelper *, Syncfusion.EJ2 - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Here, script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application. - -## Register Syncfusion® script manager - -Also, register the script manager `` at the end of `` in the ASP.NET Core application as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET Core 3D Circular Chart control - -Now, add the Syncfusion® ASP.NET Core 3D Circular Chart tag helper in `~/Pages/Index.cshtml` page. - -{% tabs %} -{% highlight c# tabtitle="CSHTML" %} - - - - - - - - - - - - - - -{% endhighlight %} -{% endtabs %} - -**Pie Series** - -By default, the pie series will be rendered when assigning the JSON data to the series using the `dataSource` property. Map the field names in the JSON data to the `xName` and `yName` properties of the series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/getting-started/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="CSHTML.cs" %} -... -public class CircularChartData -{ - public string X; - public double Y; -} -{% endhighlight %} -{% endtabs %} - -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET Core 3D Circular Chart control will be rendered in the default web browser. - -![ASP.NET Core CircularChart3D Control](images/circular-chart-3d.png) - -N> `View Sample in GitHub`. - -## See also - -* [Getting Started with Syncfusion® ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/circular-chart-3d/images/circular-chart-3d.png b/chart-sdk/asp-net-core/circular-chart-3d/images/circular-chart-3d.png deleted file mode 100644 index ed059cd15df3a89986aa20164a6b8be1be1d7bde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39087 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

Tgi94)jyi-q}L3 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
vhco_xwU#h_^P%#Ms&LCFVU1rV^uW|958kq z5yr~?xoTHSa5q*}tYn=5s7bOyJdJd~W&nc4@*swfh{@T4{xw9K{(w!N?8$=b2G4`7 z3y9q61t?F;77Ubf@z*qO(F>#S{q0u!9)q2>Lo_wpIu1VHoRd~|dQ#nF)6COR>S>z& zynGra1rh`4eAxym5s`vn;duIm6Oo<|&2i~4)ayuQH{kL9ewP>9x*-jIqADSFOSW=U zUDM{u;uUz$mVa=cqlH7uYhb-Gimay^EysNh7xuomkYE(appLEQLTb2;{^%}RCVzPr zsGFL($s6ats34Iw#Izl43Zw^2xO-Ru(;re=YjB!Uvk6s#Ac?EQqat~g%SP@vSF-)> zE{aKvJ_AX?gD34P9xL`e6$*T#Zxc?zBL@Z|4Bqp@sy1a%3I_xi1BRtZ=a0r{z309M$JZg#gXeDrg8WM=cJz**aWXhX(>vi-n7Iw*DJku?Z+aA?0FKM# zpA`(I1STmp2$nplws4+q3x8P~o3JY%`}?nC`jlSe&(F91asyuUx~}hiQ(rVy^p~v} zZ*V91_h*^+8HnfW&&VE$dwTnS{jm7pEq`OV0ME}E#kRhWM^YZ%yD6+{L_*YpL`=rA zpA)k~$LXzH8Q=e}tUyT`*1IFD$=uI!PouKggK9)z+g71TANg_OgIi zxF0eN>xAEDxsJRs;hQ1jKKlsy=aiqcuUxrK;ZU%FURKTVMKVRSMbD|rho4U zPEKj`X7gI49&?wrb>Oc0^2d z!0iL;0BBH_j?5LRNiL6dzB(wy; zK@zgV$3Bt34a-QR-pja4i$DWMVQ8x)J(!O)w*X&rSREy1W32}eb$pH zlaPp#0l#KHzv4s&}MqT-nXfMNoEsi$ui5(xy78+}<>u6Vs5 z2IWd%LmoCIyEnuy=4?RXgW&&nA!{y!x`n~Hc`1<;F#_p?BwC6nsR08iw6hnbw1f@~ zDW~Lb&(q3RK)J2sUbNI`}$XnAzI3+ml!cZiYPjI5s-r>Rha?+Q$F-fur0$ccpB z5*v9ieGb~;u^-GUhJL@Zo??hD5HxN^T>1ro1<95Pt4And(E%v=}|v^kI5yo%rm&-v2-SMOyBg(~*3z$0g4kMp77il$DXqh0{@983Jj)LIAu=UT^q2LaEPDYp^V&_Tc3 z8)X6Y(={ypV%k5Qo7sB9i)R+`b`zTpH3n|5 z&HnNOxi&Rd>cx^omjP)ik zbZs&Uqk-;Mab}rxBOUMD!-qe|Ba`<#nR)~F#9-QK^)u(&1 zZ?zJ~Vcdy?{vgCeqk2KmM67ToOyLVm^zRaMCH`bbZYiW|DpGrC6C%|`V2;^#>4tt~ zFsph%ocfI4gGPMfdPd!6ZAbB-k%nk0@m9ZliN1JT%gA-1KM$71{##OVvsgf3;igJf z5SIa8AwpS)6cocxwt(pCAI$~Cch_9UN>#a9EYXE;WcFkBrE^M8Mmk@mef{Igy3gg& z2_^=KE4$7`h#nro;y*IZf}On|tQI<;J@_Ks<9-0Oe2fB_S(pDzj{RaY{XCH6VF3#i zBs?xE9*tE`l$R}!v%9E=>qpyJ2u!^5D_gG@3H4fnbtk!AR8zDL0n`2VfCoDJv7t_5 z_a@_$?n+1+`*3;b8@uL0Tj8?1&l^rWACDcP(Pa7kdk5`xlFA1kv;DM+4F1$@Gh^7$ zd^lfASI$RQ=UE7jt(C!L-P+nBnICgE#6;)fZhxR|PduxvED|>7`2Dz)W>n0;502D! z1mjzDH!8aWTYZ!`(LS?c(RSM&QzCtOOVGU9=O)FGjZ7bobKUaNjBfXK%QMLj6K}Og zR&@YzWR!L_s%X#3BK1D~(6puQhgGh_u(Lnkf6$x5J@~=RdcclzS{kk=U-zLcI?!PI z-K&RUA?%{<`coA6;p26qj=$`_ztd~$Ho6Tuv?Yha{cO=nTO;~CxRd}=T1)Wc5hz*&7l0o<$8Zet<$sW~SBebj!wul42 zVn2PSOwg&tq3f+8?j1w)`mEbCd-o;fq8mEmd5`R7n9w#)YrRpb+I|_nZ)My^vtPq( zX7E7+EM(1L-%VicU_TC+gp8A;cH`fA;B^=M%vi*_PV zjQ)h`)urWc94UypIu088gKK|&K#E7jIcEd6|Bi2xNU1L+vB-@qoJ?$r_ETYy-w%8C zr@C^pNyl%bU7Wt(TOuOR5~>1pi2J#;fd_JGDj}2mE6=V?-VJz!>)_z!;OyS*)=XQ? z>K-Sd9DAeK-Q19|*cr@=WnY%B{R3uQXl9B)Zd>d&W)G-fxG#^DO%sJb0Ddp9nL1pw zisOF-9C&Z4fsmk>rDJQcgW9BF=a!t;7Y z(J|;^8B=dTQhTHkkFpVJeJR&cslRy_G_ZtM<9V&wk1;27lZlAj$y#=!6-yK2T+~<5 zqsa>bkN*VSo2aP;+Y=#mB|-g)rH-?c7=5V<=@QqJN$o7e{Fc^&$w<%6A>{^orcwT zw5qEYd-Vje89o41#Nx$L6RuQGVtDRU5B6X; zW`((P9miRNi5hGzBSY6rX!EiZz;3$+MK$w9+Rd064r~lu#F=6#iy9yq7%Ft(I)MOG zVuxFO()s-nQrYIW+tUabtZzxrhCJ+65q+R+FBhABxO#e#0of%M zSjbOW-PKrhOvRNe;_RVpek#*74nLYrJ_BD&Ou_a!fE@AE)+$tZJ^U^Nl?|~y=TA&; z?#r=nKBI?=pz->o?^pKZuu#7Sp*cS>5@>Z`@tBtT@z+%=yQo$lhkqxZ^@Nw=PyY{? z^xSa3<-z{eenX)Yj@W%=t-8~(*BoEY3iaHTj#bYdEjTG@u>eAKMjgG!WG!H?`l#kE zE@FgV>!@L*=8~4u#(Vkm73CvWt;Hu<@Y^?JuX`N5$#pv2mq(}`0ifMsuO)C%YU}4? z{)GcOxVa1rdt`^hiEC32aqYP1x(jUIx%S@${Ybkq7F$ zg9IW?V`&*8pS`j-PW3qa_6euK@iRL(Ba*N-PX*r9(A1{8f}M;>xcMcZXwzv!N;>Ux znA$eOG<3PE4gC0m2cGBC51;Jd6>022K+z-vpi%tYZDuo=A~-u=LPLk{s4+#0=oEDm zePAMKM}en&1J7FV=pG~0nGt8XR~-2EP5|jGvQ?)Vq&HoZ%jv=Y0r!6H3;D)HrFc^# zQRF>AXM26G*kjw(m5Xl%fapTMBgdfxVjA z_NCgMpXd(mGcXXG(^;3Fa;|T%0Kx3pkRADc>D+fspwVsw%sVb;h@?Tn@UDTV&VE&* zA@zbEtl1c0od0w%?Rzbl1O*hMrOM0rXJ?hQMxN#x6i8|B;jtk@8c37EWuD)esxu_{ zbUjjgwNo$P+>rJ|6@^Dzk`TOZa`rAp7YR`}4NXKf(`@+cv zJqM^YjLt-z8z=mJ2Ck1%BBR%Y;>mv3tw{z?qqWgFwQZQR6F;W`@wu@zQRCUc=E`(E zhrzSB_v-$x`TFsu&i*alK zW4CsMxjmjYTN2VgClQ%I;!z0+N^6JS9bkbsKp{T zCzi0Ma{ZG)ElgDxH+R^JG8K5T`SA4QEtE8RI{m>jM$K)>AoYHSgJfV85T~ zwAvhe0<5cPSa7Jd zm00nPWit~sPg@c%<8eQsKxZhKWr9oc>C)NjBmqgB z{v0zgAf^4l?ODj}FK7;Ta!9pslHA%z<@OsFB^maH=N@q4YTt{bUYYt<3avj9fIYOr z1}p6U$*>(RAQ<%WaiFJ|wYxF}8hZ23$TU<(9bfrW}Jfb;@7TI!Zlk&&LUcY*B$ps*O9lEtFaj}$6`Jja*I zgHaubQz-s!^)d9?E%fV(ae^1G6Ir6GPk~h*$Vkc9k&|PB%aVmbopD602DDPiK@m60 z7C3;$m>Y7M1-y?7AvN7QH^KsifrSZZfRFyPMrqOUsY?cfPi5-7DlpM^3q72E7OeWo zs(v30yrsF%H{5UApC==|24vMagq|GW@6AAqv@>7N!hOIo@HHa4gcE~~o01)6{h2>!y$a>>hogoR?H!Q&*8Ne}r= zUm@cN1E9Y}ZTBq9XT>wUi+O~e$HQ!-wNQYz9fS85bXy;zre;EFDpCbp01RJI3W+_r zn=m$z+W$ErX3iebdFUh==^hFhQUER>e{Om_%C?*@iy52cQ%+x@zzilQO)iL~YkX;kj$1vrm4sLLdd}3;^2vu4N+L#MN>Cs~gfCf&VD=e)GqvSueO6)jA$xUSZKh=4} zm9VLOY5Byfa%8FG9R2fLHl1k%gYWZbl1{TST9TEScRcjSdq@79Ki; zO{2|~kPnOd{Ae;%VeH>pL}%i?sFO6b_sugj2jJ6O6X+FFfmk8@glwfo$!)z~7(p*9 z)0)f9Wmk$zx~#{`E#6W?Cx*+H^{}BYv!PyT<(OXc34Tzhn)m_h2Gf_JcCKFd;DZn6=lV95>|UEZIV0$@q8`cTFfE!osNH8=P69gu_2j+h6)di|0=*Y+F)Z zj0$^fPuy|d?kSO`mVFVQ_2E2WL%8Ujsl$-^tTKYo6;((e#=e+M0|M(q==y7Z|FJs% z%cHC9p)cKNmhUGpK-a8#(+iDDqC;{)tr!=xpqm>hvk3Lhfk9qe0Xw8AwSzZh(qXdz zQR!A7P2KVkMk;g0BGRi^bkD_UIMd4uZj1|V5YK`h+&kP8#i{csN`fsL6p+M zrX+qA56OywvX)^xR`5h$q%%GqlTz9k?sxd+fiqJ%?msIXq>VeIUT`=K(gB-Y3eDYG zxSZ8&AK}57OkgEMm*I+~mn?i=ek{dm>lu=teSrpX(^fCC#cpd2&OkECXeSMlX!);H zn<_ndT_>=YW5;y~{4W-2s7JKTFI=>(>xqYYRVaKNiwZbRUkWHEfuMKyEr7}?-r{bVKm`JUC|9jUw3K^UEGLhQhB5c3}1?VUkJZL{B(F}Y7&OH8RYPac58L~7Wz`nYCdZTfmsQ>Q3b3lE;P3xsRpG%G zr3Vz)Ha}V$Th0nA*XKxZq)h&k%QovW6{27-;J;!<6|;HaayA?ZTaBJX;UfA^{kNHT z8@nTNJfyEy#&ou9XkKqt!GntmXM5mQSnBebc(coiV7xe5ziuF>sL5;Fm@0=1qZ;(m z)b4$rB2wm4?+Cw(TZ{fU zsVr7}l_eLRu8diZIS$;|;zh=2KHu)6NzAH*XPZ_eUH@#2;rO0$rlN5{P!ocNigBfkOT^RhFoq?=P1y?v9Mao7LrIp}&Z9pNt%=55dE#6~ ziwv}d|5iU_d~kD6uO$N9&^m?^1uB@!S7PtHBBuPkLY`)q!C;DR&a zEt^Gb{5QLpH(ojj!Z)9Y048+^*9}9V{HC{OiCk~w&tO8NB+=J`Xx%$zD8%15Hz)IN z%F>62ks;9e=r=2LDR144i`ZDf5w$$*rL&jTrrQu%cl|S~N5gTRQ{macBgq|>+)ud<_i42vu2V|p)C=|sh0$M5yv{qIFS*jy z5S0qB@tQu=)I3gn!ugc1mHjWP8$QZGjdNb&`C<>MYWU`xnU~=?X*Z4F(fNki#*v5b z0Y2>>aTeVURORpEmvvSn2OJK%QbJ|qi?UvCKK+(?w3m|WG~|6VSHXiMi50AhdXt%3 z`(ETkhB@=?#`dH~Oo8 zlmCMw<}(~N(5i%cxt4c#LEn3gm_|p&@(np)WJ;0~m4pj#mn}Orl@?+HbnCKqH@>t4 zZ!@u>^kr|7m!05(>DmX9O+#oVr|$pI#Hp5BW+Wz~v{tRBf&7qv);WGj=ejm@ZGT>k zsXcW+8DT4s9vK!VXaymuq-7xY?Z_ww*3h%QS(YvXBDAf&@66=+ z?2OPQQ5dSOWkfQ!t zB2jCBG89Q{dK2v3w|Z&;9VMc|Az6X+_tTx9@-}i>(=L?qsfF^WgDHuzc|l!0ZyWOK zRo|?b=gkuCzi%>VrcA)zw!iuu6S0=lxbbUhCJhm!9f5rCDttOg|FMo+u@K5QXSGjv z({LFtUaaSFYq${cnDshYY(R8J%@XuzE2Z-3Bimu#m|CU zPK8cYxl!5@{B^LJDBEks#?+4)*Z}K?8M*7}2sqc?^FX(CSo`^>aaEy^V z9=_iS2`nG#;XIO2Ka3n~q>&QLAO0h=O}y)`d?o_K>279=`5j%mw`dpjk@R+$ZYu_c zGh1xmN%a+*%Q3P>j3vTdLlsv>lOu)Pg;n=xF0Rn~41ehEqSpED6pm9H4f?#=FoDk_ z#m(VaUr$@^c;X%e6BuiOTIz>nq|z>$Q!353HwE%qlIFfGXthLL@Rw`|)p_*JQW-RzgX@2De6`kb{AcnHiZIGo+CaEpOP_ zIV%KBF9z@T>-cG-mtsWZhsa;|ywkoW{Y`P{A+G26URXg)Sv=&7Z`6+R!nq1^LoGtI zz$WWO0Zr1{csJj8_o~RCx<{1TY8;jI_v*>=;sD{1m?-K}_zurKrGo+5@ARv-rY4u- z`^?-J1Y!99*VB1N!?m_;Jd(jE!9?_6GNPA=648kn972$hA$k{rL-cx#-s40kLI}d> zy~okbM2Id*L?0!33-UfW@B4jwt@&ft+OwX$_w4=L_kQl{{#{Zsu(PD;_IGXDT2p>> zLaWR1%O%$qRt8yp5JueqakRAWa&=)L_fg41Qr*tVlheFg1KQ~yr3A(GFZ5P(xB8Oy z_LV3!WlYGvjJ!_F@Kk9ry)i2ND`_HTPbGYBl}N;r;m3o(#$L( z-S=vLXyyla8OSCPw2$x|t$$L$@8GeUkZ=gZ8obW>hYV7g; z-rmPT!MEY5^(BCARTr;36wl3*Z?!jhp|165>O7s(j}|*%BPZ`aN)edMvjD&btKC!m z*9S$Mi7yM~IIM)MAJi}mI3g+hePQQSUGvj$l~nG_BWkR)Jo>#{3eNW#cp<}?)45-H z-E)a`4B{QoyWEtAHZ> zp83Fc*O#CZ($@CZ1bIk~O-PPgQXXw81PBwsuO!Vbg5Ug-71TVg{tD;YOOa7RLc$3IbmOp?g;J~AORTv<(yFoa zUepa}Qm?gf(gwlw*6!AaM@xC5JN?fT-ap5La(kGZV@CTkwLp!P2dXgDDAJ?lzyk(g zya$y@lmBW}L5x`>GC4ROu|iCYKWeOo_ufGf#7Xr_faD)_Hz6^5-C0@`kb!w{#k&<9l-%`JqM0mo z8yy|cEnlgHAKMt_S&LOVP$z4MikGpl)Gz0ceu<(#6k5D!J%+u@D#QsE7Oe8;J`R%<>^5v%$bTv~pBlI4x zuB?Q`;?Orek^Hdb(R?3C|4S#hzd&>UZ=xJCgyOYr-NSN)>nQW8(v`07f4T}6W;3q# z!I1HTV`B_=TSg(`^DexA7S?LPsob>jvCYw7UtePT&TOXTvhs_{gd7>AE)!|2`nv{~ z(+Hy@m{1z`*+&~I&W@HTH_ncXS^rN>xLnqnE#~mQ~r#&a0u> zhf7NytKK2WfrAMF#xa#`f+UtfFuAj6S9qwd^@0Y$^)3r&o_vUmXevz%`8(GU2RBW_ zoZ!roR2hv)z1-+NT?wa!n9uDL*3dg{qBvMS`SjVm=844x=TO1CS%{^kBo?I81+jl< zK7M6H*~8j_1=IucBR#G);z~402uFAIwT)sMgqzTB@?+AHkiY0ps7O}p?Rw@Z4LS)9 zz_ zS6bHz>Pl5rH6WaEyYV3)p6jNxRH=&nbm~jrz}bX(E;cbz&Br_>EF0a|@PAk0=~G7tXW3JZ&$P~=AcDRE2*t#EfT&q|N~8__aYnVi&f=!IV88=) z80A@rC7{>bpDm`_TG9zIhnRN^Jfk}}_*3Px9ox6CR5pMd1SN!6!1G-E5@wA%JHI)Y z9hGWCu#1APtq@BC(***qQGqoZ05B&N6jav98_se1nc?l|tLgD3vJa4v4Z9X1Hw=#7 zibpo5+^Lr{a1F_+YG}sXxGkEiKG6v-3t0y?ISg)4XlfH1m?uq?6atJs*m4(Kow3$w z#B8$ZRA~E-d_#I&gYr;kDWd9trH}9^(TFPIzhhP}!;2nKU!2Fp4do@g1@m{3R6J`P zs?x&X+~Eq*Q33%+tG%`hsT7iXn$3SJ<8EEd{t8DD+Y7a~Bpy4<)6Q$-%_K83Cd*Ip zFI|sxzPyG8uW&M@_s#Khon7-A$MA;RLht;p`c7xer{+3tl%=(3gti?0My7{^mg4Dd zO|q)AH}iQ_1(e6{GX+=3PAiyFvGM}ocha;t2J_gEzK_xgv0J9}+IFnMT^|!m>5Qm{ z!Q`1kaqh?}MTDOW|{NTOdpE@T-}er~{TptwbMK?*Dr(*4s`nM-QD~zu@Gq-~$c9N#eF8xp+BF zS^wpUABvGMOG@2js&3{p0rdTWBc_zw2hIK7s*PC%3fbvw;azOxmEMuNZey9W-Bt5i z^v@AABDcb>cm%!Y_Y)g`(;^jJuWjN&IBk%hOPi*l{mEE9(p3FA#$YBfJyEEhPMSx` z%T7+QkMphn7=;sOkh(KialJ*uSji1iI2!Tb)rs%_tlSoj!b;oxAU8Ylf-O)_{3#>% ztg9W4lWS(@ViQoVkO_B|*e=VU53ZTBfWDBTC-0W@S~I21p3vsnv=;I=n+wfzJnO_z zV1ajl;pX;NAv&#M02kd3Y2b72onYG8WvWm1gjqx&zrCo1>Zp@Q=xv$%KiimH=0;PlBR)De{w3@6Wr=a0|0S7#WblA4GFr9)8-k+j=|GSQmUbW% zl3Rz~+c}-j(+!fVBfEQ9m5r7VR}+kdheFF?3_x@#-Ctzl(7DrMfV#-rAn3F%#yiQGGxajjt+J*wMkred9MWF6Um| zL{1iXIHL7D-J*JiKPL-cz=meL`Exij+;y}Q5Qu4Obk!f!r4yn`@}=m0HF^EC@X@Zd zJj5P_tZKjRAgec-@RQH785?a&<2kzA621qwM~l|4J*Itp_@@V{@b~G&vilU(H!^R9 zc+2Jn=0%7u&(fTn;0uRpy|jF2V2L*1*}F0CizuLAd(5?Z@-4>T*a73dwM(6{T+}ES z@XQJ8YSX2+sqYBd2ZAqq_V@0Y+dDlvwWIg1$d_z0m>_Y{cA;!<+D2@0D`y7&Y(q^s zN7*VPj8?%CKVxahVn~ojPfLPq&Y{)jHFe}T(4%S+J(YA^Y?d8`B+~^{{p{IO$|zMP zqkM}n7-u1gpqfAv={O~{yQkJHD(h+Qs~Xk6+P^@Iz1!lZBQ>dHMIL^AmcFfOc=g+d zL!{E822o+fVYp6g&gkHQ!p|nQY0?uz4~~Zjqx_Z?Sp^evv(g`7UMn@It)@8u@J4I^ zr7ZuUsQaLtyN>Dw&4+|D_NI4^=JcZ*IR{(&-LDdOZx{VJHGt%Xv^lhFcgq6;d_=?c z3JG(qN@!!Mou$2Cqme}|Ym`rU3>`}|^XD2WCCsv~Y~%(lF(F+x`u>Dga`86NRToqC zBRD&NE!Q7a?fd9Pvfk;jHF1rp?lkzSqjy`PDhCl;MPSwF=&$O3jvo3a!N%zuAS0f95}#tZW} z$}>4LTCHd36eCb@CI?LZKXxZZDxc3v-%5y9v3xijFGcuoxM5g1b#-%l2#SzHjcURN z-UW3t8c6gRAe|F_?jJaXIyZ)n@P1G9?>!HU0$~kMtJ0)De^$|N+3{AoPVM_1W^6J= z9})S2HUvJETx8~A?zLuf4hx{4uE8dt{x`<*@i|xq%r(SE4BIIMNH`cPgQ=}b3uFrQ zffNa-$uef+2dRI>9#A(Pf|q0LJt!mL;MCRA6V$(whe|Q*avP$LZG!GVrOxj zd6Tvoi%-3gm~3;tXZt%+f4df`7%&!r&kN{fT~o{_nVFqB06kIQprn%s)be#MmsI~M z|0i!+ThEw1F?c|YU8zU~N#}MrYaqkWJ1qwH4ShCReUI0`eJ2?l*;2(9z3QEplak0w zPxjQiGd)}RqX=smGUb;^WALKbqf)(YwuJkovGFFwc_>E?Vq7HXRe~obfy~y=^E}Q< zt&D5M?S|eH0!uIfZXaKD6M|2Esdk~NU_X(|Dsx=aKir12o&fC}d#)gd@k5Eq1s=$h zT?UY^Pq$rNSLuf570EyqE|=24@xHM>D^>P9Qz4Z1nq!VhM8vW*u*n35RYj4Pk=n?UL1yEo zSD~3wUtazFH%;QoQezm9R%icXnjluHc}mGqq+24#@q9Dn=~nSKSP(~bMkF5_I5kq# z+lDau_W6Gr73pC=y(pb|3)1yp_JLnw%X+7#NErlu-W9xMVmjj+Cs_MuLz7SGTqj6TjZzEkc1oK4>}e5^(N%zc8*P>^!fH>9lOR z|Ad2``$xUAAr#9RCq6T4qBDqRU=VCv%q`B|DP0JAR@`-OVk z7NccG9EWWBO3M-6NE*;f_YtnXlv5>k*hdg6ikKZKu!%xNNR-mB5TB<&lUP93bA4`3 z#9<$oT3>BoydZ*o^BNk6M52#=+n&N;(tI4Uz=1fjPx=48gIft~ - -``` - -In the above example, `point.x` is displayed in month-year format and `point.y` is displayed with two decimal places. - -Inline formatting can be applied to the following tooltip tokens: - -- `point.x` – Specifies the x-value or category value of the 3D circular chart point. -- `point.y` – Specifies the numeric y-value of the 3D circular chart point. -- `point.percentage` – Specifies the percentage contribution of the point value in the 3D circular chart. -- `point.text` – Specifies the text value mapped to the point, when text mapping is configured. -- `point.tooltip` – Specifies the tooltip value mapped from the data source, when tooltip mapping is configured. -- `point.index` – Specifies the index position of the point in the 3D circular chart. -- `point.color` – Specifies the fill color applied to the point. -- `point.visible` – Specifies the visibility state of the point. -- `series.name` – Specifies the name assigned to the 3D circular chart series. -- `series.opacity` – Specifies the opacity value applied to the 3D circular chart series. - -**Important:** The availability of point-specific tokens depends on the values configured in the data source and the 3D circular chart series. For example, `point.percentage` is useful for pie and doughnut charts, while `point.text` and `point.tooltip` depend on the corresponding field mappings. String tokens such as `series.name`, `point.text`, `point.tooltip`, `point.color`, and `point.visible` return string values, so DateTime or number formatting is not applied to these tokens. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimals - - `c2` – currency format - - `p1` – percentage format - - `e1` – exponential notation - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/inline-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Inline-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/inline-format/inline-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Tooltip template - -Any HTML elements can be displayed in the tooltip by using the `Template` property in the tooltip. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Fixed tooltip - -By default, the tooltip tracks the mouse movement, but it can be set to a fixed position using the `Location` property in `Tooltip`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/fixed-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Fixed-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/fixed-tooltip/fixed-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -The `Fill` and `Border` properties are used to customize the background color and border of the tooltip, respectively. The `TextStyle` property in the tooltip is used to customize the font of the tooltip text. Additionally, the `HighlightColor` property can be used to change the color of the data point when hovering. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/tooltip-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/tooltip-custom/tooltip-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization of individual tooltip - -Using the `TooltipRender` event, you can customize tooltip values for a particular point. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/tooltip-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/3d-circular-charts/user-interaction/tooltip-event/tooltip-event.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-core/heatmap-chart/accessibility.md b/chart-sdk/asp-net-core/heatmap-charts/accessibility.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/accessibility.md rename to chart-sdk/asp-net-core/heatmap-charts/accessibility.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/appearance.md b/chart-sdk/asp-net-core/heatmap-charts/appearance.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/appearance.md rename to chart-sdk/asp-net-core/heatmap-charts/appearance.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/axis.md b/chart-sdk/asp-net-core/heatmap-charts/axis.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/axis.md rename to chart-sdk/asp-net-core/heatmap-charts/axis.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/bubble-heatmap.md b/chart-sdk/asp-net-core/heatmap-charts/bubble-heatmap.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/bubble-heatmap.md rename to chart-sdk/asp-net-core/heatmap-charts/bubble-heatmap.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/dimensions.md b/chart-sdk/asp-net-core/heatmap-charts/dimensions.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/dimensions.md rename to chart-sdk/asp-net-core/heatmap-charts/dimensions.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/ej1-api-migration.md b/chart-sdk/asp-net-core/heatmap-charts/ej1-api-migration.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/ej1-api-migration.md rename to chart-sdk/asp-net-core/heatmap-charts/ej1-api-migration.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/events.md b/chart-sdk/asp-net-core/heatmap-charts/events.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/events.md rename to chart-sdk/asp-net-core/heatmap-charts/events.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/getting-started.md b/chart-sdk/asp-net-core/heatmap-charts/getting-started.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/getting-started.md rename to chart-sdk/asp-net-core/heatmap-charts/getting-started.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/how-to/legend-label-customization.md b/chart-sdk/asp-net-core/heatmap-charts/how-to/legend-label-customization.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/how-to/legend-label-customization.md rename to chart-sdk/asp-net-core/heatmap-charts/how-to/legend-label-customization.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/how-to/tooltip-template.md b/chart-sdk/asp-net-core/heatmap-charts/how-to/tooltip-template.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/how-to/tooltip-template.md rename to chart-sdk/asp-net-core/heatmap-charts/how-to/tooltip-template.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/appearance/data-label-template-with-JSON-cell-binding.png b/chart-sdk/asp-net-core/heatmap-charts/images/appearance/data-label-template-with-JSON-cell-binding.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/appearance/data-label-template-with-JSON-cell-binding.png rename to chart-sdk/asp-net-core/heatmap-charts/images/appearance/data-label-template-with-JSON-cell-binding.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/appearance/data-label-template-with-JSON-table-binding.png b/chart-sdk/asp-net-core/heatmap-charts/images/appearance/data-label-template-with-JSON-table-binding.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/appearance/data-label-template-with-JSON-table-binding.png rename to chart-sdk/asp-net-core/heatmap-charts/images/appearance/data-label-template-with-JSON-table-binding.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/appearance/data-label-template-with-array-cell-binding.png b/chart-sdk/asp-net-core/heatmap-charts/images/appearance/data-label-template-with-array-cell-binding.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/appearance/data-label-template-with-array-cell-binding.png rename to chart-sdk/asp-net-core/heatmap-charts/images/appearance/data-label-template-with-array-cell-binding.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/appearance/data-label-template-with-array-table-binding.png b/chart-sdk/asp-net-core/heatmap-charts/images/appearance/data-label-template-with-array-table-binding.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/appearance/data-label-template-with-array-table-binding.png rename to chart-sdk/asp-net-core/heatmap-charts/images/appearance/data-label-template-with-array-table-binding.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-bubble-color-type.png b/chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-bubble-color-type.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-bubble-color-type.png rename to chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-bubble-color-type.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-bubble-sector-type.png b/chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-bubble-sector-type.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-bubble-sector-type.png rename to chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-bubble-sector-type.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-bubble-size-type.png b/chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-bubble-size-type.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-bubble-size-type.png rename to chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-bubble-size-type.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-size-color-cell.png b/chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-size-color-cell.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-size-color-cell.png rename to chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-size-color-cell.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-size-color-json-cell.png b/chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-size-color-json-cell.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-size-color-json-cell.png rename to chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-size-color-json-cell.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-size-color-json-table.png b/chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-size-color-json-table.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-size-color-json-table.png rename to chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-size-color-json-table.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-size-color-table.png b/chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-size-color-table.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/bubble-heatmap/heatmap-with-size-color-table.png rename to chart-sdk/asp-net-core/heatmap-charts/images/bubble-heatmap/heatmap-with-size-color-table.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/default-template-mvc.png b/chart-sdk/asp-net-core/heatmap-charts/images/default-template-mvc.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/default-template-mvc.png rename to chart-sdk/asp-net-core/heatmap-charts/images/default-template-mvc.png diff --git a/chart-sdk/asp-net-core/chart/how-to/images/default-template.png b/chart-sdk/asp-net-core/heatmap-charts/images/default-template.png similarity index 100% rename from chart-sdk/asp-net-core/chart/how-to/images/default-template.png rename to chart-sdk/asp-net-core/heatmap-charts/images/default-template.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-axis-labels-text-style.png b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-axis-labels-text-style.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-axis-labels-text-style.png rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-axis-labels-text-style.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-axis-labels-with-line-breaks.png b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-axis-labels-with-line-breaks.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-axis-labels-with-line-breaks.png rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-axis-labels-with-line-breaks.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-label-intersect-action.png b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-label-intersect-action.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-label-intersect-action.png rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-label-intersect-action.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-multi-level-labels.png b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-multi-level-labels.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-multi-level-labels.png rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-multi-level-labels.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-rotating-labels.png b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-rotating-labels.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-chart-rotating-labels.png rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-chart-rotating-labels.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-axis-labels.webp b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-axis-labels.webp similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-axis-labels.webp rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-axis-labels.webp diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-data.webp b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-data.webp similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-data.webp rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-data.webp diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-datalabel.webp b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-datalabel.webp similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-datalabel.webp rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-datalabel.webp diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-legend.webp b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-legend.webp similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-legend.webp rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-legend.webp diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-palette.webp b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-palette.webp similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-palette.webp rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-palette.webp diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-title.webp b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-title.webp similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-title.webp rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-title.webp diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-tooltip.webp b/chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-tooltip.webp similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/heatmap-with-tooltip.webp rename to chart-sdk/asp-net-core/heatmap-charts/images/heatmap-with-tooltip.webp diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/nuget-demo-core.png b/chart-sdk/asp-net-core/heatmap-charts/images/nuget-demo-core.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/nuget-demo-core.png rename to chart-sdk/asp-net-core/heatmap-charts/images/nuget-demo-core.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/nuget-demo-mvc.png b/chart-sdk/asp-net-core/heatmap-charts/images/nuget-demo-mvc.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/nuget-demo-mvc.png rename to chart-sdk/asp-net-core/heatmap-charts/images/nuget-demo-mvc.png diff --git a/chart-sdk/asp-net-core/chart/how-to/images/nuget-demo.png b/chart-sdk/asp-net-core/heatmap-charts/images/nuget-demo.png similarity index 100% rename from chart-sdk/asp-net-core/chart/how-to/images/nuget-demo.png rename to chart-sdk/asp-net-core/heatmap-charts/images/nuget-demo.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/selection/heatmap-chart-clear-selection.gif b/chart-sdk/asp-net-core/heatmap-charts/images/selection/heatmap-chart-clear-selection.gif similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/selection/heatmap-chart-clear-selection.gif rename to chart-sdk/asp-net-core/heatmap-charts/images/selection/heatmap-chart-clear-selection.gif diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/selection/heatmap-chart-selection.gif b/chart-sdk/asp-net-core/heatmap-charts/images/selection/heatmap-chart-selection.gif similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/selection/heatmap-chart-selection.gif rename to chart-sdk/asp-net-core/heatmap-charts/images/selection/heatmap-chart-selection.gif diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/selection/heatmap-chart-single-cell-selection.gif b/chart-sdk/asp-net-core/heatmap-charts/images/selection/heatmap-chart-single-cell-selection.gif similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/selection/heatmap-chart-single-cell-selection.gif rename to chart-sdk/asp-net-core/heatmap-charts/images/selection/heatmap-chart-single-cell-selection.gif diff --git a/chart-sdk/asp-net-core/chart/how-to/images/solution-explorer-core.png b/chart-sdk/asp-net-core/heatmap-charts/images/solution-explorer-core.png similarity index 100% rename from chart-sdk/asp-net-core/chart/how-to/images/solution-explorer-core.png rename to chart-sdk/asp-net-core/heatmap-charts/images/solution-explorer-core.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/solution-explorer-mvc.png b/chart-sdk/asp-net-core/heatmap-charts/images/solution-explorer-mvc.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/solution-explorer-mvc.png rename to chart-sdk/asp-net-core/heatmap-charts/images/solution-explorer-mvc.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/legend.md b/chart-sdk/asp-net-core/heatmap-charts/legend.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/legend.md rename to chart-sdk/asp-net-core/heatmap-charts/legend.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/overview.md b/chart-sdk/asp-net-core/heatmap-charts/overview.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/overview.md rename to chart-sdk/asp-net-core/heatmap-charts/overview.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/palette.md b/chart-sdk/asp-net-core/heatmap-charts/palette.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/palette.md rename to chart-sdk/asp-net-core/heatmap-charts/palette.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/rendering-mode.md b/chart-sdk/asp-net-core/heatmap-charts/rendering-mode.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/rendering-mode.md rename to chart-sdk/asp-net-core/heatmap-charts/rendering-mode.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/selection.md b/chart-sdk/asp-net-core/heatmap-charts/selection.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/selection.md rename to chart-sdk/asp-net-core/heatmap-charts/selection.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/tooltip.md b/chart-sdk/asp-net-core/heatmap-charts/tooltip.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/tooltip.md rename to chart-sdk/asp-net-core/heatmap-charts/tooltip.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/working-with-data.md b/chart-sdk/asp-net-core/heatmap-charts/working-with-data.md similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/working-with-data.md rename to chart-sdk/asp-net-core/heatmap-charts/working-with-data.md diff --git a/chart-sdk/asp-net-core/range-selector/accessibility.md b/chart-sdk/asp-net-core/range-selector/accessibility.md deleted file mode 100644 index 5f7819d79..000000000 --- a/chart-sdk/asp-net-core/range-selector/accessibility.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -layout: post -title: Accessibility in Syncfusion Range Navigator Component -description: Learn here all about Accessibility in Syncfusion ASP Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility -publishingplatform: chart-sdk -documentation: ug ---- - - -# Accessibility in ASP.NET Core Range navigator component - -The Range navigator component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility. - -The accessibility compliance for the Range navigator component is outlined below. - -| Accessibility Criteria | Compatibility | -| -- | -- | -| [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Support | AA | -| [Section 508](https://www.section508.gov/) Support | Yes | -| Screen Reader Support | Yes | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Yes | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | - - -

Yes - All features of the component meet the requirement.
- -
Intermediate - Some features of the component do not meet the requirement.
- -
No - The component does not meet the requirement.
- - -## WAI-ARIA attributes - -The Range navigator component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Range navigator component: - -* region (role) -* aria-label (attribute) - -## Keyboard interaction - -The Range navigator component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Range navigator component. - -| **Press** | **To do this** | -| --- | --- | -| Tab | Moves the focus to the Range navigator element. | -| Ctrl + P | Prints the Range navigator. | - -## Ensuring accessibility - -The Range navigator component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Range navigator component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/range-navigator.html) in a new window to evaluate the accessibility of the Range navigator component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/range-navigator.html" %} - -## See also - -* [Accessibility in Syncfusion® ASP.NET Core components](../common/accessibility) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/custom.md b/chart-sdk/asp-net-core/range-selector/custom.md deleted file mode 100644 index 7b7f835b6..000000000 --- a/chart-sdk/asp-net-core/range-selector/custom.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -layout: post -title: Custom in ASP.NET Core Range Navigator Component -description: Learn here all about Custom in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Custom -publishingplatform: chart-sdk -documentation: ug ---- - - -# Customization - -## Navigator appearance - -The Range Selector can be customized by using the `navigatorStyleSettings`. The `selectedRegionColor` property is used to specify the color for the selected region, whereas the `unselectedRegionColor` property is used to specify the color for the unselected region. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/appearance/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Appearance.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/appearance/appearance.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Range Selector appearance](images/custom/appearance.png) - -## Thumb - -The thumb property allows to customize the border, fill color, size, and type of thumb. Thumbs can be of two shapes: **Circle** and **Rectangle**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/thumb/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Thumb.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/thumb/thumb.cs %} -{% endhighlight %} -{% endtabs %} - - -![Thumb](images/custom/thumb.png) - -## Border customization - -Using the `navigatorBorder`, the `width` and `color` of the Range Selector border can be customized. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/border/border.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Range Selector Border](images/custom/border.png) - -## Deferred update - -If the `enableDeferredUpdate` property is set to **true**, then the changed event will be triggered after dragging the slider. If the `enableDeferredUpdate` is **false**, then the changed event will be triggered when dragging the slider. By default, the `enableDeferredUpdate` is set to **false**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/defer/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Snap.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/defer/snap.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Allow snapping - -The `allowSnapping` property toggles the placement of the slider exactly to the left or on the nearest interval. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/snap/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Snap.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/snap/snap.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Animation - -The speed of the animation can be controlled using the `animationDuration` property. The default value of the `animationDuration` property is **500** milliseconds. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/animation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/custom/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See Also - -* [Grid and Tick Lines](./grid-tick/) -* [Labels](./labels/) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/data.md b/chart-sdk/asp-net-core/range-selector/data.md deleted file mode 100644 index e137fcb7d..000000000 --- a/chart-sdk/asp-net-core/range-selector/data.md +++ /dev/null @@ -1,296 +0,0 @@ ---- -layout: post -title: Data in ASP.NET Core Range Navigator Component -description: Learn here all about Data in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Types of data - -## Numeric - -The numeric scale is used to represent the numeric values of data in a Range Selector. By default, the `valueType` of a Range Selector is **Double**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/double/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Double.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/double/double.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Numeric](images/data/double.png) - -### Range - -The minimum and the maximum of the scale will be calculated automatically based on the provided data. It can be customized by using the `minimum`, `maximum`, and `interval` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Numeric range](images/data/numeric-range.png) - -### Label Format - -The numeric labels can be formatted using the `labelFormat` property and it supports all the globalized formats. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - -![Numeric label format](images/data/format.png) - -The following table describes the result of applying some commonly used label formats on numeric values. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Label ValueLabel Format property valueResult Description
1000n11000.0The Number is rounded to 1 decimal place
1000n21000.00The Number is rounded to 2 decimal place
1000n31000.000The Number is rounded to 3 decimal place
0.01p11.0%The Number is converted to percentage with 1 decimal place
0.01p21.00%The Number is converted to percentage with 2 decimal place
0.01p31.000%The Number is converted to percentage with 3 decimal place
1000c1$1,000.0The Currency symbol is appended to number and number is rounded to 1 decimal place
1000c2$1,000.00The Currency symbol is appended to number and number is rounded to 2 decimal place
- -### Custom Label Format - -The Range Selector also supports the Custom Label formats using the placeholders such as **{value}$**, in which the value represents the axis label, e.g. 20$. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Custom label format](images/data/custom-format.png) - -## Logarithmic Axis - - - -The Logarithmic supports the logarithmic scale, and it is used to visualize the data when the Range Selector has numerical values in both the lower (e.g.: 10-6) and the higher (e.g.: 106) orders of the magnitude. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/log/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Log.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/log/log.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Logarithmic](images/data/log.png) - -### Range - -The minimum and the maximum of the Range Selector will be calculated automatically based on the provided data. It can be customized by using the `minimum`, `maximum`, and `interval` properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/log-range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Log-range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/log-range/log-range.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Logarithmic range](images/data/log-range.png) - -### Logarithmic Base - -The Logarithmic Base can be customized using the `logBase` property. The default value of this property is **10**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/log-base/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Log-base.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/log-base/log-base.cs %} -{% endhighlight %} -{% endtabs %} - - -![Logarithmic base](images/data/log-base.png) - -## Date-time - -The Range Selector supports the DateTime scale and displays the DateTime values as labels in the specified format. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/date-time/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Date-time.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/date-time/date-time.cs %} -{% endhighlight %} -{% endtabs %} - - - -![DateTime](images/data/datetime.png) - -N>Date-time Range navigator supports date-time scale and displays date-time values as a labels in the specified format. - -### Interval Customization - -The DateTime intervals can be customized using the `interval` and the `intervalType` properties of the Range Selector. For example, if the `interval` is set to 2 and the `intervalType` is set to years, the interval will be considered to be 2 years. - -DateTime supports the following interval types: -* Auto -* Years -* Quarter -* Months -* Weeks -* Days -* Hours -* Minutes - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/date-time-interval/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Date-time-interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/date-time-interval/date-time-interval.cs %} -{% endhighlight %} -{% endtabs %} - - - -![DateTime interval type](images/data/datetime-interval.png) - -### Label Format - -The `labelFormat` property is used to format and parse the date to all globalize format. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/date-time-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Date-time-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/data/date-time-format/date-time-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table shows the results of applying some common DateTime formats to the `labelFormat` property. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Label ValueLabel Format Property ValueResult Description
new Date(2000, 03, 10)EEEEMondayThe Date is displayed in day format
new Date(2000, 03, 10)yMd04/10/2000The Date is displayed in month/date/year format
new Date(2000, 03, 10) MMM AprThe Shorthand month for the date is displayed
new Date(2000, 03, 10)hm12:00 AMTime of the date value is displayed as label
new Date(2000, 03, 10)hms12:00:00 AMThe Label is displayed in hours:minutes:seconds format
\ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/ej1-api-migration.md b/chart-sdk/asp-net-core/range-selector/ej1-api-migration.md deleted file mode 100644 index d29170d34..000000000 --- a/chart-sdk/asp-net-core/range-selector/ej1-api-migration.md +++ /dev/null @@ -1,129 +0,0 @@ ---- -layout: post -title: Ej1 Api Migration in ASP.NET Core Range Navigator Component -description: Learn here all about Ej1 Api Migration in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Ej1 Api Migration -publishingplatform: chart-sdk -documentation: ug ---- - -# Migration from Essential® JS 1 - -This article describes the API migration process of Chart component from Essential® JS 1 to Essential® JS 2. - -## RangeNavigator - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Allow snapping | **Property:** *allow-snapping*

``
`
` | **Property:** *allowSnapping*

``
`
` | -| Animation duration | **Property:** *Not Applicable* | **Property:** *animationDuration*

``
`
` | -| Border for range navigator | **Property:** *e-border*

``
``
`
`
`
` | **Property:** *allowSnapping*

``
``
`
`
`
` | -| dataSource for range navigator | **Property:** *dataSource*

``
`
` | **Property:** *dataSource*

``
`
` | -| enabling deffered update for range navigator | **Property:** *enable-deferred-update*

``
`
` | **Property:** *enableDeferredUpdate*

``
`
` | -| multilevel level labels | **Property:** *e-lower-level*

``
``
``
`
`
`
`
`
` | **Property:** *enableGrouping*

``
`
` | -| enabling scroll bar | **Property:** *enable-scrollbar*

``
`
` | **Property:** *Not Applicable* | -| enabling auto resizing | **Property:** *enable-auto-resizing*

``
`
` | **Property:** *Not Applicable* | -| responsive of range navigator | **Property:** *is-responsive*

``
`
` | **Property:** *Not Applicable* | -| enabling RTL for range navigator | **Property:** *enable-rtl*

``
`
` | **Property:** *enableRtl*

``
`
` | -| interval for range navigator | **Property:** *interval*

``
``
`
`
`
` | **Property:** *interval*

``
`
` | -| intervaltype for range navigator | **Property:** *interval-type*

``
``
`
`
`
` | **Property:** *intervalType*

``
`
` | -| labelformat for range navigator | **Property:** *Not applicable* | **Property:** *labelFormat*

``
`
` | -| label intersect action for range navigator | **Property:** *Not applicable* | **Property:** *labelIntersectAction*

``
`
` | -| labelStyle range navigator | **Property:** *e-font*

``
``
``
`
`
`
`
`
` | **Property:** *e-rangenavigator-labelstyle*

``
``
`
`
`
` | -| locale of range navigator | **Property:** *locale*

``
`
` | **Property:** *locale*

``
`
` | -| major grid lines of range navigator | **Property:** *e-major-grid-lines*

``
``
``
`
`
`
`
`
` | **Property:** *e-rangenavigator-majorgridlines*

``
``
`
`
`
` | -| margin of range navigator | **Property:** *Not applicable* | **Property:** *e-rangenavigator-margin*

``
``
`
`
`
` | -| maximum value of range navigator | **Property:** *max*

``
``
`
`
`
` | **Property:** *maximum*

``
`
` | -| minimum value of range navigator | **Property:** *min*

``
``
`
`
`
` | **Property:** *minimum*

``
`
` | -| query for data source of range navigator | **Property:** *Not Applicable* | **Property:** *query*

``
`
` | -| Secondary label alignment of range navigator | **Property:** *Not Applicable* | **Property:** *secondaryLabelAlignment*

``
`
` | -| Skeleton of range navigator axis | **Property:** *Not Applicable* | **Property:** *skeleton*

``
`
` | -| skeletontype of range navigator axis | **Property:** *Not Applicable* | **Property:** *skeletonType*

``
`
` | -| Theme of range navigator | **Property:** *theme*

``
`
` | **Property:** *theme*

``
`
` | -| Default selector value range navigator | **Property:** *e-selected-range-settings*

``
``
`
`
`
` | **Property:** *value*

``
`
` | -| Value type of range navigator | **Property:** *value-type*

``
`
` | **Property:** *valueType*

``
`
` | -| Width of range navigator | **Property:** *Width*

``
``
`
`
`
` | **Property:** *Width*

``
`
` | -| Height of range navigator | **Property:** *height*

``
``
`
`
`
` | **Property:** *height*

``
`
` | -| Series settings for range navigator | **Property:** *e-series-settings*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Range settings for range navigator | **Property:** *e-range-settings*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Scroll range settings for range navigator | **Property:** *e-scroll-range-settings*

``
``
`
`
`
` | **Property:** *Not Applicable* | - -## Series - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| animation | **Property:** *enable-animation*

``
``
``
`
`
`
`
`
` | **Property:** *e-rangenavigator-series-animation*

``
``
`
`
`
` | -| Border for range navigator series | **Property:** *Not Applicable* | **Property:** *e-rangenavigator-series-border*

``
``
`
`
`
` | -| dataSource for range navigator | **Property:** *dataSource*

``
``
``
`
`
`
`
`
` | **Property:** *dataSource*

``
``
``
`
`
`
`
`
` | -| query for data source of range navigator | **Property:** *Not Applicable*

``
``
``
`
`
`
`
`
` | **Property:** *query*

``
``
``
`
`
`
`
`
` | -| series type for range navigator | **Property:** *type*

``
``
``
`
`
`
`
`
` | **Property:** *type*

``
``
``
`
`
`
`
`
` | -| series xName for range navigator | **Property:** *x-name*

``
``
``
`
`
`
`
`
` | **Property:** *xName*

``
``
``
`
`
`
`
`
` | -| series yName for range navigator | **Property:** *y-name*

``
``
``
`
`
`
`
`
` | **Property:** *yName*

``
``
``
`
`
`
`
`
` | -| series fill color for range navigator | **Property:** *fill*

``
``
``
`
`
`
`
`
` | **Property:** *fill*

``
``
``
`
`
`
`
`
` | -| series width color for range navigator | **Property:** *width*

``
``
``
`
`
`
`
`
` | **Property:** *width*

``
``
``
`
`
`
`
`
` | -| series dashArray for range navigator | **Property:** *Not Applicable* | **Property:** *dashArray*

``
``
``
`
`
`
`
`
` | - -## StyleSettings - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Style settings of range navigator | **Property:** *e-rangenavigator-navigatorstylesettings*

``
``
`
`
`
` | **Property:** *e-rangenavigator-navigatorstylesettings*

``
``
`
`
`
` | -| Selected region color of range navigator | **Property:** *selected-region-color*

``
``
`
`
`
` | **Property:** *selectedRegionColor*

``
``
`
`
`
` | -| UnSeleted region color of range navigator | **Property:** *unselected-region-color*

``
``
`
`
`
` | **Property:** *unselectedRegionColor*

``
``
`
`
`
` | -| Thumb color of range navigator | **Property:** *thumb-color*

``
``
`
`
`
` | **Property:** *thumbColor*

``
``
`
`
`
` | -| Selected region opacity of range navigator | **Property:** *selected-region-opacity*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Unselected region opacity of range navigator | **Property:** *unselected-region-opacity*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Background for thumb | **Property:** *background*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| border for thumb | **Property:** *e-border*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Highlightsettings for range navigator | **Property:** *e-highlight-settings*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Selected style settings for range navigator | **Property:** *e-highlight-settings*

``
``
``
`
`
`
`
`
` | **Property:** *Not Applicable* | -| Left thumb template for range navigator | **Property:** *left-thumb-template*

``
``
`
`
`
` | **Property:** *Not Applicable* | -| Right thumb template for range navigator | **Property:** *right-thumb-template*

``
``
`
`
`
` | **Property:** *Not Applicable* | - -## Tooltip - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| tooltip | **Property:** *visible*

``
``
`
`
`
` | **Property:** *enable*

``
``
`
`
`
` | -| background color of tooltip | **Property:** *background-color*

``
``
`
`
`
` | **Property:** *fill*

``
``
`
`
`
` | -| Font style of tooltip | **Property:** *font*

``
``
`
`
`
` | **Property:** *fill*

``
``
``
`
`
`
`
`
` | -| Label format of tooltip | **Property:** *label-format*

``
``
`
`
`
` | **Property:** *format*

``
``
`
`
`
` | -| Display mode of tooltip | **Property:** *tooltip-display-mode*

``
``
`
`
`
` | **Property:** *displayMode*

``
``
`
`
`
` | -| Template of tooltip | **Property:** *Not Applicable*

``
``
`
`
`
` | **Property:** *template*

``
``
`
`
`
` | -| Border of tooltip | **Property:** *Not Applicable* | **Property:** *e-rangetooltipsettings-border*

``
``
``
`
`
`
`
`
` | -| Opacity of tooltip | **Property:** *Not Applicable* | **Property:** *e-rangetooltipsettings-border*

``
``
`
`
`
` | - -## Period Selector - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Period Selector | **Property:** *Not Applicable* | **Property:** *e-rangetooltipsettings-border*

``
``
``
``
`
`
`
`
`
`
`
` | - -## Methods - - - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Export | **Property** *Not Applicable* | **Property:** *chart.export()*

``
`
`
`` | -| Print | **Property** *Not Applicable* | **Property:** *chart.print()*

``
`
`
`` | - -## Events - - - -| Behavior | API in Essential® JS 1 | API in Essential® JS 2 | -| --- | --- | --- | -| Fires before loading the RangeNavigator | **Property:** *load*

``
`
`
`` | **Property:** *load*

``
`
`
``| -| Fires before loading the RangeNavigator | **Property:** *create*

``
`
`
`` | **Property:** *loaded*

``
`
`
``| -| Fires on before range navigator resize | **Property:** *before-resize*

``
`
`
`` | **Property:** *resized*

``
`
`
``| -| Fires when the value changes in range navigator | **Property:** *rangeChanged*

``
`
`
`` | **Property:** *changed*

``
`
`
``| -| Fires before tooltip the RangeNavigator | **Property:** *Not Applicable* | **Property:** *tooltipRender*

``
`
`
``| -| Fires before period render in the RangeNavigator | **Property:** *Not Applicable* | **Property:** *selectorRender*

``
`
`
``| -| Fires when scrollStart the RangeNavigator | **Property:** *scroll-start*

``
`
`
`` | **Property:** *Not Applicable* | -| Fires when scrollEnd the RangeNavigator | **Property:** *scroll-end*

``
`
`
`` | **Property:** *Not Applicable* | -| Fires when scroll range changed in the RangeNavigator | **Property:** *scroll-changed*

``
`
`
`` | **Property:** *Not Applicable* | -| Fires when click in the RangeNavigator | **Property:** *click*

``
`
`
`` | **Property:** *Not Applicable* | -| Fires when right click in the RangeNavigator | **Property:** *right-click*

``
`
`
`` | **Property:** *Not Applicable* | -| Fires when double click in the RangeNavigator | **Property:** *double-click*

``
`
`
`` | **Property:** *Not Applicable* | diff --git a/chart-sdk/asp-net-core/range-selector/export.md b/chart-sdk/asp-net-core/range-selector/export.md deleted file mode 100644 index 6a9a089d7..000000000 --- a/chart-sdk/asp-net-core/range-selector/export.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -layout: post -title: Export in ASP.NET Core Range Navigator Component -description: Learn here all about Export in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Export -publishingplatform: chart-sdk -documentation: ug ---- - - -# Export and print - -## Export - -The rendered Range Selector can be exported to **JPEG**, **PNG**, **SVG**, or **PDF** format by using the `export` method in the Range Selector. This method contains the following parameters: - -* **Type** - To specify the export type. The component can be exported to **JPEG**, **PNG**, **SVG**, or **PDF** format. -* **File name** - To specify the file name to export. -* **Orientation** - To specify the orientation type. This is applicable only for PDF export type. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/print/export/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/print/export/export.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Print - -The rendered Range Selector can be printed directly from the browser by calling the public method `print`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/print/print/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/print/print/print.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/range-selector/getting-started.md b/chart-sdk/asp-net-core/range-selector/getting-started.md deleted file mode 100644 index 46196b4bd..000000000 --- a/chart-sdk/asp-net-core/range-selector/getting-started.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET Core RangeNavigator Control -description: Checkout and learn about getting started with ASP.NET Core RangeNavigator control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - - -# Getting Started with ASP.NET Core RangeNavigator Control - -This section briefly explains about how to include [ASP.NET Core RangeNavigator](https://www.syncfusion.com/aspnet-core-ui-controls/range-selector) control in your ASP.NET Core application using Visual Studio. - -## Prerequisites - -[System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements) - -## Create ASP.NET Core web application with Razor pages - -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app) - -* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project) - -## Install ASP.NET Core package in the application - -To add `ASP.NET Core` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and then install it. Alternatively, you can utilize the following package manager command to achieve the same. - -{% tabs %} -{% highlight C# tabtitle="Package Manager" %} - -Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.AspNet.Core NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. - -## Add Syncfusion® ASP.NET Core Tag Helper - -Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelper. - -{% tabs %} -{% highlight C# tabtitle="~/_ViewImports.cshtml" %} - -@addTagHelper *, Syncfusion.EJ2 - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Here, script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application. - -## Register Syncfusion® Script Manager - -Also, register the script manager `` at the end of `` in the ASP.NET Core application as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET Core RangeNavigator control - -Now, add the Syncfusion® ASP.NET Core RangeNavigator tag helper in `~/Pages/Index.cshtml` page. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - - - -{% endhighlight %} -{% endtabs %} - -## Populate range navigator with data - -Now, we are going to provide data to the range navigator. Add a series object to the range navigator by using series property. Now map the field names x and y in the JSON data to the `xName` and `yName`properties of the `series`, then set the JSON data to dataSource property. Since the JSON contains Datetime data, set the `valueType` as `DateTime`. By default, the axis valueType is Numeric. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/getting-started/data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="CSHTML.cs" %} -public class data -{ - public DateTime x; - public double y; - public double y1; -} -{% endhighlight %} -{% endtabs %} - -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET Core RangeNavigator control will be rendered in the default web browser. - -![ASP.NET Core RangeNavigator Control](images/rn.png) - -N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/RangeNavigator/ASP.NET%20Core%20Tag%20Helper%20Examples). - -## See also - -* [Getting Started with Syncfusion® ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages/) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/grid-tick.md b/chart-sdk/asp-net-core/range-selector/grid-tick.md deleted file mode 100644 index 060c003b3..000000000 --- a/chart-sdk/asp-net-core/range-selector/grid-tick.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: post -title: Grid Tick in ASP.NET Core Range Navigator Component -description: Learn here all about Grid Tick in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Grid Tick -publishingplatform: chart-sdk -documentation: ug ---- - - -# Grid and Tick Lines - -## Grid line customization - -The gridlines indicate axis divisions by drawing the chart plot. Gridlines include helpful cues to the user, particularly for large or complicated charts. The `width`, `color`, and `dashArray` of the major gridlines can be customized by using the `majorGridLines` setting. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/grid/grid/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Grid.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/grid/grid/grid.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Gridline customization](images/grid-tick/grid.png) - -## Tick line customization - -Ticklines are the small lines which is drawn on the axis line representing the axis labels. Ticklines will be drawn outside the axis by default. The `width`, `color`, and `dashArray` of the major ticklines can be customized by using the `majorTickLines` setting. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/grid/tick/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tick.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/grid/tick/tick.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Tickline customization](images/grid-tick/tick.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/images/custom/appearance.png b/chart-sdk/asp-net-core/range-selector/images/custom/appearance.png deleted file mode 100644 index f09d6d2a6af8191228f9e869733813ac5b9a9f2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6891 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 uVp@*gZTkqU&%t^WgFhjS?a diff --git a/chart-sdk/asp-net-core/range-selector/images/data/custom-format.png b/chart-sdk/asp-net-core/range-selector/images/data/custom-format.png deleted file mode 100644 index dcfde6999d6a4a1359c159419804564b10bdbaff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8055 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 diff --git a/chart-sdk/asp-net-core/range-selector/images/data/datetime-format.png b/chart-sdk/asp-net-core/range-selector/images/data/datetime-format.png deleted file mode 100644 index d9dc7cbea5a98a35dbd2175f365a8ca11a09fbe6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12184 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 diff --git a/chart-sdk/asp-net-core/range-selector/images/data/datetime-interval.png b/chart-sdk/asp-net-core/range-selector/images/data/datetime-interval.png deleted file mode 100644 index fce102b65293c509a08e67ebdaee44d16a166fd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20358 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 bj;=$3;PTg%YF0)0Q#3X()5qvtzxV$EqK>IL diff --git a/chart-sdk/asp-net-core/range-selector/images/data/datetime.png b/chart-sdk/asp-net-core/range-selector/images/data/datetime.png deleted file mode 100644 index ef2276fe9430b362942963ab37a2b5d4047c1c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17262 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 G9{(?LMultu diff --git a/chart-sdk/asp-net-core/range-selector/images/data/double.png b/chart-sdk/asp-net-core/range-selector/images/data/double.png deleted file mode 100644 index c1903f593b97a8380e6a9dd18949fd9c9ba2a56e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8071 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 VzNyoh5a+_&w|Tl1Zw>zSzX2?d=-j3%-T$ugOV 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 VyUN;ySBj-SYH4?<%=}c`e*+de_k92W diff --git a/chart-sdk/asp-net-core/range-selector/images/data/log-base.png b/chart-sdk/asp-net-core/range-selector/images/data/log-base.png deleted file mode 100644 index 21d8aaacaeb2c4dbee6c228be470505d1e64bff3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17205 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
x^_*xF116Y@Nq`c{s?_Tm}o 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 aE)v_pJde$+22SU5oisEvC_R4h#{U6Xjd(8r diff --git a/chart-sdk/asp-net-core/range-selector/images/data/numeric-range.png b/chart-sdk/asp-net-core/range-selector/images/data/numeric-range.png deleted file mode 100644 index 562e2d4baa3ff6e23e5a66bc2cf174fa69cfa5e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10440 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 Ym;D#aKJ4J0*-Q`YY@Do#=PoDx7u~|^(*OVf diff --git a/chart-sdk/asp-net-core/range-selector/images/labels/group.png b/chart-sdk/asp-net-core/range-selector/images/labels/group.png deleted file mode 100644 index e16ecb5a941175843e8bc51845deaa8553a97b02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10586 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 K1o7CFJO2ZV^KEkg diff --git a/chart-sdk/asp-net-core/range-selector/images/labels/multi.png b/chart-sdk/asp-net-core/range-selector/images/labels/multi.png deleted file mode 100644 index 97d1d9b43d2b8e58848c35452674c10e6e8c01b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8130 zcmd^kc~sKdyEn~)KkIZV^*Ag(} zEfEn>)6ipy=72Z=rY5K;XbLEZ+%I*`eeb*8_x^L&UF)v(zN`h`@8HwEjNPFwkAY6y~B+yvvck1#f z5U3KXu6AOoe;tK6@l(3o> zI+n8K`O&ze^#`*pFgGG(Qc)at<3K@)8F(gw!l0C|A3Y?(7UhPBdTg>$k-l^Yh%RkOmz5=O-WE`>=#DSs%sgK+H*Par-qi6efd z`a86Tw?{7A4_^mLUGI4a)VSr1=is9aTc3znn4oQ$8X6iq!GVl}JO=T4B!8qimNGXN z9L()2(+R;y1@sc`xkX`{cFsonfjwFD)C{9t34qi%lXzmhNdhs!B$1eC62!4W@2>ZQ zt^x^doHv6ie3&O^GJ@(4SuW2u>+HhJQ^6&>W=hKIi!GDMI3APa1R>oktDT{hIF-zn zso^T!W-?pUKSDlceq?-9r$ENp$I4PA6AvaH*B}P^kS@UYik+ObHIO!Ti&3@ik3-rAf)hl-#I2~c#|z^ zUyE^zX^VM_C3_cp4|^Zjsjz4wVdB}uOCc()I&v+jQ7HH9>Q{<2d#1(TKOZf@y0r4& zMJz7{8|^cLN6voO;OH!BwOYC6QM*RJ8gW(CThm($`7|Tr{f&hS3zrsb7ZT+FQ9lg( zvOa%X6u!Z4VZPIfzs@`3t#EM?=IHl+@YRWb%m8a2b?Z9J93wn91Og5HaEl5fhd7j0 zlz6hxablaq}bt5{tNr5S5s|C+BB_+KZi}i1yi)*yStrT&#dwn zaYJbIeoqpem)o@mKz$!94lEzT{eE&VMjtRD{f*&{ zr}rA5PF-h$bGoi~xpjGW!HJp#8y4)a}wWH9j7BQZaF~y2D-nQPiz2lMIIVC^QJkfjteUklz^=q<@oT*>n zI=|=tfTdQvu|m@_!kIxrmDfZ`(L3)*1?ADy_5Us%52rsN$R?wAbVkjJC@8Dt*wH1d z-ey}^uGh5Jzr1z-Gfhu4xBt}jCE!2m8g;+l+S*F#>bf@f8MbmTsYfd|5N*xvVzmj#V>#k z_y?DoyN8$AV2m^?f7^8A{2I^6&o|VPWWTq;s@P)%Op zp&Ck7;}&HQQ1Z_Ru%*BPti&Q2#molmFllDveOn};&*l~W4ZQb109UjLV%9pYg8+&6 zuYbmlPD|3ZE0!!T@>j<8=nBkiU^uVo+J^ThT8!km0KDO+1JNB9t}^@7 zgo=fM_kOgK=0IQ-xj2Z{c0|I84yCXhk>$kF58GZ*ydxH8J%dF&=4cs#rGtZ#(-j-L ze-K?>k^v67@p@32157a`(V@geVbDrt*b2ew2y}U|@Z8*3PLY8_ynDQ7yidG;JR&|g zJ~VL4KYb@&PvlP&O_WVkPT(P1b?|NJ&9x=HS0`bHB2%n|`A&?24IjwALikM5m@X2(A4}aq-wzHB}ZKhc+eM=fW8ogvQC!oU=Xh!>5 zj7hHir1oG6L{rOf)bsDCsv=56e!SYoIB}; zh78DX+lvvW;yqO#{+tCk>~B7Y(fbp%fIR+f@8a|$<*D|xiWkK9>-pG<9p}?~6heW@ zF^yzW_JQbeq@!W+pg=9C?iwNjInwXKeYDlmxlVE{QG*|`qZk2=_fdOD;OilV4b^|n zYwBj`{pbT|Yfwjh*z1nWO*Uy}@Y$7(HlA-x$X8=u7^V<2hEy}x!(kC~=LFBD7W?n5 z_1LOu{#VS+!lFfK8oxodvZpkzA$f2GXa9PTO>wT?9VQ{!c()H#n6mfiby8{mI_SOV zegBD;eE{FSa=%hZzV`?(99!HLMKN2y7ZTSHn62=+#UZnEj^00JtQEEBDR?#$CK_>q zMLI^p-d1bq7wA{Z=P7-*zEFRIzOufyKA1@~y?oB@V{oo@u2ZgGE^6)9>A3&JRwt{e zJFIeVh}V_DY#O2c84FNbvmW&bAI6w5+lIwr<50tqgv}II#5{Ghugop(DboGiFZ7kD z?v1@Gv$0kVo=ka^dsp!-0V;uc`e#hVhsQ^@pK3p+_Is;(g5u>dm98~i3c*A2!b6zV z)MXZIvC3F-j1a0^yKod)7%TD%lF!1s<2(*4r?!yR%4Y;}-0Tct7`OV}+q}HIsdr{5 zo`V)8k$d(QP(cc~^b(-#5kN6B_$e8GxB+I4UU<8iJBanih(?6?2mbM)61bArk1EP5 z&@0gk=hZPP^WNgE=Y7RH&^yr^=iM>1goXa`dDOIPFY#4x-D=S79C@{CGkCv5Ew!b! zcuaJ)dSsBA0WLx9spjjpJN_Qjup%grlV@^ts~7kxeE6EqL1vc9SfGb0@{3}V_YWYXf241P>1D39H8WHFkU>b{|$^cFK@%( ztQk5_s*(TD9(13%JsCjcq85hdpTFIVH#(7U|47q2qnq3tYyE@6>&A|)yt=CPyqbSt z=L?>lSs~&VO=NdWfxeTzpFT=IcCxNzTn++pVK8Pmxb)r?>S0i0puA4J_e!z87BJm= zPOr(xIN|A$hwlR^K6B*7wGj^us`e4K@Rb+J_bPNsfa3SE|E9*1DP2Lo5}bpIgjs~OomMyBr- z()?ynW0c$sVX4}?vcv4%VAPp)pvE6vfW_ERlPIG!*SD?;Q)+pKatn0ZEh%2LKK2Ezl{<`z{s^L1?Nal0`8 z-1$Sg%!k5@2P2 zTz5xu>ua6sYP*sO8CP`${-p37sU5BoFKzcnF?z#k=rtrJ^6kJr{yfBI%^?1u`#kV( z7J?r=#8Jik@tdh1JSfPHxtzJW#{{?!Bo@|J^%nLh_IG#{m-|#pmwzkB+`Y*LTpBnr zLMaN2k?KO-;KF-ny80gIx^h|uUsZ%3AMA;#BvcOFAA?(yHOo3LKj>lDhEthWoYT89 zn;#aWxr)5-X~WXGRA!WOZT~**$Zu{ktdYQ#oWtoy%tVvOZZy_I!;Ww2II{Kl3fM6# z14^Q{FF}x)Vq};dW?3=)J3MWs(I13Q z>I`2!q#%hhrMu={xH<(-FXqH^GDd7hLkoYt;8ZUY=W<^oZEED|Wmx+9hahGCbVCDQj;Qzc3?) z5|`q8z4ETXLEWsZi>1WN(boJU;<@iKm(nDrtE&OHihVk7Eaa-MrxkvhHZ^9~{y5-sReK?ok zVqiTT-D7AOX+9vmD1K@a2ldrVUoxK=B-Q0i{8iTG=7#Bs3>Amo<8yc@8bpr=memxVbgn&>ryV}INpOM+ z)w|m^SHcZZ{(G%RU zW`}icw`mQ+^+et+l^hV444XM(MIBgMtWaEI5&LP(x1+pwVm_r!#lmk0f*dpL>h#GG zbmaLmr?a%xAV_6V18<#H&xxvJ;l6ouv|=L5HEQ>@GC~_7mi|c`g&}8g2cWQWWAN!v zDZA1q+blJ1#L&=D1RcVjfjhCoe9CoU<@Gb&p*Kp?&R}|2Xx73=zx1M0Xz4cZ#PHYd= zM;cZ;Hf&zd5$e?G6DhsNv&J?j0&#XrLe1_vAzabpD9d8b$4P|AQh!3FZ?9t3mjnYDntw2V+jPRmK4cznk{;HrFf(Z|93vg;i z6>Ov7xXVxKvxu+pRodat=I!BkB1?IpG4xL>p@;MOzV76lM>DQrGyGMd*RKnZGrvJ= z{1${6hx^*6Ss|}D$y(kL8Mm{mSY#c)YI|@C9z276e65vRURdaknU}m+fE3H3ZLPKp zTlIt{(iv0caoHA`_0*i6-)!LRvzZB|P($S`eajih7H0JE))Mw{3*JO6H)6gnGE?|4Ve&em0EdsqvM|I+p+ZK@{a<2zF%A-Ap@ht;u#<02*6WD;7RYBlM| zIdwPco1VgCa9>W6HWn^bIcAvTjO@X`J4~n#45M01jxhAo>f~rAu|2pC)N!UJPdGhG zbQlgo*9F68zYw39Y_JxY^%&F@6m&4O5{mhshB6)ehAVPo?_zowJ}|QhU9X_ zG300nyz&*!IM7LGnOedA(|2Zj;P@6x#jl`mh-`W9LJ%G0X|&KJi}TXd*r{*E#3A;- za?aRx|3+s`i+7^o-QYMZcR2qvCUaXP^@I!3?Tl4VMDJL-Rx56NZg>`+ zcD-Y~pMHFa*xu>F54QWgA|xrj#VxW)m_Z6i#8WNr*w@{DUtY8F{2Bdo&JJ4_={G!k z6PUSni{Q*4cFoa=o^`>F!{0ivuaO4~!^rI5DOwtw9b66%oPU!OdF{EG-QAS&crw&` zsnS5}a!y$qDIh_8e$W2N&Is57xcCu#{ABc2Si@n|koX;gEq>EyuBC55RVbV`t$8YR zXG)|3GZ#!!c3^^~_9dc4OTTogpPOK&otkKXBRiJ+^}W5>K+3{{Q7#=%xQ3i!XqE{) zaBuiDvNs+T4XqVhalQ;z)(QU=Z)e(CnEBa}&R3m&^u6ARHdWbw1las=RIK&NgMt6L zi!4K*cBfAxnzM)l7=_9EDaMCVYkWVb^Bxo^lgM<&0omC>qWOS%UpEWN1QWF%iKAjV z-}lvM|H{72hX*1_3y`-r=~OC?h+osMo9)MiE_~~ocm}^yP0x^UHG^)IsZa3%r+$Lm zYdAZ9Oqr@$H5!g@xKSRpjZkAgq(()MT1#*#FoTjPYW4;$y?+{E5YxH)09O~zKRMhh zjl8>bua8yPDL4Z!CpV2$u=~#QinMW7PM@bN=->N&=&8QuSM)kN!z1fD)N}6XStm;T z*~ew`(>WC(V}q18!*>LKJ`Mk_ivA7>5DMRgJiC-g%pHhTDq?NAekeNeb5@LdC?l~a zbBFDPo=1=DUXe{S(B18VF)<5D1BXTz*zKB3I+eFa%$kZswf}}LUU6C8j_>%C5Eaq#(==R!CSs5 z?x3b;3~{su(=#N$4SiZJon*9{z!Lb~i~BKn26QeSnTDxjhWbs<`%PH!{C`R24ccE< zG~91{@!emVgWI>qQqwG=$O0Qw*FP}rQL#jP2#aZz6IW+ z4IFgb*Z2ike%Z2cL=_x7eL5zz&TT@ZLww5a?TSNF0cR8lY zdP?P*;9+ND9lcQO`?ogZD3A(pnsLYIvxKHVp*W${`YzSl)rXWVo%fQi5T5Z0XQD?S zfSv6Z@T=+;11kGF@oF_EHX`(_26h=e@ViS6$m=(Ol0Vpj;{}LVqYO~|Ufp%Z~j7C&X*`Wid-ofW~ptxKY!MF^D&hFMpKo*z7&FN z^DrhQAWym87yJ^GnOw2M!{9rA4>jVf<$yMpDcj<{)mRHqh)jveC(l;Vq)zh;vkPjI zGmrB@YQVW&fBXr?bVE;7<-(ROK)x7#ra^h9aRi`0jf>b)LWQzneKy)!ov_MHw#{8r zVdFEkFNbcft^m&VJhqEpbJ{e)H0eiLzm(sGC?3-jHnPk?oX5b!mZ@k*JEK5uQ@4(@ zJHZ7qXO^DMm)!cbaS~X(LZKQSdi+rO<9tCj>e~u|$vq$$5l5{nxT6U?^(|Ub7TnzK zG_YW1gX~*Z3|f$PIj<4HUi~@L)1U08L6jkyyIFJTl1|pvI~M?W?|TAw%s-g;&WB6| ztnLF=SIlWeR(*-2d;t^>pft`iYE)mmd3|Sc;1ntu7k0hzs}!{19KfSC+~~>64~ne2 zjV4tCHqo9@*%dp!RsjtG8%lhE|-Lh z6T7C(E;ud6VVs23pwc~nrm|<4o(Eus1!2ctQNxl20j$s%4p@+yfPR!Lxp37Ezik={ zCJ^C9FuX6BjN#pbiM?PptU}|`!Z5{vQ0EE+swMHqD&&i@eJJhOJFZq5F@M(MjAd=twm$wG~|LC22aK*}>aHw(n S7lR+XT|9T?Ebg?&!+!&-&+kwG diff --git a/chart-sdk/asp-net-core/range-selector/images/labels/position.png b/chart-sdk/asp-net-core/range-selector/images/labels/position.png deleted file mode 100644 index 3e0955a01f795a7194320551a9272acfde502e65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8535 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 SLL;RQjvjXYigM`m)&B*Q8Z;dM diff --git a/chart-sdk/asp-net-core/range-selector/images/light-weight.png b/chart-sdk/asp-net-core/range-selector/images/light-weight.png deleted file mode 100644 index b721f00ddeb2c40da2080bc1b02e6d8a1d880cf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5449 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

Z#141LpAr8X3VaQ^s%xy1bLIA5{{m(G68-=H diff --git a/chart-sdk/asp-net-core/range-selector/images/period-selector/height.png b/chart-sdk/asp-net-core/range-selector/images/period-selector/height.png deleted file mode 100644 index 1106b1feed4bb1cb5a26a90ef3ec9a4112b8e01f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22707 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 diff --git a/chart-sdk/asp-net-core/range-selector/images/period-selector/periods.png b/chart-sdk/asp-net-core/range-selector/images/period-selector/periods.png deleted file mode 100644 index b08bc7de52300f864779facb730c1288b69b33cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17375 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 p)HNpb|8(m5e-yIUuHJq8{{YNP=+*!L diff --git a/chart-sdk/asp-net-core/range-selector/images/range.png b/chart-sdk/asp-net-core/range-selector/images/range.png deleted file mode 100644 index 9f1c872a5e815d39182078347bd7d144490cf478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10840 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 diff --git a/chart-sdk/asp-net-core/range-selector/images/rangenavigator-control.png b/chart-sdk/asp-net-core/range-selector/images/rangenavigator-control.png deleted file mode 100644 index ec874c9d83b331f12933d3d86bc24dd9562e2b4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1801 zcma)6S6I`@9{mT*BE>=|K?&lnG#j`yDMA2)fzbQXWw|u3)F6=1Y!R|ZkjqCABv}Je zmJ(_(Kwtp@g^PX>k>VzxsDwaFBB6zn8}{Ko-G}=yznR~eGv{IEoWZ-hB9F+Olmh_Z zh@%6-69A+tBx|$7Qj%)5R2?9hKxj{-9nkz5wk&B5McKO80zhkl{B9Un(#s||_@e>f z=+MCcjmFpg0|0&?IwEYn(?YmRCSmfL+K3<|z@Qe{LBEaqF#htCaIreo1{ zN}2uhyp*2CYG^=*1YU@PDfe}0VTns~V~e8&ehpKR?Xx99ySzW%oik~vkr2>js(n}S z`=a%K(!DCub~d>Eias}rPu4xAg8%>)m9)hwV`ICsxA-5&OATVxFS|>dc!j5{13($4 zjL&sT*6uIgU}?N~=bVr6lmQmhkPqVB$V-^!(e1$a<90V1yZDbS0ALcP*=L0(M$AUG zw|?z}pP`a#y4d+tSpZ1LT^#DtWvFZk&h*Egy?*`%Hjfp3aL+kr))_tczImQsL$Qg% zOoX)Kg(0Cz4&#L%oNe#&9uiH(B^*S5oy?8pJxUM{s zXqc+pqH<>f4(-u|`pxeM9{|4T zB*A8^Gt2jcPEiJDmE~}DPZglgY7O7LHNK8lZ&3j~OIi1@z`Gtujp4^DwJhMbY7b<; z$d_7f*QXoKKiuK5DBJW<%VGj*KQr-gB`VZ@=gp5#dJ|+_L*AMlnsBH@A?^JyiJcO3 z=N}dsXQgw8^PrmWtPXIFb*4zTyNwRyFYoPa#AmHW(_-2KC_&W8)k(u8D)DB*9X}bzp&?`1*(GtBXWTS1!Bp5y`DFm|Tx)1$@ zae==uaBoY{Us^uFH|TuC)BZfze0cX!0H}EkllWF2LyYpT zNp1E$A8U8)8yOnl{mgfQ(=JIJ|`Vv{7J+r*Stkl=fPfR;P9(vrAGKhCW zr`vpckn;2W%n8!eG674dr9}^xslbd=6xty&}JIK@jBqP%(a!UCc2Z zo<#(_c3?U!#K4?qr{l;gW1Y2sI*H{sjVxqW(5XuP6N_6sW>l~;Ny*H9ziy&1d*P}2>?8tZ*+T^{|=Btx`In%o3>tpmadMV$J z>kg!?7qPiCja821tRUQU?+qhRO9Xx7Oin+^%lEM4USebta8GA83faRhuWqgJ%sDJ7 zC4Zl|c1sJJSoVHu%r7o(Y;~?q-WPd_>0x2q&VDUA z?23k~w(E;+`Au3DQ>X{m3{p{qB>h|pUZQzF*~RL}AALE|3tMd`4XA(Xa2a$_<=_&F zw400}%*i0*n162^cr_vCf7;d|82~(O{x66Bm%1=NH6@n&*KjV9@V!&=0RxWqu83y4 H>v#VHPDNRW diff --git a/chart-sdk/asp-net-core/range-selector/images/rn.png b/chart-sdk/asp-net-core/range-selector/images/rn.png deleted file mode 100644 index 4e97e5ab9a18b571e40148ac64df85616dfbfca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7791 zcmb7pc|4Tu_rFSuY};}}^I9mbm(bCF+Pzv75~AOm4s!2Z19kcKh}L%r zKARfFPUBy0E-dIM6;T8MFTU?P4P0JH8fQ}FfLk|Fi`S+GL8O?2!-wxjJ-YHbP`PvD ze$;wMo$%P$5kSW@uLg|4CPtP0awkOn>kL|Dq~wUZNc?- zV9~c)w>RHueaUL)2tN27?-TIqlv{FKOpF)sa_WoBWagah3FSJpE0TW7)Yh)sHKT8*F%;RKP%cJaTs>QZ!LjMqZ?oNttssWIz$Set@1i zx8SkD#Z~muvw+~^|F(+C!{*cH<3vykc`jqRoH*=G{%V(N$9T~h1zdsRHn z;K8C8`dr-*`wYC`^kxS8XZfww{zTb3J!FHNvWLImYUNeo{Qu zW!Ls8+G}#L=g?hxx@&d`ar7gmW_>7eMb>k2+oHMS9$R5sOG1@~&wq<=I*4*LF|omy z#HvQ-u$bgkeLqWy?_F}M#~CcNNPQ7&)d-V6N%7SHv(b*O*F6)@syBUbwrTMIQT+Ve zP%I9+e!>Oi-}z|`*oUQo3pjR~?1NA8e2BHHigDrp?es?RVvI5H z&x_QGJ3$``w~iV1UNT#D_v`;3nIWIp#e>U?!Yu|^+T04$=-=ivT&YrAc8B&xm%Ms! z$@_bbS1MB?sZE*2gn+P_W``+5i%A%K4pe`fap*?(y3Bu5Ptjjg?$K5E10}c(el8B4 zom+-0GrqNzH62o@E3w_yP^H`4|8c)dr=y)oZ(5jrva{RT9VFa(+WfH1PGmS@fvhS( z8eI$+ohl!lkg;?efH)XJoRTu$up{1a3grG!zB1&Wmq(#fYxL?-nVAiSPlI-3Ic*M) z$1;9e{#SMPT_=U-irQ8&bPYyW2O20|{FWJ2pBAAk$V?R(CL4VIISd~eDpRm9jmoV3jkfqMGdp%vDwYyTZA&{YyDCpUre(j(-% zvP|{~Ex)(y%;;?{+b{fVIKlnIo%u4{I0*OSf`xluNL%)Lf~9xPb>D>2&8wwr#THSf7_tEP+`AfPv7O&VQeOrf9s5>&=%Z>TpNJlY&|$am`?x zQ>tIUisT^Us0@bqkW>GLnqbn3Z0{^O#M9;}UQVki%sK_NTzhD+T)w6OtTFf%S%HyPs3CzNBaO%gO!+zo=g*)1 zBkq#yHP?ak-|!i1Lk{hvM-VidPd_|Ba2Ztr{m~IqHowVDWY6b0jfnjh&ct?HE*X#~ zqXw(puD|4V;*Y5PgH?545uUY#8VrEFudLR=RnALR=GD0*WfaV-=t?MCc2mNfvDl^> z*5e>PA*YMR-$Nc{F9?%5jrtmVd?y%VO0^~4%@c;qEn2LC-`B4w39<%dE|7PW1fbjz zQ8Jpkpve>bEc#FFMOPAKP4qz=3HqpiLV#7t*!rM$$rvbn`%P4*eybvD;)k%?qh6(2 zp2@d->(qiv?gYi?`Xu&x=Ayidx|W^3Z5cO_z0ZG7A}s2OC0%u%*8p7rD?aPey}MtS z0z2@}QrNBzL|xw=6}-!Z19EJ%59=MT2^e_8qr+BT!U_=8zaCB_yusuO*A=`^6SiMi zO#A@U#?~dg#8%3843qjUas2aasiiuNSK%x$smi?DlW|GJs@8Ww=O)VDFKOd;DF%r9 zKuQRxta1E;Ql9#$S;@N!gOD{Ly&8_oG(I_X8lDMC4?6#&>T6+OfJd7&DHaIg%*KJt z5;o%Oa~g1k+4u8K`JGlhb|gamR3f@b?-<4nWcnFeTtiS>JC41FJ-)6+GnJ*NUuSdX zr|0LN@^7dH-9&(GDlV-`wLG}LY)Ettqj^)mpF=&>l!STYU?uV zZn7`o6o5nlhbjW+B`6c^0OZ9oGW96@l*=fbtHU@`^_7Payfc}Wsx+3eN{M>YE>2O* z=p6U-48OyHed^x6aL9Gnk5d(Hu3!o!b(ZLB14C@BRF4iY@`Cd@N2fsxTB~9!m!OP5 zKJMB04z(%v5&Fbw;u1R47ZMcJJOBZoV9G5fS~t|uFabPi;70V8&#-M zn2@4e>P*ETY&X2BT1f*MVTu{aXuB$lSZw(#cWz?jewwX?ul)OOJ^5u#ha{UwnYLSH zsiYXCWeza-16a4y>guZBJX^mn%#S8ky4a;#T~FhjKKn1w_xNkQ?=ZrFUGHq=p!IYVp-IS_CsA3@s%nZc48WKH>`)o+#Nd5F<}j zFk<6J##rdZ_fEY+uhN19;POsXIMka*@20=tDVL2XHUE0tS#G|u%+ZmP0HNFacB!qTuUaHwQBW}SB+sW&q>^4Y#ebRT@d97Z`tkYI z^a<8u@id9V8k}UR9VT?lGig)l{_sg{PyM93N)xEnfjv>@Rt_D)*R(tVh{4LWS3trQ z?%^>n;xILNGEOpmJabfT&z)T(R#phqb&)=aEm8>IyC}!NwHm}c6OJ$1$kl5<5b&lPP?kI>6WWWLXm)$>L0%F-t55eK=KWI z22HWX9oh(_UfI;$RfLqmLDe=#-f<6t#~Ipd#cbw%5h7NKFM_`7M({?w;uq6 zTU&{NlTDk{zCGXG_cK#@H<`jD;aB%GlX)?33UxL$HB*OViI~(5Mt@O>K^QPVy|{OH z2s9oru%}F{jLHqb_{y^ zyXD5?we(}OCs#g{)Q84-jRg=qPV71Anw&`;&qw#)ACyu~?sB@e>9?q?Exz#<)e5kY zkNJ1GU037&m?}@~8nf!b3hjj@+1(!PXu3cc%7A=9AUOrjIIX`#k`+QLI*lJdrhs+K zv~^Y~%+!?C6QI{I>tvDw-JY+_ZK{-#;U@9rr8r27k?{kCHMvZWXQMMd5i;o6orM}J zr+NljIJT>e`Rpyx2=*iN>Zjt-b~a)WZlHAWJy3%kRgI{(-19|`xj;-+PI}Gzyzj%S z@CT*y@3W?hck_AUeV7{?V*Yv3OZGhww)0HIs+G!(&z{dXbkm2+Xry z2MH+rG?`H=fs;8az);jiM(m3(*wcSj00#jnU0dlQd9Fn_% z9%4=TVCiDGbrvtr#M!Ia8a?zs>sjlFMNCl<&?8|w4!AX@aG2_ z$!usTQ?JOa`!Jzl9+`yaQU3{`m6&>SKp@ z+mT;_1X^$!?&9EJ=i)7dVAOvKYq@^=RypRW?}fe$y$?)H{-UP<`PQ|zx$_4RcKSyh zZjq{sSkQ}`;!If%XW5bmb=Y(EDd><^n0o-0m6cNwE2xe$@)bDi3NOn3X|POu_&A1! zjRu3B5qYzaT8SGPSn&D9i-s7#G&7p!4ywgpc|))%OW@er^dE_P`26(N>LtS~MpoTTMO?&P0sRdwxi>hf%UyB#=t%pBnT3a zfu27+{89lW=(bpKzgmLhe1bJ5MS&um!O}b-q7yqtUpK?=ZB~L&MV~4VRUHaS zF#}jXQ*(J7NW9)532rEL$y^)^kx zlHD6CsD-!M*K9URg^MSP-;~&v3YSfm#WjFAHzNp>rE%N1Ks)l~53(6Q`1uSRWvAm$ z`j7CXozTXMl^P{dQad(7kL(@;K*fJ15FC=@;4s)HQG?%#Y->X1;?6>YfRnd#Mpfz@ z_0I^+fV3g2FwYfgwjE5z31%-L@n!Sg{(havZp?GV8p~gBP&OZkTR&5i<7m1@*vQ zz^^_TKpmN_2U|CmkYcslTVbKGEq3)DAxT)M$*+zTK%U*BGpZHA$tzNEf%pMS?0_x_ z5NIAmXFwQKe|Zg;85ZN$F_`?bR0&=CD| zYX+bF-kNMl+Yf||DCytyx3V_@j-@i4z^&0&8MZm`kk!&+j~aTqt}8T9fwh*NEU(Q(~APn0ms4H$r7B zAPkiSR_iXWzdL|>J_29@{K!Woqvb&811z%tw@jPYs`Cn5dhE31UrC7$M#F;5aeY`4 zfWe^3S&GwTRppDdm%{9zxL*UPzY5}(W|$0OUQbMbxw@#tS>KSsQf$!gQ`QPF2??t& zvlrq?8_cWUS3D*3*97j*+gL<+w~gtpABAGs>ky5)(T4COQ6Ov%x#@3@42>VDdnWSeNY8Dk{tC`nJk9+#3kYJj_L# z*T9=d^`;to`0uX6nE|E0Y6re3-GXfB!+f}q;ih+ehl5dteOZ-r6=>b54YpMn=TH4P zwM~W8Qngme4q$h&&ja`*ooN!R`~l=J11}CB1-02s_T!M;0$6A7&#;j*^#F&AA~$38 zNKS}13bGgE?x0mUSeX*^|C}k(y0(EpQm&)JZCyY~BfG63AmL7?56n%Lz=UI-Rhf+h z9t#*pgb&djNLwA$gM?MkuUQE@5}b0?dTucKo|L3 z?VmU>)sYE6PX29ZgA&MwPaugUNAc!zM&wu3tS|MCHU(HdhV?pb=3_r~ysigy@)ON% zAVq+_g#9_>M(Yp`gY_;h_JV&wURBo(*ECZF`23E@MQw3KoKWpx;ir}yV7m8r8w@BD zS{wZIXb;1b!H{AC^V2vMybn9?@E^45+Z$W%RfGbFGTGaU4(aULlJ>7w%5XZrExjhJ zMpglD@(Z-->NN(qr$x6%NzJ}RbVq=Z1h85E^5|&40$FZhpmrrjC1!EX{gPJywzNGt zS6;>Hn|7V^O$&RIvUVI10m+}gh%n4p_U6ghvg5D9oi9`EZp}lB0(v&)sSJzb-^eqea z-DSOOWc5QY^;6r1e&v=)Q5j}tbdr4Z09ff#KNM#D}HK6#h5bff(4}F-9E{{iMa%&yMF;|{$@Bs>qq7g z$T2)@Rv25+%~EUfBft%&g&IN9!&qCH21xhcTN9cSET?-;eqVS|WB#G`?X=jbAdxa> zWk+k76hvydt8j~F*f|>}N>qiLm7JNl{?)l4+kOJ?2fUEB>V10Vf%c)e^s_a~oRXp@?~roF+H%UD^EP@H)U+(bq}&O9YGSG& zP4Q{vvs00>nHNQL=&>kxG3w6_nr=KswK9LsVpsEOky6s@NJk_Q4u$g~8(#cysE1kv zx|KBhM5l*r@MF!*qEYXnixAVM{JhdcKQ61l@%)MGG%KnIXNF5kOJs}(gy}9?$3|iL zkgN5_e!j+Qjxs1&7>oPuX{njRlCaFFAS+Zo1-V_e_H7s;UC|iIXG$Mo!t=Y`cm5UD@ob{rF>rD2?5@G*wI5W17Ge$Ink*qV@?lM zDSdp$;YhSrYzg3+%=Ez(Y#FcXOIUQWV0L@-Z49SgnDx`?;{xYGG0oWFv-jMkl?r#= z>nNOx`=0X{+1@G9IeaYn>1XP~HQSGY&<@=?jDii=I9egkM5F-eY5BtF#G{^rcRtl# z==5nck?G*<&>S)HyWsyaA+kZ#u6y{~bMD53lXi_J)oRNcW#*o&oY2lVmxXiOSHUZu z3)1H?4lq|&NPA0yw1pz8_JG6k8Wr@`*2w#*$t?vVnQ3iYk@w7Kf`Z$2hMDiPtOWhL zy5<)s&HK*H-Ws1ut|O4H7XRp;I#9Vj@(xml3rFx4O&n=wwN7=eRG&R9Nvv3sZ)&hD ze?RB|;%PQD=X=x>Wa8i@BhHcny}{1}VS`OI`#3F|bg>Sk*?x5L?u?n4h%^nuyXtx| ziKo#HJpOIfJHvwZ#vZoYesWqfma`g?nThS^W|#$LEcH?Yd@zU2nmM(%ske($I+%~b z%6%G5H%d)U?5|KFhqV*S@e=2QcwNlUkESgb3B~QqC*zzeFOV3c?ZyolyZTEfHl$Lo z5gxB7_i_45DOlL+)sz=}yuy`?Clq@&mamS&|PdLO_!v*ybwrGp8y*;jcUiJy& zprl{%Gp?56VP!jokA{#CSSm%qroUm>9Q365VG^u<{UvNBDM*1UbieDMBHB?*-C_H2 zN37YGHU44NGf8y>j_|wI3dC8;VNUo;wrGc*YtA4CQIa=$qAPGI-M>sb>y;gIJFD&T zn0yp0W5vkcznPN|7`52fS6GE^PhuLFoB#Bry#qn{S#=>}8om+HbwaXzl%iJfru>r~ zllaT3}z+c%w=eggfyZ5i(AJ6Oa!8J4IoXfF%kMD6DXRNvDMNamk>`Y8doCf+j zmP|~0V}R!g)_uU=d2>Yr;NLE&hWgyQcy?>MLd6iS(W%@BRuA3t ztSZ`j5!~0J-#=s^a|!V0ZWXDCefo#|r{YO$0)4)92vNbMwJX z;j&0a0X$(c02M|7Eg!@Ci(JlkL4HR>9p6!P_{{Qtsup(v)l*4fZH-uGe`;UCTw%YqBkBA7T zZ$Hm5-qQC_Qc@D%vuBSI7;L~QCi(7&pkUh9uh&9WeiSc+ndwVQ@y344$+`#q!aPvw zt(PcOVrnWmMKV;CX^pPbG1Qf@ws8#)&rdeLm^<3mrc1=}3>pmhS5FWYpols*=1ugQ&KiEJu?#tqp*FWEX+KWMWRuM z4(dF=6UEAJ&fUV!$82FfZqna1>0mf7FK_5sFaA;QoFOnEDvH$x7_ggN-1fZoURh%S zorsX)92bt$r~+K)?TQnq`k_(3U3L8boRYodIMq^4T>67QMbXu*(INHQs{P#SJqPyv zX=wOV{YqtCkEGj^EF>!9MLO!VN&)Ym2J%nNk@5oFtdtt9lXcvp1zlV&|8tioVh(^s z`-nSWt1kRwXy_e%e%++1nQ+wWPKAfA9Wa&?lb#?PZy-TP~DA^GU zaB7BF7^l|O{@5OJR#Vnp+2Dw6uK_~P1*X0;k?hVyayz0F>&=aQ;?S+osb4Ef9Xs6Q z@~0JNikh*f6fZ+%Ld@;cB|+^6g#R>^aDk!?RQyodI7IK*kZ=4(!>_GFbJ07BU>pKa z1mh6Q%qauSyh)vuK!~s6l5MA>#PWL z@a2Cob~u!4d#l?P$Gl^4z*kZ(^vwRW0~Z=}pPy?V3Gt0bbN)fw;sK-(HLx_{Q##b; zyIm`&{qY~vqcf@k=(=af!Co(6>~QX%cEolGbC99vpNY+l6QQ1hKNxMaWru2>NJJCjbu3xp`?W9MnaNlM3#GY-Hi7 zMrZ-Ar~gaDQOA>=wiPG%dW@8;6uQO??RYZ|l_O48RvF$5cRVR5_*S_1SJFR3E#{gu z0DJU7Fdlofuqwlx8X$KFYWU=3Ho~D-t`orV>d6m-mpeP>+VZILLG}<0xkGLNAqL`; zsl7GnQg(JJ@m7#3gPX1L#j1k;unma5pq|kaqzg}oyr!(5ROzBqfD^;(m8zuDw@kVo z#D$<<*EOIKgSn}%KdDXpg(m;TB_1)v;XVtr^09wT%zD#qef-FR?efn_<3SWTt>Dw% zz>|PN{^xg-B@#0A;aiU}kYTW_0S>ZT6@WDc%rfvJDk=tu+n;s)n5vN|PK7B~U$;-F z5D>S@4z@608-ODq;ups_l?-Q?fEV_aFKq6sd)bjB($f|vFgcD6?RP1%0`?pgs5;k6 zskMy<3kxS~PwN5ozUBl7u3zo-z z<_y^@ztyTDUAcS~lMWWnkKdl4gY;-5KF_%05jHu45@29BJ6nI5_sbWQ;GWmq_BDyG zA;n+TqeI|udj*FE(eUtaB{j8KZv`70n^y%r?Yr}VxRd|Z&lEQq(C=i8+cyLbzkS=b zWZ((3>(l6{eQVwUgfKH8+~mZ5uO0L>KdnfWb+ZfY-H3m#HEx3N6%8ycq8*)~Q2ggD zYOQ>U82J=^9h=LSKUo(^m~)GLpCK=~D#=JlNCeOq-H0J$CYLWG_j7WBLoaQpP6Y-6 z5f2dE)S_vCsRG$D!0)Do<+J7?%^Wg8$MvP1JG4kJdVby)6-uk7BHcFPpeTo6!y>~+ z-{f8ew*H(RkU)h{A5+(5FIRVxNRqki2*3i~_NtZ7o||7-fK7SGuh*~O!#y+$i8&vZ zjo$;5iF{*-OGGnW5afFfhu@l6$K@qHFBKI>a9`I{w1%o5N}Hv}tJ^CW-d#J=@&G1r z`t<3q-t5&*=#y4fR{f8)L0o-0e!)+XGSm3k8#)|P3y*iR^0A8}Qm%ZNZhnS*NRe_? zm8SjrrK+1m91}h$AGh?~d;`8ws$F4SA_?)Z;N}62s~G}5mSROgjGZJ&S}Jrc?xQKc zcp4#5j6622cOG=Gr>6%ac>hKT?c^ZVa@LJ~H7k|%nvOQ&xj#8DA6nmw3YyIXtiY}y z0vhykpy$EznnP1?A8IKJEDQ|O0l4RxY!I&nD%qg>)@j9BL%U(SrR*>A55|nTmyUmo z5JaH$1g_6J7X+bO@9(~LK^t-EXXXX_AG3mN4N_>L5E}1sI&fn(h^%xSy+0e6^TPI= z-z64~lP3W@!xC+QNSGEzEvwvN=j0Lt~xD%K6+bLq*FJRBcQ8( zhLH#$>Hsu*@Ee1sWCud_@k5oaIAsO|703K4j|-9aTq1bYH4nTDn*r@w9)Q*RZygn0 zI(Gsdd(Zd8(!P<#yVowCrTvxWT zdvI8@)ly9#e1Tp5QG?trKn#de??bG~*7@$s3HutGn%r*QthjdIm!6U6zgHAQccc^? zv9GW`r+lz@M{acnPuI{`215;|`zkj0x0cyXMmHzH z9%7g=nHH-^_YF{_zg|c7^s9$)Lq1b{8wuY)l{@H_6?3tcE0abWH#axd`kUe?F4(rn?Kvh0B{b1N&Ul5vl{jUFA&lk& zj(((gwcic?2}vBgQdnf!xi+#eJ5!3Rqhvo>rDlH^nBP%QGI`F`y72`^0IWi^tJ`pH zh|kPOV4*Pv-_~5v1)Uw1C+cFI85^A-ym z!4}dg8ph8l`nY`%yCOr|$qK!uNO}^{Z3rn;X05 z9!9aw8Iw(Esn=*GOjA=+VdU}EZG}ZRUlyVHEHB?50?r6Kr~{;?F$2x~g&EZBvi*ms zN?6Oxp^h;?90w22U0Y?2G~brdjS?+d%RLr=HjTa9Jr@rw(tCybk)@2g z?-2SCvH5>0B9nqk&=EJKm}w(|^|l=zpi^miY4d;OeM93{=0ZVyMn*>cO}O}k1iHfN z2Cp@Hh{yuJd^8}fTrNOR{}R^qrPOT0bO6= zrZi>A%gKGGq#_umc)NUhN*kmIw-d}|V*tXaT{xu%^l%vLNJB1D|Mu(SxqYfyW(#iR z%o+Svy%dJq0Q0kg)5D5$_$soNrj(Uxnqlk7*KUFM;KPXp=u-EeV~s&Za5y|n z;NL(s4$}ud&OY+jdf9+~3_1g>r02dL5i_U863WN0jJ5E55KxGKO$COtoRxpFuw8i!O%@x~>vHuut!%Z|G_D1CH~TO#`9o5td)AFHg4&itQ(?5{o(_oXPDPp&kHD zVvpWUOTPfHa7IWkt6IDvep28ihmxh7ezRrfjAi31@pD4+_aOo+s{+pQUiM41^ui6f_zgFgIFXC5|~XfKLF} z%{k;r0O=f*;(_S2t-a6Wjpz_mj!_T5e7>juOETipD>%RBb9#qZm) zGB3dIdCHds^0iL7vF>5G(n8+6lWL{=)^y%8S|~L)jV6dDCr3nvm+sLBjZud1@b74k z&Cw~ZFonyCQL1nSX#B%jmQXDT$2VT!QVuvxuB4(u#=WJ6R(-BB)gw4~n2v$hlo}sz z{d9p9NaGQA)yhM0;_x3|?kdv~6BAea`^*Hxt@dnS;5V}if@TUd-sL6!>m(ORLqH{_ zPtxt`X=xyJs<0OL24M4#Wp^G5gc$xgR3mL#Q~?A9@xqD4fvV^^#lAcZ#CDLrO%BwE z(=b-%SodYMnjN?6S-FhGLAa~WMXT(@^|A`oG ze$~Q8_xqkaHPFWXw)t!wIJSu3t1g^=TYY{EuaCt6-ltsd_0>5NbqcD=h)@hTGM>B_ z9YX1P^sm6+S(?(6RYNrQFevllLrWTi_N?-+z>g>Mt1sv7^9xMlj%&*cb!y1vA!Id7 zawEk=cA>x9Voiyf z&dwZ5YatwwQ-KJ!zqUa(syzbEe%R9ov3cAhW%tzgm_vjhyL{}@qEfi~QNsSQ=8zAc zgc=0*q8AY3Mb=v7$TEr)OXJmpy7rb9WIAPA5DjnB4Q_2e{B{6)yPWWZ!d3mP!PN=^OUAql28W zzQ!Z^qP>7rR3fBO05wl|%FhLv;+13S4iCP3xFl!s`U`%`v#X{prGQfv3`U(TpT*DS zRTGnxA8_03n73FHNs;`RRJBs+U?}Z+4w;GiHsu_H)=lx{4s_?D4D5&%fvUcJxMP21u^t8_NmZFGMJ0Gj5+Db=4{>^aQ4RlPldDP0IQQJ zRJ5BGu-JBD2q03Iw`}ZzVYO(n5JWL( zFVo6SPBAuYr`l!9^GjOTr$U01Eh>B^1NmC?c5f>iN_O_MAQf1YJxa=?+cQ!6o&W+b z(ch{P!Q*DB>kq{MLp!u%Xr0F<_$4Tp2w^%veDHpYo_{5gQbW88v@M^lum+tw{}M>A*=FLz{p`vHdb$Hm@oRl3 zkq+@M_pwZ7u@5BvO z@Evd2xTmPwKTE<^zg3tYgk0+)POB<7L+KajjnAYfbF1?+{hIu3Hg7I4(~%&>E-Y$D zo(Q_7s|g;F(1MfiufNkTT<`V3hOLhK(0lJ`)4#W>EzTy*cl()*rx6R`qLF8)=9_`P zQoEL z2)lTooFBauR5}dS;E(fJJNN$PHihSg*mH*)k<6S`=dJ`M_jfrjsJ;q{{Q~-xm+6O& zu-Wuq2%!sr2u6ErI=K$~>P#9#DQx*ST#kUx^0sKxCu`Lfy(T0Uuke*FhQedN#5;+v z=x?g4$|zcQyqEnM)0`30eVWYM0@Sh;^noh=Ms($V0jkntBx|Nozf=@u=;1*;-gWus zS0{0Opcua7*aw)2QQsZY9Zt(V7zLD=OS_SmsFw)Rc}9D;oNzL97JPrFR-?b^W(Z)@ zI+4gQ++5G%0$>Y~hZ~P;X@*_cq!MzkAXzn)RV1;hnsV5m)79(qq>U=z`*NyZ^N!Fg zz4aKCS9Elr(OzP~;WXtBeEl2G?wIOs7byWKWk`ix{JK26<|JBiC^Gb%9InsA0Hz`p z+imEh%Y_iwE{HK01M5v~K#rf{og&H?+RGQ3X;|@z03~5$*W{y7LlKY2e^t5w;9xEm z6?Y|vxzYT|`zGMZ{%HS(amlbU+vKypn{g^T1=4@74JptRSYi0(Ki$djyq&(@$IzYT4;i z{XLS+9aBrLTmN!3X?<}-m`(+@+bP#M)*ayEzB_KG%fL{9J_kfwN8f$Y&yjAvIalRN zU)uP*cu|>aQs?CHiAUFcI-&qG`OmX?lX{vGyI{W@(+e9zts-EHnC6t2ZlJg(D>z1e zV)gHuA|ja|0mP0)A5ec+(l|;CyXm2WvCS6%N`|R+RUd=FtQ^0I0}{2!sZma1*;n1I z44|a@02`y}Ax8syUinSMi0@~&-5&qCagw}1$lL-`%@gI{xyG*v34?#1^}tDIn?Bf* zV{)MoC5@QfEL|gYgTdH<>U_O0pMC6aicW6r)M}2fi6Hd{(d&QmgcPgNmPmuC-!w0> z068hpkNMjsl1qE>&Kgogty`BOZhGr)(!NW8a}D&%9G=cSe=hL*p6gt;!v-Tlph91h zxXL?73?huJv;7>>!u6Y`#jf>e&7wuMP7g|BHA2i7wT7y;Jh>`p;Z8f`ZzF=JZbzW? zAMel7hkjn8_n>4@sYYE8w@0t8%!d8Gi9k4Je#U@~xhuPv&2n$C{ACiOclts2_CM#X zobn4UOg3ABb>R}nQ?;^=r2%lx=p}N7IDGyZ&GGw=%T8~V(VExGQ=I5ku@)gx$5J*S zHV

hqmLcY1{kUlx;RWdz$Zg?^Y|y$Fx#ob~S3YazbAhK(;}4C=bV6Mr*KRJ*(0(1Fx3TP5luq#n15FarqNPvy?Q{PaUDb0rSOggvL``Kt{rcv|Jt5LyX&93I z#jlkw3s9ZkteF*@vmLuV0lbA?w|07{TUL{t@pjbH2ZjQQ3p*wBzkmgi{HvRY4Yp^* zlfv-Z7d1ul(~Ukc$6o5LcXU7XyV>cVTdW5dLL_YM#roTgUG$00hOqR9JqWTUkn#RD z?=7-yV`2}C&@5Saqf=$VgZ6QMu|5W#B9i+%Kk(~3NKv$*2B?eI3>iM5 z2~05%0^lfMq=72UuJK#C`4Ka=OCu+XA7>f?b<5!SwmNgWl<)Ss{Pt5c|9)~J-KA~ zqCaAQOqLmNNnp=8vAb0bb869h}nuCR3>~AFl@4$>?_?2lwC+K#F~? z)W;;{ev>Yuu@0kmEW~lLnBA8xBhnHgzhDEY-&B8MerUV;Aa*U*_qb;BCt1HSLEu6L z@3&@U_32(pt5q6?sv-6uBi8dc^hoy88>+~RY)|o_-YF<=)s5=pG&;oT`p`QLW&`Uq z2f0qj*$U6WHr+1kGcPiwivQ2S#ks61ywC5{9*{je`}~go0S+Lm@;B8+nBt#;^P^a|@7laM$1cA8 zz%+4!aoY&^i7yr1z5Q@1@xL~xc~>Na%`7 zlgeC}2}h4;;+4o}uLz1=U=_SE8gp-f4o4&}gWEGmaCxE7qwY(Wh*VJ|7w)eh88tP@@I zJst+)ztn%dn|$yRzuib&(a#{(sKi>IT+*AiOXvOf?!8H?b((bkAu{L8#iM!gwK><( zXSpK8o0uEWyJ*$MAo%-LiJ~Q~r|7+^?|754P)H;Q=L5e>Y)Bsc7XJ0qBhl*@ z?mpI-v?Y!<47Zo8HBSjZOcIx$_Tf3P$}vZs_uLUpa5M7R4{!HtU2ReB&#NKAt8r7J z`d>tz1ZUUmA%}=&5dqQehj;i*G>p>nFs-)<7!{%r%{!-7D}s4o9=f`Trz}r=D*bx+ zYNg0o_L2*OD{rkd-pm|G?bA(%{ahl6E*+ChzE9vu^Wv;$U)Y-lF#}Q}MU#}Ai zM>+1ojQxCFXWQ#>)Tp^1*I&%RMul(*xM#v%p|^|g`I~`{@duLnucAH--faDrZdM%s8ZsqGpEZJBJ-UDUt_4j8w=KJ^v{dw zYfkEicFr^5f^Q2qnY-gX6J74~hGW2&#pfl9R{ZB{#S@pb#@G2ByF;9;I5r3>eP)RQ zG~NEt_5GM1mFhk1M?!z5yAbHGR*1V|n+eq=+=>8+JDsS(?j)i<@Vvbuq3yo^jCUSP z%U7uBkPfDXb6JqH2y9aIA-o-rAukC#8L8l9>lYl=9v{UkuGSt;k}2u}zu3GzA{4h~ zSB@{34K@D$3STK~7Eir!0Wief&bK`y-F{4UX$uB&<3;pyx5j^kM;#cxBTzy(FiJSi z`-Z3Cy}vYU>-5pUFz+iu^zfuc9J61}>n+nE_;V8T<&4}D^@*xa0tHvq zns2RmrwYzJr|er-pR|Q-&MBMD77A2;sy()(+9J*oYNd7KwF(ob$TMf$N^euBoz>oc zg0@RmZ9+M|;lQW73$K$}+Czef(A5JS?_Mnoe5c+KK07a;oBcsBDanKrx^-Z8$IY}F zj(93?Kbk_WR4%V6~41?nd+Gag}-kszBW(P{sPS%^HPa4zJ>)*t!+wj z%hi&m7^A`^w4i;oZiFo&Wn}1>fDZtrarXtdi3X9-b$B6+TTy*eOSUM!s`Xrllg6Aa zmwo5L&HXB8hwnK_=cpaOV-hsWO{|Cb7z+n#A3S4oPld0)BR34q^y-t4*EoF;W*Xd{ zg`@rgm#=B!$+kbY3f4yW-W05cyyyaNoFAs_qDDeH*eBLcS#S&QD{PC0o>~zqx@g0F z>Fm0xcHF5qNL)i@!tDJv>t&a5fqQ#GzWO`ApTYVO@Ev9vSRZ3Q%?JL8=-aEc^I_gt zW{VFlXn$|Nh~9-DW{;2Os#Q8Lu>DOgo}Z~v!$<2U$|yfCe@@2N#H|l&g{s|W;woJB zomjUMTnn05I6t*?AD?t5;G_GxnpQa_h}WAcc)72S(%%u*4xR9N*MGGA8PVw_TwNXO zljtW``QHAZj{L-d8woh^o1e+g2JTf~`&t+B{+Nw+nF^N!s0Fvj!OTg2ce|_4-37f4 z=*C-0k<;y?iL!+?%bOU}9LF~;&G!z^_G4*H*|)xH4hsii`8edh&v)sKz?we}pPbJc zbSb`8eZb!9OeHkO9CUvJuUS9QLLS+@KKIJBrmyFUi&+Qkyf%~@3Mcpx+%UTLVy^q T9HW_SU&l7kHPxwxT#fpFBKk`D diff --git a/chart-sdk/asp-net-core/range-selector/images/series-type/area.png b/chart-sdk/asp-net-core/range-selector/images/series-type/area.png deleted file mode 100644 index 3bc69947bbd8f5ddc1ea43f59f2f9e7ad6884bb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10157 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 diff --git a/chart-sdk/asp-net-core/range-selector/images/series-type/column.png b/chart-sdk/asp-net-core/range-selector/images/series-type/column.png deleted file mode 100644 index ae26135c46d5c8adbf8e59a91566aa796277aa50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11859 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 Gz5fAIj>eY& diff --git a/chart-sdk/asp-net-core/range-selector/images/series-type/spline.png b/chart-sdk/asp-net-core/range-selector/images/series-type/spline.png deleted file mode 100644 index 1533c71e776b19fcd5775a7986b9429a7b7e9009..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17096 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 diff --git a/chart-sdk/asp-net-core/range-selector/images/series-type/splinearea.png b/chart-sdk/asp-net-core/range-selector/images/series-type/splinearea.png deleted file mode 100644 index f296499e4d28bbfce59654b03e198abd8235966e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13780 zcmc(FcTkgGw{9$`pnysdkz%1pM-b^ndIy0JT4*9wiu59&D4-NkdPjs%5=f**I*9aM z0@6`>LJ?^a+THQ@o$sD==FZ&v$C_pPqB3MB<21q1@2R8v*d zgFwz`gU{<1&Vm0_2C(1Y?UaX}iaZ3}%d`T%oV9zX^$-FniMe=aMFzf;yQvy`KpeLFFo&FGP=|(coxhO zB9_nOafXq)To>w{TYWmhp8w_BH73d&mKCm&MerPmi^ zFwoY1N6%+sgFXkbGs~9yuo`4Qt^2pzi?%~o z|G7Eb`iA?=;Dih|_0BCV%v;}_JAW6-fPJ~dCr!ZjR~{cEejQq^M{NER^b9nvxAPS0 zWR6_gw-TQZ{rUF=v3yIRY?>yPy7gyxza;p1|3LRAzqS$wL;o>N@|O>KkMDkDo`R3B zuJ*Guz({5_HvGq|@7XGpzK+jrEgRc~dlM%eDb6Rnw{l5L_-i*gdZ)t1-p0$7v5;3O~MN;=8UypO3g+Cu8^Y8>4?f@l9Os{Qn91a~>e%hP7h%5he>DFW; zpD%yvUk*x|q+(v)DU@csaxq+o>TgiJf5}wxhH96%jm+2Ak(}76>?4`L99lt1^UvP=fAllOZg8 zDjjP^m2^|{{^|d$Ae)zBvqb+;G3Z`;{qqVXMx)|X$YAJ;zt&0*mlMifR8`&B@pMAf z=r@#Om!UEG;irQ_2Fc$1Z4q@lQN8dE<4Cr77Ks1y!ZIze)`}^@;D;9$yGGv*ubNr@ z9qEM{OezmV!`knvog$Qij&~&<^aO&!@$G9`_08{NPyen)ZbY3itadY*QQ_3uPQXqL ze|V6C>p&#jdu=lScbTF+=}nqN81LU*&`5?6P0EhlM{FH{CY1t1;ga0}+MW zw2T?gxkBdK&fEHuw7eHl@j{nEW7YiT?vbEHMIK4LgLiAh;8`%!n^gIo7c^4a% z$S*7`kN{Sd?RNf9A;4cgqtA_I(Y&-5&XxzC1ofl{tBk^ZG5`+pUcPWwR1_v`*Lxp! ztNB}W{ME2*-%j1Hs$4D%3Z2B`OhLVf{7Xtvxt|K-Zx`m?E*zfS+q`#4-<6+tB;>kb z9o=?E3muzkHHT}Sp^@!f`pCkfqHeRm=?mJ)o@Y6eucTWlyM3)PQ*Gj6=W@u6zaREI zAv@QKct_#wmCjf$g)qcMAu8)dLuKH|r(bj0ku%Gi9ibsA>#80^5tB^v8ktT@`;kUp( zcpa&D8^65#zWE2k14yY!G56iO?{SXIypb)|fB8nA=D=NUZarh;6hNogB3p!v-d()b z#3d=tLQ2j6~lHo!G-GiSdDV~f!pr{u768= z(?L(wK~LF57nzFU1ZNf4DquIh-vl=H@F+7eF*(vBkw#z;lN| z4YlT&Nf)eMVLY3|kFTMm+kgN5-7V0>c7cQD6)X{itjEslJ7P^yvuA}vXoONn2{=Fp zX)m37Qexz}f=EIZ6|L5u6RNALa~ETBm&l0Cjg7qu_rgKJVg*H8$UBfRe3 zyYz1pl#EYI;QIS-s-?;X*C+DBi7#PEt)0O02!s-t0O)r}WYo;V{0y&+Ovq5E0K+Bx zpUpXnv!}sa`WKQc&|qpFWzRG?;!4M!lHAD#_a1vvefS&LOYq_N?H|V|jay{-_H_Rs zke~+4?Pssa^SckyoCWXmS=5{H7#1bJ?`KonXic&;0bS!FFCWLYu(*i--6b&EnZT2fmWE19Ol*=Nr@8Z9v*5w(=tlLb z{}f^Pt?ovACUfau$zy$crzPJg_YL*WU>H+$FS5`Lov+LLJAr?vkbCxN9C4;FUzH43KXWHFC z=htG|gnbS7@F>hkt>0F+7RT@>rAW`QCrN6t+Ua7?dKV&2*(6q1ODNsGl8}^?A4maz z^ymY+p6F;?JYqGpC+H10j>;Kn|BkhOCzgCbJ0kLZlw~2BH_mcKnF^&0cf@fbj#vCv zsI<9$stK6c57d{@$8|>rqr(;4MUM943bSs@an0Pjk`}Z%QC&Q^nu24E* z`-%a`tPwUlQ}PhsPFYIa5wn_1O--eJtLWLmo|NnCKV8KO{7`1wqX&bH&LRUKLNR?y z`lhC7w%y719I_o6!J5i#I<8(1Yl^Rn@<-qY12Q5;1?-1$=CK$1GguXcKu& zU<7QwdGDHqP2X;uaSuzheauYG5}bLQu!oF80mSA2w$lg*s2L9K`+##4fyLaVr6{bb z@^kz3bJKTtaI7r)%4Y@jt@*B5-)HjKrC-- z9X+BP3Y*zTB4T!JLO`L~~ZWfS@1t1)eehIb-ogU8NuwE)b0KfCk+x1V4G(6W z5Em!B(3fz!pA%qvnAP16?dgR!XR_Fb@))TT1TW#jPy6GB3X3zfaiOOpo_v4H4QclV z2JdK$o=)-f@B((1VqvY_ywNy(!$^)Jj^6pYuc|i(pNnwgjTnbu9c-qDmpy=tclL|h zC6E_CKmgMKN#gMEIoau#Q7K`NP|1%sFH@ZZcd_zh0^653+WUUi#N}p#d%T zC)rqt1=#q(FFB2@K09>k)ic!fJ@MzAPq){e*AH*D0x(D-6Z$d;(d55)4e}0%?^E9Pzk)}r>8UdNo7WTky!JtL2#{et`5A} z{UhZ+{RHNvgRM3KgXggWC|dm)DUitK<>jTd?-2)3Qa<~AL}X-D8+rRp`bedV^t`&< z39(%ZLNJ}`mwkf$!CHwR1Iu~IQn%`DkIL8Ql&_0m)MsTo1zC!jeSHrcW>7!Bs@RU) zRqvWAe?7{>LvT)c(7oU?G&JO(+?USahQr|$q4Izrt>;e7*hIcAM@>^SQMB*u0gUE^sC?Jst z1Oi!5AP5V#R|7OjtYGNFdz0INT^WzvpYMFq6Q_B$cHv3uX|`m4(QEWhO_xy96vTP! zQ1$)A_7Xx-|2b%f{d`Hm*k(AHwl(AUt5eFScIp_F)#B|N_`512j(?TCA8vM+7q zoj-gARJuY*KJ^d5LY31H_v$(d-^2??fm}>58&DjexSl&P2c!`kYjoGHk;1}gB0Hq% zBftYGmYBoi`d3y#K_u4Oso+uuY2vE+V#Y5bD#`g_X0QX6V)!z`4Ae2kAw+1SvWS{DCK_RFulRU94|xE0=< zZN&S)$fd#rs;euw%54C&VlgHb?>+^<1UoxBNtuc8i(%uDN4{{n{MxZ@MDBf-+#(@iP_YQUwaHn{T0DQARBIl8p;sKf;v11vortlw% zfTjjZjNLD8y_=W&Rcj`qt_$A}*nJ9&L2aHP?+wx!tlZ6;F>QCU`tqlzr>#yo6#Vy0 zFZ~C0eHJ>X`J zNa!mNg9Hb=8lX&}s`E{O)cJEIL+})&Q4oj#jqy&G&hMnQ6{?JiEN@SMo+Wq3`Fxx5i(p2W?>-!xFQ{o;V(B+)wo)uId6g28_rkrir2>m2uOtc6e-NfmC=13( z*zx-36`i1XSoG~f@(19y^UJWrF_OeT-C&am#I7jlj%6#-Ur=Kd>3^0}QvxVNt&Hhk zJ95o7?N2@i{(;oH>at$HcZu@oz{YHf;eu%uo*FK0cY5TK#yfXJeSd;*Yw63;cYkD# zPW95x>xI#(?VL=UZ~pXb@#Jx?P|n5)k0V1wZfxA|U@v|EcK>qnm2|hJn_^Af*C;w> za0ofH5;SrC{mo(4cb@_+0>p0GQijm<0_7Uy#odE+>0jE&8*?`~e~vHh;bGos^JFB&f_V7Dr($_Z^uFDm;nBk$;QZr{$7RKjTzxYfqr-Xx&O;#WVjxyn)%C>+ zIGG+yO}HtFGLPqI?AGQDB4J*0O;bc-M>BC|O$+Gyg|A)!Nhj}K2+fOU;#XF20ure^ zxViJ?V1V-HGilYR^^Yu0vc=e%n)xWD9swY!CGP?uNv6NaJd4G_X?RU#M&AL4s$Q(a zZb!$3@0i+2!ajh)(+H6K8Ei2#s9>zfvWCj8q^hD^Z7GVZf@A)`js!0)siVezyt3=AC{?~ z+inxR>`=!)|D58RsL`?zC$bD}fSWnUo5gxKSPwG3u z9(8T8PHlq*b*4-2ZBdVF^{EhI90DTfn_`$;cee19O%R?NE0borJJ?dPf zzL>K5ZSWmUfq-Zx7z_$_Ymtmkc_sbDR(UgFa7L7Q)a$^Hf&S}MPdj8 z(1ndr;~P)drNFl+-~!`jmgr?rP6<4kw<<1}MiZQ-t^R%STDi{=%Mq&hVV3M6I&pm> zj|77|%smnvKSA6=7|w^#@ZSaK{6Kud(`V`-yu`Ie23}@L{eXGY8>3NT&^gIOYDN=6 zlUFw-6LVZuWiHA(o`VR$t_Z|5U@XL+I$rXCl8SINuV!C6Hg*=Zb^vxJu=^nIUIKO3+4A zI)rABJ6#jO5etRXmAPGE@D*u|(gE z1+^AZ!IV@*C^ZsGi07dv$?UJ{WJtxPh?>810Gn4|Ax_g znr!p2+g5&8@3mApk{%+6N@)=slnkjHd&}p~B&#-$& zGTR6BvRv$XVLy+Y<6h}JOs!uOm!|Nlf=YKG;mX~hdgKY6);#Kq4VAclk)V=EMXK04 zs8>r`52TBG3|HBc%Id4FU#<6J$#KfBNcE_QL*vvqNd=YL5BK$prY{zX*@gX=A`u6> zSWl{mhQsl_WMw9*a8LmN*_eTmkv&?O9uPn97n@6aF}`YX>h{N(B|G0IE8PG)xsz@lo`eo{f5pBto6OVUP|LZ6RO zR&Tj(3?r$BFt3r@&8{-p)x*Dj3Ky9Kp7)8`fTNgn~ zsRPr*PB_+OO2Xq78&@tqD@Y{JnFPTAjw>P)MUQ-{y)r)9J&<)g zr%=7oJF$JRSx4Lt>v4qtG7hvJ_%$WIJ$;ARn`Df8>L&gp#kpPduDmj6e1T zSr3d!1`pXv|CTTN)J#!qa#Z2E5~dMGcRSj|;!kG%p4qEUBV(!XWRw9L@;wF`?t{DQ zx7K6gfH!Nc$S}n&2M{u$8^{WiJ!&V5M% zpQ0SiLW$p5r-}pCiK**{-B&#nay34h#5~`-2Nl=nPL?(`RHBPMJ70t`gc42%?#AV< zr90vhH-dHgcAv{TjUMHU9IixjW2G@!GW8lAGr}7Rk2he4l9~N^kAsXOBSZphUs6!? z9(F(tHm_&(2iG_y&|eA+$W_Z@lAS~nf9!2X-tq7}z@8ZI9R*_vF%7SRQz%g)#0fu?mtbv(YduQhRzOuJ>7sZlzt+dG5Yx*D%JuR21Z>jgJ*m&>l$0pUXDx!syN3kjbgoC_2OgSA1T)g3`7HM5wyj)#TgOG z#F6^XO2u3b3!E?~BSM<%uzCyhV3j_@fv<3mvhGT)7FM{$R$YA8YlXN`#2mCz`$gVo zI=F^jL(eCNv8K-eKuL|o)F=FV1L7tj+(N!#*LF&mx5{EB7unw*@gB(5n2=s}nkmI+VM#u>q*cRZ2AgRXZ2^XnFGG zMNb}<%#S0rHnv@tH@A7-nHV?xdEvt7V4_lBBC^v`{X>{;k@0WzGDSaV2`?9K=5~6Q zYp>f}O_%#9Y@06IaZQRLmL67MZLhEP#Nsf-P~9=mA<{7%c1vqe9L-?6n{Kt%CzN@_ z*L81LA{=UgGH6jfksLL&N3hY+I*!PVZ93u<+4+o$*z-nd`Av)T)Q-pRxU0rGLIcJ4 z3pFFJQM;nPE|{2c7uFc6NSvckKn7W*G4ZAC%!;xOQ)f*Va-951vT~1~GAuMzu1+cP zOyK5E%r!1uq^5mmCwTz%D1gS6+m!e%ZVK@k^KwD+Q*-Rp6emE9a`S_lX z=qOiD@QG$p4Jt0)C||RLs@x_3_m=dXc)A9(QYkVHR;j{kHl&zwX3`G z4|Tp8BfWC%iu~>b)$r|T9?eC1r*~CP-#lA$HFn8GGe5S3Kgxb`G$YB#c+iXIyDRGy zuD|lUCy5P)V$_e7V8k&b6}93g}G<+}$*FudZUCrjAJvtFwMqZH3=og&BPh&dG$ssnphr12dq{94zb}Xl7Gf zB-WQn9`p(zw+)K}p4YJ)Z7TTBqD`UCN}%eY!`pc3oi!B{xlYPWgM5x8D4j*^N;f`i zZmjo}9c0O=ck%}xd*SELuGH>6yIGu4)e6w5Sa(CmCqJ~Mf5+_MGix>m;XYG20VkXH zpjBZFEc!WxO&sv&kuEjfAHUrSIN?Z_b$wm)^gNLQtFXJd%d<2HFAn5uG1*bG)>lqm zoeQU^AWpjy-aQG``)HVUylFmlux6LraQK#m*jWXe{W_mITyH&aHDO8hH_V~U%46=m zd^7ChSA+e}a}m$3&m1SNUC^Gps<%VHaUcG!s}5Xd>JJ+E`YgS!OMt0un;S*3l<2UK z?>ZWIa$LYd#H-V(Q!r2FYANKoS~-fD2P;%M@l-6v-FZ5&>9Tb1zDqGdw#H~yAC@cc zRKHg+;%bCBe_~TI{3wUB{@`O}lxHDJ9H&7sY?^1dI9T|1DQ0ekr*&wg`(#?Cq8E-J zbZA|-jCjW?9_iKPvp%YYh}C-*dZ>l;uQOSvuGM?1COj6X)ay94xgezW4C;EA?OjRL zZSMfx8R{z-$JCEe-w9;UOnrL;7S)%$o6W1@#u$^6R^H(kx4uuaH9y!f>?6EVEo;il zm7BVk>>+`eoG3reaG&xUou9I^*;tjW`O{Hju%FVxU9R3);yC6^y*p)-?ru-Gh+9mu zx{8yjQ-cTl#<*m4qUBwnP%Ltr+Ql~2oFf@Ir}EM8M*YDT&(R$J?FrGsZtl=`E`zUT zM5p#%bKRp0R2s{Y$_?MBei&ICJzl=fGPM(Zu+v}mAR(y-pVkuFV8+9_xz%Vx(Mrc4 z88T!Stf+ z?8OKD5b)A3p{2fO?An=YQn8Q}UA=#P&%x_Mp^ManpH&snmd>X`<}2OqO9uu-(xt2b zslk-&h%}eww8+UxvEQ8%sx|!qF)Im?>!a0}WEGYt+#55m;dh*uN$sC-v${42UG=G$ zcICt2aZ8Rb)P$jJF$Sp0!-+eNhkxp-J(RL3V3UR6EaoVj2g0|_Q2MZpF)u(TyKt39 zT^3&GC2NdnV+}ToIXUDs@fqb7VOf^EV*16gLfO3aw1eoQ{~e2uKLEzlM(}Jt2@Y5G zhxm;BJPwZzJG5hcEuUTQ00l+<-%M&3leUZf<0v|Uz2}biTM#C-!)A6P4dW)g7g#UE z-OR;vV(mvPig1*7G|5?Jyv;w=w`|K(kSW{WSUEsHSDR__I-dLxWZCfYGCet$Jz9ZS z;W7|5C%Swrdt?9j1AEdgbHDt{GH+13JG!VMVDhPDZVje9JH1zLa&4yIhDtJhnA-i& zHtLhK7$;PY0ZK;3<|edO-RamNnwtXA-;{xrAp{C?2^C=86VY#63O8zec6VhtA819t zWdf1uyNi9g_pm`(_vGP*3Z~!?tqx5dI(Y#Vwf72|F%H_IfF0*4@3ZqA4@VzuCBat0 zVocdZkR?{Wre31R0RaciR~d$5%!b9s+uR;xgZzLP%W@nntq<`nttz#aWpsJY;ag%4 z9g9RU9>WE#wrcw*uc5XB^+b4$o}t=$9<`D2vlVwf(WF~-CfMb0Orlc{oNg)I{E>I_ zjtOtajDgQcgkiK+bS$9sbNKp@XFEK$RBJ(4Xe6vy#^dolju~23S;iX&BaNktRIbQR zIApC?NiP3>nADwfacnunhBA!Ew(^ao+J<%&y#x=W$<7?XFLQ$R*J$7LNblB-nrRjf+_c*Ke zR`pR775FYY!$)sx2nM6UTZ_8c(xwJb|L}Dtv(WQ#w-;czKGwLSF6wk?PU-1fzL-qE zKa;+d9xFXq2Wa-NiN190ki_KP^LM3vGv2min=#XQrk!lKhHO#INV(Tk!v)%*CPyu4 zy?%17-y%hKC|{2R&8>>B9G|(d{jKrU84cG#=TSQK;tiDla+o#_SQ3u4SeUHYjKWAHqoL=GuBj#(k{!IoJ>LQ*qu*y$)0iL{jElF!kX-%E_C`msehu>x$h~`=1!d2;?>|0<8eKwhi6Ezs<=4@qVaYB~a$3-8cK?T;h z33w&%-!@(WXtJRw}ETeK*WJlc0*C5Zwp|8v&n;U{i;_|ah+Fh5-oo;E!Pq=oCd-M&;YfoT%?iy1y9#fBy zm1&cC{WeK0P-$`odB*g?a@!3H{kRfM?DUEBRGI&`TcU$p8FLZ04l5?gi(9kpKgnsh z7!|YIF*CGc8=eS9S}}xG2@*mbx4&aq^?SxRS9;qE`%@|R9CrGhyt%N*krTy#C)SQr z$D=;@u+k6Sk2~s??j6min25_iGmgCGv~v;=vwo;K_Blhw^AEXnd5Ot8U9-*-#@^tA`Hj&SNHEF_NlsV~lm%%1N z(qMmqf-c6>`TKuP`6YZx3{M8CW^T|3c+TDnJXp$^vsoLhzEayS!56x=6?1uV0t^5XMgiUUs*4*SwDed1! y^dZVk;w0_zug?5`6oCFmgc=}X|9|Ve<%Eo22pf91onk_ogPM}IB3j-u#M$uhzKD?V%}>V zFy3(W*qIO!5d}@*XN{fnPPT}Miie%`VONCb1iky3%21dXyXJVGI`sNYS7zQ92YqyN zM7)MO>Ex*=+R0_suTHh;pXsQjp4;i%yHj6%r?a}|+0B~n;c7SA}JFF#u&b%S9{ zhPCVb@pxTP8XodAx;b=!bqLrxT+?igh{y@G|M8Rkh0?kp;HNs<>*PFe9(^0oy&Z|D zLQeZv5D1xVz8;lVGfl%rT_YxY-%S1(Y_!)&?f7_KtGYE05@CF$_gG{C@M4(@`o~AD zDeG5eGUjIJc}_k3=^{68G7c2w_yV79929Oq}L~`*l@*V>`d@8O(fO0 zA9bI%xeO;CFwjSg9D)0z!5!8`x5tgjqNW##)pV*U%&dp80SmEQcnylTSel=jg`6+f z&w5sQZP30SOcG31&qAJ!k(L%CL)J-nJJj|3b@c=yOS4vPDu3=`l)2w9+ zBO!@x?I0Z9mBlG-#$Cb+XR~$*habctk{clVZG^KC(-SS?JfR+_qSHh+U~xVKi$ zs#eZnd2!qF5ZGY{BO!NrvH$XhN$k2iY-^Y0*#pZP9z}Q`LuBdvzdC@i{uiy|-`v+X z95pp^dvc`NVub9bYmdm<`mYnRcy(GJoifK-xzC$~-d^!%S>RQ-|F+IZ<+0`LBFPy| zzy3uFz=PVqc<`sN*9zgQVb-$#Uu>%J|n?* z6^vzG2rND`{>(o8U4PtSTkkV6GOAL9p$OGz0dHPQ&5S_rU*uH?;~9;wj9yxt&nq%z zBpBAp0kE}omi&`4HwIhkq1Rk51;t;XSG7mO`s1c|niW@6$yf(fhK@J`vA4i;C*H)d z>y(6%R;Q68X>7>0UKlip9s#JL)q@;GG)2#aMsSB)Cda!=>9>`QtEwYd;g<7k%6GKX z(J?#3S<8#=ARbmJim5^DEb$mi23hv;v5ATXJkz&$(wsg1bV#k7PplRYT`92)wJlaB z^?EE9IVto;19I=v>OF42B7e{eZ-hSO?z>AwamZNCqE%r`XX7=H*_#h3*;$Il8&4irF%@ji`sjY${Y~> zu$O_3PRMzqV~8Ms!>UUpN;#+K}(D{5Dz5P0q)US6@E`Byp=2H zUm}5gnPJTsT!Fk6wtlLv+7TAL5Vkar$tvFffhWQ%YG_+ndPH7N0Ghhyev#OT0;LB{ z8KxCm-!dcDynwIT8Js7nZ74~#^=F=oHQB5J%Ko@MgXmThFx>#ghepp(Kx^|4sF{_4 z%e%df*>5leq|J&4d%8TSU=Kcm zui~vJw9~_(V{r$<^wC{X(LQImUtRk)j+@raAOlNQH z1jbIx10^@_OWlnJB_a!EPD9M1(Vn7kSzM3nO_#t%PLt!gaj$N%Gxlh1i!B--A3cpV z+5kyfCh(#pKwV3OGNoa#@lmT+uIssr2DOlRQ(hRa(mD75X~rCe;@ry2cdB)X#1Pea z>j+ZynjcHyHLj>417z(<7|S*IU7GkMi&5IH)i_C&jX5T%+47uuQ#$yhvr(NS7=sgD zdkbVAm|qH59?D6)G2B+*vcSKnou#@WxG63v0yhe;E)j+w8qzf~mZ953PP(I@crTu% zdg*fFYB<@)?|80ar>_+SBO=4R{wfI2+apD8+HPDlBQW3ym^B+%7G<^w|HhZl2NH+s z#?s+5${c~AGy3W8eGBg%nt)vJmwuDA29OoCw7?e>GEyy()h@T!W4UrrHIuyUV*2NSsV&6hSjNYJ6Xm$JES{K*(k=V+|4w5cN z8`D*ENPBFJ_ui8rVODpS4u+QKN$x)LQ?XI(nosq?Jv+_He7e9_`bl&?w(CYaEyS&H zBZOlcGJrZk%-X#Q**N|6DJD0SW9$z0>tN`}OCSALYz2iD<;@TWQv$Zd_v|n$%jRO0 zE-;^b=<*#nB0bG}(*CN}h5GmQScZ~93QCZUuY`STMwm7xgp*B1^bJjMXt zEG#^?%{DoTvf!mC0Foh66AIe9n9?IjGFP;qYH$o|E*W?E8<;_kFwZ6+KA-vr`e<<>tNAP8Cr8ROsiczo(0ftUf zViJ1`D7*2eKF!-|_ ztmrXGb;CQT#o3|dJ4fay<(+2X%5i&N3a=~T?DzDA_EJgf34n(TB_V_NNUBj% zCaLnTnOL{_WYyzhe_wQ6TV~?NEUxGqo$Moyq4JIbmx2zUhQ?OYm*NM4-)hpD9y!VW zqyCIK`?v*+s;Mwv4KHw}ic|89=PFM6(QBuA--OWC|9!E&z$I^PD5dP1kI4i8VrS{s zbw(;gb&D&?idW;|2N!uR#0-OM<|tAY=k2$Z%B?G%4z=#hU1pQ zTA0TsmOA=B?ns$dx0eNU&Q0YruQOHi5PgWn8S~(3jgN4^9CEbFv5)=%d)q2_X*H$l zv9?fW?JBO&&kl>a=<08jh0dd<+o6I8;(*%m*-Fpe66kB&pP2K`d621{JpM2i1>Hf$>O$3y6^moyl>Z?O#u5-2bj(j4gt6M33GOUU$+N1ReEfmkyNBjjq-jV zr)X+b4ytJhn&JeLx;|3TueLks&K-WT?-cSxEPmKf)5He<`^9?gRi^g(bR};KAe&i4 zZ9X`>iQ~j3z@xIb4Po(v(8d&r`P69uW}*b9tJRDv63fqIyup_?(U#c z5>q=^(t>lv8Kq)i;VVah%qxq!NFJ8WVrJxuI~Y1r2L`S;?Ad8j20{3{)4|?(3OD?^ z!0Ou6`dNFt_F__A|`fgn8Og`>wo5ipD`G5+R>2tuau5KNu;rtfS zlPapoUVc74*)sMJi`fg&7A`1|WeP*5?=n{KC?Xv*v|9-SBvxg3X~!HWkUs%=$(S0_ zDmG_Wo@4uZzz-N_0*T!ZCre@$`d4%mOWGLLNQz~juH?);Vrc7H+?;B2flLn_rSc8e zQYV7Ro70#aju|EsNC=DL2%fS#{JX%o*z}C%_gzKn(;K`{@@2rYOPIjX4Gu^ZM=wy$% zXM*m*5PEaT6V~EFwoG+B-g7)EYTB7U74WDEc8=V;zI=^1dlRSFS zL|0y7cDN;bVOE0jREE_IWak~w4lU2Q`PNBTvIUKg%?m>HdXSes`_gA7X`ko52?YM1 zM@KvPRmUS(T$t4kVU><}E*0bSM0}B%Xu#8ol8J6Y%HhOwKsBf#H~xLaB|J;Mxwj@4 z`ch~8g^+bXSp#$f_IdxA+$d9@TBfG*=30p$t^zhb21+59xWX*2kGvs4&8maZBRQ4LE@9Z#yK7tfiCnTh9Q?DK2O0(~l0sq6Uv2)`C;+MxpuEeMqPU}(sck- z2g57%WR zEPHyTj|8B=*))}Hyg2dwy8~^e6^8@PUu`P=bog%_t)J-pt$)?F zeT4m*(@vl4GSBhV{I^X3$SbowWad#bb;~(DY%aU|Pi}u+GC%QbLH@A3Q#ah-d<-ZV z06zH9XduXV=Ims+v%fmRfap*hL`{n?yGzgQsPKlp3KZLnleG3f-HC^>Qnc&I-4p)i z$MKF~Bl5b1g-|?iOuhQIH>w{_WX5TMsF~qQiwjZ5lA|-ffb&P>F94|r4KJaDJs=w( zy4{G8AnK>4o(*+u1+R46q_OO}8~ZlhZCPHt+(i?!K``HLjsGw#-^SetoCUB!jJjFy zS4ry&+>QRobt`S9!?HM&tLxSGBG(-t-UN8@D1!OSjLY64(e3T4y*~4_+j z?A_t(!;B3gBG1;<%87`)UHcz=wqDSx(%K$b6d72W9NHZ8DX1s6s{ig#HTQ~gbA&C1 zFBnXim2x-2nZ61WJWDovWT6rFway@qXfz!#TlaBRDs`gSxcq%>+w_MUg%uO^I0W1O z;=@+(=z-InU1tZ*@2-H32TgQE6s3)zQ9UFtW|hfo-PbooiKj~U2sEd>f@)RXIMhsL z^Z%|4AKn1D|4E_!s+Li}g)q@{dQhP(JhT~Pr@%nH3o`FVwYVi#_5Y>!HMJdogAriV zzoXqW>x_nq#TZUh|SZ8Qj0e-QA}G;%*u!i`#Xu zB_n@5y@>Ig(op-yQv)V)4d3+R#OFO|3%BEUm8FPX+p_}}|^hj4)c~WwnHf8kuZclwONCSKlVzcwh%_)>0DN&7=j0$pK4rW~0FYTgC{d-3K1qv7?+-B<5) z!^O^cPR&-)P`#f5(PtFFI?DFj{qbF1y9s-FbfNvcNsA4K6~??%HAARvXv+2uYT$$v zOPM@yEW*0~v|VW@9tr0kw9Pg5#hc&4v0pjecq?iOn#Qls>-UKq7u= zCg4!yCq4EFv#Qfk&9!5eku_n2v%aRdZ`09_iQaKTzVh=QJPpGp9dvpiYUx#AXA+y~VujCP=Lb}Ms z76kZlqXx`lDTIM@1WGxn*z$yjV)ptq8S;+Ouad@Ffg|z)GD#D*_za-K>dC(CPjzQ;UwphcB~T)nu{FVgx?-|tzR;k@tahun8xGu5e0C&( z=@mmyoHNa)wAXZwvzNYp9k+mfVwH{wX+fzKuNXqLf6QM{PXNb2h0c<5t-{(qbZ61N5>eG1c(0Y1A=dR`mQNIX$Ml z*VFLwM3Px&j4jLLT<~8p zmasr~)7%V&nX68|rmw{;3%7R~T&1-555vYTFS(@0)Fsy=kYk_g*;7tqe54c50{cJ!oZ>9KJoLEQqCYm; zeJ6RfYMS$r443eK(Y)BqSlk$i8OHzD0=`LYeHeAVik34I0W=VzQ2X z$=H_}`>uON`Q3i^bMK$`e(v;no7X$%Jm*=z&+|U#MBLK4Mt2-?oQ#Z&PW`&dZ89=) zQ*d8SO$q+*KXcI?d>wJWeeEh)K^xl)_=DW$isltEvZ5H;-TM^aZyJ~DhG5W{3#99a z`fVN}8JU2Cy2_P1-lhwwG>$xmNjTP1)Zm}Fq2Of!wct}vPYGXTyZXiU)5ohB?bM}4 zh`XF$g+lM@)3#6-UClEs3RezK?924as+#H@PK0IU+2s0F=2hj+x#;y3)a%vc&by_0 zZr#jYC{3*)#O!j3%{MkOC&spge@8-t6leIh8XG1(# z$>6p&Gq{ud!HLTxT&RegE#()N1flsqIytJt-Rm*2?hp1Hy4*5 ztZy_eq`+A7+ih)a2_4a$u{VgzyIbyta5yqFG&K5Q%@1m8S~|{tn=E2b{I7nTx1Cdaf)_w1~lX9nGF&^D%LLF?tY=ZJC&$@NozZpN@%Nb%9DfzPz=@{i%N;%0CD!|;A6+9q)c<_A zJ0->BRXpxQ<_$I))5~F_?*i78nN!`eNV9)ah`hSlvCoKdd3}6QNkLhx54uWLA~zsf zUc)uzZn&jo-F!A9ML&c&lGEExJ5;R~@o z7K>YPrR2~v%EXSqFq_KF!}T7AGJm6o_t3!mwL+M+?vNz5eX&q~%%`UMQoxqgmWv2? z?aM^*Fs|0;qu|g)qC&fGZ;BV4C9LH1y-3k^$B{86Rg?ts04q!LuH{ zyuW8YO@?pZ#@}S-IGkyZj&x(IL2YF%oelO>C)P#qmmgaj>`NJ(_tX=@7cW~!T}XCH zIAC^ON^AP{p`=~MP5+^TyFG?F9h${`DnqI&;BIB#0{t0l?P|-CRz}p_6X?jH20D{} z4wsWgN4`eJiLQJLJmhuAqRQoR>frDTxh*T1GV%1yxK>FGqPYk;bUin-#r*pZRZj0C z$n)R|XGLB7?q3A|quHr-YfhJv0c*iN$C3k6m=|i8m=sr6n{21&(xGX~L9CanD4-*Y zYipr>I~xcLrDHWYG$kiQ?iO|dy$xJQU}%0l^jj2axbBaTKPjP!SjT4CC%-60MmF=e zTrq*31;lchiu>CpKd>=PQ^&Cz71)$Zd->M_xrwq+fBT!FV@}QT+|K^|tQ>`e;hHi^k=&p)p(TOAD4%^E;T*q$y7ST64;RCn=ECjB6KTE*mbe5bhJ{YWcp zl;R%OhtUheBDv==Q@I!$#V;~GL$er%L*@1qp=zgw=0E#csSm?b;+@Ny{@CSH2(vr4 zu48#~a)z0^?yl@0kKS}ZC0?z@8HZ8=xi{ruH$v>GIi) z>g1$y7j8TIeS3A{(bN+p<3P}~n5nnX*sP$E5UXF56Nk~3jcsauV32aRxX&7db(SxY zu|4XJ_zg~hBuM-O*2!_SiysjKdC+iE4d#_NX2vt=7vo=;x!{1Jk0*!zXd?M24+qM{ zUu%Bz-ZpHv+&+l)4|cd0Pq#j}Cb^8!kPNCnb<)fi_~^|~qwjh>UM1y15GGO2Gf|nB zBo!K_^0x0u?4QKuPzqYUzaro)?ojJBo^6+g#vxX`^luzW(D6rtZ|QoERfhc{Pv%hn z30>`{AO;6O%-hmXtwQ%q&!4a=LZt|NYSa=I2Q{xQS2Z@fjl)Z1#+g|Gh=kM*~B{<|w3E3=YTg*FMJ zPnh&vsAelZu!Aoevo5|J!aQwBg2p&H zQ)w9AL;oH^^@h%R*&SN1XNQJM|5#kh7bA(QzL2bF*);k21pp4NP^4^9f?J-rYVQ4k z>B$epG$)MqIzP`2&Ljt8=CJXu zu`kqpejwjdt^BFfIuUC(KMl$reSF9AQ4L8s9-!D1UhjwpUytiM>3`RR<5#+E{d4!& zyOV2vjxhA4fHh(fCO*1`dwZ(8bQCnE8Sx}gvDGKmEmfqAyU)z&q7*}zK}1sF=6vou z8=P}2P{-!hT8fq2y+;DSS$fl-{^r&Xa$ZAPT z1*=Jhss2k^i$uBxkY2kf=A65qN)9CnRnS#3Jn!l6r@L5i8tE7qc_CR2s5LU;gee!K ze705p<@3xNOcsG{5IW13Q<1x@_PdK;UlA03I_G#J!mZ1CMy?(@p4j3NSYUYEeKiW1 zgt0kbKFl-E=9hKZeq5^!v-L!B2^PUO*6Ty^a1Y|`zQ%uQW70BpU{9plumSamJ4-v$ z80M&L@x1=aar~`jy+Dw`6rYi6;_uNLx;rCrqZG2NKqC>Bq0G@(b@uegfrQ!zORf^p z*aKNkNaBDj>vncclQGE234~9AW5ew4Xi^oFJYO@W#OYXmMSw+Q{LS~D+U;7-Z*J%W1--Xh<6z#RF??_MVauP75v9bZOgt(S>p^_&=D+R) zLU^fP&$@Dx5e4E}uJ;z!w`5=@RglFLtAT5N?H_bs-&7*y4tGx+u#-In6v5g)|1P7V z&jEgDi|gFpcK4#O*)K<*j8Y6{_N}4H%jN|8{KeAa-8ERYoB-qG7XYq$gd#h#HAP?w z_IC-oRoASex4S%yc8Fj7NC~0(HhG2BQ$;>8B`JcNF+0!9Z=xC4szBE)*Ib< zhz*ZZ#Y~B%zquAS!alurEpBKiwy0HN#-z20o>^?!_;O#AAc<>g)A^S`+bq8`LK%-Y za89qB?6j4g9nqrdOM4Ci%j!Y`&Nha{EDQg~@xt9J5AL66dy(K+Q&Y@C5NvCbnz{=n zApiFZJX*)!ibmbC8Xr~C-`KFUb2iA5>anu)QQux}af4-RNQy;L3>X{~Mn&N3cjQx> z4#ts`*ny^3lRSoQ++B<=>nb+=xnk)sRE2EbTSJ}5|KNSU3DKPb>ZH{NW`3N=HT~nh zL9SW=hJ2An1Ej<*jHD&Mz@6ZGA6}sTJIx;|j2sFlD51}0 zUInlBHkFEci%@X)DG4uk(W>>dgv2I;m6@Pt6Zy_wQQ^DbeZ=YQM#R_X z#$g==bmI+#nWftBc`z>O0-9EdiBuK+xtM=U1aLSNw0yd!-`1v`PR_leyIjc}B`=jm zeV)tQo#$_|Ac;Jfo{;a9Gw!JU%*6q1^%K*&sR`ra>IdliAF2cG8X>D$MFs|ECQ|34 ziZZXMs8j(CuP45F!#x9v`6XlbEc?%6FZGQ6hpbsY)jAKB#{a>mo2JZWiRp)8shWzb?!X!>$-@j+rr z$_qzH0b^t1VT(EhOi50Ocy!^hoqyZZil~$n9}^Rk+tN=}!tEdL-(NDkcke}NYU(&f z6s8=P&oSRp@`0`*5!>V!>AswsDFURFBH1C>Oqn3HvfcE4xKowDdP_6)$jW@581ylX z)E1c}z^DZ!Z~wLlx8+gvF(|ndqUj1@xO$Fa!q3kys?~-6xE^=nkQ0j$d@bSrK6ugS z4d>=Ex4BL{>T)B5uDWNov9Zy$6DBT>@BS#c4av7%si~@(YYl1FzJtMF-qqIr+FXM4 zY^E1?jD{`%KSd1wKbAVD#f+ca)Ltfv5_hp*)S@+ih7{tPBitAfCYsmgDS0-%81q{K6pkQD9eJc-JIFJ3&z&F+b9y@r z)r3e`wxs4`=wdPZ-L@^|11gU}Fodgre2;V3|8xYW5qVS7mwR@PYIiaX5P1xUaFd8Q z&st?$Kf|8BMp=$D|t2yb2}bE39V#I zjmG+Nd+eo|p(=o;#SS#>!~;O-bZP9mO;vtDfiL2-7L;CUjQ4=@r!Ead0laoG^^Wiy zh2tY&yDuE+5A(lUiVkn)Bab}6=#c2z!{O=KVaw#>GjRhpGBzqIj?RGF+zdpiWLLkX zgQmSj;Rc*WYV?q1sxG{|=utPs zTT~GV(k#HYj1QPSNpgIO+9DhapX`oG;f$2Tzf=R1Sp7_Dl7J0=E1)l27B=^tsd}lx zj!hy_g;@OY<1NXSu+a&R%kvAxDPmk)vQQv7dB4&QqIy_KCwbc!vXk@i!sbIZiFpgUS}t# zrq*OBD_h&f-r(e@WvvuxjAWOuqQEX()RfTv-jT|O zEwoB?2(K49_ce%f(zA^3WjodCIrh>3N$_@G3Q_cKH{@ewWp!Jd)$`dT-v4&U>3$Sa zi`Mj6i;Qziu+UVB#Q|j_MiiOKsgtJS9_@X6W0P{t2bvVzdp}=kP6e!d6p&1EA-)!4 zoU8apJYrPUpuBU*$K1SbYt%~SW6BB(DU4L|jRAC0*8zQS0LKYsfAB?9?TH||&>^v9 zBAV5Y&a}LX+7SqDq$%y)ZiXr=!$}|bOJZ8udV|dn^S$GyyAvq{;M*Dp?(*s}Ih2fn zJd~MEVV8FRE?b&#Ag$4?XvcPvhK2^a)JyhxfNMsYF8)1c_nhsf19~*LOM+h!36dU(tbR^epWcH6Xc`|t7*?=gIw#5RNE2w% zGEnC1w~^4^FbtOn{iDt#7vY+ZA4e&muFf9^Y>BVOT@4J7UOw^b{0qf{wL(+!HPuaS zZQ32b+j(>V z$vrpGksMJD(g9O#>@$mtlF`}sS?Nqym$li`AM(C6owXd_%nwp`m6<}7rL3?X=%ttB z2)P-W9z@vDKF1!1&)3w{qFTLwl-OW>^>@G`jF|$E89KIy{MGwWAnJk2Ns+&2=I`d# z!J3{93osH%3+pBt+c4?x$ljpy^;ow6AmC*eFDM1uNN^uECpm=*D{$YO5XpA*%)D%; zsxq_F;zJCLV6u_`MN~agV_SPW2GXV5cmo}%Z7e_2-lYLP9TFV@@txkB!TPdr zaBS4YR(TP4AvHHOHGQyo$Vaocf7!Kq${4o!sJ0c67I@7BVx;Q}y=iI124U^Bm`Y}OvFqP^HqX;>{7SlzFJ-L?aPLx593sk z8#uCI`iBr;U70BzXPGHgAGwwT*AW5&oC-B_FBH4AJ84?aNOz-@lY^C2u7>7;g8i4* z8h7U0rhIdgZWQO z?2S>v@*hl%u4hl>o#Cb<*T8kb?m?x3|`*=R{mcMc5eRt1ZGI zr(nD!Od7r9Q$~b{4H&1$8rlAxbTiW`b zC}uj!C;@XQPcwwa?+D0L6u*k~64hN^OLVo+eFC7#7W6De|Jlq8m)wNB*rclo;{(NQ z_M3kEoYnPy6ujI8y`!R6+mk*+SQXj6JET^&1{LJ;I5Gf&Fj)iy;m$Yu#`^IUKSK4C zi8($7OH09V*>b|y8oW{6Y;?eKw6w%);~jLhC+0eV$D9KB?*V`*$QS3uy*_CF=v@A3 zU~Fw8Jvx)sz$5z`+j0R>F#WP6n~Kd$+ThlM8onO6u%}?y*O%~pGAwG!U;@1ycjB`3 zgta8MNg|7k*J8@OnOcDqi)a7Q3FB|%dEz{47ovk6S-YoEUTYBy9Ok7m|@l#_o z1W=#>4*&cpT1mD0Wt7Kh1QC0rKURz0lv=ib@Ybf=QpW`!o1F9vk_vU>LHeSZwo%Hk|$5%cfaax4R<~zXP*YS8vOd| zGf3H*AmQ{QK7|H2OGZ%g|C(tEfL`2+7+z^$GWhBV5+qotlawcENM4-3NFa4Y{4Lfi zb}^U@JO|xcbIeAdqx=S^X znqA@Xz5?o_QjoAn?SUVc-TbOLs*8CFzelw|70xB3v(3kH%xyJ#*F}W?X0zrGn{n2z z&N$=NYtFVi1P(eMsocHx2S?9*^}X;Pf-XkIRdOAlP#2-C^6^0%w%7O3N@cs(H)O_X zc({5%Is==NS%Sd(K+oZk(RadPBiO*(nq3v!Dx;^GAgsZWik_*#6e3PErXVgzUt~$3 zc;5WJ;MnpGjBH-j-I5}WT!+Ui`tB)@({OTS{g>>FytU_Nd_36bkYBqK80e_9-v-?5 zT0wxB{F3t59(5wg(01Upi)5QYD|;J_wyDX9Us?*WK?;)RgXR|Xwv@>)hdY57`HNY* zpfqRa=4%=&%R#*9jkUf%pg}8bdRw6eLALU-%3s%G|6{CDdZvM7w+ENFfB7vJ?Y2yk+sCY2TZXC;8sT$QT(xD9!4wRUjHvSu%7~ih zU~eLB=b~g31%Ive<@hfS3vR7Q(cC@NZu*zo1UsNx7RNG4sKpAJSb12riIR;6&FNKJ z5le3=8QQ^?(7!IGR7D9Lc>0vo#u{n5*%ag>%k|4+Gix`Il{tzJMC-!EzntNtf_I<1 z{Bt?bPW83Ey}#1Qu*Fv|h1Ug6(|hD^Wf_Mc5upJUsqh46tY$NF`XDk$-a~ocgWxmX zM9pQ+cl|HxCb6UP+2>n6_-ob3Y}^Z+XbRYx$u!-fIeJFr>+!!iHA1({?xzjjZEcb| zF1Hfo?XSH*W>&cCO~5q7(}FjP7k@dTI0OZ@o7J(iaVVo+yP&P5kGoxFF}o4xNL1DS z)~ahLa&Wld9^5dl5KBS=$p1uw;^6RbgvMX2)}dQ|g0UbCAZ;2Zm^tX0Y$z)yu2lg8 zFo2!q!>IXkN#+H2pMw0V{_zgK50@7fZdiL6XL)_LH22d@bNtZKJDD_SjBR;2d~QpB zLvL&67;fTPC6*;Q2)tJV(D?(AqnAO$yO@bu%_BkGP`J24i2eq;@k{?R&=P#-B{9{i zQh`F9XLd7`DSHvSab^lXG@p-3O-&$JW})7_f{V@H?3Tv`m;^3}<{jtc>gWBJyV9so zCE;RoYPE9?!o@l#)V6W@c+ZPxWzt)kpMpN>hpkR3ZU7P?;kMcT@^UJIBPyRYBz8$j zSk#ePP3V)Ma2!DK@Nmz6~k7a;`a?kNe z&}O%)wrz9QJVRRxzuThmdDI^UO$>40(n}PSj)%w2be~S-mo_ABH5cFfhYjA;R1%_1 z>wIrS-dqgTGaxYK>xXY`zptWF+Sr1GwhXoFjQ1i)N`KKq3C-Pi4POviixN^-c%u;= z6Vrmnzg_YQU&!hy?kSxCH@x7te(Lw+(BH>4loUcWZed3mAzTId`7dgY**cdde9Ag< zFW8szB53MnPnZUszqkjCeT#Yf^L}Cs{@bWUuELoNp{r}mhS@YdCEBVcwYPgA84O9r z*fEPMy#|yT^yJc~UFT#b%URF4!zE(M6WyU{@>$I=@>@{XovCF=)Hw|c#JI@ZxeU{| zf+-71ctnBjY{dm|+=kkjkM>N(BHNQXdV=Hd_|aBv*KAsjf1b5=G<{~-n*O%DAdgCo znxu-$x*LQ(rnGeawxL5rPs#0mXK9fq;JkvuQ(_vlVVvxBgfUiRuCyyZT^{aQ<?qaeoy=0~?0ZhuYNW>lZUC z*QZoL?ze8s^s*+eJWI_5mBZUQrOY%9_&KHrKWX3I#s#E zk!xIrHy;@~0R6G{pPXq|GOa85`xSRW$Cg$+0z8*?TojVaC~{&{<|>p#GA`{7O39lt z6F=w4L@Ps1q3)`<+Q_JjArQA7En`&KPTf$14iuqMpS1{QuzZz2BIwfZ8|@1V#;ez+ z)!!ONI^%@O0zkAq_=IyGHJXGxFzOd1llVdSK}0bH1@x5FtnG<~dLEpQKdBt*Dz5*zZO=^rHlol;4_S zCmtsY1*_2D+y`aXAfE0fVXV96bW~|##eGz^FPfRu#%Z#z5j*!^jeFZAH)Bo*wMFpr zwAjs6#7%>Q5)B-?4wtufOxbXTuZbDS92ED;DRXfc)IPO?S@a z*$zXi0*^Y=Y(*45mhOjem~XUk_9w{tt>#K8zlJewiF9nB7ILCw_snCt~|2T#E&!;}8 zA0ok`Nw1ra#m?}sjJ^=hOAEczN14I-dRFE^YL9(y3})!(z7Fi9n51%t${Kde_r&eN ztg{(k*)STLW08fhYpZi)T^euJ?nSs(^^QxwJ%ZK{SfX6N8k?NtY%zYjZouw_ob`;% zO}W&vV=U=%N-r0V%%Yudd~forTN|_;I@Xo(evK`7`-ymt5!Q81{O*9&3j+N&oT&JE z?7*=u_4n3q8k!qjOY?gyqQ_(ZDU;&hCYwDU>s#=3K~!GT(U|`B z=Hw*venS}|X7G{yd?}eL(f*Sf`vqgHPK-eHNve~!!IQWWdW1ZW_JVJ;VRr1^)va}% zov>fh+jO?!XZPF(iO^x`bC1dtPw`w0<++Q!kJ>(|==|N4t>e+?y9-}Ws7A@%nfTmr z?Amvw3q5Fx42Wxe)#JIoL1EX?U`jh31wU`a?AWK|5r){MS@G9iGz+xZ3hHDzn&0r$>;W2@T<_~wpb#c;BN5WX@$Sy}2%?#XYVtlQ72ttHti*Zn0g za{&NI{2kj9g}fFL98Ep$nXd(|o*|r9eojsIqtZ9J_guyibCM?tuF>)Fk!5|X+ALXi z(ol^2ap&t36OE`$w2|DfzurI>ipu@f3Dq&mhrxH%Hbdi>?qz*Vv>!l zKca{lR8Pji;f0B@De-yRZ>f?OspxD|%#Se^2#$pFPHk>v7fx}#vmQoforAo6xi*hz z?-J&@ZnDPaH7F>tP%~+*fO7uPrF^ujTk+}6a86p;y0mE#hlrLkBS0TM6-wxhd{?$O u&_*l~_E6cfl}dKm3CS`t_9eS8 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 diff --git a/chart-sdk/asp-net-core/range-selector/labels.md b/chart-sdk/asp-net-core/range-selector/labels.md deleted file mode 100644 index 5b54728d9..000000000 --- a/chart-sdk/asp-net-core/range-selector/labels.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -layout: post -title: Labels in ASP.NET Core Range Navigator Component -description: Learn here all about Labels in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Labels - -## Multilevel labels - -The multi-level labels for the Range Selector can be enabled by setting the `enableGrouping` property to **true**. This is restricted to the DateTime axis alone. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/multi/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Multi.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/multi/multi.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Multilevel labels](images/labels/multi.png) - -## Grouping - -The multi-level labels can be grouped using the `groupBy` property with the following interval types: - -* Auto -* Years -* Quarter -* Months -* Weeks -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/group/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Group.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/group/group.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Grouping](images/labels/group.png) - -## Smart labels - -The `labelIntersectAction` property is used to avoid overlapping of labels. The following code sample shows the setting of `labelIntersectAction` property to **Hide**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/smart/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Smart.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/smart/smart.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Smart labels](images/labels/smart.png) - -## Label positioning - -By default, the labels can be placed outside the Range Selector. It can also be placed inside the Range Selector using the `labelPosition` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Label positioning](images/labels/position.png) - -## Labels customization - -The font size, color, family, etc. can be customized using the `labelStyle` setting. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/label/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Labels Customization](images/labels/custom.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/light-weight.md b/chart-sdk/asp-net-core/range-selector/light-weight.md deleted file mode 100644 index dd7717d36..000000000 --- a/chart-sdk/asp-net-core/range-selector/light-weight.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: post -title: Light Weight in ASP.NET Core Range Navigator Component -description: Learn here all about Light Weight in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Light Weight -publishingplatform: chart-sdk -documentation: ug ---- - - -# Lightweight range navigator - -By default, when the `dataSource` for `series` is empty, a lightweight Range Selector will be shown without Chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/light-weight/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Light-weight.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/light-weight/light-weight.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Lightweight Range Selector](images/light-weight.png) - -## See Also - -* [Period Selector](./period-selector/) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/overview.md b/chart-sdk/asp-net-core/range-selector/overview.md deleted file mode 100644 index e537b16ca..000000000 --- a/chart-sdk/asp-net-core/range-selector/overview.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: post -title: Overview in ASP.NET Core Range Navigator Component -description: Learn here all about Overview in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Index -publishingplatform: chart-sdk -documentation: ug ---- - - -# Overview - -RangeNavigator is a data visualization control. It allows you to scroll and navigate through the data. This control easily combines with other controls such as Chart, Data Grid, etc., to create rich and powerful dashboards. - -## Key Features - -* **Data sources** - Supports local binding and remote data source. -* [**Tooltip**](https://ej2.syncfusion.com/aspnetmvc/RangeNavigator/Default#/material) - Supports interactive features such as tooltip and animation. -* [**Lightweight**](https://ej2.syncfusion.com/aspnetmvc/RangeNavigator/LightWeight#/material) - Supports light-weight Range navigator to load in mobile device. -* [**Period Selector**](https://ej2.syncfusion.com/aspnetmvc/RangeNavigator/pDefault#/material) - Provides options to select the data over the custom period. -* **Axis Types** - Supports multiple axis and series types to plot the data. \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/period-selector.md b/chart-sdk/asp-net-core/range-selector/period-selector.md deleted file mode 100644 index 488fe93c5..000000000 --- a/chart-sdk/asp-net-core/range-selector/period-selector.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -layout: post -title: Period Selector in ASP.NET Core Range Navigator Component -description: Learn here all about Period Selector in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Period Selector -publishingplatform: chart-sdk -documentation: ug ---- - - -# Period selector - -The period selector allows to select a range with specified periods. - -## Periods - -An array of objects that allows the users to specify pre-defined time intervals. The `interval` property specifies the count value of the button, and the `text` property specifies the text to be displayed on the button. The `intervaltype` property allows the users to customize the interval type, and it supports the following types: - -* Auto -* Years -* Quarter -* Months -* Weeks -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/period/periods/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Periods.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/period/periods/periods.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Periods](images/period-selector/periods.png) - -## Positioning period selector - -The `position` property allows the users to position the period selector at the **Top** or **Bottom**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/period/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/period/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Positioning](images/period-selector/position.png) - -## Height - -The `height` property allows the users to specify the height of the period selector. The default value of the height property is **43px**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/period/height/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Height.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/period/height/height.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Height](images/period-selector/height.png) - -## Visibility of range navigator - -The `disableRangeSelector` property allows the users to display only the period selector and not the Range Selector. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/period/visible/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Visible.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/period/visible/visible.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See Also - -* [LightWeight](./light-weight) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/r-t-l.md b/chart-sdk/asp-net-core/range-selector/r-t-l.md deleted file mode 100644 index e46e2b105..000000000 --- a/chart-sdk/asp-net-core/range-selector/r-t-l.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: post -title: R T L in ASP.NET Core Range Navigator Component -description: Learn here all about R T L in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: R T L -publishingplatform: chart-sdk -documentation: ug ---- - - -# RTL - -The Range Selector supports right-to-left (RTL), which can be enabled with the `enableRtl` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/rtl/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rtl.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/rtl/rtl.cs %} -{% endhighlight %} -{% endtabs %} - - - -![RTL](images/rtl.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/range.md b/chart-sdk/asp-net-core/range-selector/range.md deleted file mode 100644 index 90007cfb0..000000000 --- a/chart-sdk/asp-net-core/range-selector/range.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: post -title: Range in ASP.NET Core Range Navigator Component -description: Learn here all about Range in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range -publishingplatform: chart-sdk -documentation: ug ---- - - -# Selecting Range - -The Range Selector's left and right thumbs are used to indicate the selected range in the large collection of data. A range can be selected in the following ways: - -* By dragging the thumbs. -* By tapping on the labels. -* By setting the start and the end through the `value` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - - -![Selecting range](images/range.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/series-type.md b/chart-sdk/asp-net-core/range-selector/series-type.md deleted file mode 100644 index 37d52768b..000000000 --- a/chart-sdk/asp-net-core/range-selector/series-type.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -layout: post -title: Syncfusion Series Type in ASP.NET Core Range Navigator Component -description: Learn here all about Series Type in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Series Type -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Navigator Series Types - -To render the data, the Range Selector supports six types of series. - - - -## Line - - - -To render a line series, use series `type` as **Line**. By default, the line series is rendered in the Range Selector. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/line/line.cs %} -{% endhighlight %} -{% endtabs %} - - -![Line Chart](images/series-type/line.png) - -## Area - -To render an area series, use series `type` as **Area**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/area/area.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Area Chart](images/series-type/area.png) - -## StepLine - -To render a Step line series, use series `type` as **Step Line** - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/step/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/step/step.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Step Line Chart](images/series-type/stepline.png) - -## Spline - -To render a Spline series, use series `type` as **Spline** - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/spline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/spline/spline.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Spline chart](images/series-type/spline.png) - -## Spline Area - -To render a Spline area series, use series `type` as **SplineArea** - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/splinearea/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="SplineArea.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/splinearea/splinearea.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Spline area chart](images/series-type/splinearea.png) - -## Column - -To render a Column series, use series `type` as **Column** - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/series-type/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Column chart](images/series-type/column.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/range-selector/tool-tip.md b/chart-sdk/asp-net-core/range-selector/tool-tip.md deleted file mode 100644 index 321135648..000000000 --- a/chart-sdk/asp-net-core/range-selector/tool-tip.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -layout: post -title: Tool Tip in ASP.NET Core Range Navigator Component -description: Learn here all about Tool Tip in Syncfusion ASP.NET Core Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Tool Tip -publishingplatform: chart-sdk -documentation: ug ---- - - -# Tooltip - - - -The tooltip for sliders are supported by the Range Selector. Sliders are used in the Range Selector to select data from a specific range. The tooltip displays the selected start and end values. - - - -## Enable Tooltip - -The tooltip can be used to display information about the selected data and it is enabled by setting the `enable` property to **true**. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/getting-started/tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/getting-started/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Enable tooltip](images/tooltip/tooltip.png) - -## Customization - -Tooltip can be customized using the following properties: - -* enable - Customizes the visibility of the tooltip. -* fill - Customizes the background color of the tooltip. -* opacity - Customizes the opacity of the tooltip. -* textStyle - Customizes the font size, color, family, style, weight, alignment, and overflow of the tooltip. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/tooltip/tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/tooltip/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Tooltip Customization](images/tooltip/tooltip-custom.png) - -## Label Format - -The `labelFormat` property in the tooltip is used to format and parse the date to all globalize formats. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/tooltip/format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/range-selector/tooltip/format/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Label Format](images/tooltip/tooltip-format.png) - -The following table shows the results of applying some common date and time formats to the `labelFormat` property. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Label ValueLabel Format Property ValueResult Description
new Date(2000, 03, 10)EEEEMondayThe Date is displayed in day format
new Date(2000, 03, 10)yMd04/10/2000The Date is displayed in month/date/year format
new Date(2000, 03, 10) MMM AprThe Shorthand month for the date is displayed
new Date(2000, 03, 10)hm12:00 AMTime of the date value is displayed as label
new Date(2000, 03, 10)hms12:00:00 AMThe Label is displayed in hours:minutes:seconds format
\ No newline at end of file diff --git a/chart-sdk/asp-net-core/sankey-diagram/getting-started.md b/chart-sdk/asp-net-core/sankey-diagram/getting-started.md index af61fc240..23ddb6fb0 100644 --- a/chart-sdk/asp-net-core/sankey-diagram/getting-started.md +++ b/chart-sdk/asp-net-core/sankey-diagram/getting-started.md @@ -1,120 +1,115 @@ --- layout: post -title: Getting started with ASP.NET Core Sankey Chart Component -description: Checkout and learn about Getting started with ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. +title: Getting started with ASP.NET Core Sankey Diagram Control | Syncfusion +description: Check out and learn about Getting started with ASP.NET Core Sankey Diagram Control of Essential JS 2 and more. platform: chart-sdk -control: Getting started +control: Sankey Diagram publishingplatform: chart-sdk documentation: ug --- -# Getting started with ASP.NET Core Sankey Chart Control +# Getting started with ASP.NET Core Sankey Diagram Control -This section briefly explains about how to include ASP.NET Core Sankey Chart control in your ASP.NET Core application using Visual Studio. +This section briefly explains how to include the [ASP.NET Core Sankey Diagram](https://www.syncfusion.com/aspnet-core-ui-controls/sankey) control in your ASP.NET Core application using [Visual Studio](https://visualstudio.microsoft.com/vs/). -> **Ready to streamline your Syncfusion® ASP.NET Core development?** Discover the full potential of Syncfusion® ASP.NET Core controls with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like Visual Studio, Visual Studio Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/aspnetcore/documentation/ai-coding-assistant/overview) +> **Ready to streamline your ASP.NET Core development?** Discover the full potential of ASP.NET Core controls with AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like Visual Studio, Visual Studio Code, Cursor, CodeStudio and more. [Explore AI Coding Assistant](https://ej2.syncfusion.com/aspnetcore/documentation/ai-coding-assistant/overview) -## Prerequisites +## Create an ASP.NET Core Web App with Razor Pages -[System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements) +Create an **ASP.NET Core Web App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-10.0&tabs=visual-studio#create-a-razor-pages-web-app) or the [Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project). For detailed instructions, refer to the [ASP.NET Core Web App Getting Started](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) documentation. -## Create ASP.NET Core web application with Razor pages +## Install the required ASP.NET Core package -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app) +To add [ASP.NET Core Sankey Diagram](https://www.syncfusion.com/aspnet-core-ui-controls/sankey) control in the app, open the NuGet package manager in Visual Studio *(Tools → NuGet Package Manager → Manage NuGet Packages for Solution)*, search for and install the [Syncfusion.AspNetCore.Sankey](https://www.nuget.org/packages/Syncfusion.AspNetCore.Sankey/) package. All Syncfusion ASP.NET Core packages are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). See the [NuGet packages](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) topic for details. -* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project) - -## Install ASP.NET Core package in the application - -To add `ASP.NET Core` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and then install it. Alternatively, you can utilize the following package manager command to achieve the same. +Alternatively, you can install the same package using the Package Manager Console with the following command. {% tabs %} -{% highlight C# tabtitle="Package Manager" %} +{% highlight C# tabtitle="Package Manager Console" %} -Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }} +Install-Package Syncfusion.AspNetCore.Sankey -Version {{ site.releaseversion }} {% endhighlight %} {% endtabs %} -N> Syncfusion® ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.AspNet.Core NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. - -## Add Syncfusion® ASP.NET Core Tag Helper +## Add the ASP.NET Core Tag Helpers -Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelper. +After the package is installed, open the **~/Pages/_ViewImports.cshtml** file and import the `Syncfusion.AspNetCore.Base` and `Syncfusion.AspNetCore.Sankey` Tag Helpers. {% tabs %} -{% highlight C# tabtitle="~/_ViewImports.cshtml" %} +{% highlight cshtml tabtitle="_ViewImports.cshtml" %} -@addTagHelper *, Syncfusion.EJ2 +@addTagHelper *, Syncfusion.AspNetCore.Base +@addTagHelper *, Syncfusion.AspNetCore.Sankey {% endhighlight %} {% endtabs %} ## Add script resources -Here, script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, +Include the [script reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) inside the `` of **~/Pages/Shared/_Layout.cshtml**. {% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} +{% highlight cshtml tabtitle="_Layout.cshtml" %} ... - - + + {% endhighlight %} {% endtabs %} -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application. +## Register the script manager -## Register Syncfusion® Script Manager - -Also, register the script manager `` at the end of `` in the ASP.NET Core application as follows. +Open the **~/Pages/Shared/_Layout.cshtml** file and register the script manager `` at the end of the `` element as follows. {% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} +{% highlight cshtml tabtitle="_Layout.cshtml" %} ... - + {% endhighlight %} {% endtabs %} -## Add ASP.NET Core Sankey Chart control +## Add ASP.NET Core Sankey Diagram control -Now, add the Syncfusion® ASP.NET Core Sankey Chart tag helper in `~/Pages/Index.cshtml` page. +Add the [ASP.NET Core Sankey Diagram](https://www.syncfusion.com/aspnet-core-ui-controls/sankey) control in the **~/Pages/Index.cshtml** file. {% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} +{% highlight cshtml tabtitle="Index.cshtml" %} {% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/getting-started/initialize/tagHelper %} {% endhighlight %} -{% highlight c# tabtitle="Initialize.cs" %} +{% highlight c# tabtitle="Index.cshtml.cs" %} {% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/getting-started/initialize/initialize.cs %} {% endhighlight %} {% endtabs %} -## Add data to Sankey Chart +## Add data to Sankey Diagram -Now you can add data to the Sankey Chart component by defining nodes and links. Nodes represent the categories, and links represent the flow between them. +Now you can add data to the Sankey Diagram control by defining nodes and links. Nodes represent the categories, and links represent the flow between them. {% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} +{% highlight cshtml tabtitle="Index.cshtml" %} {% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/getting-started/data/tagHelper %} {% endhighlight %} -{% highlight c# tabtitle="Data.cs" %} +{% highlight c# tabtitle="Index.cshtml.cs" %} {% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/getting-started/data/data.cs %} {% endhighlight %} {% endtabs %} -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET Core Chart control will be rendered in the default web browser. +## Run the application + +Press Ctrl+F5 (Windows) or +F5 (macOS) to launch the application. The [ASP.NET Core Sankey Diagram](https://www.syncfusion.com/aspnet-core-ui-controls/sankey) control will render in your default web browser. ## See also -* [Getting Started with Syncfusion® ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) +1. [Getting Started with ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) +2. [Getting Started with ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) diff --git a/chart-sdk/asp-net-core/sankey/accessibility.md b/chart-sdk/asp-net-core/sankey/accessibility.md deleted file mode 100644 index 1c4c3e90e..000000000 --- a/chart-sdk/asp-net-core/sankey/accessibility.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -layout: post -title: Accessibility in ASP.NET Core Sankey Chart Component -description: Learn here all about Accessibility in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility -publishingplatform: chart-sdk -documentation: ug ---- - -# Accessibility in ASP.NET Core Sankey Chart component - -The Sankey Chart component follows the accessibility guidelines and standards, including [ADA](https://www.ada.gov), [Section 508](https://www.section508.gov), [WCAG 2.2](https://www.w3.org/TR/WCAG22), and relevant [WAI-ARIA](https://www.w3.org/TR/wai-aria#roles) roles. - -The Sankey Chart component's accessibility compliance is outlined below. - -| Accessibility Criteria | Compatibility | -| -- | -- | -| [WCAG 2.2](https://www.w3.org/TR/WCAG22) Support | Yes | -| [Section 508](https://www.section508.gov) Support | Yes | -| Screen Reader Support | Yes | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Yes | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | -| [Axe-core](https://www.npmjs.com/package/axe-core) Accessibility Validation | Yes | - - -
Yes - All features of the component meet the requirement.
- -
Intermediate - Some features of the component do not meet the requirement.
- -
No - The component does not meet the requirement.
- -## WAI-ARIA attributes - -The Sankey Chart component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert) patterns to meet the accessibility. The following ARIA attributes are used in the Sankey Chart component: - -* img (role) -* button (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) -* aria-pressed (attribute) - -## Keyboard interaction - -The Sankey Chart component follows the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert#keyboardinteraction) guidelines, making it easier for assistive technology users and keyboard-only users to navigate the chart. The following keyboard shortcuts are supported by the Sankey Chart component. - -| **Press** | **To do this** | -| --- | --- | -| Alt + J | Moves the focus to the Sankey Chart element. | -| Tab | Moves the focus to the next element in the chart. | -| Shift + Tab | Moves the focus to the previous element in the chart. | -| Down Arrow | Moves the focus to the node or link below from the selected element. | -| Up Arrow | Moves the focus to the node or link above from the selected element. | -| Left Arrow | Moves the focus to the next node or link from the selected element. | -| Right Arrow | Moves the focus to the previous node or link from the selected element. | -| ESC | Cancel the tooltip for the node or link. | -| Ctrl + P | Prints the Sankey Chart. | - -## Ensuring accessibility - -The Sankey Chart component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Sankey Chart component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/sankey.html) in a new window to evaluate the accessibility of the Sankey Chart component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/sankey.html" %} - -## See also - -* [Accessibility in Syncfusion® ASP.NET Core components](../common/accessibility) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/sankey/appearance.md b/chart-sdk/asp-net-core/sankey/appearance.md deleted file mode 100644 index ddbdb1c71..000000000 --- a/chart-sdk/asp-net-core/sankey/appearance.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -layout: post -title: Appearance in ASP.NET Core Sankey Chart Component -description: Learn here all about Appearance in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Appearance -publishingplatform: chart-sdk -documentation: ug ---- - -# Appearance in ASP.NET Core Sankey Chart component - -The Sankey Chart provides comprehensive customization options to control visual appearance, dimensions, responsiveness, colors, borders, and themes. These appearance settings enable you to create diagrams that match your application's design system and user experience requirements. - -This guide covers dimension configuration, responsive sizing, backgrounds, borders, margins, and theme selection. - -## Dimensions - -Control the size of the Sankey Chart using the `Width` and `Height` properties. You can specify dimensions in pixels (px) or percentages (%) to create fixed or responsive layouts. - -### Width and Height Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| width | string | null | Width of the chart as a CSS value (e.g., '700px' or '100%'). | -| height | string | null | Height of the chart as a CSS value (e.g., '420px' or '100%'). | - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/width-height/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Width-height.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/width-height/width-height.cs %} -{% endhighlight %} -{% endtabs %} - -## Responsive Sizing - -Use percentage-based dimensions for responsive layouts that adapt to container sizes. This is recommended for applications that need to work across different device sizes and screen orientations: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/responsive-size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Responsive-size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/responsive-size/responsive-size.cs %} -{% endhighlight %} -{% endtabs %} - - -## Background Customization - -Customize the background of the Sankey Chart with solid colors or background images to match your application's theme or create specific visual effects. - -### Background Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| background | string | null | Background color of the chart (CSS color value). | -| backgroundImage | string | null | Background image URL. | - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/background/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Background.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/background/background.cs %} -{% endhighlight %} -{% endtabs %} - -## Border Customization - -Customize the border of the Sankey Chart container. - -### Border Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| border.color | string | '' | Border color. Accepts values in hex or RGBA as valid CSS color strings. | -| border.width | number | 1 | Border width in pixels. | -| border.dashArray | string | '' | Sets the length of dashes in the stroke of border. | - - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Margin Customization - -Control the spacing around the chart content using margins. - -### Margin Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| margin.left | number | 10 | Left margin in pixels. | -| margin.right | number | 10 | Right margin in pixels. | -| margin.top | number | 10 | Top margin in pixels. | -| margin.bottom | number | 10 | Bottom margin in pixels. | - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/margin/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - -## Theme - -The Sankey Chart provides multiple built-in themes to customize the visual appearance. Apply a theme using the `Theme` property. - -### Theme Configuration - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/theme/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Theme.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/appearance/theme/theme.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/sankey/customization.md b/chart-sdk/asp-net-core/sankey/customization.md deleted file mode 100644 index 6aa9c1ea3..000000000 --- a/chart-sdk/asp-net-core/sankey/customization.md +++ /dev/null @@ -1,263 +0,0 @@ ---- -layout: post -title: Customization in ASP.NET Core Sankey Chart Component -description: Learn here all about Customization in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Customization -publishingplatform: chart-sdk -documentation: ug ---- - -# Customization in ASP.NET Core Sankey Chart component - -The Sankey Chart provides extensive customization options to create visualizations that match your specific design requirements and data presentation needs. From styling and theming to advanced visual techniques, the component enables complete control over appearance and behavior. - -This guide covers comprehensive customization techniques including styling, theming, color mapping, and visual customization strategies. - -## Styling Overview - -The Sankey Chart supports multiple levels of styling customization: - -- **Global Styling**: Apply consistent styles to all elements -- **Element-Level Styling**: Customize specific nodes, links, or labels -- **Data-Driven Styling**: Apply styles based on data values or conditions -- **Theme-Based Styling**: Use predefined themes or create custom themes - -## Node and Link Styling - -### Global Node Styling - -Apply consistent styling to all nodes using the `NodeStyle` property: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/global-node/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Global-node.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/global-node/global-node.cs %} -{% endhighlight %} -{% endtabs %} - -### Global Link Styling - -Configure link appearance using the `LinkStyle` property: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/global-link/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Global-link.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/global-link/global-link.cs %} -{% endhighlight %} -{% endtabs %} - -## Individual Element Customization - -### Custom Node Appearance - -Customize individual nodes by setting properties on each node object: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/custom-node-appearance/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-node-appearance.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/custom-node-appearance/custom-node-appearance.cs %} -{% endhighlight %} -{% endtabs %} - -### Custom Node Labels - -Customize individual node labels with specific text, styling, and positioning: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/custom-node-labels/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-node-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/custom-node-labels/custom-node-labels.cs %} -{% endhighlight %} -{% endtabs %} - -## Color Customization - -### Predefined Color Palettes - -Apply predefined color palettes to automatically color nodes: - -```typescript -const nodes = [ - { id: 'Source1', label: { text: 'Source 1' }, color: '#3DA6D4' }, - { id: 'Source2', label: { text: 'Source 2' }, color: '#FFA500' }, - { id: 'Target', label: { text: 'Target' }, color: '#28A745' } -]; -``` - -### Color Mapping - -Map colors to specific categories or value ranges: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/color-mapping/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Color-mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/color-mapping/color-mapping.cs %} -{% endhighlight %} -{% endtabs %} - -## Theme Customization - -### Apply Theme - -```typescript -const theme = 'Material'; // or 'Fabric', 'Bootstrap', 'HighContrast' - -return ( - - -); -``` - -### Custom Theme Colors - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/custom-theme/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-theme.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/custom-theme/custom-theme.cs %} -{% endhighlight %} -{% endtabs %} - -## Tooltip Customization - -### Template-Based Tooltips - -Create custom tooltip templates for rich content: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/template-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Template-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/template-tooltip/template-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Customization Patterns - -### Conditional Styling Based on Data - -Apply different styles based on data conditions or value ranges: - -```typescript -const onNodeRendering = (args) => { - const value = args.node.value || 0; - - if (value > 200) { - args.node.color = '#00A651'; // High flow - green - } else if (value > 100) { - args.node.color = '#FFB81C'; // Medium flow - orange - } else { - args.node.color = '#E81B23'; // Low flow - red - } -}; -``` - -### Category-Based Styling - -Assign colors and styles based on node categories: - -```typescript -const categoryColors = { - 'Energy': '#FF6B6B', - 'Transport': '#4ECDC4', - 'Industry': '#95E1D3', - 'Residential': '#FFD93D' -}; - -const onNodeRendering = (args) => { - const category = extractCategory(args.node.id); - args.node.color = categoryColors[category] || '#999'; -}; -``` - -### Interactive Styling - -Apply different styles for hover and focus states: - -```typescript -const onNodeEnter = (args) => { - // Highlight node on hover - args.node.highlightOpacity = 1; -}; - -const onNodeLeave = (args) => { - // Reset to normal state - args.node.highlightOpacity = 0.3; -}; -``` - -## Performance Optimization - -### Large Dataset Customization - -For charts with many nodes and links, optimize rendering performance: - -1. **Use Global Styles**: Apply global `NodeStyle` and `LinkStyle` instead of individual customization -2. **Minimize Calculations**: Reduce complex calculations in rendering events -3. **Conditional Rendering**: Only customize visible elements in viewport -4. **Cache Results**: Cache computed styles and colors - -## Customization Best Practices - -### Key Considerations - -1. **Consistency** - - Maintain consistent color schemes across nodes and links - - Use meaningful colors that represent data categories - - Apply visual hierarchy through size and opacity - -2. **Performance** - - Avoid complex calculations in rendering events - - Use global styles when possible - - Optimize for large datasets - -3. **Accessibility** - - Don't rely solely on color for information - - Ensure sufficient contrast ratios - - Provide alternative representations - -4. **User Experience** - - Use intuitive color mapping - - Provide clear visual feedback for interactions - - Maintain visual consistency with your application - -5. **Maintainability** - - Document custom styling logic - - Use reusable style functions - - Separate styling from business logic - -## Example: Comprehensive Customization - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/comprehensive-customization/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Comprehensive-customization.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/customization/comprehensive-customization/comprehensive-customization.cs %} -{% endhighlight %} -{% endtabs %} - -## Related Topics - -- [Appearance](appearance.md) -- [Nodes](nodes.md) -- [Links](links.md) -- [Labels](labels.md) -- [Legend](legend.md) -- [Events](events.md) diff --git a/chart-sdk/asp-net-core/sankey/events.md b/chart-sdk/asp-net-core/sankey/events.md deleted file mode 100644 index f54b0f9ac..000000000 --- a/chart-sdk/asp-net-core/sankey/events.md +++ /dev/null @@ -1,177 +0,0 @@ ---- -layout: post -title: Events in ASP.NET Core Sankey Chart Component -description: Learn here all about Events in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Events -publishingplatform: chart-sdk -documentation: ug ---- - -# Events in ASP.NET Core Sankey Chart component - -The Sankey Chart provides comprehensive events that allow you to customize behavior, respond to user interactions, and hook into the chart lifecycle. These events enable advanced customization scenarios including data transformation, analytics tracking, and dynamic UI updates. - -This guide covers lifecycle events, rendering events, interaction events, and export/print events. - -## Event List - -| Event | Description | -|-------|-------------| -| load | Triggers before the Sankey loads. Allows customization before rendering. | -| loaded | Triggers after the Sankey is fully loaded and rendered. | -| legendItemRendering | Triggers before a legend item is rendered. Allows customization of legend items. | -| labelRendering | Triggers before a label is rendered. Allows customization of label text and style. | -| nodeRendering | Triggers before a node is rendered. Allows customization of node appearance. | -| linkRendering | Triggers before a link is rendered. Allows customization of link appearance. | -| tooltipRendering | Triggers before a tooltip is rendered. Allows customization of tooltip content. | -| nodeClick | Triggers when a node is clicked. | -| nodeEnter | Triggers when the mouse enters a node area. | -| nodeLeave | Triggers when the mouse leaves a node area. | -| linkClick | Triggers when a link is clicked. | -| linkEnter | Triggers when the mouse enters a link area. | -| linkLeave | Triggers when the mouse leaves a link area. | -| sizeChanged | Triggers when the chart size changes. | -| beforeExport | Triggers before the export process starts. | -| afterExport | Triggers after the export process completes. | -| exportCompleted | Triggers when export is completed. | -| beforePrint | Triggers before the print process starts. | - -## Lifecycle Events - -### Load Event - -The `Load` event triggers before the Sankey Chart begins rendering. Use this event to customize configuration, apply themes, or prepare data before the chart loads: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/load-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Load-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/load-event/load-event.cs %} -{% endhighlight %} -{% endtabs %} - -### Loaded Event - -The `Loaded` event triggers after the Sankey Chart is completely rendered and ready for interaction. Use this event to initialize calculations, perform analytics, or trigger dependent components: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/loaded-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Loaded-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/loaded-event/loaded-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Interaction Events - -### Node Interaction Events - -Handle node click and hover events to respond to user actions and provide interactive feedback: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/node-interaction-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Node-interaction-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/node-interaction-event/node-interaction-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Link Interaction Events - -Handle link click and hover events: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/link-interaction-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Link-interaction-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/link-interaction-event/link-interaction-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Rendering Events - -Use rendering events to customize elements dynamically based on data values, conditions, or business logic. This is the most powerful approach for data-driven styling. - -### Node Rendering Event - -The `NodeRendering` event triggers before each node is rendered, allowing dynamic node customization: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/node-rendering-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Node-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/node-rendering-event/node-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -### Link Rendering Event - -The `LinkRendering` event triggers before each link is rendered, allowing dynamic link customization: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/link-rendering-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Link-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/link-rendering-event/link-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -### Label Rendering Event - -The `LabelRendering` event triggers before each label is rendered, allowing dynamic label customization: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/label-rendering-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Label-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/label-rendering-event/label-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -### Legend Item Rendering Event - -The `LegendItemRendering` event triggers before a legend item is rendered, allowing custom legend item styling: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/legend-item-rendering-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Legend-item-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/legend-item-rendering-event/legend-item-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Size Changed Event - -Respond when the chart size changes (e.g., window resize): - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/size-changed-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Size-changed-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/size-changed-event/size-changed-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Complete Event Handler Example - -Combine multiple events for comprehensive handling: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/complete-event-handler/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Complete-event-handler.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/events/complete-event-handler/complete-event-handler.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/sankey/getting-started.md b/chart-sdk/asp-net-core/sankey/getting-started.md deleted file mode 100644 index 23ddb6fb0..000000000 --- a/chart-sdk/asp-net-core/sankey/getting-started.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -layout: post -title: Getting started with ASP.NET Core Sankey Diagram Control | Syncfusion -description: Check out and learn about Getting started with ASP.NET Core Sankey Diagram Control of Essential JS 2 and more. -platform: chart-sdk -control: Sankey Diagram -publishingplatform: chart-sdk -documentation: ug ---- - - - -# Getting started with ASP.NET Core Sankey Diagram Control - -This section briefly explains how to include the [ASP.NET Core Sankey Diagram](https://www.syncfusion.com/aspnet-core-ui-controls/sankey) control in your ASP.NET Core application using [Visual Studio](https://visualstudio.microsoft.com/vs/). - -> **Ready to streamline your ASP.NET Core development?** Discover the full potential of ASP.NET Core controls with AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like Visual Studio, Visual Studio Code, Cursor, CodeStudio and more. [Explore AI Coding Assistant](https://ej2.syncfusion.com/aspnetcore/documentation/ai-coding-assistant/overview) - -## Create an ASP.NET Core Web App with Razor Pages - -Create an **ASP.NET Core Web App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-10.0&tabs=visual-studio#create-a-razor-pages-web-app) or the [Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project). For detailed instructions, refer to the [ASP.NET Core Web App Getting Started](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) documentation. - -## Install the required ASP.NET Core package - -To add [ASP.NET Core Sankey Diagram](https://www.syncfusion.com/aspnet-core-ui-controls/sankey) control in the app, open the NuGet package manager in Visual Studio *(Tools → NuGet Package Manager → Manage NuGet Packages for Solution)*, search for and install the [Syncfusion.AspNetCore.Sankey](https://www.nuget.org/packages/Syncfusion.AspNetCore.Sankey/) package. All Syncfusion ASP.NET Core packages are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). See the [NuGet packages](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) topic for details. - -Alternatively, you can install the same package using the Package Manager Console with the following command. - -{% tabs %} -{% highlight C# tabtitle="Package Manager Console" %} - -Install-Package Syncfusion.AspNetCore.Sankey -Version {{ site.releaseversion }} - -{% endhighlight %} -{% endtabs %} - -## Add the ASP.NET Core Tag Helpers - -After the package is installed, open the **~/Pages/_ViewImports.cshtml** file and import the `Syncfusion.AspNetCore.Base` and `Syncfusion.AspNetCore.Sankey` Tag Helpers. - -{% tabs %} -{% highlight cshtml tabtitle="_ViewImports.cshtml" %} - -@addTagHelper *, Syncfusion.AspNetCore.Base -@addTagHelper *, Syncfusion.AspNetCore.Sankey - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Include the [script reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) inside the `` of **~/Pages/Shared/_Layout.cshtml**. - -{% tabs %} -{% highlight cshtml tabtitle="_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -## Register the script manager - -Open the **~/Pages/Shared/_Layout.cshtml** file and register the script manager `` at the end of the `` element as follows. - -{% tabs %} -{% highlight cshtml tabtitle="_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET Core Sankey Diagram control - -Add the [ASP.NET Core Sankey Diagram](https://www.syncfusion.com/aspnet-core-ui-controls/sankey) control in the **~/Pages/Index.cshtml** file. - -{% tabs %} -{% highlight cshtml tabtitle="Index.cshtml" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/getting-started/initialize/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Index.cshtml.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/getting-started/initialize/initialize.cs %} -{% endhighlight %} -{% endtabs %} - -## Add data to Sankey Diagram - -Now you can add data to the Sankey Diagram control by defining nodes and links. Nodes represent the categories, and links represent the flow between them. - -{% tabs %} -{% highlight cshtml tabtitle="Index.cshtml" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/getting-started/data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Index.cshtml.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/getting-started/data/data.cs %} -{% endhighlight %} -{% endtabs %} - -## Run the application - -Press Ctrl+F5 (Windows) or +F5 (macOS) to launch the application. The [ASP.NET Core Sankey Diagram](https://www.syncfusion.com/aspnet-core-ui-controls/sankey) control will render in your default web browser. - -## See also - -1. [Getting Started with ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages) -2. [Getting Started with ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) diff --git a/chart-sdk/asp-net-core/sankey/labels.md b/chart-sdk/asp-net-core/sankey/labels.md deleted file mode 100644 index 08bbf42d7..000000000 --- a/chart-sdk/asp-net-core/sankey/labels.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -layout: post -title: Labels in ASP.NET Core Sankey Chart Component -description: Learn here all about Labels in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Labels -publishingplatform: chart-sdk -documentation: ug ---- - -# Labels in ASP.NET Core Sankey Chart component - -Labels display descriptive text associated with nodes in the Sankey Chart, making the diagram more understandable and interpretable. The Sankey Chart provides comprehensive label customization options including visibility control, font styling, individual label configuration, and dynamic rendering events. - -This guide covers label appearance configuration, visibility control, font styling, and advanced label customization. - -## Label Settings Properties - -The `LabelSettings` property provides options to control label appearance, text styling, and visibility. These properties apply globally to all node labels. - -### Label Configuration Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| visible | boolean | true | Shows or hides all node labels. | -| fontSize | string \| number | '12px' | Font size of the labels. | -| color | string | '' | Text color of the labels. | -| fontFamily | string | null | Font family for the label text. | -| fontWeight | string | '400' | Font weight (e.g., '400' for normal, '700' for bold). | -| fontStyle | string | 'normal' | Font style (e.g., 'normal' or 'italic'). | -| padding | number | 10 | Space around the label text. | - -Configure global label styling for all nodes by setting properties like font size, color, font family, and font weight - -Here is an example of customizing label appearance: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/label-configuration/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Label-configuration.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/label-configuration/label-configuration.cs %} -{% endhighlight %} -{% endtabs %} - -## Hiding Labels - -Control label visibility using the `Visible` property in `LabelSettings`. Set it to `false` to hide all node labels, which can be useful for creating cleaner visualizations when labels take up too much space: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/hiding-labels/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Hiding-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/hiding-labels/hiding-labels.cs %} -{% endhighlight %} -{% endtabs %} - -## Font Styling - -Apply custom font styling to all labels using properties such as: - -- **`FontSize`**: Adjust text size (e.g., '12px', '14px') -- **`FontFamily`**: Specify font family (e.g., 'Arial', 'Times New Roman') -- **`FontWeight`**: Control text thickness ('400' = normal, '700' = bold) -- **`FontStyle`**: Apply text styling ('normal' or 'italic') -- **`Color`**: Set text color (hex or color names) - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/font-style/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Font-style.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/font-style/font-style.cs %} -{% endhighlight %} -{% endtabs %} - -## Individual Node Labels - -Customize the appearance of specific node labels by configuring the `Label` property on each node object. This allows you to override global label settings for specific nodes, enabling data-driven label customization: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/individual-node-labels/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Individual-node-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/individual-node-labels/individual-node-labels.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Label Configuration - -### Dynamic Label Customization - -Use the `LabelRendering` event to customize label text, styling, and appearance dynamically during the render process. This event is triggered for each label before rendering, allowing you to apply conditional formatting, modify text, or adjust styling based on data values: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/dynamic-label/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dynamic-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/labels/dynamic-label/dynamic-label.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/sankey/legend.md b/chart-sdk/asp-net-core/sankey/legend.md deleted file mode 100644 index 7f169cdc8..000000000 --- a/chart-sdk/asp-net-core/sankey/legend.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -layout: post -title: Legend in Syncfusion ASP.NET Core Sankey Chart Component -description: Learn here all about Legend in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Legend -publishingplatform: chart-sdk -documentation: ug ---- - -# Legend in ASP.NET Core Sankey Chart component - -A legend provides a visual key that helps users understand the categories and meanings represented by nodes in the Sankey Chart. The Sankey Chart provides comprehensive legend configuration options including positioning, styling, customization, and interactive behaviors. You can enable and customize legend using the `Legend` property. - -This guide covers legend configuration, positioning strategies, customization options, and dynamic legend rendering events. - -## Legend Settings Properties - -The `LegendSettings` property provides comprehensive options to configure legend appearance, behavior, and positioning. The following properties are commonly used: - -### Legend Configuration Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| visible | boolean | true | Shows or hides the legend. | -| position | string | 'Auto' | Position of the legend (Auto, Top, Bottom, Left, Right, Custom). | -| width | string | null | Width of the legend container. | -| height | string | null | Height of the legend container. | -| shapeWidth | number | 10 | Width of the legend shape (icon). | -| shapeHeight | number | 10 | Height of the legend shape (icon). | -| padding | number | 8 | Padding around the legend container. | -| itemPadding | number | null | Padding between legend items. | -| shapePadding | number | 8 | Padding between the legend shape and its text. | -| background | string | 'transparent' | Background color of the legend. | -| opacity | number | 1 | Opacity of the legend container (0 to 1). | -| title | string | null | Title text for the legend. | -| enableHighlight | boolean | true | Enables highlighting of related nodes/links when legend item is clicked. | -| isInversed | boolean | false | Inverts the legend layout. | - -Enable the legend and configure its basic properties such as visibility, position, and sizing. By default, the legend is automatically positioned based on available space. - -## Basic Legend Configuration - -Here is an example of enabling and customizing the legend: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/basic-legend/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Basic-legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/basic-legend/basic-legend.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend Position - -Control the legend position using the `Position` property with the following options: - -- **'Top'**: Legend appears above the Sankey Chart -- **'Bottom'**: Legend appears below the Sankey Chart -- **'Left'**: Legend appears to the left of the chart -- **'Right'**: Legend appears to the right of the chart (default for most cases) -- **'Auto'**: Automatically positions the legend based on available space -- **'Custom'**: Allows you to specify custom coordinates using the `Location` property - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/legend-position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Legend-position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/legend-position/legend-position.cs %} -{% endhighlight %} -{% endtabs %} - -Customize the legend appearance with properties like background color, opacity, shape sizing, padding, and interactive highlighting. The following example demonstrates comprehensive legend styling: - -## Customized Legend - -Here is an example with comprehensive legend customization: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/customized-legend/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Customized-legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/customized-legend/customized-legend.cs %} -{% endhighlight %} -{% endtabs %} - -## Custom Legend Position - -Position the legend at a specific location using the `Custom` position setting. When using `Custom` position, specify the exact X and Y coordinates where the legend should appear. This provides precise control over legend placement: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/custom-legend-position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-legend-position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/custom-legend-position/custom-legend-position.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Legend Configuration - -### Dynamic Legend Customization - -Use the `LegendItemRendering` event to customize individual legend items before they are rendered. This event is triggered for each legend item and allows you to apply conditional styling, modify colors, or change text based on data values: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/dynamic-legend-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dynamic-legend-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/legend/dynamic-legend-custom/dynamic-legend-custom.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/sankey/links.md b/chart-sdk/asp-net-core/sankey/links.md deleted file mode 100644 index 4de8d5fe3..000000000 --- a/chart-sdk/asp-net-core/sankey/links.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: post -title: Links in ASP.NET Core Sankey Chart Component -description: Learn here all about Links in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Links -publishingplatform: chart-sdk -documentation: ug ---- - -# Links in ASP.NET Core Sankey Chart component - -Links are the connecting paths that visualize flow between nodes in a Sankey Chart. Each link connects a source node to a target node and carries a quantitative value that determines its visual thickness. The Sankey Chart provides comprehensive customization options for link styling, colors, curvature, and interactions. - -This guide covers link customization including appearance properties, color blending, curvature control, and dynamic rendering events. - -## Link Style Properties - -The `LinkStyle` property allows you to customize the visual appearance of all links in the Sankey Chart. These properties control opacity, highlighting behavior, curvature, and color blending. - -### Link Style Configuration Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| opacity | number | 0.35 | Opacity of the link (0 to 1). | -| highlightOpacity | number | 1 | Opacity of link when highlighted or hovered. | -| inactiveOpacity | number | 0.3 | Opacity of link when not interacting (when other links are hovered). | -| curvature | number | 0.55 | Curvature factor of the link path (0 = straight line, 1 = fully curved). | -| colorType | string | 'Blend' | Color blending type: 'Source', 'Target', or 'Blend'. | - -## Basic Link Customization - -Customize the appearance of all links using the `LinkStyle` property to set global opacity levels, curvature, and color blending behavior: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/basic-links/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Basic-links.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/basic-links/basic-links.cs %} -{% endhighlight %} -{% endtabs %} - -## Link Curvature - -The `Curvature` property controls the bend of the links, affecting the visual flow representation: - -- **Value 0**: Creates straight lines between nodes -- **Value 0.5-0.7**: Creates moderate curves (often preferred for readability) -- **Value 1.0**: Creates maximum curvature with smooth paths - -Choose curvature values based on your data density and aesthetic preferences: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/link-curvature/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Link-curvature.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/link-curvature/link-curvature.cs %} -{% endhighlight %} -{% endtabs %} - -## Link Color Type - -The `ColorType` property determines how links are colored, providing flexibility in visual representation: - -- **'Source'**: Links inherit the color of their source node (useful for tracking origin) -- **'Target'**: Links inherit the color of their target node (useful for tracking destination) -- **'Blend'**: Links display a smooth gradient blend of source and target node colors (default - recommended for most cases) - -The color type you choose affects how users perceive flow relationships in the diagram: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/link-color-type/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Link-color-type.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/link-color-type/link-color-type.cs %} -{% endhighlight %} -{% endtabs %} - -## Link Value and Thickness - -The link thickness is determined by the `Value` property in the link data. This quantitative value is automatically mapped to the visual thickness of the link: - -- **Larger values**: Create thicker links (proportional to the value) -- **Smaller values**: Create thinner links -- **Equal values**: Create links of equal thickness - -The thickness visualization makes it easy to understand relative flow quantities at a glance: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/link-value-thickness/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Link-value-thickness.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/link-value-thickness/link-value-thickness.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Link Configuration - -### Dynamic Link Customization - -Use the `LinkRendering` event to customize link appearance dynamically during the render process. This event is triggered for each link before rendering, allowing you to apply conditional styling based on flow values, source-target combinations, or other data attributes: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/dynamic-link/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Dynamic-link.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/links/dynamic-link/dynamic-link.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/sankey/nodes.md b/chart-sdk/asp-net-core/sankey/nodes.md deleted file mode 100644 index 0db91cb1d..000000000 --- a/chart-sdk/asp-net-core/sankey/nodes.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: post -title: Nodes in Syncfusion ASP.NET Core Sankey Chart Component -description: Learn here all about Nodes in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Nodes -publishingplatform: chart-sdk -documentation: ug ---- - -# Nodes in ASP.NET Core Sankey Chart component - -Nodes are the fundamental building blocks of a Sankey Chart, representing sources, targets, and intermediate entities in flow diagrams. The Sankey Chart provides extensive customization options for node appearance, enabling you to create visually meaningful and interactive flow diagrams. - -This guide covers node customization including styling, individual appearance changes, opacity control, positioning, and dynamic rendering events. - -## Node Appearance - -The `NodeStyle` property allows you to customize the visual appearance of all nodes in the Sankey Chart. This provides a unified style for all nodes, which can be overridden at the individual node level or through rendering events. - -### Node Style Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| width | number | 20 | Width of the node rectangle in pixels. | -| padding | number | 10 | Spacing between nodes and their labels. | -| fill | string | null | Fill color of nodes. If not specified, theme color is used. | -| stroke | string | '' | Stroke color of node borders. | -| strokeWidth | number | 1 | Width of the node border stroke. | -| opacity | number | 1 | Opacity of the node (0 to 1). | -| highlightOpacity | number | 1 | Opacity of node when highlighted. | -| inactiveOpacity | number | 0.3 | Opacity of inactive nodes (when interacting with others). | - -## Global Node Customization - -Customize the global node appearance by configuring the `NodeStyle` property with properties such as fill color, stroke, width, padding, and opacity levels. Here is an example: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/node-style/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Node-style.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/node-style/node-style.cs %} -{% endhighlight %} -{% endtabs %} - -## Individual Node Customization - -Beyond global styling, you can customize the appearance of specific nodes by setting individual properties. Each node can have its own `Color`, styling, and appearance settings that override the global `NodeStyle` configuration. This approach is useful when you want certain nodes to stand out or follow a specific color scheme: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/individual-node-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Individual-node-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/individual-node-custom/individual-node-custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Opacity and Interaction - -Control how nodes appear during user interactions. The Sankey Chart provides three opacity properties: - -- **`Opacity`**: The default opacity of nodes in their normal state (0 to 1) -- **`HighlightOpacity`**: The opacity when a node is highlighted or hovered -- **`InactiveOpacity`**: The opacity of nodes that are not actively being interacted with - -Configure these properties to provide visual feedback and improve the interactivity experience: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/node-opacity/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Node-opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/node-opacity/node-opacity.cs %} -{% endhighlight %} -{% endtabs %} - -## Node Offset - -Use the `Offset` property to adjust node positions vertically (in Horizontal orientation) or horizontally (in Vertical orientation). The offset direction depends on the chart orientation: - -- **In Horizontal orientation**: Offset adjusts node positions vertically -- **In Vertical orientation**: Offset adjusts node positions horizontally - -This property is useful for manually arranging nodes to avoid overlaps or create specific flow patterns: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/node-offset/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Node-offset.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/node-offset/node-offset.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Node Configuration - -### Dynamic Node Customization - -Use the `NodeRendering` event to customize node appearance dynamically during the render process. This event is triggered for each node before it is rendered, allowing you to apply conditional styling, calculate colors based on data values, or modify properties based on context. This is the most powerful way to create data-driven node visualizations: - -## Node Rendering Event - -Use the `NodeRendering` event to customize node appearance dynamically before rendering: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/node-rendering-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Node-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/nodes/node-rendering-event/node-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-core/sankey/orientation-rtl.md b/chart-sdk/asp-net-core/sankey/orientation-rtl.md deleted file mode 100644 index dbb15ce4c..000000000 --- a/chart-sdk/asp-net-core/sankey/orientation-rtl.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -layout: post -title: Orientation and RTL in ASP.NET Core Sankey Chart Component -description: Learn here all about Orientation and RTL in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Orientation and RTL -publishingplatform: chart-sdk -documentation: ug ---- - -# Orientation and RTL in ASP.NET Core Sankey Chart component - -The Sankey Chart supports flexible layout options including horizontal and vertical orientations, as well as right-to-left (RTL) rendering for international applications. These features enable you to create localized and directionally appropriate visualizations. - -This guide covers orientation options and RTL configuration for different languages and reading directions. - -## Orientation - -Control the layout direction of the Sankey Chart using the `Orientation` property. The orientation determines how nodes are arranged and how links flow through the diagram. - -### Orientation Options - -| Option | Description | -|--------|-------------| -| 'Horizontal' | Nodes flow from left to right. Links flow horizontally between nodes. (Default) | -| 'Vertical' | Nodes flow from top to bottom. Links flow vertically between nodes. | - -## Horizontal Orientation - -The default orientation displays nodes horizontally across the chart, with flows moving from left to right. This is the standard layout for most Sankey diagrams: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/orientation/horizontal-orientation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Horizontal-orientation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/orientation/horizontal-orientation/horizontal-orientation.cs %} -{% endhighlight %} -{% endtabs %} - -## Vertical Orientation - -Display nodes vertically with flows moving from top to bottom. This layout is useful for depicting hierarchical relationships or processes that flow downward: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/orientation/vertical-orientation/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Vertical-orientation.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/orientation/vertical-orientation/vertical-orientation.cs %} -{% endhighlight %} -{% endtabs %} - -## Right-to-Left (RTL) Support - -Enable RTL rendering for languages that read from right to left (such as Arabic, Hebrew, and Persian) using the `EnableRtl` property. RTL mode reverses the horizontal flow direction and mirrors the layout: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/orientation/rtl/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rtl.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/orientation/rtl/rtl.cs %} -{% endhighlight %} -{% endtabs %} - -## RTL with Horizontal Orientation - -Combining RTL mode with horizontal orientation creates a right-to-left flow layout. Nodes flow from right to left, and labels are right-aligned, making it suitable for RTL languages: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/orientation/rtl-horizontal/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Rtl-horizontal.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/orientation/rtl-horizontal/rtl-horizontal.cs %} -{% endhighlight %} -{% endtabs %} - -## RTL Effects on Layout - -When RTL is enabled: -- Nodes flow from right to left in horizontal orientation -- Legend positions are mirrored -- Labels and text are right-aligned -- Tooltips and menus adjust to RTL layout -- All UI elements adapt to right-to-left reading order - -## Best Practices - -- Use RTL when targeting languages like Arabic, Hebrew, Persian, or Urdu -- Test layouts in both LTR and RTL modes to ensure proper spacing and readability -- Combine orientation and RTL settings based on your specific visualization needs -- Ensure all labels and text content support the target language and character encoding diff --git a/chart-sdk/asp-net-core/sankey/print-and-export.md b/chart-sdk/asp-net-core/sankey/print-and-export.md deleted file mode 100644 index 8fae76681..000000000 --- a/chart-sdk/asp-net-core/sankey/print-and-export.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: post -title: Print and Export in ASP.NET Core Sankey Chart Component -description: Learn here all about Print and Export in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Print and Export -publishingplatform: chart-sdk -documentation: ug ---- - -# Print and Export in ASP.NET Core Sankey Chart component - -The Sankey Chart provides comprehensive print and export functionality, enabling users to generate static files in multiple formats (PNG, JPEG, SVG, PDF) or print the diagram directly. This is useful for reports, documentation, sharing, and offline access. - -This guide covers printing the chart and exporting to various formats with customization options. - -## Print - -Print the Sankey Chart directly to paper or PDF using the `print()` method. This opens the browser's print dialog, allowing users to select printer settings and output format: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/print/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/print/print.cs %} -{% endhighlight %} -{% endtabs %} - -## Export - -Export the Sankey Chart to various file formats using the `export()` method. This allows you to generate standalone files suitable for sharing, archiving, or embedding in documents. - -### Export Formats - -The Sankey Chart supports exporting to the following formats: - -- **PNG** - Portable Network Graphics (raster format, good for web) -- **JPEG** - Joint Photographic Experts Group (compressed raster, smaller file size) -- **SVG** - Scalable Vector Graphics (vector format, scalable without quality loss) -- **PDF** - Portable Document Format (ideal for printing and archiving) - - -Export the chart using default settings with a default filename: -### Export with Default Settings - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/export/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/export/export.cs %} -{% endhighlight %} -{% endtabs %} - -## Export with Custom Options - -Export the chart with a custom filename and format selection to control output file names and type: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/export-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Export-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/export-custom/export-custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Export Events - -### Before Export Event - -Use the `BeforeExport` event to customize the export process before the file is generated. This allows you to modify chart properties, add watermarks, or perform pre-export calculation - -Use the `BeforeExport` event to customize the export process: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/before-export-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Before-export-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/before-export-event/before-export-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Export Completed Event - -Handle the completion of export using the `ExportCompleted` event: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/export-completed-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Export-completed-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/print-export/export-completed-event/export-completed-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Export Format Comparison - -| Format | Use Case | Quality | File Size | -|--------|----------|---------|-----------| -| PNG | Web sharing, presentations | Raster (good quality) | Medium | -| JPEG | Web images, email | Raster (good quality) | Small | -| SVG | Scalable graphics, printing | Vector (scalable) | Medium | -| PDF | Documents, archival | Vector (scalable) | Medium | - -## Best Practices - -- **PNG/JPEG**: Best for quick sharing and web usage -- **SVG**: Best for scalable, print-ready exports -- **PDF**: Best for formal documents and archival purposes -- Choose format based on your distribution and usage requirements -- Test exports in different formats to ensure quality meets your needs diff --git a/chart-sdk/asp-net-core/sankey/title-and-sub-title.md b/chart-sdk/asp-net-core/sankey/title-and-sub-title.md deleted file mode 100644 index c3ee176b9..000000000 --- a/chart-sdk/asp-net-core/sankey/title-and-sub-title.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -layout: post -title: Title and Subtitle in ASP.NET Core Sankey Chart Component -description: Learn here all about Title and Subtitle in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Title and Subtitle -publishingplatform: chart-sdk -documentation: ug ---- - -# Title and Subtitle in ASP.NET Core Sankey Chart component - -The Sankey Chart supports adding descriptive titles and subtitles to provide context and information about your data visualization. These text elements help users quickly understand the purpose and content of the diagram. You can fully customize the text, styling, alignment, and appearance using dedicated properties. - -This guide covers title and subtitle configuration, styling options, and best practices for effective diagram labeling. - -## Title and Subtitle Properties - -| Property | Type | Description | -|----------|------|-------------| -| title | string | The main title text displayed at the top of the chart. | -| subTitle | string | The subtitle text displayed below the main title. | -| titleStyle | object | Styling options for the title text. | -| subTitleStyle | object | Styling options for the subtitle text. | - -## Title/Subtitle Style Properties - -Both `TitleStyle` and `SubTitleStyle` support the following properties: - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| size | string | null | Font size for the text. | -| fontWeight | string | null | Font weight (e.g., '400', '700'). | -| fontFamily | string | null | Font family name. | -| color | string | null | Text color. | -| fontStyle | string | 'normal' | Font style ('normal' or 'italic'). | -| opacity | number | 1 | Text opacity (0 to 1). | -| textAlignment | string | 'Center' | Text alignment ('Left', 'Center', 'Right'). | - -## Basic Title and Subtitle - -Add a main title and descriptive subtitle to your Sankey Chart to provide context about the data visualization: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/title-subtitle/title-subtitle/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title-subtitle.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/title-subtitle/title-subtitle/title-subtitle.cs %} -{% endhighlight %} -{% endtabs %} - -## Customized Title and Subtitle Styling - -Apply custom styling to both the title and subtitle including font properties, colors, alignment, and opacity to match your design requirements: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/title-subtitle/customized-title-subtitle/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Customized-title-subtitle.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/title-subtitle/customized-title-subtitle/customized-title-subtitle.cs %} -{% endhighlight %} -{% endtabs %} - -## Title Only (Without Subtitle) - -Add only a title to the Sankey Chart when a subtitle is not needed. This provides a clean, minimal header for your visualization: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/title-subtitle/title-only/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title-only.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/title-subtitle/title-only/title-only.cs %} -{% endhighlight %} -{% endtabs %} - -## Title with Different Alignments - -Control the alignment of title and subtitle text: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/title-subtitle/title-different-alignments/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title-different-alignments.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/title-subtitle/title-different-alignments/title-different-alignments.cs %} -{% endhighlight %} -{% endtabs %} - -## Title Best Practices - -- **Descriptive**: Use clear, descriptive titles that explain what the chart shows -- **Concise**: Keep titles brief and to the point -- **Hierarchy**: Make the title larger and bolder than the subtitle for visual hierarchy -- **Readability**: Ensure sufficient contrast between text color and background -- **Font Choice**: Use readable fonts like Segoe UI, Arial, or Verdana diff --git a/chart-sdk/asp-net-core/sankey/tool-tip.md b/chart-sdk/asp-net-core/sankey/tool-tip.md deleted file mode 100644 index 05e3ef5d0..000000000 --- a/chart-sdk/asp-net-core/sankey/tool-tip.md +++ /dev/null @@ -1,191 +0,0 @@ ---- -layout: post -title: ToolTip in ASP.NET Core Syncfusion Sankey Chart Component -description: Learn here all about ToolTip in Syncfusion ASP.NET Core Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: ToolTip -publishingplatform: chart-sdk -documentation: ug ---- - -# ToolTip in ASP.NET Core Sankey Chart component - -The Sankey Chart provides tooltips that surface contextual details for hovered elements without cluttering the diagram. Tooltips display additional information when users hover over nodes or links in the Sankey Chart. You can enable and customize tooltips using the `Tooltip` property. - -This guide outlines how to enable and customize tooltips in the ASP.NET Core Sankey Chart. - -## Tooltip Settings Properties - -The following table lists the main tooltip configuration properties: - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| enable | boolean | true | Enables or disables the tooltip display. | -| fill | string | null | Background fill color of the tooltip. | -| opacity | number | 0.75 | Opacity of the tooltip container (0 to 1). | -| textStyle | object | null | Text styling for the tooltip content. | -| nodeFormat | string | '$name : $value' | Format string for node tooltips. | -| linkFormat | string | '$start.name $start.value → $target.name $target.value' | Format string for link tooltips. | -| enableAnimation | boolean | true | Toggles tooltip animation. | -| duration | number | 300 | Animation duration in milliseconds. | -| fadeOutDuration | number | 1000 | Fade-out duration in milliseconds. | -| fadeOutMode | string | 'Move' | Fade-out animation mode ('Move', 'Fade', 'Delay'). | - -## Basic Tooltip Configuration - -Enable tooltips with default formatting: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/basic-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Basic-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/basic-tooltip/basic-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Customizing Tooltip Appearance - -Adjust tooltip appearance and behavior using tooltip configuration properties: - -- **Enable**: Shows or hides tooltips. -- **Fill**: Sets background color. -- **Opacity**: Controls transparency (0 to 1). The default value is 0.75. -- **TextStyle**: Configures font size, family, weight, and color for the tooltip text. -- **EnableAnimation**: Toggles animation. Default: true. -- **Duration**: Animation duration in milliseconds. The default value is 300. -- **FadeOutDuration**: Fade-out duration in milliseconds. The default value is 1000. - -Example customization: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/customized-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Customized-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/customized-tooltip/customized-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Format Strings - -Format strings provide a simple way to customize tooltip content without requiring custom templates. - -### Node Tooltip Format - -Format string placeholders for node tooltips: - -- `$name` - Node name/label -- `$value` - Node value (sum of incoming links) - -### Link Tooltip Format - -Format string placeholders for link tooltips: - -- `$start.name` - Source node name -- `$start.value` - Source node value -- `$target.name` - Target node name -- `$target.value` - Target node value -- `$value` - Link value - -**Example with custom format strings:** - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/link-tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Link-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/link-tooltip/link-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Inline tooltip formatting - -The tooltip content can be formatted directly within the `NodeFormat` and `LinkFormat` properties by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how node and link values are displayed without using additional events. - -A format specifier is applied by adding a colon (`:`) followed by the required format. Sankey tooltip supports both `$` placeholders and `${}` placeholders for displaying tooltip values. When a value needs to be formatted, use the `${}` placeholder syntax with a colon (`:`) followed by the required format specifier. - -For example: - -```cshtml - - -``` - -In the above example, `${name}`, `${start.name}`, and `${target.name}` display text values directly, while `${value:n2}`, `${start.out:n2}`, and `${target.in:n2}` display numeric values with two decimal places. - -Sankey tooltip values can be displayed in either of the following ways: - -- `$start.name` or `${start.name}` – Displays the source node name. -- `$target.name` or `${target.name}` – Displays the target node name. -- `$value` or `${value}` – Displays the node or link value. - -To apply formatting, use the `${}` syntax with the required format specifier. For example, `${value:n2}` displays the value with two decimal places. - -Inline formatting can be applied to the following tooltip placeholders: - -- `$name` or `${name}` – Specifies the name or label of the hovered node. -- `$value`, `${value}`, or `${value:n2}` – Specifies the value of the hovered node or link. -- `$start.name` or `${start.name}` – Specifies the name of the source node in a link tooltip. -- `$start.value`, `${start.value}`, or `${start.value:n2}` – Specifies the value of the source node in a link tooltip. -- `$start.out`, `${start.out}`, or `${start.out:n2}` – Specifies the outgoing value from the source node in a link tooltip. -- `$target.name` or `${target.name}` – Specifies the name of the target node in a link tooltip. -- `$target.value`, `${target.value}`, or `${target.value:n2}` – Specifies the value of the target node in a link tooltip. -- `$target.in`, `${target.in}`, or `${target.in:n2}` – Specifies the incoming value to the target node in a link tooltip. - -**Important:** Sankey tooltip placeholders can be used in both `$placeholder` and `${placeholder}` formats, such as `$start.name` or `${start.name}`. However, when applying number formatting, the `${placeholder:format}` syntax must be used, such as `${value:n2}`, `${start.out:n2}`, and `${target.in:n2}`. Formatting is applied only when the resolved value supports the specified format. String tokens, such as `${name}`, `${start.name}`, and `${target.name}`, are displayed as plain text and do not support number formatting. - -The following number formats are supported: - -- `n2` – number with two decimal places -- `n0` – number without decimals -- `c2` – currency format -- `p1` – percentage format -- `e1` – exponential notation - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/inline-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Inline-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/inline-format/inline-format.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Tooltip Configuration - -### Tooltip Rendering Event - -Use the `TooltipRendering` event to customize tooltip content dynamically and enable custom logic based on specific conditions: - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/tooltip-rendering-event/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sankey-diagram/tooltip/tooltip-rendering-event/tooltip-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Disabling Tooltips - -To disable tooltips, set the `Enable` property to `false`: - -```typescript -const tooltip = { enable: false }; -``` - -## Key Considerations - -- **Keep Text Concise**: Keep tooltip text concise and readable. -- **Ensure Contrast**: Ensure sufficient contrast for tooltip text and background. -- **Use Format Strings**: Prefer `NodeFormat` and `LinkFormat` for simple content customization without requiring custom rendering logic. -- **Animation Tuning**: Tune animation durations to balance responsiveness and polish. -- **Performance**: Use format strings instead of complex rendering logic for better performance. -- **Relevant Information**: Show only relevant and helpful information. -- **Consistent Styling**: Maintain consistent tooltip styling across your application. diff --git a/chart-sdk/asp-net-core/smith-chart/getting-started.md b/chart-sdk/asp-net-core/smith-chart/getting-started.md deleted file mode 100644 index 7c934bf41..000000000 --- a/chart-sdk/asp-net-core/smith-chart/getting-started.md +++ /dev/null @@ -1,186 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET Core Smithchart Control -description: Checkout and learn about getting started with ASP.NET Core Smithchart control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - - -# Getting Started with ASP.NET Core SmithChart Control - -This section briefly explains about how to include [ASP.NET Core SmithChart](https://www.syncfusion.com/aspnet-core-ui-controls/smith-chart) control in your ASP.NET Core application using Visual Studio. - -## Prerequisites - -[System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements) - -## Create ASP.NET Core web application with Razor pages - -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app) - -* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project) - -## Install ASP.NET Core package in the application - -To add `ASP.NET Core` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and then install it. Alternatively, you can utilize the following package manager command to achieve the same. - -{% tabs %} -{% highlight C# tabtitle="Package Manager" %} - -Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.AspNet.Core NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. - -## Add Syncfusion® ASP.NET Core Tag Helper - -Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelper. - -{% tabs %} -{% highlight C# tabtitle="~/_ViewImports.cshtml" %} - -@addTagHelper *, Syncfusion.EJ2 - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Here, script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application. - -## Register Syncfusion® Script Manager - -Also, register the script manager `` at the end of `` in the ASP.NET Core application as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET Core SmithChart Control - -Now, add the Syncfusion® ASP.NET Core SmithChart tag helper in `~/Pages/Index.cshtml` page. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - - - - -{% endhighlight %} -{% endtabs %} - -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET Core SmithChart control will be rendered in the default web browser. - -![ASP.NET Core SmithChart Control](images/smithchart-control.png) - -## Add series to Smith chart - -The Smith chart has the following two type of specification for adding series: - -* dataSource - Data object can be bound directly by specifying the resistance and reactance values. -* points - Collection of resistance and reactance values can be bound directly to render the series. - -The following two ways demonstrate adding two series to the Smith chart. - -* First series Transmission1 shows dataSource bound series. -* Second series Transmission2 shows points bound series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/getting-started/series/tagHelper %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core SmithChart with Series](images/smithchart-series.png) - -## Add title to SmithChart - -smithchart `title` API used to add title for smithchart. In that `text` API used to set text of the title. API `visible` used to toggle the title. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/getting-started/title/tagHelper %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core SmithChart with Title](images/smithchart-with-title.png) - -## Enable marker to the Smith chart - -To use marker in series and its customization in Smith chart, use series `marker` API. To display marker for a particular series, specify the `marker visible` to true. The following sample marker is enabled for the first series only. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/getting-started/marker/tagHelper %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core SmithChart with Marker](images/smithchart-with-marker.png) - -## Enable data label to marker - -To use marker data label and its customization in Smith chart, use marker `dataLabel`. To display data label for a particular series marker, specify the `dataLabel visible` to true in that series `marker`. The following sample data label is enabled for the first series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/getting-started/data-label/tagHelper %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core SmithChart with DataLabel](images/smithchart-with-datalabel.png) - -## Enable legend for Smith chart - -The legend feature is used to denote the corresponding series. You can enable the legend for the smithchart by setting the [`visible`] property to true in [`legendSettings`] object. The following sample shows enabling legend for Smith chart. The series name can be customized using the series `name`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/getting-started/legend/tagHelper %} -{% endhighlight %} -{% endtabs %} - -## Enable tooltip for the Smith chart series - -The tooltip feature is used to show the values of the current point. You can enable tooltip by setting the [`visible`] property to true in [`tooltipSettings`] object. The following sample shows enabling tooltip for Smith chart series collection. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/getting-started/tooltip/tagHelper %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core SmithChart with Tooltip](images/smithchart-with-tooltip.png) - -N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/SmithChart/ASP.NET%20Core%20Tag%20Helper%20Examples). - -## See also - -* [Getting Started with Syncfusion® ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages/) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/smith-chart/smithchart-tooltip.md b/chart-sdk/asp-net-core/smith-chart/smithchart-tooltip.md deleted file mode 100644 index 9a29749a2..000000000 --- a/chart-sdk/asp-net-core/smith-chart/smithchart-tooltip.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: post -title: Smithchart Tooltip in ASP.NET Core Smithchart Component -description: Learn here all about Smithchart Tooltip in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Tooltip -publishingplatform: chart-sdk -documentation: ug ---- - - -# Tooltip - -Smithchart will display details about the points through tooltip, when the mouse is moved over the point. By default, tooltip is disabled. To enable the tooltip for smithchart, you need to import and inject TooltipRender module from chart. And also set the property visible as true, in tooltip settings. You can customize the tooltip's visibility and appearance differently each series in the smithchart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/tooltip/tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/tooltip/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/smith-chart/accessibility.md b/chart-sdk/asp-net-core/smith-charts/accessibility.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/accessibility.md rename to chart-sdk/asp-net-core/smith-charts/accessibility.md diff --git a/chart-sdk/asp-net-core/smithchart/getting-started.md b/chart-sdk/asp-net-core/smith-charts/getting-started.md similarity index 100% rename from chart-sdk/asp-net-core/smithchart/getting-started.md rename to chart-sdk/asp-net-core/smith-charts/getting-started.md diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/default-template.png b/chart-sdk/asp-net-core/smith-charts/images/default-template.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/default-template.png rename to chart-sdk/asp-net-core/smith-charts/images/default-template.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/nuget-demo.png b/chart-sdk/asp-net-core/smith-charts/images/nuget-demo.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/nuget-demo.png rename to chart-sdk/asp-net-core/smith-charts/images/nuget-demo.png diff --git a/chart-sdk/asp-net-core/smithchart/images/smithchart-control.webp b/chart-sdk/asp-net-core/smith-charts/images/smithchart-control.webp similarity index 100% rename from chart-sdk/asp-net-core/smithchart/images/smithchart-control.webp rename to chart-sdk/asp-net-core/smith-charts/images/smithchart-control.webp diff --git a/chart-sdk/asp-net-core/smithchart/images/smithchart-series.webp b/chart-sdk/asp-net-core/smith-charts/images/smithchart-series.webp similarity index 100% rename from chart-sdk/asp-net-core/smithchart/images/smithchart-series.webp rename to chart-sdk/asp-net-core/smith-charts/images/smithchart-series.webp diff --git a/chart-sdk/asp-net-core/smithchart/images/smithchart-with-datalabel.webp b/chart-sdk/asp-net-core/smith-charts/images/smithchart-with-datalabel.webp similarity index 100% rename from chart-sdk/asp-net-core/smithchart/images/smithchart-with-datalabel.webp rename to chart-sdk/asp-net-core/smith-charts/images/smithchart-with-datalabel.webp diff --git a/chart-sdk/asp-net-core/smithchart/images/smithchart-with-marker.webp b/chart-sdk/asp-net-core/smith-charts/images/smithchart-with-marker.webp similarity index 100% rename from chart-sdk/asp-net-core/smithchart/images/smithchart-with-marker.webp rename to chart-sdk/asp-net-core/smith-charts/images/smithchart-with-marker.webp diff --git a/chart-sdk/asp-net-core/smithchart/images/smithchart-with-title.webp b/chart-sdk/asp-net-core/smith-charts/images/smithchart-with-title.webp similarity index 100% rename from chart-sdk/asp-net-core/smithchart/images/smithchart-with-title.webp rename to chart-sdk/asp-net-core/smith-charts/images/smithchart-with-title.webp diff --git a/chart-sdk/asp-net-core/smithchart/images/smithchart-with-tooltip.webp b/chart-sdk/asp-net-core/smith-charts/images/smithchart-with-tooltip.webp similarity index 100% rename from chart-sdk/asp-net-core/smithchart/images/smithchart-with-tooltip.webp rename to chart-sdk/asp-net-core/smith-charts/images/smithchart-with-tooltip.webp diff --git a/chart-sdk/asp-net-core/smith-chart/images/solution-Explorer.png b/chart-sdk/asp-net-core/smith-charts/images/solution-Explorer.png similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/images/solution-Explorer.png rename to chart-sdk/asp-net-core/smith-charts/images/solution-Explorer.png diff --git a/chart-sdk/asp-net-core/smith-chart/overview.md b/chart-sdk/asp-net-core/smith-charts/overview.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/overview.md rename to chart-sdk/asp-net-core/smith-charts/overview.md diff --git a/chart-sdk/asp-net-core/smith-chart/smithchart-axis.md b/chart-sdk/asp-net-core/smith-charts/smithchart-axis.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/smithchart-axis.md rename to chart-sdk/asp-net-core/smith-charts/smithchart-axis.md diff --git a/chart-sdk/asp-net-core/smith-chart/smithchart-dimensions.md b/chart-sdk/asp-net-core/smith-charts/smithchart-dimensions.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/smithchart-dimensions.md rename to chart-sdk/asp-net-core/smith-charts/smithchart-dimensions.md diff --git a/chart-sdk/asp-net-core/smith-chart/smithchart-legend.md b/chart-sdk/asp-net-core/smith-charts/smithchart-legend.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/smithchart-legend.md rename to chart-sdk/asp-net-core/smith-charts/smithchart-legend.md diff --git a/chart-sdk/asp-net-core/smith-chart/smithchart-marker.md b/chart-sdk/asp-net-core/smith-charts/smithchart-marker.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/smithchart-marker.md rename to chart-sdk/asp-net-core/smith-charts/smithchart-marker.md diff --git a/chart-sdk/asp-net-core/smith-chart/smithchart-print.md b/chart-sdk/asp-net-core/smith-charts/smithchart-print.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/smithchart-print.md rename to chart-sdk/asp-net-core/smith-charts/smithchart-print.md diff --git a/chart-sdk/asp-net-core/smith-chart/smithchart-series.md b/chart-sdk/asp-net-core/smith-charts/smithchart-series.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/smithchart-series.md rename to chart-sdk/asp-net-core/smith-charts/smithchart-series.md diff --git a/chart-sdk/asp-net-core/smithchart/smithchart-tooltip.md b/chart-sdk/asp-net-core/smith-charts/smithchart-tooltip.md similarity index 100% rename from chart-sdk/asp-net-core/smithchart/smithchart-tooltip.md rename to chart-sdk/asp-net-core/smith-charts/smithchart-tooltip.md diff --git a/chart-sdk/asp-net-core/smith-chart/title-subtitle.md b/chart-sdk/asp-net-core/smith-charts/title-subtitle.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/title-subtitle.md rename to chart-sdk/asp-net-core/smith-charts/title-subtitle.md diff --git a/chart-sdk/asp-net-core/smith-chart/working-with-data.md b/chart-sdk/asp-net-core/smith-charts/working-with-data.md similarity index 100% rename from chart-sdk/asp-net-core/smith-chart/working-with-data.md rename to chart-sdk/asp-net-core/smith-charts/working-with-data.md diff --git a/chart-sdk/asp-net-core/smithchart/accessibility.md b/chart-sdk/asp-net-core/smithchart/accessibility.md deleted file mode 100644 index f67b8f4b6..000000000 --- a/chart-sdk/asp-net-core/smithchart/accessibility.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -layout: post -title: Accessibility in Syncfusion Smith Chart Component -description: Learn here all about Accessibility in Syncfusion ASP Core Smith Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility -publishingplatform: chart-sdk -documentation: ug ---- - - -# Accessibility in ASP.NET Core Smith chart component - -The Smith chart component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility. - -The accessibility compliance for the Smith chart component is outlined below. - -| Accessibility Criteria | Compatibility | -| -- | -- | -| [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Support | AA | -| [Section 508](https://www.section508.gov/) Support | Intermediate | -| Screen Reader Support | Intermediate | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Intermediate | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | - - -
Yes - All features of the component meet the requirement.
- -
Intermediate - Some features of the component do not meet the requirement.
- -
No - The component does not meet the requirement.
- - -## WAI-ARIA attributes - -The Smith chart component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Smith chart component: - -* img (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) - -## Keyboard interaction - -The Smith chart component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Smith chart component. - -| **Press** | **To do this** | -| --- | --- | -| Tab | Moves the focus to the next element in the Smith chart. | -| Shift + Tab | Moves the focus to the previous element in the Smith chart. | -| Ctrl + P | Prints the Smith chart. | - -## Ensuring accessibility - -The Smith chart component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Smith chart component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/smith-chart.html) in a new window to evaluate the accessibility of the Smith chart component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/smith-chart.html" %} - -## See also - -* [Accessibility in Syncfusion® ASP.NET Core components](../common/accessibility) - diff --git a/chart-sdk/asp-net-core/smithchart/overview.md b/chart-sdk/asp-net-core/smithchart/overview.md deleted file mode 100644 index f8eebb73e..000000000 --- a/chart-sdk/asp-net-core/smithchart/overview.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: post -title: Overview in ASP.NET Core Smithchart Component -description: Learn here all about Overview in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Index -publishingplatform: chart-sdk -documentation: ug ---- - - -# Overview - -The Smith chart control is one of the most useful data visualization tools for high frequency circuit applications. It contains two sets of circles to plot the parameters of transmission lines. - -## Key features - -* Supports any number of series and points. -* Supports impedance and admittance series render type. -* Supports tooltip user interaction feature in mouse and touch actions. -* Supports markers and data labels to get more information about series points. -* Supports legends that are used to toggle series visibility. \ No newline at end of file diff --git a/chart-sdk/asp-net-core/smithchart/smithchart-axis.md b/chart-sdk/asp-net-core/smithchart/smithchart-axis.md deleted file mode 100644 index 04e621585..000000000 --- a/chart-sdk/asp-net-core/smithchart/smithchart-axis.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -layout: post -title: Smithchart Axis in ASP.NET Core Smithchart Control | Syncfusion -description: Learn here all about Smithchart Axis in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Axis -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis in Smithchart Control - -Like chart, Smithchart is having support for two types of axis. -* Horizontal axis - axis drawn as straight line in the horizontal direction of the chart. -* Radial axis - axis is drawn as circular path. - -## Labels Customization - -Axis labels are used to denote what kind of data is bound for smithchart. Using axis labels, you can easily identify in which interval chart is rendered. Using following properties we can customize the axis labels for horizontal and radial axis. - -* [`labelPosition`] - used to place the labels either inside or outside the axis line. -* [`labelIntersectAction`] - used to hide the labels when intersect with other one. -* [`labelStyle`] - used to customize the properties such as font size, family, weight, opacity. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/axis/label/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Label.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/axis/label/label.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Gridlines - -To make the data in a chart that displays axes easier to read, you can display horizontal and radial axis gridlines. Gridlines extend from any horizontal and radial axes across the plot area of the smithchart. - -Both horizontal and radial axis are having support for major as well as minor gridlines. Major gridlines are drawn from the position in which labels are rendered. Minor gridlines are drawn between two major gridlines as per the count we set in settings. - -We can customize following things, in major as well as minor gridlines. - -* [`width`] - used to customize the width of gridlines. -* [`dashArray`] - used to customize whether gridline have to render as normal line or dashed line. -* [`visible`] - used to enable or disable the visibility of the gridlines. -* [`opacity`] - used to customize the opacity of the major gridlines. -* [`count`] - used to customize the count of the minor gridlines. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/axis/grid-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Grid-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/axis/grid-line/grid-line.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Axisline - -As name suggests that, it is a line in smithchart that can be configured to denotes the axis. By default, visibility of the axis line is true. You can customize its visibility by using visible property in axis Line. Other than visibility of the axis line, you can customize the following properties of the axis line. - -* [`width`] - used to customize the width of the axis line. -* [`dashArray`] - used to render the axis line as dashed line. -* [`visible`] - used to enable or disable the visibility of the axis line. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/axis/axis-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Axis-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/axis/axis-line/axis-line.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/smithchart/smithchart-dimensions.md b/chart-sdk/asp-net-core/smithchart/smithchart-dimensions.md deleted file mode 100644 index 4ffec4422..000000000 --- a/chart-sdk/asp-net-core/smithchart/smithchart-dimensions.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -layout: post -title: Smithchart Dimensions in ASP.NET Core Smithchart Component -description: Learn here all about Smithchart Dimensions in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Dimensions -publishingplatform: chart-sdk -documentation: ug ---- - - -# Smithchart Dimensions - -You can render the smithchart either corresponding to its container size or you can set the size of the smithchart as per your requirement. To render the smithchart corresponding to its container size, you need to set the size for the smithchart container. Else to set the size for the smithchart as per your requirement, you can use the width and height properties in the smithchart. - -## Size for Container - -You can render smithchart to it's container size. To achieve this, you need to specify the width and height of the smithchart's container via inline or CSS as demonstrated below. - -```javascript -
-
-
-``` - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/dimension/container/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Container.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/dimension/container/container.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Size for Smithchart - - - -You can also set size for smithchart directly through [`width`] and [`height`] properties. Using this properties, you can directly mention the width and height of the smithchart in pixels or you can set the width and height in percentage. - -**In Pixel** - -In smithchart's width and height property, you can directly give values in pixels like below demonstration. This will render smithchart in same size as you mentioned in you code. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/dimension/size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/dimension/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - -**In percentage** - -You can also specify the width and height of the smithchart in percentage. If you mention the width and height in percentage, then smithchart will be render as per the percentage of it's container size. You can set the values in percentage like below demonstration. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/dimension/percentage/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/dimension/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/smithchart/smithchart-legend.md b/chart-sdk/asp-net-core/smithchart/smithchart-legend.md deleted file mode 100644 index 9fa877103..000000000 --- a/chart-sdk/asp-net-core/smithchart/smithchart-legend.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -layout: post -title: Smithchart Legend in ASP.NET Core Smithchart Component -description: Learn here all about Smithchart Legend in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Legend -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Legend - -Legend is a key used in smithchart, that contains symbol and descriptions. It provides valuable information for interpreting what the smithchart is displaying and can be represented in various colors, shapes or other identifiers based on the data. In simple words, we can define that legend is used to denote the series rendered in the smithchart. - -## Position and Alignment - -By default visibility of the legend is false. To enable the legend, set visible as true in legendSettings. Default position for the legend is bottom. By using [`position`] property, you can change the position of the legend. You can either place the legend at bottom, top, right and left side of the smithchart. To use the legend in smithchart, you need to import and inject the SmithchartLegend from chart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -Other than these positions, you can place the legend anywhere in the smithchart. To achieve this, you have to set position as custom in legendSettings and specify the x and y coordinates using the x and y properties in the location. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/custom-position/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-position.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/custom-position/custom-position.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Legend Alignment** - -Other than positioning the legend in the smithchart, you can customize its alignment also. By default, legend is aligned at center. Using the [`alignment`] property, you can align the legend in near and far locations of the smithchart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/alignment/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Alignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/alignment/alignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -**Legend Shape** - -By default, legend is rendered in the circle shape and the color of the shape is as same as series color in the smithchart. Using the property [`shape`] in legend settings, you can change the icon shape of the legend as rectangle, triangle and so on. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/custom-shape/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-shape.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/custom-shape/custom-shape.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Legend Size** - -By default, legend takes 20% - 25% of the chart's height horizontally, when it is placed on top or bottom position and 20% - 25% of the width vertically, while placing on left or right position of the chart. You can change this default legend size by using the [`width`] and [`height`] property of the legendSettings. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/legend-size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Legend-size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/legend-size/legend-size.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Padding** - -You can customize the space between two legend items and space between legend shape and text as per your requirement. For customizing the space between two legend items, you can use [`itemPadding`] property. To control space between legend shape and text, you can use [`shapePadding`] property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/padding/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Padding.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/padding/padding.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Toggle Visibility - -By default series name is displayed in the legend. You can collapse the visibility of the series by clicking the legend for the particular series. You can toggle the series visibility as true or false using the [`toggleVisibility`] property. By default it is true. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/toggle/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Toggle.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/legend/toggle/toggle.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/smithchart/smithchart-marker.md b/chart-sdk/asp-net-core/smithchart/smithchart-marker.md deleted file mode 100644 index 2f3d3b4cb..000000000 --- a/chart-sdk/asp-net-core/smithchart/smithchart-marker.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -layout: post -title: Smithchart Marker in ASP.NET Core Smithchart Component -description: Learn here all about Smithchart Marker in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Marker -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Marker & Datalabels - -Markers and Datalabels are used to provide information about the data points in the series. You can add a shape to adorn each data point. By default marker and datalabel both are disabled in smithchart. You can enable both of them by setting visible property as true in marker and datalabel settings - -## Marker - -Default visibility of marker is false. You can enable the marker by setting property visible as true in marker settings. This will add marker for each point in the series. Using marker setting, you can customize marker differently for each series in smithchart. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/marker/marker/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Marker.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/marker/marker/marker.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Marker Customization** - -Using marker settings in series, you can customize the marker for each series differently. Using marker settings, you can customize following properties differently for each series in the smithchart. - -* [`width`] - To control the width of the marker. -* [`height`] - To control the height of the marker. -* [`fill`] - Used to customize the fill color of the marker. -* [`opacity`] - Used to customize the opacity of the marker. -* [`border`] - Used to control the width and color of the marker's border. -* [`shape`] - Used to change the shape of the marker. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/marker/custom-maker/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-maker.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/marker/custom-maker/custom-maker.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Datalabels - -By default, datalabel is disabled. You can enable the datalabel by setting property visible as true in datalabel settings. For each point in series, data label is created. Datalabel for each series can be customized differently using datalabel settings. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/marker/data-label/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Data-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/marker/data-label/data-label.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Datalabel customization** - -Using datalabel settings in marker, you can customize the datalabel for each series differently. In datalabel, you can customize the following properties differently for each series. - -* [`fill`] - Used to changes the fill color of the data label's shape. -* [`opacity`] - Used to control the opacity of the data label's shape. -* [`border`] - Used to customize the width and color of the border. -* [`textStyle`] - Used to customize the font color, width and size. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/marker/custom-label/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/marker/custom-label/custom-label.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/smithchart/smithchart-print.md b/chart-sdk/asp-net-core/smithchart/smithchart-print.md deleted file mode 100644 index c82e4219f..000000000 --- a/chart-sdk/asp-net-core/smithchart/smithchart-print.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Smithchart Print in ASP.NET Core Smithchart Component -description: Learn here all about Smithchart Print in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Print -publishingplatform: chart-sdk -documentation: ug ---- - - -# Print and Export - -## Print - -The rendered smithchart can be printed directly from the browser by calling the public method print. ID of the smithchart's div element must be passed as argument to that method. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/print/print/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/print/print/print.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Export - -The rendered smithchart can be exported to JPEG , PNG, SVG or PDF format by using export method in smithchart. Input parameters for this method are Export Type for format and fileName of result. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/print/export/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/print/export/export.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/smithchart/smithchart-series.md b/chart-sdk/asp-net-core/smithchart/smithchart-series.md deleted file mode 100644 index 6d146cb75..000000000 --- a/chart-sdk/asp-net-core/smithchart/smithchart-series.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: post -title: Smithchart Series in ASP.NET Core Smithchart Component -description: Learn here all about Smithchart Series in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Series -publishingplatform: chart-sdk -documentation: ug ---- - - -# Series - -You can add any number of series to the smithchart as per your requirement. You can use series setting to either add or customize the data. For the points or datasource added in the series, line is drawn. You can customize the each series as per your requirement with marker, datalabel, animation, opacity and so on. - -## points or datasource - -For adding values in the smithchart, you can use either points or datasource in the series. Points and datasource both should be array of object which should contain the field names resistance and rectangle. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/series/series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/series/series/series.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -Using following options in series settings, you can customize each series in smithchart as per your requirement. - -* [`fill`] - Used to customize the fill color for the series. -* [`enableSmartLabels`] - Used to place the data labels on the smithchart without overlapping with each other. -* [`visibility`] - Used to handle the visibility of the series. -* [`opacity`] - Used to control the opacity of the series line. -* [`width`] - Used to customize the width of the series line. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/series/custom-series/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/series/custom-series/custom-series.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/smithchart/title-subtitle.md b/chart-sdk/asp-net-core/smithchart/title-subtitle.md deleted file mode 100644 index 33818217b..000000000 --- a/chart-sdk/asp-net-core/smithchart/title-subtitle.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: post -title: Title Subtitle in ASP.NET Core Smithchart Component -description: Learn here all about Title Subtitle in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Title Subtitle -publishingplatform: chart-sdk -documentation: ug ---- - - -# Title and Subtitle - -## Enable title - -Title and subtitle is used to depicts the information about the data plotted in the smithchart. You can set the title and subtitle of the smithchart using the [`text`] property in title and subtitle. By default visibility of the title as well as subtitle is enabled. You need to set simply text for title and subtitle in your sample as like below. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/title/title/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/title/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Title trim - -Both title and subtitle of the smithchart can be trimmed if it exceeds the certain length. Trimming is enabled using [`enableTrim`] for title as well as subtitle. This length can be changed using the property [`maximumWidth`]. Also [`font`], [`textAlignment`] and [`visibility`] can be customized for title as well as subtitle. - - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/title/title-trim/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Title-trim.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/title/title-trim/title-trim.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/smithchart/working-with-data.md b/chart-sdk/asp-net-core/smithchart/working-with-data.md deleted file mode 100644 index 6ac14e47f..000000000 --- a/chart-sdk/asp-net-core/smithchart/working-with-data.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -title: Working With Data in ASP.NET Core Smithchart Component -description: Learn here all about Working With Data in Syncfusion ASP.NET Core Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Working With Data -publishingplatform: chart-sdk -documentation: ug ---- - - -# Working with Data - -Smithchart can visualise the data bound from local data. The data you bind for the smithchart, should be an array of object and that should contain the field resistance and rectangle. This should be bind to points or datasource in the smithchart. - -## Data Binding - -You can bind simple JSON data to smithchart using point property in series. JSON data should contain [`resistance`] and [`reactance`] fields. This JSON data should be bind to points or datasource in the smithchart. You can any number of JSON for points or datasource as per your requirement. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/data/working-with-data/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Working-with-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/smith-chart/data/working-with-data/working-with-data.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/sparkline-charts/accessibility.md b/chart-sdk/asp-net-core/sparkline-charts/accessibility.md deleted file mode 100644 index b0f24bff5..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/accessibility.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -layout: post -title: Accessibility in Syncfusion Sparkline Component -description: Learn here all about Accessibility in Syncfusion ASP Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility -publishingplatform: chart-sdk -documentation: ug ---- - - -# Accessibility in ASP.NET Core Sparkline component - -The Sparkline component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility. - -The accessibility compliance for the Sparkline component is outlined below. - -| Accessibility Criteria | Compatibility | -| -- | -- | -| [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Support | AA | -| [Section 508](https://www.section508.gov/) Support | Intermediate | -| Screen Reader Support | Intermediate | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Intermediate | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | - - -
Yes - All features of the component meet the requirement.
- -
Intermediate - Some features of the component do not meet the requirement.
- -
No - The component does not meet the requirement.
- - -## WAI-ARIA attributes - -The Sparkline component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Sparkline component: - -* img (role) -* aria-label (attribute) -* aria-hidden (attribute) - -## Keyboard interaction - -The Sparkline component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Sparkline component. - -| **Press** | **To do this** | -| --- | --- | -| Ctrl + P | Prints the Sparkline. | - -## Ensuring accessibility - -The Sparkline component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Sparkline component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/spark-line-chart.html) in a new window to evaluate the accessibility of the Sparkline component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/spark-line-chart.html" %} - -## See also - -* [Accessibility in Syncfusion® ASP.NET Core components](../common/accessibility) diff --git a/chart-sdk/asp-net-core/sparkline-charts/appearance.md b/chart-sdk/asp-net-core/sparkline-charts/appearance.md deleted file mode 100644 index 5195c675f..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/appearance.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -layout: post -title: Appearance in ASP.NET Core Sparkline Component -description: Learn here all about Appearance in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Appearance -publishingplatform: chart-sdk -documentation: ug ---- - - -# Appearance - -The appearance of the sparkline can be customized using margin, container Area border, and container Area background. - -## Sparkline border - -The [`containerArea border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineContainerArea~Border.html) of the sparkline is used to render border to cover sparkline area. - -The following code example shows the sparkline with overall border. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/appearance/border/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/appearance/border/border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Sparkline padding - -Padding is used to specify padding value between container and sparkline. By default, padding value of the sparkline is 5. Sparkline [`padding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklinePadding.html) values are specified by the left, right, top, and bottom. - -The following code example shows the sparkline with overall padding is set to 20. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/appearance/padding/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Padding.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/appearance/padding/padding.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Sparkline area customization - -The background color of the sparkline area can be customized using the [`containerArea background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineContainerArea~BackGround.html) color. By default, the sparkline background color is `transparent`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/appearance/area-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area_custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/appearance/area-custom/area_custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Sparkline theme - -Datalabel and track line colors of the sparkline will be changed based on theme. For example, for dark theme, the color of datalabel and track line should be white; for light theme, their value should be black. The possible values for sparkline theme are [`Material`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), [`Fabric`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), [`Bootstrap`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), and [`Highcontrast`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html). - -The following code example shows the color for datalabel and track line is set to white for dark theme. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/appearance/theme/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Theme.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/appearance/theme/theme.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/sparkline-charts/appearance.md.bak b/chart-sdk/asp-net-core/sparkline-charts/appearance.md.bak deleted file mode 100644 index 0372cc25d..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/appearance.md.bak +++ /dev/null @@ -1,1491 +0,0 @@ - - - - - - - - - - - - - - Welcome to Syncfusion Essential - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
    -
    -
    - - -
    - - - -
    - - -
    - # Appearance - -The appearance of the sparkline can be customized using margin, container Area border, and container Area background. - -## Sparkline border - -The [`containerArea border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineContainerArea~Border.html) of the sparkline is used to render border to cover sparkline area. - -The following code example shows the sparkline with overall border. - - - - - -## Sparkline padding - -Padding is used to specify padding value between container and sparkline. By default, padding value of the sparkline is 5. Sparkline [`padding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklinePadding.html) values are specified by the left, right, top, and bottom. - -The following code example shows the sparkline with overall padding is set to 20. - - - - - -## Sparkline area customization - -The background color of the sparkline area can be customized using the [`containerArea background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineContainerArea~BackGround.html) color. By default, the sparkline background color is `transparent`. - - - - - -## Sparkline theme - -Datalabel and track line colors of the sparkline will be changed based on theme. For example, for dark theme, the color of datalabel and track line should be white; for light theme, their value should be black. The possible values for sparkline theme are [`Material`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), [`Fabric`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), [`Bootstrap`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), and [`Highcontrast`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html). - -The following code example shows the color for datalabel and track line is set to white for dark theme. - - - - -
    - - - -
    - - -
    - -
    - - -
    -
    - - - - - - - - - - - diff --git a/chart-sdk/asp-net-core/sparkline-charts/axis-customization.md b/chart-sdk/asp-net-core/sparkline-charts/axis-customization.md deleted file mode 100644 index 27d5f4f7c..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/axis-customization.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -layout: post -title: Axis Customization in ASP.NET Core Sparkline Component -description: Learn here all about Axis Customization in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis Customization - -You can customize axis value types and min and max values of the sparkline. - -## Change value type of the sparkline - -You can change the sparkline value type by setting the [`valueType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~ValueType.html) property to `Numeric`, `Category`, or `DateTime`. - - -**DateTime** - -You can assign date-time values to the sparkline by setting the [`valueType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~ValueType.html) property to `DateTime`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/datetime/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Datetime.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/datetime/datetime.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -**Category** - -You can assign category values to the sparkline by setting [`valueType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~ValueType.html) to `Category`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/category/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Category.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/category/category.cs %} -{% endhighlight %} -{% endtabs %} - - -**Numeric** - -You can assign numeric values to the sparkline by setting [`valueType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~ValueType.html) to `Numeric`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/numeric/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Numeric.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/numeric/numeric.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Change min and max values of axis - -You can change the min and max values of x-axis by setting the [`minX`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~MinX.html) and [`maxX`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~MaxX.html) values to the [`axisSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings.html) property. You can also change the min and max values of y-axis by setting the [`minY`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~MinY.html) and [`maxY`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~MaxY.html) values to the [`axisSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings.html) property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/minmax/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Minmax.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/minmax/minmax.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Change value of axis - -You can set horizontal axis line value of the sparkline by setting [`value`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~Value.html) to the [`axisSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings.html) property. The following code example shows this. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/value/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Value.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/value/value.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Axis line customization - -Axis of the sparkline can be collapsed using the [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~Visible.html) property in [`lineSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings.html); this is not applicable for win-loss. You can customize the [`color`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~Color.html), [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~Width.html), [`opacity`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~Opacity.html), and [`dashArray`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~DashArray.html) of axis line. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/axis-line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Axis_line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/axis/axis-line/axis_line.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/sparkline-charts/data-labels.md b/chart-sdk/asp-net-core/sparkline-charts/data-labels.md deleted file mode 100644 index 92af4de26..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/data-labels.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -layout: post -title: Data Labels in ASP.NET Core Sparkline Component -description: Learn here all about Data Labels in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Labels - -Data labels are used to display values of data points to improve the readability. - -## Enable data label - -To enable data label for sparkline series, provide [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineDataLabelSettings~Visible.html) of the [`dataLabelSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineDataLabelSettings.html) as following possible values: - -* All - Enables data label of all points. -* Start - Enables data label of the start point. -* End - Enables data label of the end point. -* High - Enables data label of the high point. -* Low - Enables data label of the low point. -* Negative - Enables data labels of the negative points. - -The following example shows enabling sparkline data label for all points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/datalabel/enable/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Enable.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/datalabel/enable/enable.cs %} -{% endhighlight %} -{% endtabs %} - - -## Customize data label - -Data labels can be customized using the fill, border, opacity, and text Style. The following code example shows customizing data label border, text color, and fill color. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/datalabel/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/datalabel/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - -## Format data label text - -The text of data labels can be formatted using the [`format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineDataLabelSettings~Format.html) API in the sparkline [`dataLabelSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineDataLabelSettings.html). By default, data label shows the y-value of point. The following code example shows how to display x and y-values for points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/datalabel/format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/datalabel/format/format.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/sparkline-charts/ej1-api-migration.md b/chart-sdk/asp-net-core/sparkline-charts/ej1-api-migration.md deleted file mode 100644 index fbc0a8ec5..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/ej1-api-migration.md +++ /dev/null @@ -1,167 +0,0 @@ ---- -layout: post -title: Ej1 Api Migration in ASP.NET Core Sparkline Component -description: Learn here all about Ej1 Api Migration in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Ej1 Api Migration -publishingplatform: chart-sdk -documentation: ug ---- - - -# Migration from Essential® JS 1 - -This article describes the API migration process of Accordion component from Essential® JS 1 to Essential® JS 2. - -## Sparkline Types - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Type| **Property:** *type*

    ``| **Property:** *type*

    `` | - -## Databinding - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Datasource| **Property:** *dataSource*

    `` |**Property:** *dataSource*

    ``| -|Binding X values with datasource| **Property:** *xName*

    `` |**Property:** *xName*

    ``| -|Binding Y values with datasource| **Property:** *yName*

    `` |**Property:** *yName*

    ``| - -## Markers - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Enable markers| **Property:** *markerSettings.visible*

    ` `| **Property:** *markerSettings.visible*

    ` `

    `var all = new string[] {"All"}`| -|Color| **Property:** *markerSettings.fill*

    ` ` |**Property:** *markerSettings.fill*

    ` `| -|Size| **Property:** *markerSettings.width*

    ` ` |**Property:** *markerSettings.size*

    ` `| -|Opacity| **Property:** *markerSettings.opacity*

    ` ` |**Property:** *markerSettings.opacity*

    ` `| -|Border color| **Property:** *markerSettings.border.color*

    ``| **Property:** *markerSettings.border.color*

    ` `

    `var border = new {color="red"}`| -|Border width| **Property:** *markerSettings.border.width*

    `` |**Property:** *markerSettings.border.width*

    ` `

    `var border = new {width=2}`| -|Border opacity| **Property:** *markerSettings.border.opacity*

    `` |Not applicable| - -## Data labels - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Enable data labels| Not applicable |**Property:** *dataLabelSettings.visible*

    ``

    `var all = new string[] {"All"}`| -|Color| Not applicable |**Property:** *dataLabelSettings.fill*

    ``| -|Opacity| Not applicable |**Property:** *dataLabelSettings.opacity*

    `` | -|Border color| Not applicable |**Property:** *dataLabelSettings.border.color*

    ``

    `var border = new {color="red"}`| -|Border width| Not applicable |**Property:** *dataLabelSettings.border.width*

    ``

    `var border = new {width=2}`| -|Format| Not applicable |**Property:** *dataLabelSettings.format*

    ``| -|Horizontal Offset| Not applicable |**Property:** *dataLabelSettings.offset.x*

    ``

    `var offset = new {x=100}`| -|Vertical Offset| Not applicable |**Property:** *dataLabelSettings.offset.y*

    ``

    `var offset = new {y=100}`| -|Font color| Not applicable |**Property:** *dataLabelSettings.textStyle.color*

    ``

    `var textStyle = new {color="green"}`| -|Font family| Not applicable |**Property:** *dataLabelSettings.textStyle.fontFamily*

    ``

    `var textStyle = new {fontFamily="Arial"}`| -|Font style| Not applicable |**Property:** *dataLabelSettings.textStyle.fontStyle*

    ``

    `var textStyle = new {fontStyle="normal"}`| -|Font weight| Not applicable |**Property:** *dataLabelSettings.textStyle.fontWeight*

    ``

    `var textStyle = new {fontWeight="bold"}`| -|Font opacity| Not applicable |**Property:** *dataLabelSettings.textStyle.opacity*

    ``

    `var textStyle = new {opacity=0.5}`| -|Font size| Not applicable |**Property:** *dataLabelSettings.textStyle.fontSize*

    ``

    `var textStyle = new {fontSize="12px"}`| - -## Range band - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Color| **Property:** *rangeBandSettings.color*

    ` ` |**Property:** *rangeBandSettings.color*

    ` `| -|Opacity| **Property:** *rangeBandSettings.opacity*

    ` ` |**Property:** *rangeBandSettings.opacity*

    ` `| -|Start range| **Property:** *rangeBandSettings.startRange*

    `` |**Property:** *rangeBandSettings.startRange*

    ` `| -|End range| **Property:** *rangeBandSettings.endRange*

    ` ` |**Property:** *rangeBandSettings.endRange*

    ` `| - -## Special points customization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|High point color| **Property:** *highPointColor*

    `` |**Property:** *highPointColor*

    ``| -|Low point color| **Property:** *lowPointColor*

    `` |**Property:** *lowPointColor*

    ``| -|Negative point color| **Property:** *negativePointColor*

    `` |**Property:** *negativePointColor*

    ``| -|Start point color| **Property:** *startPointColor*

    `` |**Property:** *startPointColor*

    ``| -|End point color| **Property:** *endPointColor*

    `` |**Property:** *endPointColor*

    ``| -|Tie point color| **Property:** *tiePointColor*

    Not Applicable |**Property:** *tiePointColor*

    ``| - -## Axis customization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Show axis line| **Property:** *axisSettings.visible*

    `` |**Property:** *axisSettings.lineSettings.visible*

    ``

    `var lineSettings = new SparklineLineSettings { Visible= true}`| -|Line color| **Property:** *axisSettings.color*

    `` |**Property:** *axisSettings.lineSettings.color*

    ``

    `var lineSettings = new SparklineLineSettings { Color= "red"}`| -|Line width| **Property:** *axisSettings.width*

    `` |**Property:** *axisSettings.lineSettings.width*

    ``

    `var lineSettings = new SparklineLineSettings { Width= 2}`| -|Dash array| **Property:** *axisSettings.dashArray*

    `` |**Property:** *axisSettings.lineSettings.dashArray*

    ``

    `var lineSettings = new SparklineLineSettings { DashArray= "5,3"}`| -|X axis minimum value| Not applicable |**Property:** *axisSettings.minX*

    ``

    `var lineSettings = new SparklineLineSettings { MinX= 0}`| -|X axis maximum value| Not applicable |**Property:** *axisSettings.maxX*

    ``

    `var lineSettings = new SparklineLineSettings { MaxY= 100}`| -|Y axis minimum value| Not applicable |**Property:** *axisSettings.minY*

    ``

    `var lineSettings = new SparklineLineSettings { MinY= 0}`| -|Y axis maximum value| Not applicable |**Property:** *axisSettings.maxY*

    ``

    `var lineSettings = new SparklineLineSettings { MaxY= 10}`| -|Horizontal axis line position| Not applicable |**Property:** *axisSettings.value*

    ``

    `var lineSettings = new SparklineLineSettings { Value= 10}`| - -## Appearance customization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Background color| **Property:** *background*

    `` |**Property:** *containerArea.background*

    ``| -|Border color | Not applicable |**Property:** *containerArea.border.color*

    ``

    `var border = new {color="green"}`| -|Border width | Not applicable |**Property:** *containerArea.border.width*

    ``

    `var border = new {color="green"}`| -|Series color| **Property:** *fill*

    `` |**Property:** *fill*

    ``| -|Series opacity| **Property:** *opacity*

    `` |**Property:** *opacity*

    ``| -|Line series width| **Property:** *width*

    `` |**Property:** *lineWidth*

    ``| -|Series border color| **Property:** *border.color*

    `` |**Property:** *border.color*

    ``| -|Series border width| **Property:** *border.width*

    `` |**Property:** *border.width*

    ``| -|Series palette| **Property:** *palette*

    ``

    `var palettes = new string[] { "red", "green", "orange", "blue" };` |**Property:** *palette*

    ``

    `var palettes = new string[] { "red", "green", "orange", "blue" };`| -|Theme| **Property:** *theme*

    `` |**Property:** *theme*

    ``| -|Width| **Property:** *size.width*

    `` |**Property:** *width*

    ``| -|Height| **Property:** *size.height*

    `` |**Property:** *height*

    ``| - -## Tooltip - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Show tooltip| **Property:** *tooltip.visible*

    `` |**Property:** *tooltipSettings.visible*

    ``| -|Background| **Property:** *tooltip.fill*

    `` |**Property:** *tooltipSettings.fill*

    ``| -|Format| Not applicable |**Property:** *tooltipSettings.format*

    ``| -|Template| **Property:** *tooltip.template*

    ``

    `
    `
      `
    #point.x#
    `
      `
    #point.y#
    `
    `
    `|**Property:** *tooltipSettings.template*

    ``

    `
    ${x} : ${y}
    `| -|Font color| **Property:** *tooltip.font.color*

    `` |**Property:** *tooltipSettings.textStyle.color*

    ``

    `var textStyle = new { color="gray"};`| -|Font opacity| **Property:** *tooltip.font.opacity*

    `` |**Property:** *tooltipSettings.textStyle.opacity*

    ``

    `var textStyle = new { opacity=0.5};`| -|Font size| **Property:** *tooltip.font.size*

    `` |**Property:** *tooltipSettings.textStyle.size*

    ``

    `var textStyle = new { size="14px"};`| -|Font family| **Property:** *tooltip.font.fontFamily*

    `` |**Property:** *tooltipSettings.textStyle.fontFamily*

    ``

    `var textStyle = new { fontFamily="Arial"};`| -|Font style| **Property:** *tooltip.font.fontStyle*

    `` |**Property:** *tooltipSettings.textStyle.fontStyle*

    ``

    `var textStyle = new { fontStyle="normal"};`| -|Font weight| **Property:** *tooltip.font.fontWeight*

    `` |**Property:** *tooltipSettings.textStyle.fontWeight*

    ``

    `var textStyle = new { fontWeight="bold"};`| -|Enable track line| Not applicable |**Property:** *tooltipSettings.trackLineSettings.visible*

    ``| -|Track line color| Not applicable |**Property:** *tooltipSettings.trackLineSettings.color*

    ``| -|Track line width| Not applicable |**Property:** *tooltipSettings.trackLineSettings.width*

    ``| - -## Rendering - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Enable canvas rendering| **Property:** *enableCanvasRendering*

    `` | Not applicable | - -## Localization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Localization| **Property:** *locale*

    `` | **Property:** *type*

    `` | - -## Methods - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Dynamically updating sparkline| **Method:** *redraw*

    `var sparkline = $("#container").ejSparkline("instance");`
    `sparkline.redraw();` | **Method:** *refresh*

    `var sparkline = document.getElementById("container").ej2_instances[0];`
    `sparkline.refresh();` | - -## Events - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Load| **Event:** *load*

    ` `

    `function load(args) { }` | **Event:** *load*

    ``

    `function load(args) { }` | -|Load completed| **Event:** *loaded*

    ` `

    `function loaded(args) { }` | **Event:** *loaded*

    ``

    `function loaded(args) { }` | -|Initialize tooltip| **Event:** *tooltipInitialize*

    ``

    `function tooltipInitialize(args) { }` | **Event:** *tooltipInitialize*

    ``

    `function tooltipInitialize(args) { }` | -|Series rendering| **Event:** *seriesRendering*

    ``

    `function seriesRendering(args) { }` | **Event:** *seriesRendering*

    ``

    `function seriesRendering(args) { }` | -|Region mouse move| **Event:** *pointRegionMouseMove*

    ``

    `function pointRegionMove(args) { }` | **Event:** *pointRegionMouseMove*

    ``

    `function pointRegionMouseMove(args) { }` | -|Region click| **Event:** *pointRegionMouseClick*

    ``

    `function pointRegionClick(args) { }` | **Event:** *pointRegionMouseClick*

    ``

    `function pointRegionMouseClick(args) { }` | -|Mouse move| **Event:** *sparklineMouseMove*

    ` `

    `function mouseMove(args) { }` | **Event:** *sparklineMouseMove*

    ``

    `function sparklineMouseMove(args) { }` | -|Mouse leave| **Event:** *sparklineMouseLeave*

    ``

    `function mouseLeave(args) { }` | Not applicable | -|Click| **Event:** *click*

    ` `

    `function sparklineMouseClick(args) { }` | **Event:** *sparklineMouseClick*

    ``

    `function sparklineMouseClick(args) { }` | -|doubleClick| **Event:** *doubleClick*

    ` `

    `function doubleClick(args) { }` | Not applicable | -|rightClick| **Event:** *rightClick*

    ` `

    `function rightClick(args) { }` | Not applicable | -|axisRendering| Not applicable | **Event:** *axisRendering*

    ``

    `function axisRendering(args) { }` | -|dataLabelRendering| Not applicable | **Event:** *dataLabelRendering*

    ``

    `function dataLabelRendering(args) { }` | -|markerRendering| Not applicable | **Event:** *markerRendering*

    ``

    `function markerRendering(args) { }` | -|pointRendering| Not applicable | **Event:** *pointRendering*

    ``

    `function pointRendering(args) { }` | -|resize| Not applicable | **Event:** *resize*

    ``

    `function resize(args) { }` | \ No newline at end of file diff --git a/chart-sdk/asp-net-core/sparkline-charts/getting-started.md b/chart-sdk/asp-net-core/sparkline-charts/getting-started.md deleted file mode 100644 index 89084632d..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/getting-started.md +++ /dev/null @@ -1,211 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET Core Sparkline Control -description: Checkout and learn about getting started with ASP.NET Core Sparkline control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - - -# Getting Started with ASP.NET Core Sparkline Control - -This section briefly explains about how to include [ASP.NET Core Sparkline](https://www.syncfusion.com/aspnet-core-ui-controls/sparkline) control in your ASP.NET Core application using Visual Studio. - -## Prerequisites - -[System requirements for ASP.NET Core controls](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements) - -## Create ASP.NET Core web application with Razor pages - -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app) - -* [Create a Project using Syncfusion® ASP.NET Core Extension](https://ej2.syncfusion.com/aspnetcore/documentation/visual-studio-integration/create-project) - -## Install ASP.NET Core package in the application - -To add `ASP.NET Core` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) and then install it. Alternatively, you can utilize the following package manager command to achieve the same. - -{% tabs %} -{% highlight C# tabtitle="Package Manager" %} - -Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.AspNet.Core NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. - -## Add Syncfusion® ASP.NET Core Tag Helper - -Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelper. - -{% tabs %} -{% highlight C# tabtitle="~/_ViewImports.cshtml" %} - -@addTagHelper *, Syncfusion.EJ2 - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Here, script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application. - -## Register Syncfusion® Script Manager - -Also, register the script manager `` at the end of `` in the ASP.NET Core application as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET Core Sparkline Control - -Now, add the Syncfusion® ASP.NET Core Sparkline tag helper in `~/Pages/Index.cshtml` page. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - - - - -{% endhighlight %} -{% endtabs %} - -## Bind data source to Sparkline - -The `dataSource` property is used for binding data source to the sparkline. This property takes the collection value as input. For example, the list of objects can be provided as input. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/getting-started/data-source/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="CSHTML.cs" %} -public class DataSource -{ - public int x; - public string xval; - public double yval; - public static List GetData() - { - List data1 = new List(); - data1.Add(new DataSource() { x = 0, xval = "2005", yval = 20090440 }); - data1.Add(new DataSource() { x = 1, xval = "2006", yval = 20264080 }); - data1.Add(new DataSource() { x = 2, xval = "2007", yval = 20434180 }); - data1.Add(new DataSource() { x = 3, xval = "2008", yval = 21007310 }); - data1.Add(new DataSource() { x = 4, xval = "2009", yval = 21262640 }); - data1.Add(new DataSource() { x = 5, xval = "2010", yval = 21515750 }); - data1.Add(new DataSource() { x = 6, xval = "2011", yval = 21766710 }); - data1.Add(new DataSource() { x = 7, xval = "2012", yval = 22015580 }); - data1.Add(new DataSource() { x = 8, xval = "2013", yval = 22262500 }); - data1.Add(new DataSource() { x = 9, xval = "2014", yval = 22507620 }); - return data1; - } -} -{% endhighlight %} -{% endtabs %} - -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET Core Sparkline control will be rendered in the default web browser. - -![ASP.NET Core Sparkline Control](images/sparkline-control.png) - -## Change the type of Sparkline - -You can change the sparkline type by setting the `type` property to `Line`, `Column`, `WinLoss`, `Pie`, or `Area`. Here, the sparkline type has been set to `area`. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/getting-started/type/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="CSHTML.cs" %} -public class DataSource -{ - public int x; - public string xval; - public double yval; - public static List GetData() - { - List data1 = new List(); - data1.Add(new DataSource() { x = 0, xval = "2005", yval = 20090440 }); - data1.Add(new DataSource() { x = 1, xval = "2006", yval = 20264080 }); - data1.Add(new DataSource() { x = 2, xval = "2007", yval = 20434180 }); - data1.Add(new DataSource() { x = 3, xval = "2008", yval = 21007310 }); - data1.Add(new DataSource() { x = 4, xval = "2009", yval = 21262640 }); - data1.Add(new DataSource() { x = 5, xval = "2010", yval = 21515750 }); - data1.Add(new DataSource() { x = 6, xval = "2011", yval = 21766710 }); - data1.Add(new DataSource() { x = 7, xval = "2012", yval = 22015580 }); - data1.Add(new DataSource() { x = 8, xval = "2013", yval = 22262500 }); - data1.Add(new DataSource() { x = 9, xval = "2014", yval = 22507620 }); - return data1; - } -} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core Area Sparkline](images/area-sparkline.png) - -## Enable tooltip for Sparkline - -The sparkline displays additional information through tooltip when the mouse is hovered over the sparkline. You can enable tooltip by setting the `visible` property to true in `tooltipSettings` object. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/getting-started/tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="CSHTML.cs" %} -public class DataSource -{ - public int x; - public string xval; - public double yval; - public static List GetData() - { - List data1 = new List(); - data1.Add(new DataSource() { x = 0, xval = "2005", yval = 20090440 }); - data1.Add(new DataSource() { x = 1, xval = "2006", yval = 20264080 }); - data1.Add(new DataSource() { x = 2, xval = "2007", yval = 20434180 }); - data1.Add(new DataSource() { x = 3, xval = "2008", yval = 21007310 }); - data1.Add(new DataSource() { x = 4, xval = "2009", yval = 21262640 }); - data1.Add(new DataSource() { x = 5, xval = "2010", yval = 21515750 }); - data1.Add(new DataSource() { x = 6, xval = "2011", yval = 21766710 }); - data1.Add(new DataSource() { x = 7, xval = "2012", yval = 22015580 }); - data1.Add(new DataSource() { x = 8, xval = "2013", yval = 22262500 }); - data1.Add(new DataSource() { x = 9, xval = "2014", yval = 22507620 }); - return data1; - } -} -{% endhighlight %} -{% endtabs %} - -![ASP.NET Core Sparkline with Tooltip](images/sparkline-with-tooltip.png) - -N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Getting-Started-Examples/tree/main/SparkLine/ASP.NET%20Core%20Tag%20Helper%20Examples). - -## See also - -* [Getting Started with Syncfusion® ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages/) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file diff --git a/chart-sdk/asp-net-core/sparkline-charts/images/area-sparkline.png b/chart-sdk/asp-net-core/sparkline-charts/images/area-sparkline.png deleted file mode 100644 index ff2c611f0c58b38723e15f778e82dca0a03080e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2280 zcmY*bc{r5q8h`6Vw2^Ex$~M`u^jSlUEX^QEOyNUe#!|-8=bSQS&@vp$(AZ@XvK$|V z$vR1tbs|g2UOqL*z8l2&p7*-Wb*}6D@y`1`zx%m=_wTvy`?;@)wzI_^J%l_2LC{ev zOAC7l+AjpY?+EM%zh9RI{K0EquszlcVsxFH28#nerk712h?#JB$Ab^71%oV|gCXcx z6a4IJ3;YiOf&|D`7N)q68}ncNd3NBh=8VFrkJh`o#lXX|lX%?aTTur-gfnEq<8IHCH<`OvP}eg}0HJc?EGP z6oDGEks00};ox;W^@`#TljsAB^8xoAcRldVWpPP-6R5a9O8~5xOrpbFqXO z@2Iq*4+|J{8!?-4Od7{-hsyXG-YWU}CBaA$j$WPQ?2M+x?dgk*4or}+ZYcqpDUzgr z!vcsolQrqqaYnB2K3#mVi;V(C`Zcb3xKE_fMCh&x2neDa0-_hs+U zLt=}X+qL^Z7VY>oYFlug96?ywV9xvDnP^U@!}!~gj@`QSxs#+7I7szWX`kyd^7}&K zp6rtjd8{dX!m8BHo$l61^yjYxwdaRWSU65&|Lclr38hGxr3YmU6VH= z+~jnWor1#J!3O#IS38TW!F%Ssgw1a{*Du)L=lIS57cQ~^HS6=)Z}x2G_QkX7a~7Q-N=#-CuaKv&LZ#^Q7N$}$*{N8 zGi|nnVx-KWO3+gQC7yYPH0>O~G>EK8pA$FG1PO_l4~k`X(US6Dcz;bgUBtixz!&@h zoI_hJ1TaphCf!xoAPt7S?!>aaXsdq$IN6!VTq%BF3tbK1=x_WNyV>J|kNI;YKD8jB)VSYubH3yXd~riAmJ z(U#$4Dk0Q4H$km*21&8pO3f(2B3ptQD0}0AXDp?m%LWbKq=d8%+Ay{?9|WCKX1@8S z@7)>pc%zcx43%YV>5szWK%(!`+}sRO)3?Sg_l(`Lif3+|D^Qlxi;i;yg8DvvA08g+ z8?BIPs9vn!8AgA9(mn`=(1oKqK8X$KlDyFDb^dNa{239?)ppr_V7OMVrA<;YiIKI9 zKjH-#aO~dZHL~%?)@D@m9ooK9A^(Rlel|)Q+$w}ayl@mIvI=NBqx`fZG`M^uo%lrG zP^%WSqTTTylpUe>WXAy+J#VC(ZNiZ|fGpYB+iQ!(%#q3*oU<53Abx^MDHnpV^{rpK zbxywdGL6Xq0ao1o)UJvkmVtFpy}DK88tqOQfS=<5EQ#2KVL<>_(G0QyJnsQu=?p=b zOUwl?sDhb%3^ZB4?{_lOz!W?I-)iN$sZTGVPMCvqrL_Q@XQE{c%3IC{X#QZep9Y=L zs7RzLa6ZtAazSz4fj!pIHj+Ry?CNh(Kt)$l?t&cz7h1+kA^)6?(NCUa!{s_(&Uv}L zw;J6?r5Q>BLpKN-py0Kxdn}51g~LJ2K`yt7+{Z1@To9BSq1vbeK1bHtr|~R}Ze40y z+(TP|Auqx!;G#b=l6FjpyB)Ber5C9ymp4aafhHM0EphhLF$`)9Img3cn;szJC4Zy~ z+fTO>!I&$r`kvoZy!=xewJWq;f3AkEg;AHw+orLLg#0~F%lR$Zs}&7&f$)E2uWoF- zhWjE?MJ{iWHVy9VRjK0H*>}N11CyR6GD2i>_UuAe;Tt%>oT=p;`ZU08Agp4{~;HHQhfv*`rl6l zD>YweOu%hme`S%tb(@b3h&x@c>`Fmr$O EH#$2=F8}}l diff --git a/chart-sdk/asp-net-core/sparkline-charts/images/solution-Explorer.png b/chart-sdk/asp-net-core/sparkline-charts/images/solution-Explorer.png deleted file mode 100644 index 913cc8460512b9cd0642783eb2829384e05dfce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40000 zcmagFWmuHm`aX;zprnd2l%OCW-Q6nP-5@Z4(v1uyARq!F4BgU0Gc*V&IKa@|CC$*? z@ZRI&v-kcT{}1m651f0}taV-ImFryV4pmi_A;2Za#lXNIkdu9_j)8&6hJkV0{_brI zj9VpVdvM^3TQ2G{FEL7bDc6AycdR6pBr!0`Bk?Xxv4GF_9A))fFfa&P(f@9>JLH2g zFp@{)UQ24eH{NP=`bs(Cvm@-+3{k#*?>DVOHx{>8ADU%QGQDI88~D%k;>)VNfq8C^Drmp9Q>uHIzLvv@!Dktlc=O=!) zeW^Eh;H}9;&F&+pI-g%l8kcV$S0kU7{Z?Ah^mly^6?NN>q^H+le3hxT-KkF zw6p_C(gwlSceF%@#0BLl@{QRuQ8Mr4W-qyu_pUM(nTH=HF%j_LFMkmA#;P27I3 z*2&!$GG%{s#9dXIBIw~Or7P4h$$40~k2}Fx@u_BvYw>$wwewEn2`cYI8kxM=5`^cs z2lD&IlCt?pBz5L9-vl<@s!>&Jr!D-on??Jf5A^8hNbXq&<#b)RS+cGBOh3i;|}O zE}i-JdYN2DT!L&}Q+UlBg2^oIntU|dCJLY)cEzlXka*N$phj5Mk=En4j1ws8TWgq_ zS1dpD;>pJ&EG9Njn~;hz1Uy;2Y#**cXx3+DPR4}V=2QC^tT_`a#^ z#hR3Z+3tL>9!1Tc-(nnMVYJHT_tG$KZ|LDUqoC~mOzujXh>+yf_11XIXqJ97gN}fO|q?~ zd;NLs`DCrE$+LTDyy87r5K3mqvEGg?JS(!>Ex6Nx%Z*T2*{rVtDLo=4kk4uxhg%69 zOnZ@@;Jp3wmnvSn=fic23kPCRtDCK}m`X`@8$h8rKy=~5d2r{DB0*Hn+ZCb%GplVGx_Mj$zDrtZ`YdXgFCEh|;KtSYY>#RhD)>@_y* zCx=&qAbNPoo4pQ{n<8TNTviEAUkM%HBQ6*8M4PP{8%mz@C4eEyY`MNZ*|zA-fGrPt z(Uxy0x!YdLa3u+d&R+a@z%=dDo;tVyB(m?j3!IF^mZy#jxykl$1_G1sTWpZZkjFbe zm5vXQ@fOg5W5~kkfo7SE_RZ`iBO_j`beVF@g1BcjZ_8sC9SFyjG!*s685xTl1hXnrDDwoz5g?`O7xidKiYs zNx84Ane+EJTY4lNQc4q62IgEFZCQL3$+Oca*mniCDnFH=9`Dgt;B?37H((3YCKtK4 zhYgSAbGT4Dh(Th`qgHixF54spjYoe6ik}C0zN$6nd+Y#Mx7eU&GP%e{JetB=W1n6a za+uE+H6A@aVga=qFZ_-96>+fDT_JNaFON z^hYK7&i*bEdKu{#jiV3wCcYaM>mTaZx_WE0D!I23@UN*qJ>*i`r`Isy_iQ)RHOg@K z0>!&Lx|gh&?aPLww}S3rIg2PpUl1y^^Vc?tX^cO!$e1hEy; zF@Pz8lNFs4S#8l$2>V@s-%NmBU9I4J{iRf`+{>}TIX-nXu%7(phP5#9YRF?>zZqr4 zJr2%v`sLC zQm#FtDIeLED;ItTrQcna0yWKmhG&kLRIy?1T1hdtv`6;{g++u$C%4y=g=V_IHq|`u z8y#A{Ou+XY;BPo+m*8zL*@>&FktqX(!V>JZT%Y0lmV^!)S?x`BUWXDJtJITT0VvpX z&H8Zz>}k(kvb-6^>N^m{PL-$vrBdOHKs; zxA>|eXa2FV+0XhUtrq}c{mE0J87D7k>@8dw@-5~le@{-88SE;JgIV!_Bx?$-DjMb2bKGn` zeZps}cpl-`u&>1G06&ASf}sRS7dWy0m(dHFxJ~zjExW8ep)*H?J8!$_7rBScVsYn& zC+RQtXk`YvfIuoD;h*4|`}B&B%*)Rw#gAyU&)>O;f^H!hsB0vAdRYIUZ?g5u~MwQa&{AzTjRic^-PwK!#R%-lj%wk(E3-B>Lb61(Vqj4}%Wf`(Q z02up$Kam@s2ZQe6I+#`@K(yR0`8yWh#Y+H`Zpb=b1b9*ilk9DuJQdb zOkDX=qdFOxEs|PUE=)EeOXtSYfSuZ{LX%qbdLH~ELpZTX>-L>0$tdOOn^QWMtY{+~ zmBNNN%4XLThg&X=WA1F}VlVi)@7e3n@IJS1y>XP}=eD6$qkt??WaY~h4{JC3C=TykWB}vJF+|6i{4+lIZ#yc+|D7-q{rSW z9Urg;o{GJq<>s=Cx6hUS?lGysZ2by4Y|N{h(SD5#dUM@f;O0PM{W6l5D%F5V_L6)l zSJ`^c@heA%%1>lQwSouN>KDaeKaGbvSxAjYF{?hij|X0M4vXJC?&rxdTj~+<~D+-25GBV^KZJ$iaGYDD%R<{T=mRdMzAp=e}p@&D@*%y z&AY?(>b&dc&pgE((am2C0k0}v>Sl4xthz@h*(FM+nTZ#2*!Of%gM=Z)fQKxlS*h=X z@~Gy`bA`cSY8{ZexJF-R1ecFAw7+%U8h8&)7p==yiQy$;)1l!@QsoN<;PYe^vD|P z*Wx#Mk@17ig~-5o%G!@y;knie;QH)Jpj*7Qhh-O%-%Z7bk0e2799s$cy8AXl+dBJ^ z!=ylC4XU6Td4Nv3)g0VZUTIbMNNRfqE3!dRkh`q)~$#4QVlSS-Z16 z$AvkfAW%6@N-0G#{`N#WJNdmteCOc+sFI?hq0iAs@9*n*Vy?_XW$E;AK>xs3B48$^ z!H}#N87=Kay>t8Q5scI#nEo0#yF&beOi-`C?;$(!g1i73xG+fhSfTk)p=K6Rc;p1z z4io35nMhY{w>%5rbLHyLwo#5#QxZ;ev*J1bWr$C2Rh(>>5LnqnT`ctnKN6yAzuFyZ zBeOjQ+KB`g4tF=VTguoI)_G8@cqT-& zRT(H!l2Vh&<%yVpc-uK=>cONn&$as6{)D;6WnRHv`S5`?kuifZc(Js1y6gw#^s8K z9sD%*S#&u2YSia(MTqLc0U(^*1e5g6Sv#5cQ>Sopkp>sdZjt!FmE=ewo} zb=BrnEiL@LPnW5&yNcC0wU8c3RUuR`J@(_7_c|vUWV}>GHcEb|)6%DS4Mu^AL(__q z001c}!HN23E@>)MD`vc@w*YxXP~gW{z~B0QBw;uKKGRSpQInf_1uB6oecr+MtvdB5 zZ)0p~slv!E#v2i?tnh(MUly+A60~nS{(<7Lke(WP!PHb1fp<|$?(nm9%yUeqSSpM8 z+vlfQeUdP;Cqs*mhT0ci8#UeE&13M3?p5h>TeXHE2I`GfYW^5VII&*i;}lZ=*>3@< z_lV%J%kdy#|NyaeTK4~19Z-m2wFX>X$1aRxF=N+3(h~1bx^ZT zh8CnTb+hMyxi4La-D1@tYj-1D%H@+T;W0J{m&Y>-2-guyh6=}PK2c0`Dyo6@_-(mE zM5>sXl%+`7eQvHNu5h0DN{($X@Vi`H9*y_p1TwQD{TEqTHYx*Z zp_V7Cx8o0BX|x6&MV@-UWbsMX;1xM0)k^nh zJDCCGC>)q-`0o4Mnh8HrZcEbGWv?7qJk;+!m%y7s%e{ByKcA;lGl$q&ND8XOjpdSj z>(nO7Cqawg$}r`!DjwUBbY6RTy0)5HLqzGyzzkYlgx3g92+z6X92`rg@VUcNg+1(N zzw4bRo)zZPUY|GJzx>J1mtpfLa092_&GfEM(Ldi6}S|iiZgOtmbek8o# zk^%28z9iOF$&pn-Pa=n_skeOA?1UUBe>s_vV=T9b+8#}dVN8CUYNbz)ZsBX-GA8E1 zl&COYV$w(}j!Z;mgoqx=TvZiX+UM(u+9t!)Vy9cJt0rZ)jG`=6t{!M*wiYW<)ou{y zDjIbjGBK$#K%KkNqla5l$T8F<2r;*Uyv8*cOkgz0;@4OdR&2W;A410Q*r{Bsg<4TL z2YkJT^Y=`NE=I3HLcOR3XrS#Ye$RPT#PgD8U5Auh=KLf(f1RwTsLcuO9kG6dg}Yo% z3@H;h<)}j0Ts;Zs+NqpLCKi_S`DUT;HUnCksRG)ld`m!_E6gI%i zf->bXzi}@R%TG=f>zJ{>C^4#kFt!#DEVcEHk@1yi2FS!)4KfaJC@PU9Ap==VyXon; z!~EF|UnRG2g;tKQE?{9!W99WsZuF>#JfiK%W)m+8EmaDXR&^aL7D^+^0={=P+Ldsg z3?_ZU(WiYh?AZH;9j2;Y2+{7wkLur6nFT8_-ri~m@tOC#?2lpGVP|I_VxSMDFMS_F z{p6wWT$Gr)iIq&r<{*LaJ^U{=iT?BW9NB28V(k|s9PdM<624V)GzS&-| zs1qe3imEmVP1+ahQ3TAmM`ir8?_V|B<@>{r%VJ|=Rs7C}AOThVYh?xNrU65(^ugVB zZdN!UxdW{bV?D3&!qO%tER^-(3mg-f0L*Of=eCv~iQX!)$r5Ss;}39&7PU(db!8Tb z+8(U*sDGuZuIG@WvLyWKOhlXS43>r@1OiE$puZKKZzss|`QQI%iH19b6$OjNC$Q%$ zlE7fNYo>a`Wg(3xjXNWB3M-X(pG~gHHJDy2&pljHq2W&$c(vE-(!IJ_O1~V;Gjdy$ zB@BMdv2LJDq|q!g)cSIKiiAG3iLN94<2musb2o+`dQ@Tcy)`(Gh$vDPObZIJAi5-v zZ(>|k939W&<}dBgD6+g9>>~o6SM|4c%RHA;-ja_Qs<{JHBZ`a=3pE?j?q1V#Rc3{B z9A>KwAs>aW;>ch38Ls51+iN8M=-bW5q3-y?B;Bbq66MG|B7hzex^C*-P<6H*`s~Zu z&wUyIYo?2VGo8jf`M*UeTWl{}Et*ctJhYA<^bqHWnKVfv-H3kn39F*_l!@-}-u+ z^LgA;zlTlGtS0|ORDHSLw&Osv9^L5-(Pi2rv;pws(jlZbU>!ttpG9y?IL=cOxUreN$s1WuyM* z=e<mQNpY3OzI~*ZQ|x8Ceg@)*g%nzq&6^G*#=gI5>z{Wbi#c-J>fEAtFFlbzc4dztH|Od~_BEuYSBd7DOO>K@RR z1fuY0O`J5TpH8dO^V%fIzW)I2-)>vznPlb^B z8HhZ!(!{Y?*LBelDG0LH!$ModMXveeZ?F#KD!CI@_#TWdL@H>lAF}>Dn>xh)M;Jl5 z^m>hcB>0Yw7+WwEHX^nvWFXi3Y&l+u2wLGWtfnn*4oP@}GSyuC@6Uz@D68%BeWt9A)}?s)qk|m#MT&poUa-B@ zUVPu@RGHF1oy~Qy>Xxj!g;$E{2|$Ws`SD zfVlWKm|_nY8BexIf}Swf?%_km^|hy*b^9AP8+tq5t`gF}%gOcJ&;Jira&1IV-)72ti?7ZA67b>Wz0X#;A#w~uP?U<iNE`1xjc^TAen`@dAbri|(v-Q~K(m zc(J37xm(LIW1);!scJ34&#>+t4eFA_J7g7nm%Wv)VyUT+Xo>1tr}3GK8F~xzFZyg5 ziwF2@RYeHn$>$S}pe7QXuYr%8F#uLBtRE!Ds3G%>Ei-9dYB=Y+HOUFZw)(Ae-C)YP zyOAb$j zk=IsL2$gsDHFSD>OeWID2h-gmg(46;`TSg2@5sm6$qy|N-!X^ay@6|}?ASe_{H+#RDO}rbXp@tUE#Wn$6hZQ)YNTLFMj)PGRx9l*`=zW2QFMB zQuHzw4cEKXW!y)0*=d!lZ9=g-?j#IyJK0D=bVS>An~MG^COIJpr>3AIbSQnKilhEV zKPYvWypUGmkd90nx)dm%l!Xf2fU}jEmRvA##txpAh>SI@)-VAZRu%k+4fvVQJKrQ! zAfhMYj;AOO<7%xtI{Tr5RFIhFPquWi(ZCXRp_ls$tWZkp>7ruEzU)uY!aOl5L;M90 zIE`~}D&d*W2D#CA-vyeX-gomMx;rx#=TtvIcw6k#lWNF_2^TbGWGtFyz;=AX; zXt9BX?X7<+Xai(Cn1F)H*LDCu@P*$)=tQ7^N~Flg(C6nF#@I?xJE0Ja$LD+*P4~k$ z^sFUfG8(VFJg5NG&{=+e*G1$bvm1L?YkvIrm_jEhgP}%x9D8g*aI?9**Sex+hMpvW zPSP#408Hu`v>KC%t#LZDB6(fCbM)M~g+V-`Z>Bf_=ea8Y#ea z?5{&&Kdg{oG+0)gQ$V575#2S8?|v z4zf=|zQs}ac>RAGq&zQD(Smfd7E`qV6U^2qwSwD!b)t@_ETZBQ;iuydS!IuQ#!5a5 z^t{M=Pm8vOAPd?W!*x_E_{@XoMD{@B&y)X#iiUVccc+6)%pTojDMfP5W@+=Af;xqR zp)9xSBp5l%mr<(*u?$NZ^eh8Z?r*|n+Ox%8uQ@~=?MWtSUdbJCYzF~H8r`Xso8<;R zXf?dAVh-m+c60yh!*@mhkz$rg`=UdPQNS;G76a`cN+ zD5D*y=tp=XJpgFlIuJpL4U4JxB<4=@xr62|R`SMR>5W)Sh1_pio6XvPd%ey#nXU^# z7G~Za`PH1B8DjCxNVNOE#|D0{@s7u=uT0L>y?;hg%<{U}Q}+~)lyE_RLNG8yyM8^b~19j>({r_fp^3r(zx8=Q(R3MTmoK_ z7(XWIW+pqX?`q6_bBKAkjDeBi`V!=YT4Kh)P!%j#GGkC_Tp2!X135Hw!QTA>_yR`T z>r+t5F~$dJ9@ld71M&J3f7-eFo851;k>W?2k*RgBhp>Ms@z1ydw@rj%TL9`{M65FT z{cnVM-%O3&_67TWP4}dUUq<2DzGx=FLg+ABR@s75zoG*cKPD$|^pY0TaE>ZW)e@{; z#sFbH6-KhrA0G}AT?bJG0cRrN{7->Ynf8hQXKe>~a<_#IgHPH<;kCpf+{_OkYx#zaUMXsNLyIrC)gd(~@@26IC+`4p>NAD7*0M@|fV znhC@U;|W3py&G3_b@naOl-_p|URj&J)t_$G<@!rlz_LGBlK+x(<=ki2Z=IiiDoTit zFW|D6uk)xgQ6WKRc^D7EN%!s*7B~O4+2A1T`LFK}{ljkcKSZ)gi(E}JKPpYg7bP2{ z=$N(XdUtZ5 z*7~8j4QG1d*g^WPg-oN%PURi(5{4{x-g7vnU5);$`%9tK4s+X&D0#ch0Qw>G=E%Mn z7sn$iF#l?9*hctMLO|owiGcmovc&QG;`MefL%6WuQWh+50R#1gfQITFoyVgA@m~u0 zoIn-S>rd9Pq%H!FB!Edf>ST$DiA^pSKy#1{RwD{6x+XR2p?7k&xq65=4{tws&#U{x ztTTQ$SM@OkpTY+2U|?u|=|>zkRzJNPz?5U4ZfMIP2cZHqq?Ye8TharW4IapH)8f@X zvd$hYRgmumXG)(l5bHeFiK{|bu<~-l(k=aQ>wQg~rL}k;H!J4^$u+h_O@4ahEGvGY zc+D$u|GB(NIhwNAu3euxlu z_g5xZ z`S|XAmSOLn_CVjcaNP#a-CdpC{b9A%$25cSfo7@OtV-Cp(#bHqD5Ue@m+=Zs$(7Em zkBr=Pt8To-hT*TJr6aj?aGgM2E}qNN`<+0i@;c(e?Z#16FUbIm- ztci2qSyneNw7t2$I>b5vHJ>6{iNw8u3ri+V-gt2(*~5nX zGJD%;_wt-`0R~=Rt`A|7Ir-io3M#6&R`7Yeg4?YRY3*=BmNQK)!4oED_}gCyb*E$E zd2UC}{6|%EVPsK3>*}085s-(qq?(^6H_R;Vv5i81ATrcr+7Y9rCZ!5w&rO()?%3q! zX6L~fYr>G6rE5{8yJK=Vg?g=g8L#KfR2e%L&3t@(4o_!Knsn%s0Riil9N{J=jKytk z39uuT5;n!b?4~4$v*~L=qX?pio=2|bKVgWRvv)@dbk7K@1oUe}m3`rqxt1=b6#d43 zXWa2UX>endb3cW5`9BXsej+TqvJObK{TOCg#evkK%^W>HbVWqkgoednjaTmqeO$Z>{RX= z>bV{|I?R#r7-<%WqInKQfSuPjX-vF$9-Wf=#%yAv$HnfLZK*y0Vb0zL1Yfove7 zg}*rKlJUTr*qAD;G>fu!xK@$^kX)C0YkKjGNnlOTr zRm`(2)C1S3o-yxX*t0*7K@nU`LPfgI9(S095g+Yl(s1&cnZ14Q`W9mLcKZ4Oab+a> zuq%c9HXC+qCSSd7DAT;z50k%WEA@fA_I8U2A=riMx~2D44SxJ}pn8;9PaA}nVBSph z-d`gebZ(g)*IsZs=Gw%g4V1rX6y7&x0-|iufrg1pld43A?Y%JP!gHlUd*FVpZdE0iGS_fK+a6Iu+NvoVvvfEk+v7~f(F;r_D_%TU>ANzPG)x(ZI;p zkGJLX*^Wy@a&=9pEY&8sxv~^#){1Kgu}T`CwS5s8_E^Y7G5t1QR^+Y~bkPibDm*wS z70|uWofsApNy%T4a`oI&_wq$7@vC!;X2o750-2r9*<%=!IB30|cyKm_P`r!A_3maC zDAjthm9D3obF+M(jG9*C22KgWD{oT3{f{^zY@?pMuH~fvKA@>3T_gYNthrW=_LG(C zn|;3Ys}1}4rGg>9iLgK$a{n&si%XQb4_swIj6Dx^^r>(s9)0 z0jMytFz|e(fOh`D-#HH}jQ!T*eM8TefqMn#`(5k|b>p|wdpcXy`@+KyyPkQ&ncO}z zkE!`bp5RzDIwLw1?LieGQiejpUh|u%wf@7w%R`|Jn(Q)TrB0>j(TE;GLM3Waid>m0 z+gfE+lE16;GW(HWQemRQ$G~uNt7dMt@*OcXk;eIMh->_wB;l%{SL!Aa*`?PO3evFVhCWh{)gf%DMCw z7q9+1*w)N!;TWLTfPRho{roL>83G|Cn)PA7LD$E7=G-4s*MEj*GEtrKyz#Y37fxZH!1C?9uCh`xR>-> zoVTUsWz=EHb!C0!9Bgf|D789L{#GNe1C0MnGt3)v zUuhkzOo?N=@VYUY%0dgc{Ak{qbbEs4COQMO+F(r2_Ll7cAEX)Y9o##$$*V*Drw|$rWoRsbw`|UoVSw-hv;pko4|vQ{-Ih5kLQ%d^fTm8nQgL62B#e z_O+-THu`|DqvvRlw5AXx&0B8)Vr|pwlfcEje{u-Znpqcfv(usv*q9G&70PBw&0E9J z3K8@c>ysJM__`6NkAS#~N$@?O+=)N;-q@r=dq+W9SgPkD6lSLa;;bMe`MNWeI7ljFelx>YO*E*!*V}f~IF7n_#M%77Jm+c{ z#pTwxKi;)Vjnq?q2w-%tFYbt?k!qMH$ z|0$D>oc+9LxlleJmoM&mA<(5y!vExqqxvvdA>ndxw6kR(`RUhoC*W#EaF|=Te(`Yw z^{HsyLv&bCd6d7oZ_Qg$NgikdCw+{a$6@XJPnsXAAl)TJiw119;`_w!K(K)iaZKxG zU0vdHbuOzwzqO*0mer0J0`;({J_cmaE65H@t-zL#k>T$8-PYu3yuYe$4>E%0NpaNFk!`os>NH* zU~QJ8 z+OXvel{&eawe1QIbYFy)Is*r2tt?>jY;jnV{1RG!`mA=NZmLk#)GF%UPQv1kD)F&S zOLd8ob!a|rtj(+dvkdoC zZ)7_7?lQ{4v=)}Rk_S^HX^Rw@ea5eCgQqh~@n_maHtauz?LUR%CqiQEudYD9TPBua zOkG2$StVWe2HL8=BH^py+#F4XiS~q9pi-IYr?$&4!Ru!d$$8XRLa9f#CWnw4b!5VpS`SPy$0mV%mvqrA$RFTBf6q9UspwA^hjIdSNgm5$;iALwfg!#t0or@! z%`*PvMNK`BfpOHchp-=a{#$-gb>qpam99>}`6F;Yj#qkRlfhZSr=|YR zAf=v)G~raA3je7T*QL@2dZ;#{VkI|tb^1J*$5T|409|7rcLQ;JGVMZCN2)j88p#?R z9~Gs>rr^qH=?keWDZQ`H&u7yRT>mS?FNy~wjypWA8*5Lz$3BG!fb+?_Onj|oC|7f1 zWvJm{r@i)CCjV1zaO)Ge;Iu^I494`imX?ASau)+^asGN2n*PmV;MQo>784cCuhfE%Y2lqqO z6TLKTzV>!m&AMCPMI#8AM!;KXn^2}O$q=+D|I;D=8~OzWVaT%*hcuJA<4K#IWtorv zCW-t4w&Rt33ob5r*^cNLal`C{3Vrb5gR2)4DzzqI;}kvD1ANz*+w=XE(=XVm|0K#m zL`PjmOE{mytnETVMfxuf*`vE4g{+^_+-%iveKGa;d1mHaXo&xe9Y+WRv6g-f%BlU^ zlmTJJ_@C_hAH&Oml5ZxrJg!i}zLyJKHbU@;inu> zr5}5`@`&;jAt?8qcnWt);dJi$(@f_Btp6BZ4g}l=tCgI=L`pzI z+300lCY=;<9^s%PsGvUKRejiAUzBr}9KA>hJ0_j_Pd;H^e2PH6KNSkg=)cwJ|A~(~ zAWWk_aR_AO`7t@cOb18$C*6i@9iBG>*aY{|2*H0OIP(R&#P&6lba*pO$xG-=7@G5x|FMrsxoU8UmnHrbi)M4=XU2sBg@vb zJJ~TY0a|w@1dGBm^Oxk?v0jxsfBd2k(fi%$i>(3;X<|GhUav2g01qn`@8vi036>1;T4*r&a|ZyrFXdu7Tvn$?$&k{8*P>rySiFrwF$=4#vI->yn~wpKeuR0 z?cxZORrWQ6*=za#F`|o|6?12^O_x+PqJ>6Yxb>p*MC3I#PeZ}4s_P^-Q zu722+R+IxC)Re{@z^XGgv~@&ra?!iV>z_^*wHfxa!&1#l-0{#D0gV9cKW48C^He4T z37>aR?vgo`do-7N?GSiLGV)vYX!VP#@5N0>~ zJ<(7R{N+&iB9szOC(`@$@`Kx_R3;cpGk1af^*2?*@`k?Z2i z?+ONTzMsBA4)APGrx1^Bwk5G3OD69ES*7ukOnfN-&dowi6f{-m!XO9|os12rNdFYZ z2yP#;;>e!~KT&jhRwHQjvW7GA_#J_ZM&rTa8zJvr98kBBTZ9!|oo;RM66PxhPMa=% zAhUI52I#S@Q{w%cP*LxIC;M051}68h#2N z@1Pb=7#N?>cf}wn#gU?pV+@KGB4KtLH-qun(l4rfu$h`O4OBz$P$H8`H((V*Y z2^N@z=MTpyYpwlBM0RCz=|rVL-#>dp>5&pg*}j|@AB=+yLj^9kR0NM0RlTNKJ}o)K zfH{R?qKYZ+&vCNl+I^y);X5B-`x-Pb{bn!2!d8-#*Zd2{2i^d4Ic!dWmXer9E1GSF zn;3raDVMDBa#Q0zF*7f$&K{~z)iN!Z*;8DRvKmUMDiB(jcAW;KbZuhY!uSzPlPqUf z9p$#U*3@eT5M^utFDp^Co)89rVek}mF~4gyjz|+a177pg{K63?$Sq+oakwJ8BOpDMos zd7UqHg?s`0;(}=I;ztxfWIL}sRHC@6W9+#Mu-C66l||Jq`t290FQ`pK+&1ejYWjR` zf{0D#7Ang_8^%vhPfe~yOax<<$ zmz0)NvD@>K`0j(#n*rAL3H$wymL^fJ=#;LucjnLp1eK`!XR1hXugMZcf8$VAtCEaW zEN9Ea{k=TnOb;tB;;1#V%3$iPtWG_+W+}L`NFF$V9DwLh8(iW8H}n0=VBKZ}s#8jm%$_eqGXhcqr6^MsaCT&97p$`+e`5$=7W!6Ti<$Qns?tZ#Lq$Qi2@%Ntq?N@eM zA;7ls=jebSa$DT#(sPe7povw?XMb6nV%+#CR-XTs*<7+X9nM86A0HsQ-_3P!f3cxg3Sek64k^BE<^dl&KZ-@!e9iUk++Kperu+uijY&IXi+%JM}tz zCgdC7rQ`t_%AqWqE6EPV`ugV^&DR^RLI~F<^B)@8UX%o?zh!DCj3#mQW(Xt5sYIfH zBY}N9T0E#+^p!fXQ8f* z9)}C}ikoDtGba!`o5CJsIBQ(Bmg!w<-Fj`OG7HkIvUgEaA$Ff-bg~6GKSOcX6Q z>U$LJu2(|-9oy5>FjuEAeecw_ic}nQN78s5I4yrho7K{rDtz;s`dX4nZt20voL_Sc z1r>_1v&LA_7p(IBY2cs==%DmyYP6lb7DQ~xWymZpN?SMLamV*jMI_~#Y* zNhU46kWb&=up-S)rSD0Kt+yXLsJG`wFb+7<= zp1zO*s85U!oe%00T;4qdGF(7ELi-tTAo8M?^p50+HZcggxA|n<^Zp%4s{Dkop73Go zDl*Y$Nr{I2IjVTjd$Hdv-&?j6JbZ2UaCF%As`62&JZ+UPB->e>{r;#G6p|{B2mMY3 z=}|J_fSHKC%Uo0101lBnM}8sLet{cE6aCqOoDEr!!-nO;&x@H#SZu2bcd35K zlzA-le)Um>Y9zc=-eNr1!-&6QO$%wPL^RmcMpE&{u(e2u3KLJ(q#4Xs&9rD1jTnY> z47`=pO8dsgy_v^NJ1tTCQ@=Qhv$P+PPgX3EW~AMVSNN6G9>=)(!1%4bG*Qsg7kWyD zo6zQcL3mlBgP3H{bC7wIg=~u2T;wm+_vs#n-RN`9*M*tvHv2xThRBv|CjuME#@c-` zHh$w~#ttD+3dFcU*SIOeEohk z`(^FTkh02enXT~x|Jia{yMP(pM(E{H44#yls{rL?h`pP5!W41;7IQLzKp%qAxRAK zx&Xx!UwvZUc|YK|w;%=NyR_%`)%>Yc)V$=aO4A=qWy&EG1d{>cn9EAX;A=)Y68-)n%T8QFZ`#;gfMO1dGdk;;rerp|r;{Dwbo#)K6(*4~B>j3W2xX z1C#WU@K*x})i3(eOY9o+juRPD#Q8BM?infi#2)BWt3R=p>N z1v>DbvTxW*v`RZeu={?y>ApW)4^TK};A3-IkcOUZN~f6tD#}g)H|uDm4rW@bTLX0M zh!HlB*U^a1&63LX(%L|lrm>!0lsqk&PG(MFQ$)~%Z+3#u>k^#vrJM`zfRfYG@TNYn z0bJq(9|sTZ8|cr44r=G)c^F^a~<2 z1d|ZjFiXeJL{Po3552%H=X0SqC~HZonvR5C+%P&zjc2GrN9UqA%36Au)SwrmSe=ZJ zGB;S3mqhxLouD;vOkx9Ug`9xHwNycuV3u&)1v5=jDk^OkU3Y+f&EO>^P+pe% z@0P*P&Z&H+!6VEsl+SL`^|;88vV;yZ9d5%*nV}_~^i2Ipp*+xTf9M1Dj|(&)uY{(? z*bTF-ujX3+*(@7w3Duj_Q~u95V1s54Y#Kiot{SoY#(gf>-eSrjfcc7^c z$>y>gJ@*-^*u91)F8wpsqP$#>DU6dqne|Hvbwb!jc3(}GoF6}x(qG_B;saa8lFPXl zCz}%oKz&AqS_0=NBS8=99FCdhvg2-(TW||r#cGhJuagTBjg}WY%DlKoF*F^s&+f)c z_spG-^R<2KycxirWN?W6AA>&nu4gBVI%aYNIzue^^pP>*Lq#7*^F`lw;_>5xh;-Kd{YgXeE-8f3JDS1FkyUs+nS4tjvDwI|7N}ZvaO;Me5 zZ(8Tw;vaK-l$j>#bmZJY2Mk*Hb4GJ6)lAaF5?pW&hlSS9cO@&D*S}m$0GE0OPhYzT zyt`@UEVMB{oT)_{Pr1&0A&EXjMgKI1jZTiG`;6w@QhkD0Pb~90lGx~8pB^8>?jEz1 z|Btn|jH{~a)`w9f1QF>J1nEu%1O%mf(;y+6?gm9d1Qj+Q(kUR_-KE5)yFpOtR$AKs z+@R=l-{(B%{qXYhgRs|LYpyv*TyuWe?w|U4#qlL3Hsh;(0)~9|7?S#Rv-xP3~i7{OxTU{YRL5Sb4G#7z}0udr{8sDkDDYo$U-%oABgL>TR z+z+-a3pVQ-#ElHLGEEEeJJ9n1RTtz$R%%CvPd!h~LoKLFk{6o={;~8OjD}2}RRi1m zsUx0T+0t%b2Y(RJ5t$IGFMGMvOI?-yuNtS(y8}r<@ z_ad(Rn$tmXiM_64L3_}cfL!p2(kS7%%D02nqTzDZ%MsWt6YlBDrBX0$7?w&3+MtKz zEvVumBz$5Xnhbo;sk8h1{=nZEm0J$)Y0Zd?4DP#6XDHB~*|<73_2hF4 z(pJUig)&Nvl|Nd65!GbGr#YgFc%?iLM?hrZ&cyd7b;!=ZS~&SvdPIG#ZVpe@o3R|j zA7>WiKbIv!koiplebehSCVL~y-wyAW8p@HZ4sWuH_Rc!$&^!BM1>BTJb&XKbGrdd{ zrj_pfx6T0-NRQ`Q*pEtD6fe;P#ko_7B=1Ru(wT)&*;<1Cb?u6BDEUv^9YI=>)(Blo zgHVhS{`_O91o0|4uYzl&=X&->#b2M>J)=lT7i&8Klor=@0mJ~^zQBjtp<7FriB`{k zAMp+7md8S)U)r8)ep@dVuhSJSs)5k7GKpehLmM|E8y}u*o7>dJeTZy^JrG)I)4Gm! zJnAa%xRj*>sN325`+cK-9}p8q0hvdTN1P8NsxobYQ$Ibw{%dLp_*Wz3WU#!XEJ^%H zBh|CmP-{V|nLq=`a#gPzZJ08>-{x{bN8yfH{+v4QpsI+<0{nJ^!}~j-KR$o`X!}d} zVt^r>*TD?yNUtOhT#(VD%h>%C(FUzU1iaZCimVy(Ul3E)qjzYp=;$_oT%6l zRUEj`vAyp*8mpGoyPN?)#vcy@7QjXGZ=F;dfk$dwr{q8FOSzx?f*Yj2&plLjIwH2E zdf1O?>j7#sDDSx}?E5FiRP~?GY+|Ht>|hFyQxjhsi9r!SLdZGDpa-z)yC08PLXCoj zH(~gCC(E=kWK)XG5#+Y8YE4bWkMOe;e||ih`dqGtV{vr6ZV05M5&e+uU`o4BUEL4#2!MuYURg}Mj1tLN%9#G*P>Ylf8Q8MhVU z>_+RhG)B)yd>7=CWZUatCOX{>N>mYLGPZHLZ*Ld{NH!$_4a-N>LDe~a;Z12GhdyX1lvIz;8Jhqb2&oD6$j|A&UH z75y^wO8$2Eg)j^3t1+4icpn* zD7aD0*w$8Ye)nyDM&uNlJ-Xk@4Fq|p3qI$rQD2lVunJ8dxzD($xxq*zitPN&5<(Ov z+hAXC`~L4)1;)0isfm#-UBOXTiLJ#nNPchi{f#VTa*#-OYIW;gg>DZv5QGHaZM(PQ zM9fonfQn1Ak)=a}Vty6&jAiWX?S1UPn6M)aH2a*?Jp}XvvkD}9U~O%!q*wST!|O0( zqJ>STk2}1r+~VZ+4Ah~TInUO}w^KD)GCSn~$4CxW*<>r6noT0Id6c-@JaOhzrN4BH zTY@TTDoO*vK?FRwK%Bs7rzP&nd~T*MN6lCs zmDnLEpi3$JLrN)A*Wwht7a-{;rUv)u5VQJCvFz;UIwGQc$TL{WQ<%F|N zt`oTCfzkb};NJ1D@jm*UR`ivJM93&-U|^LkU7|#Z=ovfeC_(pDYJJ+b=hf+<1p-jR z?A10p8(IyL!o#B?WY5)2A-!JcFO@ERG&iKU2dZN55x81W+v-g()0isSY z9>b>PpevU+n$2XopQN<}&A}ABO0;_BzQO&*g|pb>^2u|ck%pOWzrkpyB$2GDncgL` z)fui7UY_-mM?e3B&J& z(X$fk9pJOIRrHi@84ix>nEzfE;9U8=UYy!1RJ~QvOB-;DHyC{s%>(v-PZ{wB*-Uza zzR^$IWcc7`X{WBNLDZhQdEL#c}l=v47bxglB+R+}?qQ=4B^JW-VOOGdxYxl~W)u@sK(0WEh55 z2aZvi{RWNBjA~dtZpMIe6&%zhhoII^+Z8CAC!Pv$HJZXFgd^Vky}8Lq?fvfh*UqHV zi)awBQyCX}Bg}<%Mg>SqaOPCHig@$iXkE=7q~fzYjJ|-Pvohv)zdaLE%~){@C)aPe z%86x5kMH!p$=U#?HVxAbGpLIvzu!N%N4e4?ZDXv`XgZD8x^NKx%o#OiD2{n}6r@Em zD?tYMgZs&7!RMz^RsqV<)&^ou_lu@19^1hb-RUW>_6}*7uIDr+?}zhG>#mf)n6Xg06bF0Q zPakwQ+wb?+^>Dh=ta9#ZvE_t2!>nTt{i!@LiYeA*ri+iw@*>INFqzgf(qFjE*8*-% zCep8$s+c^vLNe~ts$a~E1pvWX?{S1ue!7#69Kn!~YkOy#x)o8$H#l=Q-||qau@-On zl~J_YYK2#`wUkMo5?0|9gv)cc%lBs#j^5C+{`x#nu&maE*Wp#|<3(fDGmTOcs%Dp1 zPz9cO0JlRu`vFXCGfAXKh7w^<)zpY&fi>qUVW^nMyN;z3_#s(+Aqb(czk>vrfHR9o zoU;MC;F4JRTX=r~ZK@%SSoDrl?93d3D^$1X$!#yRBrIU*ZqPJ1Kwd?1* z5CndnA|r}$94DgMgbS$M>n>~Dz%sPp%?Lg7QQK_kwl^3b3j0=MtKCf(CtM}|j|~Z6 z*IYxV(r0S#F|wmL(yK}eKnzJ6Px6O%#s4@srmC^|ZESD7vqU#W%~+LjzLwtU!KX$2 z(pAxO#!fby1Yx;B(<{)oYsnr&!RCzjbk2mEF}pC}=F@!;bnTA2+leK%Rz>&>bYltG z%KC)1mr!VG+?s0?T=NRFXptgw6=OoSnS1JimB3S;U3Ny(RCDIsDgc3`EveMXv7k?= zsgo7fvNlAY9(}Qw!3g1<^e~)Cz;C>BcW+ar)9_j)F_>)0y6;dU!Zlv{wpW4nnH}}Q zOh0z5Ln1pY_mpJ)t)N12HXlA&^kQ|fc+NRH9MwM_nHR|G77Va44~>nj{iJPb_M&)e zza;L~_!(PU)qtoZ;v4kY-Ro9R=IJfE^1PZLm5o{do3DEv$?R!!w2Ww(p4wCCD2={m zE+R$SRW=uTX?&hL+HgBpo++^ej0HPrtiacW^6(?2zbf0s$| zePjA3*9~fikIZg-a+F#*w$pnvO4%%%7I^Hp4it_QmY^dlZ4F%8P=z$%d-sb|>*g+Byr^_Q5^4G zkx-l;d0ONBO?s^>gCS|5ufyORC1)Xs&#p!Noa;oZEiH~U(b^ofPnGWsM7{{PiqJnG zhizgKt2rwpR4q!XY4unGm8GiX&@VLpx+ZoOkck{sIID4%XzZiK_6Dk{uF@z}3{OJs zxN2kngm~fs$E-R=Nqy`O*J9^(b265!5kjALl_-vwRQ;~d%+{?qoG)YY?yo5qGqB_5 z?}WtBpnNk?e;^yuDqUC2cs0++<=fiKrLu5y_MEavXjhnaH|kuD4PWPEq;wsHxddGs zA-UWh1!9KxSCElbot-$rN&m^e$44y^{)k8C3K z3qw115Rdxb^!tCBcIHJ48m+=*|Lg9>;&u|mZNH~`D__K70lK@{m0{+a5t?WJ%NT^{ z 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

    `senD1+oT8qNYGWR4Qk?0grS92vRxy$s$-#zZC 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 BMe+au diff --git a/chart-sdk/asp-net-core/sparkline-charts/images/sparkline-with-tooltip.png b/chart-sdk/asp-net-core/sparkline-charts/images/sparkline-with-tooltip.png deleted file mode 100644 index a289748de644d17c31b3ed2f664e521c85e85502..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4858 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 diff --git a/chart-sdk/asp-net-core/sparkline-charts/localization.md b/chart-sdk/asp-net-core/sparkline-charts/localization.md deleted file mode 100644 index f6bddd37f..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/localization.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -title: Localization in ASP.NET Core Sparkline Component -description: Learn here all about Localization in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Localization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Localization - -The sparkline control supports localization. The default culture for localization is `en-US`. You can change the culture using the `setCulture` method. - -## Tooltip format - -Sparkline tooltip supports localization. The following code sample shows tooltip text with currency format based on culture. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/localization/tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/localization/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/sparkline-charts/marker.md b/chart-sdk/asp-net-core/sparkline-charts/marker.md deleted file mode 100644 index c597b71e6..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/marker.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -layout: post -title: Marker in ASP.NET Core Sparkline Component -description: Learn here all about Marker in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Marker -publishingplatform: chart-sdk -documentation: ug ---- - - -# Markers - -This section explains how to add markers to the sparklines. - -## Adding marker to the sparkline - -To add marker to the sparkline, specify the [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineMarkerSettings~Visible.html) of [`markerSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineMarkerSettings.html) as following values. The [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineMarkerSettings~Visible.html) will accept multiple values too. - -* All - Enables markers for all points. -* Start - Enables marker for the start point. -* End - Enables marker for the end point. -* High - Enables marker for the high point. -* Low - Enables marker for the low point. -* Negative - Enables markers for the negative points. - -The following code example shows enabling markers for all points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/marker/allpoint/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Allpoint.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/marker/allpoint/allpoint.cs %} -{% endhighlight %} -{% endtabs %} - - -## Adding marker to special point - -In sparkline, markers can be enabled for particular points such as the start, end, low, high, or negative. The following code examples shows enabling markers for the high and low points. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/marker/specialpoint/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Specialpoint.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/marker/specialpoint/specialpoint.cs %} -{% endhighlight %} -{% endtabs %} - - -## Customizing markers - -Sparkline markers can be customized in terms of fill color, border color, width, opacity, and size. The following code example shows customizing marker's fill, border, and size. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/marker/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/marker/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/sparkline-charts/overview.md b/chart-sdk/asp-net-core/sparkline-charts/overview.md deleted file mode 100644 index cf603a2db..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/overview.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: post -title: Overview in ASP.NET Core Sparkline Component -description: Learn here all about Overview in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Index -publishingplatform: chart-sdk -documentation: ug ---- - - -# Overview - -The Sparkline is a very small chart; it is drawn without axes or coordinates. This presents a common shape of data in a simple and highly condensed way. The sparklines are easy to interpret, and convey more information to users by visualizing data in a small amount of space. - -## Key features - -* Consumes less amount of space for visualizing data. -* Supports integration with grids. -* Supports five types of sparklines: line, column, area, win-loss, and pie. -* Supports range bands to highlight the selected start and end value regions. -* Supports markers for high, low, start, end, and negative points. -* Supports trackball to get current mouse point to display tooltip. diff --git a/chart-sdk/asp-net-core/sparkline-charts/range-band.md b/chart-sdk/asp-net-core/sparkline-charts/range-band.md deleted file mode 100644 index 7ae77e3df..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/range-band.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Range Band in ASP.NET Core Sparkline Component -description: Learn here all about Range Band in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range Band -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Band - -This section explains how to customize the sparkline with multiple range bands. - -## Range band customization - -The range band feature is used to highlight a particular range along with the y-axis using the [`startRange`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineRangeBandSetting~StartRange.html) and [`endRange`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineRangeBandSetting~EndRange.html) properties. You can also customize the [`color`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineRangeBandSetting~Color.html) and [`opacity`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineRangeBandSetting~Opacity.html) of the range band. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/rangeband/range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/rangeband/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - -## Multiple range band customization - -You can define multiple range bands to a sparkline as shown in the following code sample. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/rangeband/multi-range/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Multi_range.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/rangeband/multi-range/multi-range.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions.md b/chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions.md deleted file mode 100644 index bb2c3c004..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: post -title: Sparkline Dimensions in ASP.NET Core Sparkline Component -description: Learn here all about Sparkline Dimensions in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Sparkline Dimensions -publishingplatform: chart-sdk -documentation: ug ---- - - -# Sparkline Dimensions - -## Size for container - -Sparkline can be rendered to its container size. You can set the size through inline or CSS as shown in the following code. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions/size/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - - -## Size for sparkline - - - -You can also set the size for sparkline directly using the [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Width.html) and [`height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Height.html) properties. - -**In pixel** - -You can set the size for sparkline in pixel as demonstrated in the following code. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions/pixel/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions/pixel/pixel.cs %} -{% endhighlight %} -{% endtabs %} - - -**In percentage** - -By setting values in percentage, sparkline gets its dimension with respect to its container. For example, when the height is set to ‘50%’, sparkline is rendered to half of its container height. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions/percentage/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-dimensions/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/sparkline-charts/sparkline-types.md b/chart-sdk/asp-net-core/sparkline-charts/sparkline-types.md deleted file mode 100644 index ac3f10109..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/sparkline-types.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -layout: post -title: Sparkline Types in ASP.NET Core Sparkline Component -description: Learn here all about Sparkline Types in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Sparkline Types -publishingplatform: chart-sdk -documentation: ug ---- - - -# Sparkline Types - -Different types of shapes can be used to represent the sparkline. You can change the sparkline type by setting the type property. Sparkline supports the following types: - -* Line -* Column -* Win-Loss -* Pie -* Area - -The following code sample shows different types of sparklines. - - - -**Line** - -The [`Line`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as line. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/line/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/line/line.cs %} -{% endhighlight %} -{% endtabs %} - - -**Column** - -The [`Column`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as column. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/column/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - -**Pie** - -The [`Pie`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as pie. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/pie/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Pie.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/pie/pie.cs %} -{% endhighlight %} -{% endtabs %} - - -**Win Loss** - -The [`WinLoss`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as Win Loss. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/winloss/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Winloss.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/winloss/winloss.cs %} -{% endhighlight %} -{% endtabs %} - - -**Area** - -The [`Area`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as area. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/area/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/sparkline-types/area/area.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/sparkline-charts/special-points-customization.md b/chart-sdk/asp-net-core/sparkline-charts/special-points-customization.md deleted file mode 100644 index 6bea68cb2..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/special-points-customization.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Special Points Customization in ASP.NET Core Sparkline Component -description: Learn here all about Special Points Customization in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Special Points Customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Special points customization - -You can customize the points by initializing the point colors. The customization options allows to differentiate the [`start`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~StartPointColor.html), [`end`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~EndPointColor.html), [`positive`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~HighPointColor.html), [`negative`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~NegativePointColor.html), and [`low`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~LowPointColor.html) points. This customization is only applicable for line, column, and area type sparklines. - - - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/specialpoints/custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/specialpoints/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Tie point color** - -Tie point color is used to configure the win-loss series type sparkline's y-value point color. The following code sample shows the tie point color of sparkline series. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/specialpoints/tie-point/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tie_point.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/specialpoints/tie-point/tie-point.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-core/sparkline-charts/user-interaction.md b/chart-sdk/asp-net-core/sparkline-charts/user-interaction.md deleted file mode 100644 index 2f5ecbb4e..000000000 --- a/chart-sdk/asp-net-core/sparkline-charts/user-interaction.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -layout: post -title: User Interaction in ASP.NET Core Syncfusion Sparkline Component -description: Learn here all about User Interaction in Syncfusion ASP.NET Core Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: User Interaction -publishingplatform: chart-sdk -documentation: ug ---- - - -# User interactions in Sparkline - -Sparkline has two user interaction features: tooltip and tracker line. - -## Tooltip - -The sparkline provides options to display details about values of data points through tooltips when hovering the mouse over data point. To use tooltip in sparkline, inject the [`SparklineTooltip`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineTooltipSettings.html) module to sparkline using the inject method. - -The following code example shows enabling tooltip for sparkline with format. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/tooltip/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - -### Tooltip customization - -The fill color, text styles, format, and border of the tooltip can be customized. The following code example shows customization of tooltip's fill color and text style. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/tooltip-custom/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/tooltip-custom/tooltip-custom.cs %} -{% endhighlight %} -{% endtabs %} - - -### Inline tooltip formatting - -The tooltip content can be formatted directly within the [`format`] property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. - -A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. - -For example: - -```cshtml - -``` - -In the above example, `x` is displayed in month-year format and `y` is displayed with two decimal places. - -Inline formatting can be applied to the following tooltip tokens: - -- `${x}` or `${x:MMM yyyy}` – Specifies the x-value of the Sparkline data point, such as DateTime or category values. -- `${y}` or `${y:n2}` – Specifies the numeric y-value of the Sparkline data point. - -**Important:** DateTime formatting is applied when the resolved value is a Date object, and number formatting is applied when the resolved value is numeric. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimals - - `c2` – currency format - - `p1` – percentage format - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/inline-format/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Inline-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/inline-format/inline-format.cs %} -{% endhighlight %} -{% endtabs %} - - -### Tooltip template - -Sparkline tooltip has template support. By using tooltip template, you can customize tooltips. The following code example shows more customization options provided to `sparkline-tooltip` class that is used in tooltip template div. Using this template, images also can be added to tooltip. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/tooltip-template/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip_template.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/tooltip-template/tooltip-template.cs %} -{% endhighlight %} -{% endtabs %} - - -## Track line - -The track line tracks data points that are closer to the mouse position or touch contact. - -To enable track lines for sparkline, specify the [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineTrackLineSettings~Visible.html) option of [`trackLineSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineTrackLineSettings.html) to true. Based on theme, tracker color will be changed. The default value of tracker color is black. - -To use track line in sparkline, inject the [`SparklineTooltip`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineTooltipSettings.html) module to sparkline using the inject method. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/tooltip-trackline/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip_trackline.cs" %} -{% include code-snippet/chart-sdk/asp-net-core/sparkline-charts/user-interaction/tooltip-trackline/tooltip-trackline.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-core/stock-chart/accessibility.md b/chart-sdk/asp-net-core/stock-charts/accessibility.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/accessibility.md rename to chart-sdk/asp-net-core/stock-charts/accessibility.md diff --git a/chart-sdk/asp-net-core/stock-chart/appearance.md b/chart-sdk/asp-net-core/stock-charts/appearance.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/appearance.md rename to chart-sdk/asp-net-core/stock-charts/appearance.md diff --git a/chart-sdk/asp-net-core/stock-chart/axis-customization.md b/chart-sdk/asp-net-core/stock-charts/axis-customization.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/axis-customization.md rename to chart-sdk/asp-net-core/stock-charts/axis-customization.md diff --git a/chart-sdk/asp-net-core/stock-chart/axis-types.md b/chart-sdk/asp-net-core/stock-charts/axis-types.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/axis-types.md rename to chart-sdk/asp-net-core/stock-charts/axis-types.md diff --git a/chart-sdk/asp-net-core/stock-chart/chart-dimensions.md b/chart-sdk/asp-net-core/stock-charts/chart-dimensions.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/chart-dimensions.md rename to chart-sdk/asp-net-core/stock-charts/chart-dimensions.md diff --git a/chart-sdk/asp-net-core/stock-chart/cross-hair.md b/chart-sdk/asp-net-core/stock-charts/cross-hair.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/cross-hair.md rename to chart-sdk/asp-net-core/stock-charts/cross-hair.md diff --git a/chart-sdk/asp-net-core/stock-chart/export-print.md b/chart-sdk/asp-net-core/stock-charts/export-print.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/export-print.md rename to chart-sdk/asp-net-core/stock-charts/export-print.md diff --git a/chart-sdk/asp-net-core/stock-chart/getting-started.md b/chart-sdk/asp-net-core/stock-charts/getting-started.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/getting-started.md rename to chart-sdk/asp-net-core/stock-charts/getting-started.md diff --git a/chart-sdk/asp-net-core/stock-chart/gradient.md b/chart-sdk/asp-net-core/stock-charts/gradient.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/gradient.md rename to chart-sdk/asp-net-core/stock-charts/gradient.md diff --git a/chart-sdk/asp-net-core/stock-chart/images/nodatatemplate-stockchart.png b/chart-sdk/asp-net-core/stock-charts/images/nodatatemplate-stockchart.png similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/images/nodatatemplate-stockchart.png rename to chart-sdk/asp-net-core/stock-charts/images/nodatatemplate-stockchart.png diff --git a/chart-sdk/asp-net-core/stock-chart/images/stockchart-control.webp b/chart-sdk/asp-net-core/stock-charts/images/stockchart-control.webp similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/images/stockchart-control.webp rename to chart-sdk/asp-net-core/stock-charts/images/stockchart-control.webp diff --git a/chart-sdk/asp-net-core/stock-chart/images/stockchart.webp b/chart-sdk/asp-net-core/stock-charts/images/stockchart.webp similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/images/stockchart.webp rename to chart-sdk/asp-net-core/stock-charts/images/stockchart.webp diff --git a/chart-sdk/asp-net-core/stock-chart/legend.md b/chart-sdk/asp-net-core/stock-charts/legend.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/legend.md rename to chart-sdk/asp-net-core/stock-charts/legend.md diff --git a/chart-sdk/asp-net-core/stock-chart/period-selector.md b/chart-sdk/asp-net-core/stock-charts/period-selector.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/period-selector.md rename to chart-sdk/asp-net-core/stock-charts/period-selector.md diff --git a/chart-sdk/asp-net-core/stock-chart/range-selector.md b/chart-sdk/asp-net-core/stock-charts/range-selector.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/range-selector.md rename to chart-sdk/asp-net-core/stock-charts/range-selector.md diff --git a/chart-sdk/asp-net-core/stock-chart/series-types.md b/chart-sdk/asp-net-core/stock-charts/series-types.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/series-types.md rename to chart-sdk/asp-net-core/stock-charts/series-types.md diff --git a/chart-sdk/asp-net-core/stock-chart/stock-events.md b/chart-sdk/asp-net-core/stock-charts/stock-events.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/stock-events.md rename to chart-sdk/asp-net-core/stock-charts/stock-events.md diff --git a/chart-sdk/asp-net-core/stock-chart/technical-indicators.md b/chart-sdk/asp-net-core/stock-charts/technical-indicators.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/technical-indicators.md rename to chart-sdk/asp-net-core/stock-charts/technical-indicators.md diff --git a/chart-sdk/asp-net-core/stock-chart/tool-tip.md b/chart-sdk/asp-net-core/stock-charts/tool-tip.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/tool-tip.md rename to chart-sdk/asp-net-core/stock-charts/tool-tip.md diff --git a/chart-sdk/asp-net-core/stock-chart/trend-lines.md b/chart-sdk/asp-net-core/stock-charts/trend-lines.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/trend-lines.md rename to chart-sdk/asp-net-core/stock-charts/trend-lines.md diff --git a/chart-sdk/asp-net-core/stock-chart/working-with-data.md b/chart-sdk/asp-net-core/stock-charts/working-with-data.md similarity index 100% rename from chart-sdk/asp-net-core/stock-chart/working-with-data.md rename to chart-sdk/asp-net-core/stock-charts/working-with-data.md diff --git a/chart-sdk/asp-net-mvc/3d-chart/accessibility.md b/chart-sdk/asp-net-mvc/3d-chart/accessibility.md deleted file mode 100644 index 866c244a7..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/accessibility.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: post -title: Accessibility in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about accessibility in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility -publishingplatform: chart-sdk -documentation: ug ---- - - -# Accessibility in ASP.NET MVC 3D Chart Component - -Accessibility is achieved in the 3D chart component through WAI-ARIA standard and keyboard navigation. The 3D chart features can be effectively accessed through assistive technologies such as screen readers. - -## WAI-ARIA - -WAI-ARIA (Accessibility Initiative – Accessible Rich Internet Applications) defines a way to increase the accessibility of web pages, dynamic content, and user interface components developed with AJAX, HTML, JavaScript, and related technologies. ARIA provides additional semantics to describe the role, state, and functionality of web components. - -* img (role) -* button (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) -* aria-pressed (attribute) - - - -## Keyboard navigation - -All the 3D chart actions can be controlled via keyboard keys. The applicable key combinations and their relative functionalities are listed below. - -Interaction Keys |Description ------|----- -Tab |Moves the focus to the next element in the chart. -Shift + Tab |Moves the focus to the previous element in the chart. -DownArrow |Moves the focus to the data point left side from the selected point. -UpArrow |Moves the focus to the data point right side from the selected point. -Left Arrow |Moves the focus to the next series in the chart. -Right Arrow |Moves the focus to the previous series in the chart. -ESC |Cancel the tooltip for the data point. -Enter/Space |Selects the data point in the series. -Down/Left Arrow |Moves the focus to the legend left side from the selected legend. -Up/Right Arrow | Moves the focus to the legend right side from the selected legend. -Enter/Space |Toggles the visibility of the corresponding series. -Ctrl + P |Print the chart. \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/3d-chart/appearance.md b/chart-sdk/asp-net-mvc/3d-chart/appearance.md deleted file mode 100644 index c1887dfe8..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/appearance.md +++ /dev/null @@ -1,203 +0,0 @@ ---- -layout: post -title: Appearance in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about appearance in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Appearance -publishingplatform: chart-sdk -documentation: ug ---- - - -# Appearance in ASP.NET MVC 3D Chart Component - -## Custom color palette - -The default color of series or points can be customized by providing a custom color palette of your choice by using the [`Palettes`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Palettes) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Data point customization - -The color of an individual data point can be customized using the below options. - -### Point color mapping - -The color for the points can be bound from the [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_DataSource) for the series by utilizing the [`PointColorMapping`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_PointColorMapping) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/point-color/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-color.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/point-color/point-color.cs %} -{% endhighlight %} -{% endtabs %} - -## Point level customization - -The data label and fill color of each data point can be customized using the [`PointRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_PointRender) and [`TextRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_TextRender) events. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/point-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/point-custom/point-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Chart area customization - - - -**Customize the chart background** - -The background color and border of the 3D chart can be customized using the [`Background`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Background) and [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Border) properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/background/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Background.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/background/background.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Chart margin** - -The 3D chart's margin can be set from its container using the [`Margin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Margin) property. - - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/margin/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Animation - -To customize the animation for a particular series, the [`Animation`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Animation) property can be used. It can be enabled or disabled by using the `Enable` property. The `Duration` property specifies the duration of an animation and the `Delay` property allows us to start the animation at desire time. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/animation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Chart rotation - -The 3D Chart can be roatated by using the [`EnableRotation`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_EnableRotation) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/rotation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/rotation/rotation.cs %} -{% endhighlight %} -{% endtabs %} - - -## Title - -The 3D chart can be given a title by using [`Title`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Title) property, to show the information about the data plotted. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/title/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Title position - -By using the [`Position`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Position) property in [`TitleStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_TitleStyle), the [`Title`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Title) can be positioned at left, right, top or bottom of the 3D chart. The title is positioned at the top of the 3D chart, by default. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/titleposition/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Titleposition.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/titleposition/titleposition.cs %} -{% endhighlight %} -{% endtabs %} - - - -The custom option is used to position the title anywhere in the 3D chart using [`X`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_X) and [`Y`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Y) coordinates. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/titleoption/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Titleoption.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/titleoption/titleoption.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Title alignment - -The title can be aligned to the near, far, or center of the 3D chart by using the [`TextAlignment`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_TextAlignment) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/titlealignment/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Titlealignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/titlealignment/titlealignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Title customization - -The [`TitleStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_TitleStyle) property of the 3D chart provides options to customize the title by using the following properties. - -* [`Size`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Size) - Specifies the size of the title. -* [`Color`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Color) - Specifies the color for the title. -* [`FontFamily`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_FontFamily) - Specifies the font family for the title. -* [`FontWeight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_FontWeight) - Specifies the font weight of the title. -* [`FontStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_FontStyle) - Specifies the font style for the title. -* [`Opacity`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_Opacity) - Specifies the opacity for the color of the title. -* [`TextAlignment`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_TextAlignment) - Specifies the alignment of the title. -* [`TextOverflow`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTitleSettings.html#Syncfusion_EJ2_Charts_Chart3DTitleSettings_TextOverflow) - Specifies the overflow of the title. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/customization/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Customization.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/customization/customization.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/3d-chart/axis-customization.md b/chart-sdk/asp-net-mvc/3d-chart/axis-customization.md deleted file mode 100644 index e4273436b..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/axis-customization.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -layout: post -title: Axis customization in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about axis customization in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis customization in ASP.NET MVC 3D Chart Component - -## Title - -The title for the axis can be added by using the [`Title`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Title) property. It helps to provide quick information to the user about the data plotted in the axis. Title style can be customized using [`TitleStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_TitleStyle) property of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/title/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - -## Title rotation - -The title can be rotated from 0 to 360 degree by using the [`TitleRotation`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_TitleRotation) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/titlerotation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="TitleRotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/titlerotation/titlerotation.cs %} -{% endhighlight %} -{% endtabs %} - - -## Tick lines customization - -The [`Width`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DMajorTickLines.html#Syncfusion_EJ2_Charts_Chart3DMajorTickLines_Width), [`Color`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DMajorTickLines.html#Syncfusion_EJ2_Charts_Chart3DMajorTickLines_Color) and [`Height`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DMajorTickLines.html#Syncfusion_EJ2_Charts_Chart3DMajorTickLines_Height) of the minor and major tick lines can be customized by using the [`MajorTickLines`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MajorTickLines) and [`MinorTickLines`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MinorTickLines) properties in the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/tick/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tick.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/tick/tick.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Grid lines customization - -The [`Width`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DMajorGridLines.html#Syncfusion_EJ2_Charts_Chart3DMajorGridLines_Width) and [`Color`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DMajorGridLines.html#Syncfusion_EJ2_Charts_Chart3DMajorGridLines_Color) of the minor and major grid lines can be customized by using the [`MajorGridLines`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MajorGridLines) and [`MinorGridLines`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MinorGridLines) properties in the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/grid/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Grid.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/grid/grid.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Multiple axis - -In addition to primary X and Y axis, n number of axis can be added to the chart. Series can be associated with this axis, by mapping with axis's unique name. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/multiple/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Multiple.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/multiple/multiple.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Inversed axis - -When an axis is inversed, highest value of the axis comes closer to origin and vice versa. To place an axis in inversed manner, set the [`IsInversed`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_IsInversed) property to **true**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/inversed/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Inversed.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/inversed/inversed.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Opposed position - -To place an axis opposite from its original position, set the [`OpposedPosition`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_OpposedPosition) property to **true**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/opposed/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opposed.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/opposed/opposed.cs %} -{% endhighlight %} -{% endtabs %} - - - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/axis-labels.md b/chart-sdk/asp-net-mvc/3d-chart/axis-labels.md deleted file mode 100644 index af4e3a5ee..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/axis-labels.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -layout: post -title: Axis labels in ASP.NET MVC 3D Chart Component -description: Learn here all about axis labels in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis labels in ASP.NET MVC 3D Chart Component - -Axis labels are the labels that are positioned adjacent to the y-axis and beneath the x-axis. It provides descriptive information about the axis. - -## Smart axis labels - -When the axis labels overlap with each other, [`LabelIntersectAction`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LabelIntersectAction) property in the axis can be used to place them smartly. - -Case 1: When setting `LabelIntersectAction` as `Hide`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/hide/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Hide.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/hide/hide.cs %} -{% endhighlight %} -{% endtabs %} - - - -Case 2: When setting `LabelIntersectAction` as `Rotate45`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/rotate45/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rotate45.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/rotate45/rotate45.cs %} -{% endhighlight %} -{% endtabs %} - - - -Case 3: When setting `LabelIntersectAction` as `Rotate90`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/rotate90/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rotate90.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/rotate90/rotate90.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Edge label placement - -Labels with long text at the edges of an axis may appear partially in the 3D chart. To avoid this, -use the [`EdgeLabelPlacement`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_EdgeLabelPlacement) property in axis, which moves the label inside the chart area for better appearance or hides it. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/placement/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Placement.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/placement/placement.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Maximum labels - -The labels will be rendered based on the count in the [`MaximumLabels`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_MaximumLabels) property per 100 pixel. If the range (minimum, maximum, interval) and `MaximumLabels` are set, then the priority goes to range. If the range is not set, then the priority goes to `MaximumLabels` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/maximumlabels/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Maximumlabels.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/maximumlabels/maximumlabels.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/3d-chart/category-axis.md b/chart-sdk/asp-net-mvc/3d-chart/category-axis.md deleted file mode 100644 index e3adebd66..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/category-axis.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -layout: post -title: Category axis in ASP.NET MVC 3D Chart Component -description: Learn here all about category axis in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Category Axis -publishingplatform: chart-sdk -documentation: ug ---- - - -# Category axis in ASP.NET MVC 3D Chart Component - -The category axis is the horizontal axis of a 3D chart that shows text values rather than numerical values. Compared to the vertical axis, this axis has fewer labels. The following sample shows to render the 3D chart using category axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/category/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Category.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/category/category.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Labels placement - -By default, category axis labels are placed between ticks in an axis. It can also be placed on ticks using the [`LabelPlacement`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LabelPlacement) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/labelplacement/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Labelplacement.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/labelplacement/labelplacement.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -The range of the category axis can be customized using [`Minimum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) properties of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Indexed category axis - -The caategory axis can also be rendered based on the index values of the data source. This can be achieved by defining the [`IsIndexed`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_IsIndexed) property to **true** in the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/index/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Index.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/index/index.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/3d-chart/chart-dimensions.md b/chart-sdk/asp-net-mvc/3d-chart/chart-dimensions.md deleted file mode 100644 index c1263ae61..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/chart-dimensions.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -layout: post -title: Dimensions in ASP.NET MVC 3D Chart Component -description: Learn here all about dimensions in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Dimensions -publishingplatform: chart-sdk -documentation: ug ---- - -# Dimensions in ASP.NET MVC 3D Chart Component - -## Size for container - -The 3D chart can be rendered to its container size and it can be set via inline or CSS as demonstrated below. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/size/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Size for chart - - - -The size of the 3D chart can be set directly through [`Width`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Width) and [`Height`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Height) properties. - -**In pixel** - -The size of the 3D chart can be set in pixel as demonstrated below. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/pixel/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/pixel/pixel.cs %} -{% endhighlight %} -{% endtabs %} - - - -**In percentage** - -By setting the value in percentage, 3D chart gets its dimension with respect to its container. For example, when the height is **50%**, chart renders to half of the container height. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/percentage/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/appearance/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> When you do not specify the size, it takes `450px` as the height and window size as its width. \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/3d-chart/chart-types/bar.md b/chart-sdk/asp-net-mvc/3d-chart/chart-types/bar.md deleted file mode 100644 index 47feb96a7..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/chart-types/bar.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -layout: post -title: Bar chart in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about bar chart in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Bar chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Bar chart in ASP.NET MVC 3D Chart Component - -## Bar chart - -To render a bar series, use series [`Type`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`Bar`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_Bar). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/bar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/bar/bar.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Bar space and width - -The [`ColumnSpacing`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnSpacing) and [`ColumnWidth`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnWidth) properties are used to customize the space between bars. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/bar-space/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-space.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/bar-space/bar-space.cs %} -{% endhighlight %} -{% endtabs %} - - -## Grouped bar - -The data points can be grouped in the bar type charts by using the [`GroupName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_GroupName) property. Data points with same group name are grouped together. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/group-bar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group-bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/group-bar/group-bar.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cylindrical bar chart - -To render a cylindrical bar chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/bar-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/bar-cylinder/bar-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`Bar`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_Bar) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/bar-series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/bar-series/bar-series.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/3d-chart/chart-types/column.md b/chart-sdk/asp-net-mvc/3d-chart/chart-types/column.md deleted file mode 100644 index 8c789d744..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/chart-types/column.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -layout: post -title: Column chart in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about column chart in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Column chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Column chart in ASP.NET MVC 3D Chart Component - -## Column chart - -To render a column series, use series [`Type`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`Column`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_Column). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Column space and width - -The [`ColumnSpacing`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnSpacing) and [`ColumnWidth`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnWidth) properties are used to customize the space between columns. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/column-space/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-space.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/column-space/column-space.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Grouped column - -The data points can be grouped in the column type charts by using the [`GroupName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_GroupName) property. Data points with same group name are grouped together. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/group-column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/group-column/group-column.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cylindrical column chart - -To render a cylindrical column chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/column-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/column-cylinder/column-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`Column`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_Column) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. -## Series customization - -The following properties can be used to customize the `column` series. - -* [fill](../../api/chart3d/series3DModel/#fill) – Specifies the color of the series. -* [opacity](../../api/chart3d/series3DModel/#opacity) – Specifies the opacity of the [fill](../../api/chart3d/series3DModel/#fill) color. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/column-series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/column-series/column-series.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/chart-types/stack-bar100.md b/chart-sdk/asp-net-mvc/3d-chart/chart-types/stack-bar100.md deleted file mode 100644 index 9c677883e..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/chart-types/stack-bar100.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -layout: post -title: 100% Stacked bar chart in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about 100% stacked bar chart in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked bar chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked bar chart in ASP.NET MVC 3D Chart Component - -## 100% Stacked bar chart - -To render a 100% stacked bar series, use series [`Type`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`StackingBar100`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingBar100). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/100perstackedbar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/100perstackedbar/stackedbar100.cs %} -{% endhighlight %} -{% endtabs %} - - - -## 100% Cylindrical stacked bar chart - -To render a cylindrical 100% stacked bar chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar100-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar100-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar100-cylinder/stackedbar100-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`100% Stacked Bar`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingBar100) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar-100-series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar-100-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar-100-series/stackedbar-100-series.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/chart-types/stack-column100.md b/chart-sdk/asp-net-mvc/3d-chart/chart-types/stack-column100.md deleted file mode 100644 index 81eaa66e1..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/chart-types/stack-column100.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -layout: post -title: 100% Stacked column chart in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about 100% stacked column chart in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked column chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked column chart in ASP.NET MVC 3D Chart Component - -## 100% Stacked column chart - -To render a 100% stacked column series, use series [`Type`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`StackingColumn100`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingColumn100). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/100perstackedcolumn/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/100perstackedcolumn/stackedcolumn100.cs %} -{% endhighlight %} -{% endtabs %} - - - -## 100% Cylindrical stacked column chart - -To render a 100% cylindrical stacked column chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn100-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn100-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn100-cylinder/stackedcolumn100-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`100% Stacked Column`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingColumn100) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn-100-series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn-100-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn-100-series/stackedcolumn-100-series.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/chart-types/stacked-bar.md b/chart-sdk/asp-net-mvc/3d-chart/chart-types/stacked-bar.md deleted file mode 100644 index 6a3b89772..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/chart-types/stacked-bar.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -layout: post -title: Stacked bar chart in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about stacked bar chart in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked bar chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked bar chart in ASP.NET MVC 3D Chart Component - -## Stacked bar chart - -To render a stacked bar series, use series [`Type`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`StackingBar`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingBar). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar/stackedbar.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stacking group - -To group the stacked bar, the [`StackingGroup`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_StackingGroup) property can be used. The bars with same group name are stacked on top of each other. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/group-stackedbar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group-stackedbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/group-stackedbar/group-stackedbar.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cylindrical stacked bar chart - -To render a cylindrical stacked bar chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar-cylinder/stackedbar-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`Stacked Bar`]((https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingBar)) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar-series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/bar-charts/stackedbar-series/stackedbar-series.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/chart-types/stacked-column.md b/chart-sdk/asp-net-mvc/3d-chart/chart-types/stacked-column.md deleted file mode 100644 index 1d99cba2b..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/chart-types/stacked-column.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -layout: post -title: Stacked column chart in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about stacked column chart in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked column chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked column chart in ASP.NET MVC 3D Chart Component - -## Stacked column chart - -To render a stacked column series, use series [`Type`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Type) as [`StackingColumn`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingColumn). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn/stackedcolumn.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stacking group - -To group the stacked columns, the [`StackingGroup`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_StackingGroup) property can be used. The columns with same group name are stacked on top of each other. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/group-stackedcolumn/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group-stackedcolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/group-stackedcolumn/group-stackedcolumn.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cylindrical stacked column chart - -To render a cylindrical stacked column chart, set the [`ColumnFacet`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_ColumnFacet) property to `Cylinder` in the chart series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn-cylinder/stackedcolumn-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -The following properties can be used to customize the [`Stacked Column`]((https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeriesType.html#Syncfusion_EJ2_Charts_Chart3DSeriesType_StackingColumn)) series. - -* [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) – Specifies the color of the series. -* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Opacity) – Specifies the opacity of the [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Fill) color. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn-series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/column-charts/stackedcolumn-series/stackedcolumn-series.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/data-labels.md b/chart-sdk/asp-net-mvc/3d-chart/data-labels.md deleted file mode 100644 index f5eb2c5ee..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/data-labels.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -layout: post -title: Data labels in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about data labels in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data labels in ASP.NET MVC 3D Chart Component - -Data labels are fields that includes information about the sample point connected to an output. It can be added to a chart series by enabling the [`Visible`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Visible) property in the [`DataLabel`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_DataLabel). By default, the labels will arrange smartly without overlapping. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/datalabel/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Datalabel.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/datalabel/datalabel.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Position - -The [`Position`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Position) property is used to place the label either on `Top`, `Middle`, or `Bottom`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Template - -Label content can be formatted by using the template option. Inside the template, the placeholder text `${point.x}` and `${point.y}` can be added to display corresponding data points x & y value. Using [`Template`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Template) property, the data label template can be set. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Text mapping - -Text from the data source can be mapped using the [`Name`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Name) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/mapping/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/mapping/mapping.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Format - -Data label for the chart can be formatted using the [`Format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Format) property. The global formatting options can be used as 'n', 'p', and 'c'. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ValueFormatResultant ValueDescription
    1000n11000.0The number is rounded to 1 decimal place.
    1000n21000.00The number is rounded to 2 decimal places.
    1000n31000.000The number is rounded to 3 decimal place.
    0.01p11.0%The number is converted to percentage with 1 decimal place.
    0.01p21.00%The number is converted to percentage with 2 decimal place.
    0.01p31.000%The number is converted to percentage with 3 decimal place.
    1000c1$1000.0The currency symbol is appended to number and number is rounded to 1 decimal place.
    1000c2$1000.00The currency symbol is appended to number and number is rounded to 2 decimal place.
    - - - -## Margin - -The [`Margin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Margin) for data label can be applied by using [`Left`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DMargin.html#Syncfusion_EJ2_Charts_Chart3DMargin_Left), [`Right`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DMargin.html#Syncfusion_EJ2_Charts_Chart3DMargin_Right), [`Bottom`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DMargin.html#Syncfusion_EJ2_Charts_Chart3DMargin_Bottom) and [`Top`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DMargin.html#Syncfusion_EJ2_Charts_Chart3DMargin_Top) properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/margin/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -The `Stroke` and `Border` of data label can be customized using [`Fill`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Fill) and [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DDataLabelSettings.html#Syncfusion_EJ2_Charts_Chart3DDataLabelSettings_Border) properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customizing specific label - -A specific label can be customized by using the [`TextRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_TextRender) event. The `TextRender` event allows you to change the label text for the point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/series-percentage/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datalabel/series-percentage/series-percentage.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/date-time-axis.md b/chart-sdk/asp-net-mvc/3d-chart/date-time-axis.md deleted file mode 100644 index 8c9f18f7e..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/date-time-axis.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -layout: post -title: DateTime axis in ASP.NET MVC 3D Chart Component -description: Learn here all about datetime axis in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: DateTime Axis -publishingplatform: chart-sdk -documentation: ug ---- - -# DateTime axis in ASP.NET MVC 3D Chart Component - -## DateTime axis - -DateTime axis uses date time scale and displays the date time values as axis labels in the specified format. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/datetime/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Datetime.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/datetime/datetime.cs %} -{% endhighlight %} -{% endtabs %} - - - -## DateTime category axis - -DateTime category axis is used to display the date time values with non-linear intervals. For example, the business days alone have been depicted in a week here. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/datetime-category/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Datetime-category.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/datetime-category/datetime-category.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Range - -Range of an axis will be calculated automatically based on the provided data. You can also customize the range of an axis using [`Minimum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Interval customization - -Date time intervals can be customized by using the [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) and [`IntervalType`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_IntervalType) properties of the axis. For example, when you set `Interval` as **2** and `IntervalType` as **Years**, it considers 2 years as interval. DateTime axis supports following interval types, - -* Auto -* Years -* Months -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/interval/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/interval/interval.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Applying padding to the range** - -Padding can be applied to the minimum and maximum extremes of the range by using the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) property. DateTime axis supports the following types of padding, - -* None -* Round -* Additional - -**DateTime - None** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to `None`, minimum and maximum of an axis is based on the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/none/razor %} -{% endhighlight %} -{% highlight c# tabtitle="None.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/none/none.cs %} -{% endhighlight %} -{% endtabs %} - - - -**DateTime - Round** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to `Round`, minimum and maximum will be rounded to the nearest possible value, which is divisible by interval. For example, when the minimum is **15th Jan**, interval is **1** and interval type is **Month**, then the axis minimum will be **Jan 1st**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/round/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Round.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/round/round.cs %} -{% endhighlight %} -{% endtabs %} - - - -**DateTime - Additional** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to `Additional`, interval of an axis will be padded to the minimum and maximum of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/additional/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Additional.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/additional/additional.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Label format - -The date can be formatted and parsed to all globalize format using the [`LabelFormat`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LabelFormat) property in an axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/label-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Label-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/label-format/label-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table describes the result of applying some common date time formats to the `LabelFormat` property. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Label ValueLabel Format Property ValueResult Description
    new Date(2000, 03, 10)EEEEMondayThe Date is displayed in day format.
    new Date(2000, 03, 10)yMd04/10/2000The Date is displayed in month/date/year format.
    new Date(2000, 03, 10) MMM AprThe Shorthand month for the date is displayed.
    new Date(2000, 03, 10)hm12:00 AMTime of the date value is displayed as label.
    new Date(2000, 03, 10)hms12:00:00 AMThe Label is displayed in hours:minutes:seconds format.
    - - - -## Custom label format - -Axis also supports custom label format using placeholder like {value}°C, in which the value represent the axis label e.g 20°C. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/datetime-axis/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/3d-chart/getting-started.md b/chart-sdk/asp-net-mvc/3d-chart/getting-started.md deleted file mode 100644 index bd7d72f0c..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/getting-started.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET MVC 3D Chart Control | Syncfusion -description: Check out and learn about getting started with ASP.NET MVC 3D Chart control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - -# Getting Started with the ASP.NET MVC 3D Chart Control - -This section briefly explains how to add the Syncfusion® [ASP.NET MVC 3D Chart](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts) control to an ASP.NET MVC 5 (.NET Framework) application using Visual Studio. - -## Prerequisites - -Refer to the [System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) before creating the application. - -## Create an ASP.NET MVC application with HTML helper - -You can create an ASP.NET MVC application using either of the following options: - -* [Create a project using Microsoft templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) -* [Create a project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) - -## Install the ASP.NET MVC NuGet package - -To add Syncfusion® **ASP.NET MVC** controls in the application, open the NuGet Package Manager in Visual Studio by selecting **Tools → NuGet Package Manager → Manage NuGet Packages for Solution**. Search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and install it. - -Alternatively, you can use the Package Manager Console by navigating to **Tools → NuGet Package Manager → Package Manager Console**, and then run the following command: - -{% tabs %} -{% highlight C# tabtitle="Package Manager Console" %} - -Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET MVC controls are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). Refer to the [NuGet packages](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) topic to learn more about installing NuGet packages in various operating system environments. The `Syncfusion.EJ2.MVC5` NuGet package depends on [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) (≥ 12.0.2) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating the Syncfusion® license key. - -## Add the namespace - -Add the **Syncfusion.EJ2** namespace reference in the `Web.config` file available in the `Views` folder. - -{% tabs %} -{% highlight xml tabtitle="~/Views/Web.config" %} - - - - - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Add the script reference inside the `` element of the `~/Views/Shared/_Layout.cshtml` file as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Refer to the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in an ASP.NET MVC application, including local/native references. - -## Register the Syncfusion® Script Manager - -Register the script manager `EJS().ScriptManager()` at the end of the `` element in the `~/Views/Shared/_Layout.cshtml` file as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - @Html.EJS().ScriptManager() - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET MVC 3D Chart control - -Now, add the Syncfusion® ASP.NET MVC 3D Chart control in `~/Home/Index.cshtml` page. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/getting-started/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Getting-started.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/getting-started/getting-started.cs %} -{% endhighlight %} -{% endtabs %} - -Press Ctrl + F5 on Windows or + F5 on macOS to run the application. The Syncfusion® ASP.NET MVC 3D Chart control will be rendered in the default web browser. - -![ASP.NET MVC 3D Chart Control with Data](images/three-d-chart.png) - -## Troubleshooting - -If the 3D Chart control does not render as expected, review the following common issues and their resolutions. - -* **"Script Manager is not defined" or scripts run twice** — `@Html.EJS().ScriptManager()` was not added, or was added more than once. Ensure `ScriptManager` is registered exactly once at the end of `` in `_Layout.cshtml`. - -* **Chart renders but no data points appear** — `XName` / `YName` do not match the property names in the data source. Property names are case-sensitive; verify they match the JSON field names exactly (e.g., `x`, `y`). - -* **`Newtonsoft.Json` reference error after upgrade** — `Syncfusion.EJ2.MVC5` requires `Newtonsoft.Json` ≥ 12.0.2. Install a compatible version via NuGet. - -## See also - -* [Data labels in ASP.NET MVC 3D Chart](https://ej2.syncfusion.com/aspnetmvc/documentation/3d-chart/data-labels) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-core-mvc-taghelper) diff --git a/chart-sdk/asp-net-mvc/3d-chart/images/three-d-chart.png b/chart-sdk/asp-net-mvc/3d-chart/images/three-d-chart.png deleted file mode 100644 index 338a2cd58a01f631e940369f373106e7bc53efed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31762 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 and higher order of magnitude (eg: 106). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/log/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Log.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/log/log.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -The range of an axis will be calculated automatically based on the provided data and it can also be customized by using the [`Minimum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) properties of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/log-range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Log-range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/log-range/log-range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic base - -Logarithmic base can be customized by using the [`LogBase`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LogBase) property of the axis. For example when the `LogBase` is **5**, the axis values follows 5-2, 5-1, 50, 51, 52 etc. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/log-base/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Log-base.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/log-base/log-base.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic interval - -The interval of the logarithmic axis can be customized by using the [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) property in the axis. When the logarithmic base is 10 and logarithmic **Interval** is 2, then the axis labels are placed at an interval of 102. The default value of the [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) is **1**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/log-interval/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Log-interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/log-interval/log-interval.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/3d-chart/multiple-panes.md b/chart-sdk/asp-net-mvc/3d-chart/multiple-panes.md deleted file mode 100644 index 3cbd9e8c0..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/multiple-panes.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -layout: post -title: Multiple panes in ASP.NET MVC 3D Chart Component -description: Learn here all about multiple panes in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Multiple Panes -publishingplatform: chart-sdk -documentation: ug ---- - - -# Multiple panes in ASP.NET MVC 3D Chart Component - -The chart area can be divided into multiple panes using [`Rows`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Rows) and [`Columns`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Columns). - -## Rows - -To split the chart area vertically into number of rows, use [`Rows`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Rows) property of the 3D chart. - -* The space for each row can be allocated by using the [`Height`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DRow.html#Syncfusion_EJ2_Charts_Chart3DRow_Height) property. The value can be either in percentage or in pixel. -* To associate a vertical axis to a particular row, specify its index to [`RowIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RowIndex) property of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/row/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Row.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/row/row.cs %} -{% endhighlight %} -{% endtabs %} - - - -For spanning the vertical axis along multiple rows, use [`Span`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Span) property of an axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/row-span/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Row-span.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/row-span/row-span.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Columns - -To split the chart area horizontally into number of columns, use [`Columns`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_Columns) property of the 3D chart. - -* The space for each column can be allocated by using the [`Width`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DColumn.html#Syncfusion_EJ2_Charts_Chart3DColumn_Width) property. The given width can be either in percentage or in pixel. -* To associate a horizontal axis to a particular column, specify its index to [`ColumnIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_ColumnIndex) property of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - -For spanning the vertical axis along multiple column, you can use [`Span`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Span) property of an axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/column-span/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-span.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/axis/column-span/column-span.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/numeric-axis.md b/chart-sdk/asp-net-mvc/3d-chart/numeric-axis.md deleted file mode 100644 index 3ac7b4801..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/numeric-axis.md +++ /dev/null @@ -1,231 +0,0 @@ ---- -layout: post -title: Numeric axis in ASP.NET MVC 3D Chart Component -description: Learn here all about numeric axis in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Numeric Axis -publishingplatform: chart-sdk -documentation: ug ---- - -# Numeric axis in ASP.NET MVC 3D Chart Component - -The `Numeric Axis` can be used to represent the numeric values of data in 3D chart. By default, the [`ValueType`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_ValueType) of an axis is **Double**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/double/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Double.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/double/double.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -The range of an axis will be calculated automatically based on the provided data, and it can also be customized by using the [`Minimum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) properties of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range padding - -Padding can be applied to the minimum and maximum extremes of an axis range by using the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) property. Numeric axis supports the following types of padding. - -* None -* Round -* Additional -* Normal -* Auto - -**Numeric - None** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **None**, minimum and maximum of the axis is based on the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/none/razor %} -{% endhighlight %} -{% highlight c# tabtitle="None.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/none/none.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Round** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **Round**, minimum and maximum will be rounded to the nearest possible value, which is divisible by interval. For example, when the [`Minimum`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Minimum) is **3.5** and the [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_Interval) is **1**, then the minimum will be rounded to **3**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/round/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Round.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/round/round.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Additional** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **Additional**, interval of an axis will be added to the minimum and maximum of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/additional/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Additional.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/additional/additional.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Normal** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **Normal**, padding is applied to the axis based on default range calculation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/normal/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Normal.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/normal/normal.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Auto** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_RangePadding) is set to **Auto**, horizontal numeric axis takes **None** as padding calculation, while the vertical numeric axis takes **Normal** as padding calculation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/auto/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Auto.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/auto/auto.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Label format - -**Numeric label format** - -Numeric labels can be formatted by using the [`LabelFormat`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DAxis.html#Syncfusion_EJ2_Charts_Chart3DAxis_LabelFormat) property. Also, it supports all globalize format. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/label-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Label-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/label-format/label-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table describes the result of applying some commonly used label formats on numeric values. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Label ValueLabel Format property valueResult Description
    1000n11000.0The Number is rounded to 1 decimal place.
    1000n21000.00The Number is rounded to 2 decimal place.
    1000n31000.000The Number is rounded to 3 decimal place.
    0.01p11.0%The Number is converted to percentage with 1 decimal place.
    0.01p21.00%The Number is converted to percentage with 2 decimal place.
    0.01p31.000%The Number is converted to percentage with 3 decimal place.
    1000c1$1000.0The Currency symbol is appended to number and number is rounded to 1 decimal place.
    1000c2$1000.00The Currency symbol is appended to number and number is rounded to 2 decimal place.
    - -## Grouping separator - -To separate the y-axis labels to groups of thousands, set the [`UseGroupingSeparator`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_UseGroupingSeparator) property to **true** in the 3D chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/group-separator/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group-separator.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/group-separator/group-separator.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Custom label format - -The axis supports custom label format using placeholder like **{value}°C**, in which the value represent the axis label e.g 20°C. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/custom-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/numeric-axis/custom-format/custom-format.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/3d-chart/print-export.md b/chart-sdk/asp-net-mvc/3d-chart/print-export.md deleted file mode 100644 index 89e64d278..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/print-export.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Print and Export in ASP.NET MVC 3D Chart Component -description: Learn here all about print and export in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Print and Export -publishingplatform: chart-sdk -documentation: ug ---- - -# Print and Export in ASP.NET MVC 3D Chart Component - -## Print - -The rendered 3D chart can be printed directly from the browser by calling the public method `print`. The ID of the 3D chart's div element must be passed as the input parameter to that method. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/print/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/print/print.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Export - -The rendered 3D chart can be exported to `JPEG`, `PNG`, `SVG`, or `PDF` format using the `export` method. The input parameters for this method are `type` for format and `fileName` for result. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/export/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/export/export.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/selection.md b/chart-sdk/asp-net-mvc/3d-chart/selection.md deleted file mode 100644 index e0b64457a..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/selection.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -layout: post -title: Selection in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about selection in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Selection -publishingplatform: chart-sdk -documentation: ug ---- - -# Selection in ASP.NET MVC 3D Chart Component - -The 3D chart provides selection support for the series and its data points on mouse click. - ->When mouse is clicked on the data points, the corresponding series legend will also be selected. - -We have different types of selection mode for selecting a data. - -* None -* Point -* Series -* Cluster - -## Point - -To select a point, set the [`SelectionMode`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_SelectionMode) property to **Point**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/point-selection/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/point-selection/point-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series - -To select a series, set the [`SelectionMode`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_SelectionMode) property to **Series**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/series-selection/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/series-selection/series-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cluster - -To select the points that corresponds to the same index in all the series, set the [`SelectionMode`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_SelectionMode) property to **Cluster**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/cluster-selection/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Cluster-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/cluster-selection/cluster-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection type - -To select multiple points or series, enable the [`IsMultiSelect`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_IsMultiSelect) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/selection-type/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Selection-type.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/selection-type/selection-type.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection during initial loading - -In a 3D chart, selecting a point or series during initial loading can only be done programmatically. The [`SelectedDataIndexes`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3D.html#Syncfusion_EJ2_Charts_Chart3D_SelectedDataIndexes) property can be used for this. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/onload/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Onload.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/onload/onload.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection through legend - -To select a point or series through on legend use [`ToggleVisibility`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_ToggleVisibility) property. Also, use [`EnableHighlight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DLegendSettings.html#Syncfusion_EJ2_Charts_Chart3DLegendSettings_EnableHighlight) property for highlighting the series through legend. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/selection-legend/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Selection-legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/selection-legend/selection-legend.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/tool-tip.md b/chart-sdk/asp-net-mvc/3d-chart/tool-tip.md deleted file mode 100644 index b393834d5..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/tool-tip.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -layout: post -title: Tooltip in ASP.NET MVC Syncfusion 3D Chart Component -description: Learn here all about tooltip in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Tooltip -publishingplatform: chart-sdk -documentation: ug ---- - -# Tooltip in ASP.NET MVC 3D Chart Component - -The 3D Chart will display details about the points through tooltip, when the mouse is moved over the specific point. - -## Default tooltip - -By default, tooltip is not visible. The tooltip can be enabled by setting the [`Enable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Enable) property in `TooltipSettings` to **true**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/default-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Default-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/default-tooltip/default-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Fixed tooltip - -By default, tooltip track the mouse movement, but the tooltip can be set in fixed position by using the [`Location`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Location) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/fixed-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Fixed-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/fixed-tooltip/fixed-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Format the tooltip - -By default, tooltip shows information of x and y value in points. In addition to that, more information can be shown in tooltip by using the [`Format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Format) property. For example the format `${series.name} : ${point.y}` shows series name and point y value. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/format-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Format-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/format-tooltip/format-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Inline tooltip formatting - -The tooltip content can be formatted directly within the [`format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Format) property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. - -A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. - -For example: - -```cshtml - .Tooltip(tooltip => tooltip - .Enable(true) - .Format("${series.name}
    ${point.x:MMM yyyy} : ${point.y:n2}") - ) -``` - -In the above example, `point.x` is displayed in month-year format, `point.y` is displayed with two decimal places, and `series.name` displays the name assigned to the series. - -Inline formatting can be applied to the following tooltip tokens: - -- `point.x` – Specifies the x-value of the data point, such as DateTime or category values. -- `point.y` – Specifies the numeric y-value of the data point. -- `series.name` – Specifies the name assigned to the series. -- `series.type` – Specifies the rendering type of the series, such as `Column`, `Bar`, `Line`, or `StackingColumn`. -- `series.opacity` – Specifies the opacity value applied to the series. This value controls the visual transparency of the series and can be customized in the series configuration. - -**Important:** The availability of point-specific tokens depends on the values configured in the data source and the 3D chart series type. The `series.name` and `series.type` tokens return string values, so DateTime or number formatting is not applied to these tokens. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimal places - - `c2` – currency format - - `p1` – percentage format - - `e1` – exponential notation - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/tooltip-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/tooltip-format/tooltip-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Tooltip template - -Any HTML elements can be displayed in the tooltip by using the [`Template`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Template) property of the tooltip. The ${x} and ${y} can be used as place holders in the HTML element to display the x and y values of the corresponding data point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customize the appearance of tooltip - -The [`Fill`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Fill) and [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_Border) properties are used to customize the background color and border of the tooltip respectively. The [`TextStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DTooltipSettings.html#Syncfusion_EJ2_Charts_Chart3DTooltipSettings_TextStyle) property in the tooltip is used to customize the font of the tooltip text. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/custom-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/user-interaction/custom-tooltip/custom-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/3d-chart/working-with-data.md b/chart-sdk/asp-net-mvc/3d-chart/working-with-data.md deleted file mode 100644 index c270a4140..000000000 --- a/chart-sdk/asp-net-mvc/3d-chart/working-with-data.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -layout: post -title: Working with data source in ASP.NET MVC 3D Chart Component -description: Learn here all about working with data source in Syncfusion ASP.NET MVC 3D Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Working With Data -publishingplatform: chart-sdk -documentation: ug ---- - -# Working with data in ASP.NET MVC 3D Chart Component - -## Local data - -A simple JSON data can be bound to the 3D chart using [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_DataSource) property in series. Now map the fields in JSON to [`XName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_XName) and [`YName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_YName) properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/local-data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Local-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/local-data/local-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Remote data - -The remote data can be bound to the 3D chart using the `DataManager`. The `DataManager` requires minimal information like web service URL, adaptor and cross domain to interact with service endpoint properly. Assign the instance of the `DataManager` to the [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_DataSource) property in series and map the fields of data to [`XName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_XName) and [`YName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_YName) properties. You can also use the [`Query`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_Query) property of the series to filter the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/remote-data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Remote-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/remote-data/remote-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Binding data using ODataAdaptor - -`OData` is a standardized protocol for creating and consuming data. You can retrieve data from OData service using the `DataManager`. Refer to the following code example for remote Data binding using OData service. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/adaptor/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/adaptor/adaptor.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Empty points - -The data points that uses the `null` or `undefined` as value are considered as empty points. The empty data points are ignored and is not plotted in the chart. When the data is provided by using the points property, by using [`EmptyPointSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_EmptyPointSettings) property in series, the empty can be customized. The default [`Mode`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DEmptyPointSettings.html#Syncfusion_EJ2_Charts_Chart3DEmptyPointSettings_Mode) of the empty point is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/empty-points/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-points.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/empty-points/empty-points.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customizing empty point** - -The specific color for empty point can be set by the [`Fill`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DEmptyPointSettings.html#Syncfusion_EJ2_Charts_Chart3DEmptyPointSettings_Fill) property in [`EmptyPointSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart3DSeries.html#Syncfusion_EJ2_Charts_Chart3DSeries_EmptyPointSettings). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/custom-emptypoint/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-emptypoint.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-charts/series/working-data/custom-emptypoint/custom-emptypoint.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/3d-charts/getting-started.md b/chart-sdk/asp-net-mvc/3d-charts/getting-started.md index c99333cb2..bd7d72f0c 100644 --- a/chart-sdk/asp-net-mvc/3d-charts/getting-started.md +++ b/chart-sdk/asp-net-mvc/3d-charts/getting-started.md @@ -1,54 +1,61 @@ --- layout: post title: Getting Started with ASP.NET MVC 3D Chart Control | Syncfusion -description: Checkout and learn about getting started with ASP.NET MVC 3D Chart control of Syncfusion Essential JS 2 and more details. +description: Check out and learn about getting started with ASP.NET MVC 3D Chart control of Syncfusion Essential JS 2 and more details. platform: chart-sdk control: Getting Started publishingplatform: chart-sdk documentation: ug --- -# Getting started with ASP.NET MVC 3D Chart control +# Getting Started with the ASP.NET MVC 3D Chart Control -This section briefly explains about how to include [ASP.NET MVC 3D Chart](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts) control in your ASP.NET MVC application using Visual Studio. +This section briefly explains how to add the Syncfusion® [ASP.NET MVC 3D Chart](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts) control to an ASP.NET MVC 5 (.NET Framework) application using Visual Studio. ## Prerequisites -[System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) +Refer to the [System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) before creating the application. -## Create ASP.NET MVC application with HTML helper +## Create an ASP.NET MVC application with HTML helper -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) +You can create an ASP.NET MVC application using either of the following options: -* [Create a Project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) +* [Create a project using Microsoft templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) +* [Create a project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) -## Install ASP.NET MVC package in the application +## Install the ASP.NET MVC NuGet package -To add `ASP.NET MVC` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and then install it. +To add Syncfusion® **ASP.NET MVC** controls in the application, open the NuGet Package Manager in Visual Studio by selecting **Tools → NuGet Package Manager → Manage NuGet Packages for Solution**. Search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and install it. + +Alternatively, you can use the Package Manager Console by navigating to **Tools → NuGet Package Manager → Package Manager Console**, and then run the following command: {% tabs %} -{% highlight C# tabtitle="Package Manager" %} +{% highlight C# tabtitle="Package Manager Console" %} Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} {% endhighlight %} {% endtabs %} -N> Syncfusion® ASP.NET MVC controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.MVC5 NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. +N> Syncfusion® ASP.NET MVC controls are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). Refer to the [NuGet packages](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) topic to learn more about installing NuGet packages in various operating system environments. The `Syncfusion.EJ2.MVC5` NuGet package depends on [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) (≥ 12.0.2) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating the Syncfusion® license key. + +## Add the namespace -## Add namespace +Add the **Syncfusion.EJ2** namespace reference in the `Web.config` file available in the `Views` folder. -Add **Syncfusion.EJ2** namespace reference in `Web.config` under `Views` folder. +{% tabs %} +{% highlight xml tabtitle="~/Views/Web.config" %} -``` - + -``` + +{% endhighlight %} +{% endtabs %} ## Add script resources -Here, the script is referred using CDN inside the `` of `~/Views/Shared/_Layout.cshtml` file as follows, +Add the script reference inside the `` element of the `~/Views/Shared/_Layout.cshtml` file as follows. {% tabs %} {% highlight cshtml tabtitle="~/_Layout.cshtml" %} @@ -62,17 +69,17 @@ Here, the script is referred using CDN inside the `` of `~/Views/Shared/_L {% endhighlight %} {% endtabs %} -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. +N> Refer to the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in an ASP.NET MVC application, including local/native references. -## Register Syncfusion® script manager +## Register the Syncfusion® Script Manager -Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Views/Shared/_Layout.cshtml` file as follows. +Register the script manager `EJS().ScriptManager()` at the end of the `` element in the `~/Views/Shared/_Layout.cshtml` file as follows. {% tabs %} {% highlight cshtml tabtitle="~/_Layout.cshtml" %} -... + ... @Html.EJS().ScriptManager() @@ -93,8 +100,21 @@ Now, add the Syncfusion® ASP.NET MVC 3D Cha {% endhighlight %} {% endtabs %} -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET MVC 3D Chart control will be rendered in the default web browser. +Press Ctrl + F5 on Windows or + F5 on macOS to run the application. The Syncfusion® ASP.NET MVC 3D Chart control will be rendered in the default web browser. + +![ASP.NET MVC 3D Chart Control with Data](images/three-d-chart.png) + +## Troubleshooting + +If the 3D Chart control does not render as expected, review the following common issues and their resolutions. + +* **"Script Manager is not defined" or scripts run twice** — `@Html.EJS().ScriptManager()` was not added, or was added more than once. Ensure `ScriptManager` is registered exactly once at the end of `` in `_Layout.cshtml`. + +* **Chart renders but no data points appear** — `XName` / `YName` do not match the property names in the data source. Property names are case-sensitive; verify they match the JSON field names exactly (e.g., `x`, `y`). + +* **`Newtonsoft.Json` reference error after upgrade** — `Syncfusion.EJ2.MVC5` requires `Newtonsoft.Json` ≥ 12.0.2. Install a compatible version via NuGet. -![ASP.NET MVC 3D Chart Control](images/three-d-chart.png) +## See also -N> `View Sample in GitHub`. \ No newline at end of file +* [Data labels in ASP.NET MVC 3D Chart](https://ej2.syncfusion.com/aspnetmvc/documentation/3d-chart/data-labels) +* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-core-mvc-taghelper) diff --git a/chart-sdk/asp-net-mvc/3d-circular-charts/getting-started.md b/chart-sdk/asp-net-mvc/3d-circular-charts/getting-started.md index 771bf994e..7cbeafb92 100644 --- a/chart-sdk/asp-net-mvc/3d-circular-charts/getting-started.md +++ b/chart-sdk/asp-net-mvc/3d-circular-charts/getting-started.md @@ -1,54 +1,62 @@ --- layout: post -title: Getting Started with ASP.NET MVC 3D Circular Chart Control | Syncfusion -description: Checkout and learn about getting started with Syncfusion ASP.NET MVC 3D Circular Chart control of Syncfusion Essential JS 2 and more details. +title: Getting Started with ASP.NET MVC Circular Gauge | Syncfusion +description: Check out and learn about getting started with the ASP.NET MVC Circular Gauge control of Syncfusion Essential JS 2 and more details. platform: chart-sdk control: Getting Started publishingplatform: chart-sdk documentation: ug --- -# Getting started with ASP.NET MVC 3D Circular Chart control -This section briefly explains about how to include [ASP.NET MVC 3D Circular Chart](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts) control in your ASP.NET MVC application using Visual Studio. +# Getting Started with the ASP.NET MVC Circular Gauge Control + +This section briefly explains how to add the Syncfusion® [ASP.NET MVC Circular Gauge](https://www.syncfusion.com/aspnet-mvc-ui-controls/circular-gauge) control to an ASP.NET MVC 5 (.NET Framework) application using Visual Studio. ## Prerequisites -[System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) +Refer to the [System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) before creating the application. + +## Create an ASP.NET MVC application with HTML helper -## Create ASP.NET MVC application with HTML helper +You can create an ASP.NET MVC application using either of the following options: -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) +* [Create a project using Microsoft templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) +* [Create a project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) -* [Create a Project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) +## Install the ASP.NET MVC NuGet package -## Install ASP.NET MVC package in the application +To add Syncfusion® **ASP.NET MVC** controls in the application, open the NuGet Package Manager in Visual Studio by selecting **Tools → NuGet Package Manager → Manage NuGet Packages for Solution**. Search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and install it. -To add `ASP.NET MVC` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and then install it. +Alternatively, you can use the Package Manager Console by navigating to **Tools → NuGet Package Manager → Package Manager Console**, and then run the following command: {% tabs %} -{% highlight C# tabtitle="Package Manager" %} +{% highlight bash tabtitle="Package Manager Console" %} Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} {% endhighlight %} {% endtabs %} -N> Syncfusion® ASP.NET MVC controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.MVC5 NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. +N> Syncfusion® ASP.NET MVC controls are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). Refer to the [NuGet packages](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) topic to learn more about installing NuGet packages in various operating system environments. The `Syncfusion.EJ2.MVC5` NuGet package depends on [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) (≥ 12.0.2) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating the Syncfusion® license key. -## Add namespace +## Add the namespace -Add **Syncfusion.EJ2** namespace reference in `Web.config` under `Views` folder. +Add the **Syncfusion.EJ2** namespace reference inside the `` → `` → `` element of the `~/Views/Web.config` file. + +{% tabs %} +{% highlight xml tabtitle="~/Views/Web.config" %} -``` - + -``` + +{% endhighlight %} +{% endtabs %} ## Add script resources -Here, the script is referred using CDN inside the `` of `~/Views/Shared/_Layout.cshtml` file as follows, +Add the script reference inside the `` element of the `~/Views/Shared/_Layout.cshtml` file as follows. The reference loads the base `ej2.min.js` bundle, which contains the Syncfusion® ASP.NET MVC helper scripts. {% tabs %} {% highlight cshtml tabtitle="~/_Layout.cshtml" %} @@ -62,17 +70,17 @@ Here, the script is referred using CDN inside the `` of `~/Views/Shared/_L {% endhighlight %} {% endtabs %} -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. +N> Refer to the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in an ASP.NET MVC application. -## Register Syncfusion® script manager +## Register the Syncfusion® Script Manager -Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Views/Shared/_Layout.cshtml` file as follows. +Register the script manager `EJS().ScriptManager()` at the end of the `` element in the `~/Views/Shared/_Layout.cshtml` file as follows. The Script Manager resolves and loads control-specific scripts automatically. {% tabs %} {% highlight cshtml tabtitle="~/_Layout.cshtml" %} -... + ... @Html.EJS().ScriptManager() @@ -80,50 +88,68 @@ Also, register the script manager `EJS().ScriptManager()` at the end of `` {% endhighlight %} {% endtabs %} -## Add ASP.NET MVC 3D Circular Chart control +## Build the Circular Gauge -Now, add the Syncfusion® ASP.NET MVC 3D Circular Chart control in `~/Home/Index.cshtml` page. +This section walks through adding the Circular Gauge control to `~/Views/Home/Index.cshtml` and configuring its title and axis. + +### Step 1: Add the Circular Gauge control + +Add the Syncfusion® ASP.NET MVC Circular Gauge control to the `~/Views/Home/Index.cshtml` page. {% tabs %} {% highlight cshtml tabtitle="CSHTML" %} -@(Html.EJS().CircularChart3D("container").Render()) +@Html.EJS().CircularGauge("container").Render() {% endhighlight %} {% endtabs %} -**Pie Series** +Press Ctrl + F5 on Windows or + F5 on macOS to run the application. The Circular Gauge control will be rendered as an empty placeholder in the default web browser. + +![ASP.NET MVC Circular Gauge Control](images/circulargauge-control.png) + +### Step 2: Add a title -By default, the pie series will be rendered when assigning the JSON data to the series using the `dataSource` property. Map the field names in the JSON data to the `xName` and `yName` properties of the series. +Use the [Title](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGauge.html#Syncfusion_EJ2_CircularGauge_CircularGauge_Title) property to add a heading that provides quick information to the user. {% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/getting-started/razor %} +{% highlight cshtml tabtitle="CSHTML" %} + +@Html.EJS().CircularGauge("container").Title("Speed").Render() + {% endhighlight %} -{% highlight c# tabtitle="HomeController.cs" %} -public ActionResult Index() -{ - List circularData = new List - { - new CircularChartData { X = "Chrome", Y = 62.92 }, - new CircularChartData { X = "Internet Explorer", Y = 6.12 }, - new CircularChartData { X = "Opera", Y = 3.15 }, - new CircularChartData { X = "Edge", Y = 5.5 }, - new CircularChartData { X = "Safari", Y = 19.97 }, - new CircularChartData { X = "Others", Y = 2.34 } - }; - return View(circularData); -} -public class CircularChartData -{ - public string X; - public double Y; -} +{% endtabs %} + +### Step 3: Configure the axis + +Use the [Minimum](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_Minimum) and [Maximum](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_Maximum) properties of the axis to set the value range. The [StartAngle](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_StartAngle) and [EndAngle](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_EndAngle) properties (in degrees) define the arc, and [Radius](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_Radius) (as a percentage) controls the gauge size. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} + +@Html.EJS().CircularGauge("container").Title("Speed").Axes(axes => +axes.EndAngle(120).StartAngle(240).Radius("90%").Minimum(0).Maximum(120).Add()).Render(); + {% endhighlight %} {% endtabs %} -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET MVC 3D Circular Chart control will be rendered in the default web browser. +![ASP.NET MVC CircularGauge with Title and Axis](images/circulargauge-with-axis.png) + +N> Explore the [ASP.NET MVC Circular Gauge sample on GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/CircularGauge/ASP.NET%20MVC%20Razor%20Examples) to understand how this getting started example works. + + +## Troubleshooting + +If the Circular Gauge control does not render as expected, review the following common issues and their resolutions. + +* **"Script Manager is not defined" or scripts run twice** — `@Html.EJS().ScriptManager()` was not added, or was added more than once. Ensure `ScriptManager` is registered exactly once at the end of `` in `_Layout.cshtml`. + +* **Gauge is empty (no value indicator visible)** — A `Pointers(...)` block was not added. The axis range alone only draws the arc; add a pointer with `.Value()` to show the value. + +* **`Newtonsoft.Json` reference error after upgrade** — `Syncfusion.EJ2.MVC5` requires `Newtonsoft.Json` ≥ 12.0.2. Install a compatible version via NuGet. -![ASP.NET MVC CircularChart3D Control](images/circular-chart-3d.png) +## See also -N> `View Sample in GitHub`. \ No newline at end of file +* [Pointers in ASP.NET MVC Circular Gauge](https://ej2.syncfusion.com/aspnetmvc/documentation/circular-gauge/gauge-pointers) +* [Ranges in ASP.NET MVC Circular Gauge](https://ej2.syncfusion.com/aspnetmvc/documentation/circular-gauge/gauge-ranges) +* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/images/default-template.png b/chart-sdk/asp-net-mvc/accumulation-chart/images/default-template.png deleted file mode 100644 index 34fc6a83c8ee792472f32c7e7e27e362bc031311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33800 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 diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/images/nuget-demo.png b/chart-sdk/asp-net-mvc/accumulation-chart/images/nuget-demo.png deleted file mode 100644 index 3fc06b162e6c40ae34e489ab50d170290875fb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70328 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 H+3SA;@~3m! diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/accessibility.md b/chart-sdk/asp-net-mvc/accumulation-charts/accessibility.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/accessibility.md rename to chart-sdk/asp-net-mvc/accumulation-charts/accessibility.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/advanced-accessibility-configuration.md b/chart-sdk/asp-net-mvc/accumulation-charts/advanced-accessibility-configuration.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/advanced-accessibility-configuration.md rename to chart-sdk/asp-net-mvc/accumulation-charts/advanced-accessibility-configuration.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/annotation.md b/chart-sdk/asp-net-mvc/accumulation-charts/annotation.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/annotation.md rename to chart-sdk/asp-net-mvc/accumulation-charts/annotation.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/center-label.md b/chart-sdk/asp-net-mvc/accumulation-charts/center-label.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/center-label.md rename to chart-sdk/asp-net-mvc/accumulation-charts/center-label.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/chart-print.md b/chart-sdk/asp-net-mvc/accumulation-charts/chart-print.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/chart-print.md rename to chart-sdk/asp-net-mvc/accumulation-charts/chart-print.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/data-label.md b/chart-sdk/asp-net-mvc/accumulation-charts/data-label.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/data-label.md rename to chart-sdk/asp-net-mvc/accumulation-charts/data-label.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/dynamic-data-update.md b/chart-sdk/asp-net-mvc/accumulation-charts/dynamic-data-update.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/dynamic-data-update.md rename to chart-sdk/asp-net-mvc/accumulation-charts/dynamic-data-update.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/ej1-api-migration.md b/chart-sdk/asp-net-mvc/accumulation-charts/ej1-api-migration.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/ej1-api-migration.md rename to chart-sdk/asp-net-mvc/accumulation-charts/ej1-api-migration.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/empty-points.md b/chart-sdk/asp-net-mvc/accumulation-charts/empty-points.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/empty-points.md rename to chart-sdk/asp-net-mvc/accumulation-charts/empty-points.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/funnel.md b/chart-sdk/asp-net-mvc/accumulation-charts/funnel.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/funnel.md rename to chart-sdk/asp-net-mvc/accumulation-charts/funnel.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/getting-started.md b/chart-sdk/asp-net-mvc/accumulation-charts/getting-started.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/getting-started.md rename to chart-sdk/asp-net-mvc/accumulation-charts/getting-started.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/gradient.md b/chart-sdk/asp-net-mvc/accumulation-charts/gradient.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/gradient.md rename to chart-sdk/asp-net-mvc/accumulation-charts/gradient.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/grouping.md b/chart-sdk/asp-net-mvc/accumulation-charts/grouping.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/grouping.md rename to chart-sdk/asp-net-mvc/accumulation-charts/grouping.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/images/accumulation-chart-component.png b/chart-sdk/asp-net-mvc/accumulation-charts/images/accumulation-chart-component.png similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/images/accumulation-chart-component.png rename to chart-sdk/asp-net-mvc/accumulation-charts/images/accumulation-chart-component.png diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/images/accumulation-chart.png b/chart-sdk/asp-net-mvc/accumulation-charts/images/accumulation-chart.png similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/images/accumulation-chart.png rename to chart-sdk/asp-net-mvc/accumulation-charts/images/accumulation-chart.png diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/images/accumulationchart.png b/chart-sdk/asp-net-mvc/accumulation-charts/images/accumulationchart.png similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/images/accumulationchart.png rename to chart-sdk/asp-net-mvc/accumulation-charts/images/accumulationchart.png diff --git a/chart-sdk/asp-net-core/range-selector/images/default-template.png b/chart-sdk/asp-net-mvc/accumulation-charts/images/default-template.png similarity index 100% rename from chart-sdk/asp-net-core/range-selector/images/default-template.png rename to chart-sdk/asp-net-mvc/accumulation-charts/images/default-template.png diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/images/nodatatemplate-accumulationchart.png b/chart-sdk/asp-net-mvc/accumulation-charts/images/nodatatemplate-accumulationchart.png similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/images/nodatatemplate-accumulationchart.png rename to chart-sdk/asp-net-mvc/accumulation-charts/images/nodatatemplate-accumulationchart.png diff --git a/chart-sdk/asp-net-core/range-selector/images/nuget-demo.png b/chart-sdk/asp-net-mvc/accumulation-charts/images/nuget-demo.png similarity index 100% rename from chart-sdk/asp-net-core/range-selector/images/nuget-demo.png rename to chart-sdk/asp-net-mvc/accumulation-charts/images/nuget-demo.png diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/images/pie-drill-down-and-display-data-in-grid.gif b/chart-sdk/asp-net-mvc/accumulation-charts/images/pie-drill-down-and-display-data-in-grid.gif similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/images/pie-drill-down-and-display-data-in-grid.gif rename to chart-sdk/asp-net-mvc/accumulation-charts/images/pie-drill-down-and-display-data-in-grid.gif diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/images/show-percentage-in-pie-chart.png b/chart-sdk/asp-net-mvc/accumulation-charts/images/show-percentage-in-pie-chart.png similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/images/show-percentage-in-pie-chart.png rename to chart-sdk/asp-net-mvc/accumulation-charts/images/show-percentage-in-pie-chart.png diff --git a/chart-sdk/asp-net-core/heatmap-chart/images/solution-explorer-core.png b/chart-sdk/asp-net-mvc/accumulation-charts/images/solution-explorer-core.png similarity index 100% rename from chart-sdk/asp-net-core/heatmap-chart/images/solution-explorer-core.png rename to chart-sdk/asp-net-mvc/accumulation-charts/images/solution-explorer-core.png diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/legend.md b/chart-sdk/asp-net-mvc/accumulation-charts/legend.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/legend.md rename to chart-sdk/asp-net-mvc/accumulation-charts/legend.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/overview.md b/chart-sdk/asp-net-mvc/accumulation-charts/overview.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/overview.md rename to chart-sdk/asp-net-mvc/accumulation-charts/overview.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/pie-dough-nut.md b/chart-sdk/asp-net-mvc/accumulation-charts/pie-dough-nut.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/pie-dough-nut.md rename to chart-sdk/asp-net-mvc/accumulation-charts/pie-dough-nut.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/pyramid.md b/chart-sdk/asp-net-mvc/accumulation-charts/pyramid.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/pyramid.md rename to chart-sdk/asp-net-mvc/accumulation-charts/pyramid.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/title-and-sub-title.md b/chart-sdk/asp-net-mvc/accumulation-charts/title-and-sub-title.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/title-and-sub-title.md rename to chart-sdk/asp-net-mvc/accumulation-charts/title-and-sub-title.md diff --git a/chart-sdk/asp-net-mvc/accumulation-chart/tool-tip.md b/chart-sdk/asp-net-mvc/accumulation-charts/tool-tip.md similarity index 100% rename from chart-sdk/asp-net-mvc/accumulation-chart/tool-tip.md rename to chart-sdk/asp-net-mvc/accumulation-charts/tool-tip.md diff --git a/chart-sdk/asp-net-mvc/bullet-chart/images/default-template.png b/chart-sdk/asp-net-mvc/bullet-chart/images/default-template.png deleted file mode 100644 index 34fc6a83c8ee792472f32c7e7e27e362bc031311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33800 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 diff --git a/chart-sdk/asp-net-mvc/bullet-chart/images/nuget-demo.png b/chart-sdk/asp-net-mvc/bullet-chart/images/nuget-demo.png deleted file mode 100644 index 3fc06b162e6c40ae34e489ab50d170290875fb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70328 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 H+3SA;@~3m! diff --git a/chart-sdk/asp-net-mvc/bullet-chart/images/solution-explorer-core.png b/chart-sdk/asp-net-mvc/bullet-chart/images/solution-explorer-core.png deleted file mode 100644 index 913cc8460512b9cd0642783eb2829384e05dfce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40000 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 z 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

    `senD1+oT8qNYGWR4Qk?0grS92vRxy$s$-#zZC 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 ScfieC3=E#GelF{r5}E*203U$> diff --git a/chart-sdk/asp-net-mvc/chart/Chart-Series_images/Chart-Series_img2.png b/chart-sdk/asp-net-mvc/chart/Chart-Series_images/Chart-Series_img2.png deleted file mode 100644 index 8d03f9d366c90ca8826277dd06fedac2b85db006..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38140 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 E0{8f?3jhEB diff --git a/chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img1.png b/chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img1.png deleted file mode 100644 index 15f7cfd93978fdd589111c6b37f535bed9825016..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16915 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 diff --git a/chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img2.png b/chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img2.png deleted file mode 100644 index f9b2c0e5540b4912b666c0ed26fb43a680e25d60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16825 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 diff --git a/chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img4.png b/chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img4.png deleted file mode 100644 index fe61e98f0eecef0b213b272adcd905459c1fdb41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17600 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 T`#SK}5fT+e4TUfFpZWb?aVHL` diff --git a/chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img5.png b/chart-sdk/asp-net-mvc/chart/Chart-Title_images/Chart-Title_img5.png deleted file mode 100644 index 817873d712b7276d4fd39ed0042961700fe8798d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19634 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 xrHX?V | -| Screen Reader Support | Yes | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Yes | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | - - -

    - -
    Intermediate - Some features of the component do not meet the requirement.
    - -
    No - The component does not meet the requirement.
    - - -## WAI-ARIA attributes - -The Chart component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Chart component: - -* img (role) -* button (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) -* aria-pressed (attribute) - -## Keyboard interaction - -The Chart component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Chart component. - -| **Press** | **To do this** | -| --- | --- | -| Alt + J | Moves the focus to the chart element. | -| Tab | Moves the focus to the next element in the chart. | -| Shift + Tab | Moves the focus to the previous element in the chart. | -| Down Arrow | Moves the focus to the data point left side from the selected point. | -| Up Arrow | Moves the focus to the data point right side from the selected point. | -| Left Arrow | Moves the focus to the next series in the chart. | -| Right Arrow | Moves the focus to the previous series in the chart. | -| ESC | Cancel the tooltip for the data point. | -| Enter/Space | Selects the data point in the series. | -| Down/Left Arrow | Moves the focus to the legend left side from the selected legend. | -| Up/Right Arrow | Moves the focus to the legend right side from the selected legend. | -| Enter/Space | Toggles the visibility of the corresponding series. | -| Ctrl + + | Zoom in the chart. | -| Ctrl + - | Zoom out the chart. | -| Down/Up Arrow | Pan the chart vertically. | -| Left/Right Arrow | Pan the chart horizontally. | -| R | Reset the zoomed chart. | -| Ctrl + P | Prints the Chart. | - -## Ensuring accessibility - -The Chart component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Chart component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/chart.html) in a new window to evaluate the accessibility of the Chart component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/chart.html" %} - -## See also - -* [Accessibility in Syncfusion® ASP.NET MVC components](../common/accessibility) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/advanced-accessibility-configuration.md b/chart-sdk/asp-net-mvc/chart/advanced-accessibility-configuration.md deleted file mode 100644 index 8aa97805e..000000000 --- a/chart-sdk/asp-net-mvc/chart/advanced-accessibility-configuration.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -layout: post -title: Accessibility customization in Syncfusion Accumulation chart Component -description: Learn here all about Accessibility customization in Syncfusion ASP MVC Accumulation Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Accessibility customization in ASP.NET MVC Chart component - -The Syncfusion® ASP.NET MVC Chart component is structured to visualize data in a graphical manner. It provides robust customization options for accessibility, allowing you to enhance the user experience for those with disabilities. The main attributes of the ASP.NET MVC Chart component's accessibility customization are briefly explained in this section. - -The chart component has a number of characteristics that enable accessibility features to be customized, including: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the chart, improving support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the chart, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Allows the chart to receive focus, making it accessible via keyboard navigation. -* [`FocusBorderColor`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_FocusBorderColor) - Sets the color of the focus border, enhancing visibility when the chart is focused. -* [`FocusBorderMargin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_FocusBorderMargin) - Defines the margin around the focus border. -* [`FocusBorderWidth`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_FocusBorderWidth) - Specifies the width of the focus border. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the chart element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/line/line.cs %} -{% endhighlight %} -{% endtabs %} - -## Series - -The [`Series`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Series) supports the customization of accessibility for data points, allowing key characteristics to be adjusted for enhanced accessibility, such as: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_AccessibilityDescription) - Provides a text description for the series root element, enhancing support for screen readers. -* [`AccessibilityDescriptionFormat`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_AccessibilityDescriptionFormat) - Specifies a format for the accessibility description of each point in the series, allowing dynamic content. The format string can include the placeholders such as ${series.name}, ${point.x}, ${point.y}, ${point.high}, etc. For example, the format "${series.name} : ${point.x}" displays the series name and x-value of the point in the accessibility description. Data point's values like high, low, open, and close are applicable based on the series types. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_AccessibilityRole) - Specifies the role of the series, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_Focusable) - Allows the series to receive focus, making it accessible via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeriesAccessibility.html#Syncfusion_EJ2_Charts_ChartSeriesAccessibility_TabIndex) - Specifies the tab order of the series element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/series/series.cs %} -{% endhighlight %} -{% endtabs %} - -## Title and subtitle - -In the ASP.NET MVC chart component, the [`TitleStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TitleStyle) and [`SubTitleStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SubTitleStyle) attributes allow you to customize the accessibility of the chart's title and subtitle. The following [`Accessibility`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_Accessibility) properties in [`TitleStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TitleStyle) and [`SubTitleStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SubTitleStyle) can be customized for accessibility: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the chart title and subtitle, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the chart title and subtitle, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Enables or disables the keyboard navigation focus for the title and subtitle. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the title and subtitle element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/title/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/title/title.cs %} -{% endhighlight %} -{% endtabs %} - -## Annotations - -The [`Annotations`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Annotations) property allows you to add annotations to the chart in specific regions. The following `Accessibility` properties in [`Annotations`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Annotations) can be customized for accessibility: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the annotation, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the annotation, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether annotations are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the annotation element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/annotation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Annotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/annotation/annotation.cs %} -{% endhighlight %} -{% endtabs %} - -## Trendline - -The `Trendlines` property allows you to display trends in the data. The following `Accessibility` properties in `Trendlines` can be customized for accessibility: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the trendline, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the trendline, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether trendlines are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the trendline element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/trendline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Trendline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/trendline/trendline.cs %} -{% endhighlight %} -{% endtabs %} - -## Zooming - -The [`ZoomSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_ZoomSettings) attributes allow you to adjust the chart's zooming capability. The following [`Accessibility`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_ChartZoomSettings_Accessibility) properties in [`ZoomSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_ZoomSettings) offer the parameters for accessibility customization: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the zoom toolkit items, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the zoom toolkit items, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether zoom toolkit items are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the zooming element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/zoom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Zoom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/zoom/zoom.cs %} -{% endhighlight %} -{% endtabs %} - -## Technical indicators - -The [`Indicators`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Indicators) property allows you to analyze the trends and patterns in the data. The following `Accessibility` properties in [`Indicators`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Indicators) can be customized for accessibility: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the indicators, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the indicators, helping screen readers to identify the element appropriately. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether indicators are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the indicators element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/indicator/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Indicator.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/indicator/indicator.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend - -The [`LegendSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) provide information about the series shown in the chart. The following [`Accessibility`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Accessibility) properties in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) can be used to alter the accessibility of the chart's legend: - -* [`AccessibilityDescription`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityDescription) - Provides a text description for the legend root element, enhancing support for screen readers. -* [`AccessibilityRole`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_AccessibilityRole) - Specifies the role of the legend items to screen readers, providing appropriate context. -* [`Focusable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_Focusable) - Specifies whether legend items are focusable via keyboard navigation. -* [`TabIndex`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAccessibility.html#Syncfusion_EJ2_Charts_ChartAccessibility_TabIndex) - Specifies the tab order of the legend element, enabling efficient keyboard navigation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/legend/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/accessibility/legend/legend.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/axis-customization.md b/chart-sdk/asp-net-mvc/chart/axis-customization.md deleted file mode 100644 index b91c24ad5..000000000 --- a/chart-sdk/asp-net-mvc/chart/axis-customization.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -layout: post -title: Axis Customization in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about Axis Customization in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis Customization in ASP.NET MVC Chart Component - -## Axis Crossing - -An axis can be positioned in the chart area using `CrossesAt` and `CrossesInAxis` properties. The `CrossesAt` property specifies the values (datetime, numeric, or logarithmic) at which the axis line has to be intersected with the vertical axis or vice-versa, and the `CrossesInAxis` property specifies the axis name with which the axis line has to be crossed. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/axis-cross/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Axis-cross.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/axis-cross/axis-cross.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Title - -You can add a title to the axis using [`Title`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Title) property to provide quick information to the user about the data plotted in the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/title/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - -## Title Rotation - -By using the [`titleRotation`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_TitleRotation) property, you can rotate the axis title from 0 to 360 degree. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/titlerotation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="TitleRotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/titlerotation/titlerotation.cs %} -{% endhighlight %} -{% endtabs %} - - -## Tick Lines Customization - -You can customize the  `Width`, `Color` and `Size` of the minor and major tick lines, using [`MajorTickLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MajorTickLines) and [`MinorTickLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MinorTickLines) properties in the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/tick/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tick.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/tick/tick.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Grid Lines Customization - -You can customize the `Width`, `Color` and `DashArray` of the minor and major grid lines, using [`MajorGridLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MajorGridLines) and [`MinorGridLines`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MinorGridLines) properties in the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/grid/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Grid.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/grid/grid.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Multiple Axis - -In addition to primary X and Y axis, we can add n number of axis to the chart. Series can be associated with this axis, by mapping with axis's unique name. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/multiple/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Multiple.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/multiple/multiple.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Inversed Axis - - - -When an axis is inversed, highest value of the axis comes closer to origin and vice versa. To place an axis in inversed manner set this property [`IsInversed`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_IsInversed) to true. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/inversed/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Inversed.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/inversed/inversed.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Opposed Position - - -To place an axis opposite from its original position, set [`OpposedPosition`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_OpposedPosition) property of the axis to true. - - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/opposed/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opposed.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/opposed/opposed.cs %} -{% endhighlight %} -{% endtabs %} - - - - diff --git a/chart-sdk/asp-net-mvc/chart/axis-labels.md b/chart-sdk/asp-net-mvc/chart/axis-labels.md deleted file mode 100644 index a216a718d..000000000 --- a/chart-sdk/asp-net-mvc/chart/axis-labels.md +++ /dev/null @@ -1,259 +0,0 @@ ---- -layout: post -title: Axis Labels in Syncfusion ASP.NET MVC Chart Component -description: Learn here all about Axis Labels in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis Labels in ASP.NET MVC Chart Component - -## Smart Axis Labels - -When the axis labels overlap with each other, you can use [`LabelIntersectAction`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelIntersectAction) property in the axis, to place them smartly. - -When setting `LabelIntersectAction` as `Hide` - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/hide/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Hide.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/hide/hide.cs %} -{% endhighlight %} -{% endtabs %} - - - -When setting `LabelIntersectAction` as `Rotate45` - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/rotate45/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rotate45.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/rotate45/rotate45.cs %} -{% endhighlight %} -{% endtabs %} - - - -When setting `LabelIntersectAction` as `Rotate90` - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/rotate90/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rotate90.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/rotate90/rotate90.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Axis Labels Positioning - -By default, the axis labels can be placed at `Outside` the axis line and this also can be placed at `Inside` the axis line using the `LabelPosition` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Multilevel Labels - -Any number of levels of labels can be added to an axis using the `MultiLevelLabels` property. This property can be configured using the following properties: - -• Categories -• Overflow -• Alignment -• Text style -• Border - -### Categories - -Using the categories property, you can configure the `Start`, `End`, `Text`, and `MaximumTextWidth` of multilevel labels. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-category/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Category.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-category/category.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Overflow - -Using the `Overflow` property, you can `Trim` or `Wrap` the multilevel labels. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-overflow/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Overflow.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-overflow/overflow.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Alignment - -The `Alignment` property provides option to position the multilevel labels at `Far`, `Center`, or `Near`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-alignment/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Alignement.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-alignment/alignement.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Text customization - -The `TextStyle` property of multilevel labels provides options to customize the `Size`, `Color`, `FontFamily`, `FontWeight`, `FontStyle`, `Opacity`, `TextAlignment` and `TextOverflow`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-textcustom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Text-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-textcustom/text-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Border customization - -Using the `Border` property, you can customize the `Width`, `Color`, and `Type`. The `Type` of border are `Rectangle`, `Brace`, `WithoutBorder`, `WithoutTopBorder`, `WithoutTopandBottomBorder` and `CurlyBrace`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-bordercustom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/multi-bordercustom/border-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Edge Label Placement - -Labels with long text at the edges of an axis may appear partially in the chart. To avoid this, use [`EdgeLabelPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_EdgeLabelPlacement) property in axis, which moves the label inside the chart area for better appearance or hides it. By default, the [`EdgeLabelPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_EdgeLabelPlacement) property is set to **Shift** to ensure that labels are shifted inside the chart area, avoiding any overlap or coincidence. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/edge/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Edge.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/edge/edge.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Labels Customization - -The [`LabelStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelStyle) property of an axis provides options to customize the `Color`, `Font-family`, `Font-size` and `Font-weight` of the axis labels. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/labels-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Labels-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/labels-custom/labels-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customizing Specific Point - -You can customize the specific text in the axis labels using `AxisLabelRender` event. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/custom-point/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/custom-point/custom-point.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Trim using maximum label width - -You can trim the label using [`EnableTrim`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_EnableTrim) property and width of the labels can also be customized using [`MaximumLabelWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_MaximumLabelWidth) property in the axis, the value maximum label width is `34` by default. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/labels-trim/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Labels-trim.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/labels-trim/labels-trim.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Line break support - -Line break feature used to customize the long axis label text into multiple lines by using `
    ` tag. Refer the below example in that dataSource x value contains long text, it breaks into two lines by using `
    ` tag. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/line-break/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Line-break.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/line-break/line-break.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Maximum Labels - -`MaximumLabels` property is set, then the labels will be rendered based on the count in the property per 100 pixel. If you have set range (minimum, maximum, interval) and maximumLabels, then the priority goes to range only. If you haven’t set the range, then we have considered priority to maximumLabels property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/max-label/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Max-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/max-label/max-label.cs %} -{% endhighlight %} -{% endtabs %} - - -## Axis label template - -The axis label template allows you to customize axis labels by formatting them with HTML content, applying conditional styling, and including dynamic elements such as icons, images or additional data. This customization is enabled by setting the template content in the `LabelTemplate` property of the [ChartAxis](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/label-template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Label-template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple/label-template/label-template.cs %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET MVC Chart Control](images/axislabel-template.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/category-axis.md b/chart-sdk/asp-net-mvc/chart/category-axis.md deleted file mode 100644 index 16f97517b..000000000 --- a/chart-sdk/asp-net-mvc/chart/category-axis.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -layout: post -title: Category Axis in ASP.NET MVC Chart Component -description: Learn here all about Category Axis in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Category Axis -publishingplatform: chart-sdk -documentation: ug ---- - - -# Category Axis - - - -Category axis are used to represent, the string values instead of numbers. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Labels Placement - - - -By default, category labels are placed between the ticks in an axis, this can also be placed on ticks using [`LabelPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelPlacement) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/placement/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Placement.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/placement/placement.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -Range of the category axis can be customized using [`Minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Indexed category axis - -Category axis also can be rendered based on the index values of data source. This can be achieved by defining the `IsIndexed` property to `true` in the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/index/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Index.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/category/index/index.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/chart-annotations.md b/chart-sdk/asp-net-mvc/chart/chart-annotations.md deleted file mode 100644 index 43b4770f8..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-annotations.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -layout: post -title: Chart Annotations in ASP.NET MVC Chart Component -description: Learn here all about Chart Annotations in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart Annotations -publishingplatform: chart-sdk -documentation: ug ---- - - -# Annotation - -Annotations are used to mark the specific area of interest in the chart area with texts, shapes or images. - - - -You can add annotations to the chart by using the annotations option. By using the [`Content`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAnnotation.html#Syncfusion_EJ2_Charts_ChartAnnotation_Content) option of annotation object, you can specify the id of the element that needs to be displayed in the chart area. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/annotation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Annotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/annotation/annotation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Region - -Annotations can be placed either with respect to `Series` or `Chart`. by default, it will placed with respect to `Chart`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/region/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Region.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/region/region.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Co-ordinate Units - -Specified the coordinates units of the annotation either `Pixel` or `Point`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/co-ordinate/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Co-ordinate.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/co-ordinate/co-ordinate.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Alignment - -Annotation provides `VerticalAlignment` and `HorizontalAlignment`. The `VerticalAlignment` can be customized via `Top`, `Bottom` or `Middle` and the `horizontalAlignment` can be customized via `Near`, `Far` or `Center`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/alignment/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Alignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/alignment/alignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Adding y-axis sub title through on annotation - -By setting text div in the `Content` option of annotation object you can add sub title to chart y-axis. Specified the `Coordinate` value as `Pixel` and customize x and y location of the text. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/axis-sub/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Axis-sub.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/axis-sub/axis-sub.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/chart-appearance.md b/chart-sdk/asp-net-mvc/chart/chart-appearance.md deleted file mode 100644 index d3bd43b6f..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-appearance.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -layout: post -title: Chart Appearance in Syncfusion Chart Component -description: Learn here all about Chart Appearance in Syncfusion ASP MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart Appearance -publishingplatform: chart-sdk -documentation: ug ---- - - -# Appearance in MVC Chart component - -## Chart theme customization - -You can customize the default theme of the chart `Theme` property. There are 9 themes available. They are, `Material`, `Fabric`, `Bootstrap`, `HighContrastLight`, `MaterialDark`, `FabricDark`, `HighContrast`, `BootstrapDark` and `Bootstrap4`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/theme/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Theme.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/theme/theme.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Custom color palette - -You can customize the default color of series or points by providing a custom color palette of your choice by using the [`Palettes`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Palettes) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Data point customization - -The color of individual data point or data points within a range can be customized using the options below. - -### Point color mapping - -You can bind the color for the points from [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource) for the series using [`PointColorMapping`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_PointColorMapping) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/point-color/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-color.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/point-color/point-color.cs %} -{% endhighlight %} -{% endtabs %} - -### Range color mapping - -You can differentiate data points based on their y values using [`RangeColorSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartRangeColorSettings.html) in the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/range-color/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range-color.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/range-color/range-color.cs %} -{% endhighlight %} -{% endtabs %} - -## Point level customization - -Marker, datalabel and fill color of each data point can be customized with [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) and [`TextRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TextRender) event. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/point/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/point/point.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Chart area customization - - - -**Customize the chart background** - - -Using [`Background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Background) and [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Border) properties, you can change the background color and border of the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/area/area.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Chart margin** - -You can set margin for chart from its container through [`Margin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Margin) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/margin/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Chart area customization** - -Using [`Background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartArea.html#Syncfusion_EJ2_Charts_ChartArea_Background) and [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartArea.html#Syncfusion_EJ2_Charts_ChartArea_Border) properties, you can change the background color and border of the chart area. Width for the chart area can be customized using [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartArea.html#Syncfusion_EJ2_Charts_ChartArea_Width) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/background/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Background.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/background/background.cs %} -{% endhighlight %} -{% endtabs %} - -**Chart area margin** - -You can customize the space between the chart area from its chart container through [`Margin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartArea.html#Syncfusion_EJ2_Charts_ChartArea_Margin) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/area-margin/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area-margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/area-margin/area-margin.cs %} -{% endhighlight %} -{% endtabs %} - -## Animation - -You can customize animation for a particular series using [`Animation`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAnimation.html) property. You can enable or disable animation of the series using `Enable` property, `Duration` specifies the duration of an animation and `Delay` allows us to start the animation at desire time. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/animation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Fluid animation - -Fluid animation used to animate series with updated dataSource continues animation rather than animation whole series. You can customize animation for a particular series using [`Animate`] method. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/fluid-animation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Fluid.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/fluid-animation/fluid.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Chart title - -Chart can be given a title using [`Title`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Title) property, to show the information about the data plotted. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/title/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Title position - -By using the [`Position`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_Position) property in [`TitleStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TitleStyle), you can position the [`Title`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Title) at left, right, top or bottom of the chart. The title is positioned at the top of the chart, by default. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/titleposition/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Titleposition.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/titleposition/titleposition.cs %} -{% endhighlight %} -{% endtabs %} - - - -The custom option helps you to position the title anywhere in the chart using [`X`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_X) and [`Y`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_Y) coordinates. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/titleoption/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Titleoption.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/titleoption/titleoption.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Title alignment - -You can align the title to the near, far, or center of the chart using the [`TextAlignment`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTitleSettings.html#Syncfusion_EJ2_Charts_ChartTitleSettings_TextAlignment) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/titlealignment/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Titlealignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/titlealignment/titlealignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Chart subTitle - -Chart can be given a subtitle using [`SubTitle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SubTitle) property, to show the information about the data plotted. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/subtitle/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Subtitle.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/subtitle/subtitle.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-dimensions.md b/chart-sdk/asp-net-mvc/chart/chart-dimensions.md deleted file mode 100644 index 66ac723af..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-dimensions.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -layout: post -title: Chart Dimensions in ASP.NET MVC Chart Component -description: Learn here all about Chart Dimensions in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart Dimensions -publishingplatform: chart-sdk -documentation: ug ---- - - -# Chart Dimensions - -## Size for Container - -Chart can render to its container size. You can set the size via inline or CSS as demonstrated below. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/size/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Size for Chart - -You can also set size for chart directly through [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Width) and [`Height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Height) properties. - - -**In Pixel** - - -You can set the size of chart in pixel as demonstrated below. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/pixel/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/pixel/pixel.cs %} -{% endhighlight %} -{% endtabs %} - - - -**In Percentage** - -By setting value in percentage, chart gets its dimension with respect to its container. For example, when the height is ‘50%’, chart renders to half of the container height. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/percentage/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> When you do not specify the size, it takes `450px` as the height and window size as its width. \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-print.md b/chart-sdk/asp-net-mvc/chart/chart-print.md deleted file mode 100644 index 6c785e9d4..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-print.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -layout: post -title: Chart Print in Syncfusion ASP.NET MVC Chart Component -description: Learn here all about Chart Print in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart print -publishingplatform: chart-sdk -documentation: ug ---- - -# Print and Export in ASP.NET Core Chart component - -## Print - -The rendered chart can be printed directly from the browser by calling the public method print. You can pass array of ID of elements or element to this method. By default it take element of the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/print/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/print/print.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Export - -The rendered chart can be exported to `JPEG`, `PNG`, `SVG`, `PDF`, `XLSX`, or `CSV` format using the export method in chart. The input parameters for this method are `Type` for format and `FileName` for result. - -The optional parameters for this method are, -* `Orientation` - either portrait or landscape mode during PDF export, -* `Controls` - pass collections of controls for multiple export, -* `Width` - width of chart export, -* `Height` - height of chart export, -* `IsVertical` - decides the chart export in vertical or horizontal direction, -* `Header` - header for the exported chart, -* `Footer` - footer for the exported chart, and -* `ExportToMultiplePages` - decides to export multiple charts on separate pages for PDF export. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/export/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/export/export.cs %} -{% endhighlight %} -{% endtabs %} - - -### Adding header and footer in PDF export - -In the export method, specify the following parameters to add a header and footer text to the exported PDF document: - -* `Header` - Specify the text that should appear at the top of the exported PDF document. -* `Footer` - Specify the text that should appear at the bottom of the exported PDF document. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/header-footer/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Header-footer.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/header-footer/header-footer.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Exporting charts into separate page during the PDF export - -During PDF export, set the `ExportToMultiplePage` parameter to **true** to export each chart as a separate page. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/multi-page/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Multi-page.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/multi-page/multi-page.cs %} -{% endhighlight %} -{% endtabs %} - - - - -**Export with optional parameters** - -The rendered chart can be exported to specific orientation, width and height by passing it as optional parameters in the export method of chart - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/export-optionalParameter/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/export-optionalParameter/export.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Multiple chart export - -You can export the multiple charts in single page by passing the multiple chart objects in the export method of chart. To export multiple charts in a single page, follow the given steps: - -Initially, render more than one chart to export, and then add button to export the multiple charts. In button click, call the export method in charts, and then pass the multiple chart objects in the export method. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/multi-export/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Multi-export.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/multi-export/multi-export.cs %} -{% endhighlight %} -{% endtabs %} - -## Exporting chart using base64 string - -The chart can be exported as an image in the form of a base64 string by utilizing HTML canvas. This process involves rendering the chart onto a canvas element and then converting the canvas content to a base64 string. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/base64-export/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Base64-export.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/base64-export/base64-export.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Excel export - -You can export the rendered chart data to Excel in either `XLSX` or `CSV` format. The `ExcelProperties` property in the [`BeforeExport`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_BeforeExport) event allows users to customize the exported Excel sheet by modifying row, column, and cell properties before the file is generated. You can customize row titles, column titles, cell values, as well as row and column widths. - - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/excel-export/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Excel-export.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/excel-export/excel-export.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/chart/chart-series.md b/chart-sdk/asp-net-mvc/chart/chart-series.md deleted file mode 100644 index a55544d6d..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-series.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -layout: post -title: Chart Series in ASP.NET MVC Chart Component -description: Learn here all about Chart Series in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Chart Series -publishingplatform: chart-sdk -documentation: ug ---- - -# Chart Series in Chart Component - -## Multiple Series - -You can add multiple series to the chart by using [`Series`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html) property. The series are rendered in the order as it is added to the series array. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/multiple-series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Multiple-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/multiple-series/multiple-series.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Combination Series - -Combination of different types like Line, column etc, can be rendered in a chart. - -N>Bar series cannot be combined with any other series as the axis orientation is different from other series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/combination/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Combination.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/combination/combination.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Enable Complex Property in Series - -By setting [`EnableComplexProperty`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_EnableComplexProperty) value as **true** in series you can bind complex data to the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/complex/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Complex.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/complex/complex.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/area.md b/chart-sdk/asp-net-mvc/chart/chart-types/area.md deleted file mode 100644 index 7b4619336..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/area.md +++ /dev/null @@ -1,191 +0,0 @@ ---- -layout: post -title: Area Chart in ASP.NET MVC Charts -description: Learn here all about Area Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Area Chart in ASP.NET MVC Charts - -## Area - -To render an [area](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Area** in your chart configuration. This indicates that the data should be represented as an area chart, which is ideal for showing trends over time or across categories, with filled areas beneath the lines representing data points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area/area.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area/area.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `area` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area-fill/area-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area-grad/area-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -## Area border - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/area-border/area-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Multicolored area - -To render a multicolored area series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **MultiColoredArea** in your chart configuration. This specifies that the series should be rendered as a multicolored area chart, with different segments of the area having distinct colors. - -* **Customize the Segments:** Define the segments of the series using the segments property. Each segment can be customized with properties such as value, color, and dashArray. - - * `Value` - Specifies the endpoint of the segment. - * `Color` - Defines the color of the segment. - * `DashArray` - Defines the dashes or gaps in the segment. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/multicolor-area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Multicolor-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/multicolor-area/multicolor-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/bar.md b/chart-sdk/asp-net-mvc/chart/chart-types/bar.md deleted file mode 100644 index be5046dfa..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/bar.md +++ /dev/null @@ -1,271 +0,0 @@ ---- -layout: post -title: Bar Chart in ASP.NET MVC Charts -description: Learn here all about Bar Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Bar chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Bar Chart in ASP.NET MVC Charts - -## Bar - -To render a [bar](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/bar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Bar** in your chart configuration. This indicates that the data should be represented as a bar chart, which makes it easy to compare values across categories. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar/bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar/bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `bar` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-fill/bar-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the bar series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-grad/bar-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Bar space and width - -### Bar space - -Use the `ColumnSpacing` property in the series to adjust the space between bars. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-space/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-space.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-space/bar-space.cs %} -{% endhighlight %} -{% endtabs %} - -### Bar width - -Use the `ColumnWidth` property in the series to adjust the width of the bars. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-width/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-width/bar-width.cs %} -{% endhighlight %} -{% endtabs %} - -### Bar width in pixel - -Use the `ColumnWidthInPixel` property in the series to define the exact width of the bars in pixels. This property ensures that each bar maintains the specified width, providing a uniform appearance throughout the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-pixel/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-pixel/bar-pixel.cs %} -{% endhighlight %} -{% endtabs %} - -## Grouped bar - -Use the `GroupName` property to group the data points in bar type charts. Data points with the same group name will be grouped together in the chart, making it easy to compare different sets of data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/group-bar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group-bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/group-bar/group-bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Cylindrical bar chart - -To render a cylindrical bar chart, set the `ColumnFacet` property to **Cylinder** in the chart series. This property transforms the regular bars into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bar-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/bar-cylinder/bar-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for bar series. This allows you to create bars with rounded corners, giving your chart a more polished appearance. You can customize each corner of the bars using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/point-corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/box-whisker.md b/chart-sdk/asp-net-mvc/chart/chart-types/box-whisker.md deleted file mode 100644 index 107025a68..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/box-whisker.md +++ /dev/null @@ -1,154 +0,0 @@ ---- -layout: post -title: Box and Whisker Chart in ASP.NET MVC Charts -description: Learn here all about Box and Whisker Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Box and Whisker Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Box and Whisker Chart in ASP.NET MVC Charts - -## Box and Whisker - -To render a `box and whisker` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **BoxAndWhisker** in your chart configuration. This indicates that the data should be represented as a box and whisker chart, which will plot segments to illustrate the statistical distribution of the data. - -* **Data requirements:** The y field of the Box and Whisker series requires a specific number of data points, with a minimum of five values needed to plot a segment. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Box.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box/box.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Box.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box/box.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `box and whisker` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Box-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box-fill/box-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the box and whisker series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Box-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box-grad/box-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Box Plot - -To change the rendering mode of the box and whisker series, use the `BoxPlotMode` property. The default value for `BoxPlotMode` is **Exclusive**. The other available options for `BoxPlotMode` are **Inclusive** and **Normal**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box-plot/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Box-plot.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box-plot/box-plot.cs %} -{% endhighlight %} -{% endtabs %} - -## Show mean - -In the box and whisker series, the `ShowMean` property is used to display the average value of the box and whisker. The default value of `ShowMean` is **false**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box-mean/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Box-mean.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/box-mean/box-mean.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/box/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/bubble.md b/chart-sdk/asp-net-mvc/chart/chart-types/bubble.md deleted file mode 100644 index 0c100f232..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/bubble.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -layout: post -title: Bubble Chart in ASP.NET MVC Charts -description: Learn here all about Bubble Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Bubble Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Bubble Chart in ASP.NET MVC Charts - -## Bubble - -To render a [bubble](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/bubble-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Bubble** in your chart configuration. This indicates that the data should be displayed as a bubble series in the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/bubble/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bubble.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/bubble/bubble.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/bubble/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bubble.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/bubble/bubble.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `bubble` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/bubble-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bubble-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/bubble-fill/bubble-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -## Bubble size mapping - -Use the `Size` property to map the size of each bubble to the value specified in the data source. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/bubble/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bubble.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/bubble/bubble.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/bubble/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/candle.md b/chart-sdk/asp-net-mvc/chart/chart-types/candle.md deleted file mode 100644 index 6442ddf4a..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/candle.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -layout: post -title: Candle Chart in ASP.NET MVC Charts -description: Learn here all about Candle Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Candle Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Candle Chart in ASP.NET MVC Charts - -## Candle - -The Candle series, similar to the Hilo Open Close series, is used to represent the low, high, open, and closing prices over time. It is commonly used in financial charts to visualize stock price movements. - -To render a `candle` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Candle** in your chart configuration. This indicates that the data should be represented as a candle chart, providing a detailed view of stock price fluctuations by displaying the high, low, open, and close values for each time period. - -* **Provide high, low, open, and close values:** The Candle series requires five fields (x, high, low, open, and close) to accurately display the stock’s high, low, open, and close prices. Ensure that your data source includes these fields to create a detailed representation of stock price movements over time. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/candle/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Candle.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/candle/candle.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName`, `High`, `Low`, `Open` and `Close` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/candle/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Candle.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/candle/candle.cs %} -{% endhighlight %} -{% endtabs %} - -## Hollow Candles - -Hollow candles in candle charts allow you to visually compare the current price with the previous price by coloring them differently. The candles are filled or left hollow based on the following criteria: - - - - - - - - - - - - - - - -
    StatesDescription
    FilledCandlesticks are filled when the close value is less than the open value.
    UnfilledCandlesticks are unfilled when the close value is greater than the open value.
    - -The color of the candle will be defined by comparing it with previous values. The bear color will be applied when the current closing value is greater than the previous closing value. The bull color will be applied when the current closing value is less than the previous closing value. - -By default, the `BullFillColor` is set to **red** and the `BearFillColor` is set to **green**. - -## Solid Candles - -The `EnableSolidCandles` property is used to enable or disable solid candles. By default, it is set to false. The fill color of the candle will be determined by its opening and closing values. - -* The `BearFillColor` will be applied when the opening value is less than the closing value. -* The `BullFillColor` will be applied when the opening value is greater than the closing value. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/solid-candle/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Solid-candle.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/solid-candle/solid-candle.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/candle/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/column.md b/chart-sdk/asp-net-mvc/chart/chart-types/column.md deleted file mode 100644 index bf42967ae..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/column.md +++ /dev/null @@ -1,271 +0,0 @@ ---- -layout: post -title: Column Chart in ASP.NET MVC Charts -description: Learn here all about Column Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Column Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Column Chart in ASP.NET MVC Charts - -## Column - -To render a [column series](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/column-chart) in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Column** in your chart configuration. This indicates that the data should be represented as a column chart, which is ideal for visualizing for comparing different categories of data or tracking changes over time. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column/column.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column/column.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `column` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-fill/column-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the column series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-grad/column-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Column space and width - -### Column space - -Use the `ColumnSpacing` property in the series to adjust the space between columns. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-space/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-space.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-space/column-space.cs %} -{% endhighlight %} -{% endtabs %} - -### Column width - -Use the `ColumnWidth` property in the series to adjust the width of the columns. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-width/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-width/column-width.cs %} -{% endhighlight %} -{% endtabs %} - -### Column width in pixel - -Use the `ColumnWidthInPixel` property in the series to define the exact width of the columns in pixels. This property ensures that each column maintains the specified width, providing a uniform appearance throughout the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-pixel/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-pixel/column-pixel.cs %} -{% endhighlight %} -{% endtabs %} - -## Grouped column - -Use the `GroupName` property to group the data points in column type charts. Data points with the same group name will be grouped together in the chart, making it easy to compare different sets of data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/group-column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/group-column/group-column.cs %} -{% endhighlight %} -{% endtabs %} - -## Cylindrical column chart - -To render a cylindrical column chart, set the `ColumnFacet` property to **Cylinder** in the chart series. This property transforms the regular columns into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/column-cylinder/column-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for column series. This allows you to create columns with rounded corners, giving your chart a more polished appearance. You can customize each corner of the columns using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/point-corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column-charts/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/error-bar.md b/chart-sdk/asp-net-mvc/chart/chart-types/error-bar.md deleted file mode 100644 index 8aaccc315..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/error-bar.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -layout: post -title: Error Bar Chart in ASP.NET MVC Charts -description: Learn here all about Error Bar Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Error Bar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Error Bar Chart in ASP.NET MVC Charts - -## Error Bar - -Error bars are graphical representations of the variability of data and are used on graphs to indicate the error or uncertainty in a reported measurement. - -To render error bars for the series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -**Set visibility:** Set the visible property to true for the error bars to be displayed. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/errorbar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Errorbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/errorbar/errorbar.cs %} -{% endhighlight %} -{% endtabs %} - -## Customizing error bar - -To customize the error bar type, set the error bar `Type` to **Custom**, and then change the horizontal or vertical positive and negative error values for the error bar. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/errorbar-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Errorbar-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/errorbar-custom/errorbar-custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Error bar mode - -The error bar mode is used to define whether the error bar line is drawn horizontally, vertically or on both sides. To change the error bar mode, use the `Mode` option. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/mode/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Mode.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/mode/mode.cs %} -{% endhighlight %} -{% endtabs %} - -## Error bar direction - -To change the direction of the error bars to plus, minus, or both sides, use the `Direction` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/direction/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Direction.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/direction/direction.cs %} -{% endhighlight %} -{% endtabs %} - -## Customizing error bar cap - -To customize the length, width, opacity, and fill color of the error bar caps, you can use the `ErrorBarCap` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/errorbarcap/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Errorbarcap.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/errorbarcap/errorbarcap.cs %} -{% endhighlight %} -{% endtabs %} - -## Customizing error bar color - -To customize the error bar color for individual errors, use the `ErrorBarColorMapping` property. You can also customize the vertical error, horizontal error, horizontal negative and positive error, and vertical negative and positive error for an individual point using the `VerticalError`, `HorizontalError`, `HorizontalNegativeError`, `HorizontalPositiveError`, `VerticalNegativeError`, and `VerticalPositiveError` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/errorbarcolor/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Errorbarcolor.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/errorbarcolor/errorbarcolor.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/error-bar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/high-low-open-close.md b/chart-sdk/asp-net-mvc/chart/chart-types/high-low-open-close.md deleted file mode 100644 index 4d644a8f0..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/high-low-open-close.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -layout: post -title: High Low Open Close Chart in ASP.NET MVC Charts -description: Learn here all about High Low Open Close Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: High Low Open Close Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# High Low Open Close Chart in ASP.NET MVC Charts - -## High Low Open Close - -To render an `hiloOpenClose` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **HiloOpenClose** in your chart configuration. This indicates that the data should be represented as a hiloOpenClose chart, which displays the high, low, open, and close values for each data point, providing a comprehensive visualization of stock price movements. - -* **Provide high, low, open, and close values:** The `HiloOpenClose` series requires five fields (x, high, low, open, and close) to accurately display the stock’s high, low, open, and close prices. Ensure that your data source includes these fields to create a detailed representation of stock price movements over time. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/high-low/razor %} -{% endhighlight %} -{% highlight c# tabtitle="High-low.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/high-low/high-low.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName`, `High`, `Low`, `Open` and `Close` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/high-low/razor %} -{% endhighlight %} -{% highlight c# tabtitle="High-low.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/high-low/high-low.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -In the `hiloOpenClose` series, the `BullFillColor` property is used to fill the segment when the open value is greater than the close value, while the `BearFillColor` property is used to fill the segment when the open value is less than the close value. By default, `BullFillColor` is set to **#e74c3d** and `BearFillColor` is set to **#2ecd71**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/custom-openclose/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-openclose.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/custom-openclose/custom-openclose.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/high-low/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/high-low.md b/chart-sdk/asp-net-mvc/chart/chart-types/high-low.md deleted file mode 100644 index 138d95933..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/high-low.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -layout: post -title: High Low Chart in ASP.NET MVC Charts -description: Learn here all about High Low Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: High Low Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# High Low Chart in ASP.NET MVC Charts - -## High Low - -To render a `hilo` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Hilo** in your chart configuration. This indicates that the data should be represented as a hilo chart, which shows the high and low values for each data point, illustrating price movements in stocks and providing a clear visualization of price ranges. - -* **Provide high and low values:** The Hilo series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum price, while the low value represents the minimum price of the stock. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/hilo/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Hilo.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/hilo/hilo.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName`, `High`, and `Low` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/hilo/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Hilo.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/hilo/hilo.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the hilo series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/hilo-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Hilo-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/hilo-fill/hilo-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the hilo series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/hilo-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Hilo-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/hilo-grad/hilo-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/hilo/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/histogram.md b/chart-sdk/asp-net-mvc/chart/chart-types/histogram.md deleted file mode 100644 index e22f999b8..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/histogram.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -layout: post -title: Histogram Chart in ASP.NET MVC Charts -description: Learn here all about Histogram Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Histogram Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Histogram Chart in ASP.NET MVC Charts - -## Histogram - -To render a [histogram](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/histogram-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Histogram** in your chart configuration. This indicates that the data should be represented as a histogram chart, providing a visual display of large amounts of data that are difficult to understand in a tabular or spreadsheet format. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/histogram/histogram/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Histogram.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/histogram/histogram/histogram.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/histogram/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/histogram/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/histogram/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/histogram/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/line.md b/chart-sdk/asp-net-mvc/chart/chart-types/line.md deleted file mode 100644 index a2ddb8115..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/line.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -layout: post -title: Line Chart in ASP.NET MVC Charts -description: Learn here all about Line Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Line Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Line Chart in ASP.NET MVC Charts - -## Line - -To render a [line](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/line-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - - * **Set the series type:** Define the series `Type` as **Line** in your chart configuration. This indicates that the data should be represented as a line chart, which is ideal for visualizing trends over time or across categories. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/line/line.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/line/line.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `line` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/series-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/series-line/series-line.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the line series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/series-line-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-line-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/series-line-grad/series-line-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/custom-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/custom-line/custom-line.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `DashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `Width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/line-width/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Line-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/line-width/line-width.cs %} -{% endhighlight %} -{% endtabs %} - -## Multicolored line - -To render a multicolored line series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **MultiColoredLine** in your chart configuration. This specifies that the series should be rendered as a multicolored line chart, with different segments of the line having distinct colors. - -* **Map individual colors:** Utilize the `PointColorMapping` property to assign individual colors to each data point. This allows you to customize the color of each segment of the line based on your data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/multi-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Multi-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/multi-line/multi-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series Render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/line-charts/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/pareto.md b/chart-sdk/asp-net-mvc/chart/chart-types/pareto.md deleted file mode 100644 index a0375b092..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/pareto.md +++ /dev/null @@ -1,184 +0,0 @@ ---- -layout: post -title: Pareto Chart in ASP.NET MVC Charts -description: Learn here all about Pareto Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Pareto Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Pareto Chart in ASP.NET MVC Charts - -## Pareto - -Pareto charts are used to find the cumulative values of data in different categories. It is a combination of **Column** and **Line** series, where the initial values are represented by the column chart and the cumulative values are represented by the line chart. - -To render a **pareto** series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -**Set the series type:** Define the series `Type` as **Pareto** in your chart configuration. This indicates that the data should be represented as a pareto chart, will use a combination of column and line series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/pareto/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Pareto.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/pareto/pareto.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/pareto/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Pareto.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/pareto/pareto.cs %} -{% endhighlight %} -{% endtabs %} - -## Pareto customization - -## Fill - -Use the `Fill` property to apply a color to the pareto line. By default, a color based on the theme is used. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/pareto-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Pareto-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/pareto-fill/pareto-fill.cs %} -{% endhighlight %} -{% endtabs %} - -### Width - -Use the `Width` property to control the thickness of the line for the pareto series, which affects its visual weight on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/pareto-width/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Pareto-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/pareto-width/pareto-width.cs %} -{% endhighlight %} -{% endtabs %} - -### Dash array - -The `DashArray` property determines the pattern of dashes and gaps in the pareto line series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/dasharray/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dasharray.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/dasharray/dasharray.cs %} -{% endhighlight %} -{% endtabs %} - -### Marker - -Use the `Marker` property to display and customize markers for individual points in a pareto line. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/marker/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Marker.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/marker/marker.cs %} -{% endhighlight %} -{% endtabs %} - -### Show axis - -Use the `ShowAxis` property to show or hide the secondary axis for the pareto series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/showaxis/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Showaxis.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/showaxis/showaxis.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/pareto/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/polar.md b/chart-sdk/asp-net-mvc/chart/chart-types/polar.md deleted file mode 100644 index 359fb8fc9..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/polar.md +++ /dev/null @@ -1,283 +0,0 @@ ---- -layout: post -title: Polar Chart in ASP.NET MVC Charts -description: Learn here all about Polar Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Polar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Polar Chart in ASP.NET MVC Charts - -## Polar - -To render a [polar](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/polar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Polar** in your chart configuration. This indicates that the data should be represented as a polar chart, which is ideal for plotting data points on a circular graph. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-line/polar-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-line/polar-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Draw types - -Use the `DrawType` property to change the series plotting type in a Polar chart to line, column, area, range column, spline, scatter, stacking area, spline area, or stacking column. The default value of `DrawType` is **Line**. - -### Line - -To render a line draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `DrawType` as **Line** in your chart configuration. This indicates that the data should be represented as a polar line chart, with lines connecting each data point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-line/polar-line.cs %} -{% endhighlight %} -{% endtabs %} - -### Spline - -To render a spline draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `DrawType` as **Spline** in your chart configuration. This indicates that the data should be represented as a polar spline chart, with smooth, curved lines connecting each data point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-spline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-spline/polar-spline.cs %} -{% endhighlight %} -{% endtabs %} - -### Area - -To render an area draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `DrawType` as **Area** in your chart configuration. This indicates that the data should be represented as a polar area chart, with filled areas below the lines connecting each data point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-area/polar-area.cs %} -{% endhighlight %} -{% endtabs %} - -### Stacked Area - -To render a stacked area draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `DrawType` as **StackingArea** in your chart configuration. This indicates that the data should be represented as a polar stacked area chart, with areas stacked on top of each other, displaying the cumulative value of multiple series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-stackedarea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-stackedarea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-stackedarea/polar-stackedarea.cs %} -{% endhighlight %} -{% endtabs %} - -### Column - -To render a column draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `DrawType` as **Column** in your chart configuration. This indicates that the data should be represented as a polar column chart, allowing for the comparison of values across categories. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-column/polar-column.cs %} -{% endhighlight %} -{% endtabs %} - -### Stacked Column - -To render a stacked column draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `DrawType` as **StackingColumn** in your chart configuration. This indicates that the data should be represented as a polar stacked column chart, with each column consisting of multiple segments stacked on top of each other. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-stackedcolumn/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-stackedcolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-stackedcolumn/polar-stackedcolumn.cs %} -{% endhighlight %} -{% endtabs %} - -### Range Column - -To render a range column draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `DrawType` as **RangeColumn** in your chart configuration. This indicates that the data should be represented as a polar range column chart, where each column spans a range of values. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-rangecolumn/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-rangecolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-rangecolumn/polar-rangecolumn.cs %} -{% endhighlight %} -{% endtabs %} - -### Scatter - -To render a scatter draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `DrawType` as **Scatter** in your chart configuration. This indicates that the data should be represented as a polar scatter chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-scatter/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-scatter.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-scatter/polar-scatter.cs %} -{% endhighlight %} -{% endtabs %} - -### Spline area - -To render an spline area draw type, you need to follow a few steps to configure it correctly. - -**Set the series type:** Define the series `DrawType` as **SplineArea** in your chart configuration. This indicates that the data should be represented as a polar spline area chart, where the series is drawn with smooth, curved lines connecting each data point, and the area beneath the line is filled with color. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-splinearea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polar-splinearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/polar-splinearea/polar-splinearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -### Start Angle - -You can customize the start angle of the polar series using startAngle property. By default, `StartAngle` is **0** degree. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/start-angle/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Start-angle.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/start-angle/start-angle.cs %} -{% endhighlight %} -{% endtabs %} - -### Radius - -You can customize the radius of the polar series using `Coefficient` property. By default, `Coefficient` is **100**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/co-efficient/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Co-efficient.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/co-efficient/co-efficient.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/polar-radar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/radar.md b/chart-sdk/asp-net-mvc/chart/chart-types/radar.md deleted file mode 100644 index 7ec1ca046..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/radar.md +++ /dev/null @@ -1,157 +0,0 @@ ---- -layout: post -title: Radar Chart in ASP.NET MVC Charts -description: Learn here all about Radar Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Radar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Radar Chart in ASP.NET MVC Charts - -## Radar - -To render a [radar](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/radar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -**Set the series type:** Define the series `Type` as **Radar** in your chart configuration. This indicates that the data should be represented as a radar chart, which is ideal for plotting data points on a circular grid. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/radar-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Radar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/radar-line/radar-line.cs %} -{% endhighlight %} -{% endtabs %} - -### Draw type - -Similar to the polar chart, use the `DrawType` property to change the series plotting type in a Radar chart to line, column, area, range column, spline, scatter, stacking area, spline area, or stacking column. The default value of `DrawType` is **Line**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/radar-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Radar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/radar-line/radar-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/radar-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Radar-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/radar-line/radar-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Customization - -### Start angle - -You can customize the start angle of the radar series using `StartAngle` property. By default, startAngle is 0 degree. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/start-angle/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Start-angle.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/start-angle/start-angle.cs %} -{% endhighlight %} -{% endtabs %} - -### Radius - -You can customize the radius of the radar series using `Coefficient` property. By default, `Coefficient` is **100**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/radius/radius.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/radar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/range-area.md b/chart-sdk/asp-net-mvc/chart/chart-types/range-area.md deleted file mode 100644 index dac36e5fa..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/range-area.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -layout: post -title: Range Area Chart in ASP.NET MVC Charts -description: Learn here all about Range Area Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Area Chart in ASP.NET MVC Charts - -## Range Area - -To render a [range area](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/range-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **RangeArea** in your chart configuration. This indicates that the data should be represented as a range area chart, which is ideal for visualizing a range of values for each data point. This type of chart is particularly useful for displaying data that has a range between a minimum and maximum value, such as temperature ranges, stock price ranges, or any other type of data that varies within a specific interval. - -* **Provide high and low values:** The RangeArea series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum range, while the low value represents the minimum range for each data point. These values define the upper and lower boundaries of the area for each point on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/rangearea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rangearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/rangearea/rangearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName`, `High`, and `Low` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/rangearea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rangearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/rangearea/rangearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the range area series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/rangearea-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rangearea-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/rangearea-fill/rangearea-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the range area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/rangearea-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rangearea-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/rangearea-grad/rangearea-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/range-column.md b/chart-sdk/asp-net-mvc/chart/chart-types/range-column.md deleted file mode 100644 index 82fec9617..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/range-column.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -layout: post -title: Range Column Chart in ASP.NET MVC Charts -description: Learn here all about Range Column Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range Column Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Column Chart in ASP.NET MVC Charts - -## Range Column - -To render a [range column](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/range-column-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **RangeColumn** in your chart configuration. This indicates that the data should be represented as a range column chart, which is ideal for visualizing data that has both minimum and maximum values for each category. This is especially useful for visualizing data ranges, such as temperature fluctuations over time, stock prices, or any other data with upper and lower bounds. - -* **Provide high and low values:** The RangeColumn series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum range, while the low value represents the minimum range for each data point. These values define the upper and lower boundaries of the column for each point on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/rangecolumn/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rangecolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/rangecolumn/rangecolumn.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName`, `High`, and `Low` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/rangecolumn/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rangecolumn.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/rangecolumn/rangecolumn.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `range column` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/rangecolumn-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rangecolumn-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/rangecolumn-fill/rangecolumn-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the range column series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/rangecolumn-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rangecolumn-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/rangecolumn-grad/rangecolumn-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for range column series. This allows you to create range columns with rounded corners, giving your chart a more polished appearance. You can customize each corner of the range columns using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/point-corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-column/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/range-step-area.md b/chart-sdk/asp-net-mvc/chart/chart-types/range-step-area.md deleted file mode 100644 index 82cf72d16..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/range-step-area.md +++ /dev/null @@ -1,198 +0,0 @@ ---- -layout: post -title: Range Step Area Chart in ASP.NET MVC Charts -description: Learn here all about Range Step Area Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range Step Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Step Area Chart in ASP.NET MVC Charts - -## Range Step Area - -To render a range step area series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **RangeStepArea** in your chart configuration. This indicates that the data should be represented as a range step area chart, which is ideal for displaying data points as a range with high and low values. It connects these points with vertical and horizontal lines, creating a step like appearance. - -* **Provide high and low values:** The RangeStepArea series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum range, while the low value represents the minimum range for each data point. These values define the upper and lower boundaries of the area for each point on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/range-step-area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range-step-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/range-step-area/range-step-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName`, `High`, and `Low` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/range-step-area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range-step-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/range-step-area/range-step-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `range step area` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/range-step-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range-step-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/range-step-fill/range-step-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the range step area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/range-step-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range-step-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/range-step-grad/range-step-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Step** - -Use the `Step` property to change the position of the steps in a range step area series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/step/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/step/step.cs %} -{% endhighlight %} -{% endtabs %} - -**No risers** - -You can eliminate the vertical lines between points by using the `NoRisers` property in a series. This approach is useful for highlighting trends without the distraction of risers. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/rangesteparea/no-risers/razor %} -{% endhighlight %} -{% highlight c# tabtitle="No-risers.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/rangesteparea/no-risers/no-risers.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is Gap. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/range-step-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/scatter.md b/chart-sdk/asp-net-mvc/chart/chart-types/scatter.md deleted file mode 100644 index 663192be8..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/scatter.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -layout: post -title: Scatter Chart in ASP.NET MVC Charts -description: Learn here all about Scatter Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Scatter Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Scatter Chart in ASP.NET MVC Charts - -## Scatter - -To render a [scatter](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/scatter-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Scatter** in your chart configuration. This indicates that the data should be displayed as individual points scattered across the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/scatter/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Scatter.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/scatter/scatter.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YyName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/scatter/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Scatter.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/scatter/scatter.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `scatter` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/scatter-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Scatter-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/scatter-fill/scatter-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Shape** - -The `Shape` property allows you to customize the appearance of the markers by specifying different shapes. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/shape/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Shape.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/shape/shape.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/scatter/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} -## See Also - -* [Data Label](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartDataLabelSettings.html) -* [Tooltip](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/spline-area.md b/chart-sdk/asp-net-mvc/chart/chart-types/spline-area.md deleted file mode 100644 index f95e76155..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/spline-area.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -layout: post -title: Spline Area Chart in ASP.NET MVC Charts -description: Learn here all about Spline Area Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Spline Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Spline Area Chart in ASP.NET MVC Charts - -## Spline Area - -To render a [spline area](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/spline-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **SplineArea** in your chart configuration. This indicates that the data should be represented as a spline area chart, where data points are connected by smooth, curved lines (splines) instead of straight lines. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/spline-area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/spline-area/spline-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/spline-area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/spline-area/spline-area.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `spline area` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/splinearea-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Splinearea-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/splinearea-fill/splinearea-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the spline area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/spline-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/spline-grad/spline-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/custom-spline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/custom-spline/custom-spline.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-area/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/Spline-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/spline-range-area.md b/chart-sdk/asp-net-mvc/chart/chart-types/spline-range-area.md deleted file mode 100644 index 2b6ef4e08..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/spline-range-area.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -layout: post -title: Spline Range Area Chart in ASP.NET MVC Charts -description: Learn here all about Spline Range Area Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Spline Range Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Spline Range Area Chart in ASP.NET MVC Charts - -## Spline Range Area - -To render a [spline range area](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/spline-range-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **SplineRangeArea** in your chart configuration. This indicates that the data should be represented as a spline range area chart, which is ideal for visualizing continuous data points as a set of splines that vary between high and low values over intervals of time and across different categories. - -* **Provide high and low values:** The SplineRangeArea series requires two y-values for each data point, you need to specify both the high and low values. The high value represents the maximum range, while the low value represents the minimum range for each data point. These values define the upper and lower boundaries of the area for each point on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/splinerangearea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Splinerangearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/splinerangearea/splinerangearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName`, `High`, and `Low` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/splinerangearea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Splinerangearea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/splinerangearea/splinerangearea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `spline range area` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/range-spline-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range-spline-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/range-spline-fill/range-spline-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the spline range area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/range-spline-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range-spline-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/range-spline-grad/range-spline-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is Gap. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline-range/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/spline.md b/chart-sdk/asp-net-mvc/chart/chart-types/spline.md deleted file mode 100644 index db3ce62db..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/spline.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -layout: post -title: Spline Chart in ASP.NET MVC Charts -description: Learn here all about Spline Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Spline Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Spline Chart in ASP.NET MVC Charts - -## Spline - -To render a [spline](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/spline-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Spline** in your chart configuration. This indicates that the series should be represented as a smooth curve, connecting data points with a spline rather than straight lines. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline/spline.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline/spline.cs %} -{% endhighlight %} -{% endtabs %} - -## Spline type - -Use the `SplineType` to define the type of the spline series. The default type is **Natural**, which creates a smooth curve through the data points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/splinetype/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Splinetype.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/splinetype/splinetype.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `spline` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline-fill/spline-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the spline series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline-grad/spline-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/custom-spline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/custom-spline/custom-spline.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `DashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `Width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline-width/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Spline-width.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/spline-width/spline-width.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/spline/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/stack-area100.md b/chart-sdk/asp-net-mvc/chart/chart-types/stack-area100.md deleted file mode 100644 index be09043b8..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/stack-area100.md +++ /dev/null @@ -1,171 +0,0 @@ ---- -layout: post -title: 100% Stacked Area Chart in ASP.NET MVC Charts -description: Learn here all about 100% Stacked Area Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked Area Chart in ASP.NET MVC Charts - -## 100% Stacked Area Chart - -To render a [100% stacked area](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/100-stacked-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StackingArea100** in your chart configuration. This indicates that the data should be represented as a 100% stacked area chart, where the cumulative values for each data point are expressed as a percentage of the total. This ensures that the sum of all series at each point is always 100%. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/stackedarea100/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedarea100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/stackedarea100/stackedarea100.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/stackedarea100/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedarea100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/stackedarea100/stackedarea100.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `100% stacked area` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/stacked-area100-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-area100-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/stacked-area100-fill/stacked-area100-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the 100% stacked area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/stacked-area100-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-area100-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/stacked-area100-grad/stacked-area100-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area-100/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/stack-bar100.md b/chart-sdk/asp-net-mvc/chart/chart-types/stack-bar100.md deleted file mode 100644 index 87f2b9af7..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/stack-bar100.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -layout: post -title: 100% Stacked Bar Chart in ASP.NET MVC Charts -description: Learn here all about 100% Stacked Bar Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked Bar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked Bar Chart in ASP.NET MVC Charts - -## 100% Stacked Bar - -To render a [100% stacked bar](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/100-stacked-bar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StackingBar100** in your chart configuration. This indicates that the data should be represented as a 100% stacked bar chart, with segments that show the percentage contribution of each part. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stacked-bar100/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stacked-bar100/stacked-bar100.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stacked-bar100/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stacked-bar100/stacked-bar100.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `100% stacked bar` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stacked-bar100-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar100-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stacked-bar100-fill/stacked-bar100-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the 100% stacked bar series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stacked-bar100-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar100-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stacked-bar100-grad/stacked-bar100-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## 100% Cylindrical stacked bar chart - -To render a 100% cylindrical stacked bar chart, set the `ColumnFacet` property to **Cylinder** in the chart series. This property transforms the regular 100% stacked bars into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stackedbar100-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar100-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/stackedbar100-cylinder/stackedbar100-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for 100% stacked bar series. This allows you to create 100% stacked bars with rounded corners, giving your chart a more polished appearance. You can customize each corner of the 100% stacked bars using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/point-corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar100/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/stack-column100.md b/chart-sdk/asp-net-mvc/chart/chart-types/stack-column100.md deleted file mode 100644 index 99dab1dca..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/stack-column100.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -layout: post -title: 100% Stacked Column Chart in ASP.NET MVC Charts -description: Learn here all about 100% Stacked Column Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked Column Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked Column Chart in ASP.NET MVC Charts - -## 100% Stacked Column - -To render a [100% stacked column](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/100-stacked-column-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StackingColumn100** in your chart configuration. This indicates that the data should be represented as a 100% stacked column chart, with segments that show the percentage contribution of each part. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stacked-column100/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stacked-column100/stacked-column100.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stacked-column100/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stacked-column100/stacked-column100.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `100% stacked column` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stacked-column100-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column100-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stacked-column100-fill/stacked-column100-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the 100% stacked column series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stacked-column100-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column100-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stacked-column100-grad/stacked-column100-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## 100% Cylindrical stacked column chart - -To render a 100% cylindrical stacked column chart, set the `ColumnFacet` property to **Cylinder** in the chart series. This property transforms the regular 100% stacked columns into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stackedcolumn100-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn100-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/stackedcolumn100-cylinder/stackedcolumn100-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for 100% stacked column series. This allows you to create 100% stacked columns with rounded corners, giving your chart a more polished appearance. You can customize each corner of the 100% stacked columns using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/point-corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column100/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartDataLabelSettings.html) -* [Tooltip](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/stack-line100.md b/chart-sdk/asp-net-mvc/chart/chart-types/stack-line100.md deleted file mode 100644 index 1821aaf27..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/stack-line100.md +++ /dev/null @@ -1,183 +0,0 @@ ---- -layout: post -title: 100% Stacked Line Chart in ASP.NET MVC Charts -description: Learn here all about 100% Stacked Line Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: 100% Stacked Line Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# 100% Stacked Line Chart in ASP.NET MVC Charts - -## 100% Stacked Line - -To render a [100% stacked line](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/100-stacked-line-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StackingLine100** in your chart configuration. This indicates that the data should be represented as a 100% stacked line chart, with each data series shown as a percentage of the total. This chart type ensures that all lines are stacked to always reach 100% at each data point, allowing for easy comparison of the proportional relationships between the series without the influence of absolute values. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line-100/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line-100/stacked-line-100.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line-100/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line-100/stacked-line-100.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `100% stacked line` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line100-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line100-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line100-fill/stacked-line100-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the 100% stacked line series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line100-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line100-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line100-grad/stacked-line100-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line100-opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line100-opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line100-opacity/stacked-line100-opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `DashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `Width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line-100/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-100.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/stacked-line-100/stacked-line-100.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line-100/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-area.md b/chart-sdk/asp-net-mvc/chart/chart-types/stacked-area.md deleted file mode 100644 index 46f25c448..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-area.md +++ /dev/null @@ -1,214 +0,0 @@ ---- -layout: post -title: Stacked Area Chart in ASP.NET MVC Charts -description: Learn here all about Stacked Area Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Area Chart in ASP.NET MVC Charts - -## Stacked Area - -To render a [stacked area](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/stacked-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StackingArea** in your chart configuration. This indicates that the data should be represented as a stacked area chart, which is ideal for showing the contribution of each part to a total over time or across other categorical data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stackedarea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedarea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stackedarea/stackedarea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stackedarea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedarea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stackedarea/stackedarea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked area` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stacked-area-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-area-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stacked-area-fill/stacked-area-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the stacked area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stacked-area-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-area-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stacked-area-grad/stacked-area-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stack-labels/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stack-labels-cus/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-bar.md b/chart-sdk/asp-net-mvc/chart/chart-types/stacked-bar.md deleted file mode 100644 index 4da020e90..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-bar.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -layout: post -title: Stacked Bar Chart in ASP.NET MVC Charts -description: Learn here all about Stacked Bar Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Bar Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Bar Chart in ASP.NET MVC Charts - -## Stacked Bar - -To render a [stacked bar](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-types/stacked-bar-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StackingBar** in your chart configuration. This indicates that the data should be represented as a stacked bar chart, where each bar consists of multiple segments stacked horizontally on top of each other. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stacked-bar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stacked-bar/stacked-bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stacked-bar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stacked-bar/stacked-bar.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked bar` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stacked-bar-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stacked-bar-fill/stacked-bar-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the stacked bar series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stacked-bar-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-bar-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stacked-bar-grad/stacked-bar-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Stacking group - -Use the `stackingGroup` property to group stacked bars and 100% stacked bars. Bars with the same group name are stacked on top of each other. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/group/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/group/group.cs %} -{% endhighlight %} -{% endtabs %} - -## Cylindrical stacked bar chart - -To render a cylindrical stacked bar chart, set the `columnFacet` property to **Cylinder** in the chart series. This property transforms the regular stacked bars into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stackedbar-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedbar-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stackedbar-cylinder/stackedbar-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stack-labels/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stack-labels-cus/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for stacked bar series. This allows you to create stacked bars with rounded corners, giving your chart a more polished appearance. You can customize each corner of the stacked bars using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/point-corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-bar/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-column.md b/chart-sdk/asp-net-mvc/chart/chart-types/stacked-column.md deleted file mode 100644 index b2589772d..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-column.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -layout: post -title: Stacked Column Chart in ASP.NET MVC Charts -description: Learn here all about Stacked Column Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Column Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Column Chart in ASP.NET MVC Charts - -## Stacked Column - -To render a [stacked column](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/stacked-column-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StackingColumn** in your chart configuration. This indicates that the data should be represented as a stacked column chart, where each column consists of multiple segments stacked on top of each other. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stacked-column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stacked-column/stacked-column.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stacked-column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stacked-column/stacked-column.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked column` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stacked-column-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stacked-column-fill/stacked-column-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the stacked column series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stacked-column-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-column-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stacked-column-grad/stacked-column-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Stacking group - -Use the `StackingGroup` property to group stacked columns and 100% stacked columns. Columns with the same group name are stacked on top of each other. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/group/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/group/group.cs %} -{% endhighlight %} -{% endtabs %} - -## Cylindrical stacked column chart - -To render a cylindrical stacked column chart, set the `ColumnFacet` property to **Cylinder** in the chart series. This property transforms the regular stacked columns into cylindrical shapes, enhancing the visual representation of the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stackedcolumn-cylinder/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedcolumn-cylinder.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stackedcolumn-cylinder/stackedcolumn-cylinder.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stack-labels/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stack-labels-cus/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for 100% stacked column series. This allows you to create 100% stacked columns with rounded corners, giving your chart a more polished appearance. You can customize each corner of the 100% stacked columns using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/point-corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-column/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-line.md b/chart-sdk/asp-net-mvc/chart/chart-types/stacked-line.md deleted file mode 100644 index 281da83b3..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-line.md +++ /dev/null @@ -1,227 +0,0 @@ ---- -layout: post -title: Stacked Line Chart in ASP.NET MVC Charts -description: Learn here all about Stacked Line Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Line Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Line Chart in ASP.NET MVC Charts - -## Stacked Line - -To render a [stacked line](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/stacked-line-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StackingLine** in your chart configuration. This indicates that the data should be represented as a stacked line chart, allowing multiple data series to be stacked on top of each other. This makes it easier to compare the contribution of each series to the total over a specific period. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line/stacked-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line/stacked-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked line` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line-fill/stacked-line-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the stacked line series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line-grad/stacked-line-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line-opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-line-opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line-opacity/stacked-line-opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `DashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `Width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Width.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stacked-line/stacked-line.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is Gap. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stack-labels/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stack-labels-cus/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-line/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-step-area.md b/chart-sdk/asp-net-mvc/chart/chart-types/stacked-step-area.md deleted file mode 100644 index 336d744c6..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/stacked-step-area.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -layout: post -title: Stacked Step Area Chart in ASP.NET MVC Charts -description: Learn here all about Stacked Step Area Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Stacked Step Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Stacked Step Area Chart in ASP.NET MVC Charts - -## Stacked Step Area - -To render a stacked step area series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StackingStepArea** in your chart configuration. This indicates that the data should be represented as a stacked step area chart, which is a combination of a stacked area chart and a step area chart. It connects the data points with vertical and horizontal lines, creating a step like appearance. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stackedsteparea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedsteparea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stackedsteparea/stackedsteparea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stackedsteparea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stackedsteparea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stackedsteparea/stackedsteparea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `stacked step area` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stacked-step-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-step-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stacked-step-fill/stacked-step-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the stacked step area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stacked-step-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stacked-step-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stacked-step-grad/stacked-step-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Step** - -Use the `Step` property to change the position of the steps in a stacked step area series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/step/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/step/step.cs %} -{% endhighlight %} -{% endtabs %} - -**No risers** - -You can eliminate the vertical lines between points by using the `NoRisers` property in a series. This approach is useful for highlighting trends without the distraction of risers. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/stackedsteparea/no-risers/razor %} -{% endhighlight %} -{% highlight c# tabtitle="No-risers.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/stackedsteparea/no-risers/no-risers.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stack labels - -The stack labels in stacked charts display cumulative total values for stack segments directly using data labels. If a stacked point has negative values, the stack labels are displayed below the point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stack-labels/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stack-labels/stack-labels.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Stack labels customization - -Stack labels have various properties for customization to enhance the visual based on your requirements: - -* [`Visible`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Visible) - Specifies whether stack labels are visible. Setting to true will display the labels. Default is false. -* [`Fill`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Fill) - Defines the background color of the stack labels. Accepts valid CSS color strings (hex, RGBA, etc.). Default is transparent. -* [`Format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Format) - Formats the text displayed in the stack labels. Supports placeholders like {value}. Default is null. -* [`Angle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Angle) - Specifies the rotation angle for stack labels in degrees. Default is 0. -* [`Rx`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Rx) - Defines the rounded corner radius along the X-axis (horizontal direction) for the stack label background. Default is 5. -* [`Ry`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Ry) - Defines the rounded corner radius along the Y-axis (vertical direction) for the stack label background. Default is 5. -* [`Margin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Margin) - Configures the margin around the stack label (left, right, top, and bottom). -* [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Border) - Configures the appearance of the stack label's border. -* [`Font`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartStackLabelSettings.html#Syncfusion_EJ2_Charts_ChartStackLabelSettings_Font) - Customizes the stack label text, including font size, color, style, weight, and family. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stack-labels-cus/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stack-labels-cus.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/stack-labels-cus/stack-labels-cus.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/stacked-steparea/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/step-area.md b/chart-sdk/asp-net-mvc/chart/chart-types/step-area.md deleted file mode 100644 index ea4d0139a..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/step-area.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -layout: post -title: Step Area Chart in ASP.NET MVC Charts -description: Learn here all about Step Area Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Step Area Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Step Area Chart in ASP.NET MVC Charts - -## Step Area - -To render a [step area](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/step-area-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StepArea** in your chart configuration. This indicates that the data should be represented as a step area chart, which connects data points with vertical and horizontal lines, creating a step like appearance. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/steparea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Steparea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/steparea/steparea.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/steparea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Steparea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/steparea/steparea.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `step area` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/steparea-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Steparea-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/steparea-fill/steparea-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the step area series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/steparea-fill-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Steparea-fill-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/steparea-fill-grad/steparea-fill-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width, color and dasharray of the series border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Step** - -Use the `Step` property to change the position of the steps in a step area series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/step/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/step/step.cs %} -{% endhighlight %} -{% endtabs %} - -**No risers** - -You can eliminate the vertical lines between points by using the `NoRisers` property in a series. This approach is useful for highlighting trends without the distraction of risers. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/stepareaseries/no-risers/razor %} -{% endhighlight %} -{% highlight c# tabtitle="No-risers.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/stepareaseries/no-risers/no-risers.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-area/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/step-line.md b/chart-sdk/asp-net-mvc/chart/chart-types/step-line.md deleted file mode 100644 index 48dc39546..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/step-line.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -layout: post -title: Step Line Chart in ASP.NET MVC Charts -description: Learn here all about Step Line Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Step Line Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Step Line Chart in ASP.NET MVC Charts - -## Step Line - -To render a [step line](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts/chart-types/stepline-chart) series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **StepLine** in your chart configuration. This indicates that the data should be represented as a step line chart, which connects data points with horizontal and vertical lines, creating a staircase effect. This type is ideal for displaying data that changes at distinct points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/stepline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stepline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/stepline/stepline.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/stepline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stepline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/stepline/stepline.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -The following properties can be used to customize the `step line` series. - -**Fill** - -The `Fill` property determines the color applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/stepline-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stepline-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/stepline-fill/stepline-fill.cs %} -{% endhighlight %} -{% endtabs %} - -The `Fill` property can be used to apply a gradient color to the step line series. By configuring this property with gradient values, you can create a visually appealing effect in which the color transitions smoothly from one shade to another. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/stepline-fill-grad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stepline-fill-grad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/stepline-fill-grad/stepline-fill-grad.cs %} -{% endhighlight %} -{% endtabs %} - -**Opacity** - -The `Opacity` property specifies the transparency level of the fill. Adjusting this property allows you to control how opaque or transparent the fill color of the series appears. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/opacity/opacity.cs %} -{% endhighlight %} -{% endtabs %} - -**Dash array** - -The `DashArray` property determines the pattern of dashes and gaps in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/dash-array/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash-array.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/dash-array/dash-array.cs %} -{% endhighlight %} -{% endtabs %} - -**Width** - -The `Width` property specifies the stroke width applied to the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/width/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Width.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/width/width.cs %} -{% endhighlight %} -{% endtabs %} - -**Step** - -Use the `Step` property to change the position of the steps in a step line series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/step/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/step/step.cs %} -{% endhighlight %} -{% endtabs %} - -**No risers** - -You can eliminate the vertical lines between points by using the `NoRisers` property in a series. This approach is useful for highlighting trends without the distraction of risers. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/stepline/no-risers/razor %} -{% endhighlight %} -{% highlight c# tabtitle="No-risers.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/area-charts/stepline/no-risers/no-risers.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/step-line/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/vertical-chart.md b/chart-sdk/asp-net-mvc/chart/chart-types/vertical-chart.md deleted file mode 100644 index 2123a201d..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/vertical-chart.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -layout: post -title: Vertical Chart in ASP.NET MVC Charts -description: Learn here all about Vertical Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Vertical Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Vertical Chart in ASP.NET MVC Charts - -## Vertical Chart - -To draw a chart in a vertical manner, change the orientation of the axis using the `IsTransposed` property, which is supported by all series types. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/vertical/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Vertical.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/vertical/vertical.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/vertical/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Vertical.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/vertical/vertical.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/vertical/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - -## See Also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/chart-types/waterfall.md b/chart-sdk/asp-net-mvc/chart/chart-types/waterfall.md deleted file mode 100644 index 586d025a0..000000000 --- a/chart-sdk/asp-net-mvc/chart/chart-types/waterfall.md +++ /dev/null @@ -1,165 +0,0 @@ ---- -layout: post -title: Waterfall Chart in ASP.NET MVC Charts -description: Learn here all about Waterfall Chart in Syncfusion ASP.NET MVC Charts component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Waterfall Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# Waterfall Chart in ASP.NET MVC Charts - -## Waterfall - -To render a `waterfall` series in your chart, you need to follow a few steps to configure it correctly. Here’s a concise guide on how to do this: - -* **Set the series type:** Define the series `Type` as **Waterfall** in your chart configuration. This indicates that the data should be represented as a waterfall chart, which helps illustrate the cumulative effect of sequentially introduced positive and negative values. - -* **Configure intermediate and cumulative sums:** Use the `IntermediateSumIndexes` property to represent intermediate sum values, and the `SumIndexes` property to represent cumulative sum values. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/waterfall/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Waterfall.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/waterfall/waterfall.cs %} -{% endhighlight %} -{% endtabs %} - -## Binding data with series - -You can bind data to the chart using the `DataSource` property within the series configuration. This allows you to connect a JSON dataset or remote data to your chart. To display the data correctly, map the fields from the data to the chart series `XName` and `YName` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/waterfall/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Waterfall.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/waterfall/waterfall.cs %} -{% endhighlight %} -{% endtabs %} - -## Series customization - -In waterfall charts, you can customize the appearance of different types of data changes using specific properties. The `NegativeFillColor` property is used to specify the color for negative changes, which helps visually distinguish decreases in the data. Similarly, the `SummaryFillColor` property is used to define the color for summary changes. By default, the `NegativeFillColor` is set to **green**, indicating decreases, while the `SummaryFillColor` is set to **black**, marking summary or total values. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/custom-waterfall/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-waterfall.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/custom-waterfall/custom-waterfall.cs %} -{% endhighlight %} -{% endtabs %} - -## Empty points - -Data points with **null** or **undefined** values are considered empty. Empty data points are ignored and not plotted on the chart. - -**Mode** - -Use the `Mode` property to define how empty or missing data points are handled in the series. The default mode for empty points is **Gap**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/empty/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/empty/empty.cs %} -{% endhighlight %} -{% endtabs %} - -**Fill** - -Use the `Fill` property to customize the fill color of empty points in the series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/empty-fill/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-fill.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/empty-fill/empty-fill.cs %} -{% endhighlight %} -{% endtabs %} - -**Border** - -Use the `Border` property to customize the width and color of the border for empty points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/empty-border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/empty-border/empty-border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Corner radius - -The [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in the chart series is used to customize the corner radius for waterfall series. This allows you to create waterfalls with rounded corners, giving your chart a more polished appearance. You can customize each corner of the waterfalls using the topLeft, topRight, bottomLeft, and bottomRight properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/corner-radius/corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Point corner radius - -We can customize the corner radius for individual points in the chart series using the [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event by setting the [`CornerRadius`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_CornerRadius) property in its event argument. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/point-corner-radius/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-corner-radius.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/point-corner-radius/point-corner-radius.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Events - -### Series render - -The `SeriesRender` event allows you to customize series properties, such as data, fill, and name, before they are rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/series-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/series-render/series-render.cs %} -{% endhighlight %} -{% endtabs %} - -### Point render - -The `PointRender` event allows you to customize each data point before it is rendered on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/point-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/waterfall/point-render/point-render.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See also - -* [Data Label](../data-labels) -* [Tooltip](../tool-tip) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/cross-hair-and-track-ball.md b/chart-sdk/asp-net-mvc/chart/cross-hair-and-track-ball.md deleted file mode 100644 index fe1e446f6..000000000 --- a/chart-sdk/asp-net-mvc/chart/cross-hair-and-track-ball.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -layout: post -title: Cross Hair And Track Ball in Syncfusion ASP.NET MVC Chart Component -description: Learn here all about Cross Hair And Track Ball in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Cross Hair And Track Ball -publishingplatform: chart-sdk -documentation: ug ---- - - -# Crosshair in ASP.NET MVC Chart Component - -Crosshair has a vertical and horizontal line to view the value of the axis at mouse or touch position. - -Crosshair lines can be enabled by using [`Enable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_Enable) property in the `Crosshair`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/crosshair/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Crosshair.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/crosshair/crosshair.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Tooltip for axis - -Tooltip label for an axis can be enabled by using [`Enable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairTooltip.html#Syncfusion_EJ2_Charts_ChartCrosshairTooltip_Enable) property of `CrosshairTooltip` in the corresponding axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/axis-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Axis-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/axis-tooltip/axis-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -The [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Fill) and [`TextStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html) property of the `CrosshairTooltip` is used to customize the background color and font style of the crosshair label respectively. Color and width of the crosshair line can be customized by using the [`Line`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_Line) property in the crosshair. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Crosshair label customization - -The [`CrosshairLabelRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_CrosshairLabelRender) event is triggered before each crosshair axis label is rendered. This event allows you to customize the label content and appearance, or prevent a label from being displayed. - -Event arguments: - -* `text` – The label text that can be modified. -* `value` – The data value at the crosshair position. -* `axisName` – The axis identifier (for example, `primaryXAxis`). -* `axisOrientation` – The orientation of the axis (`Horizontal` or `Vertical`). -* `textStyle` – Font properties used to customize the label text. -* `fill` – Background color of the label. -* `cancel` – Set this property to **true** to skip rendering the label. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/crosshair-label-render/razor %} -{% endhighlight %} - -{% highlight c# tabtitle="Crosshair-label-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/crosshair-label-render/crosshair-label-render.cs %} -{% endhighlight %} -{% endtabs %} - - -**Snap to data** - -Enabling the [`SnapToData`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_SnapToData) property in the crosshair aligns it with the nearest data point instead of following the exact mouse position. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/snapToData/razor %} -{% endhighlight %} -{% highlight c# tabtitle="SnapToData.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/snapToData/snapToData.cs %} -{% endhighlight %} -{% endtabs %} - -## Trackball - -Trackball is used to track a data point closest to the mouse or touch position. Trackball marker indicates the closest point and trackball tooltip displays the information about the point. - -Trackball can be enabled by setting the [`Enable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html) property of the crosshair to true and [`Shared`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html) property in `Tooltip` to true in chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/trackball/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Trackball.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/trackball/trackball.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Crosshair highlight - -The [`HighlightCategory`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_HighlightCategory) property in the crosshair highlights the background of the entire category when hovered over. The crosshair color can be customized using the [`Color`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartBorder.html#Syncfusion_EJ2_Charts_ChartBorder_Color) property within the [`Line`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartCrosshairSettings.html#Syncfusion_EJ2_Charts_ChartCrosshairSettings_Line) configuration. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/highlight-category/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Highlight-category.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/crosshair-trackball/highlight-category/highlight-category.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/chart/data-editing.md b/chart-sdk/asp-net-mvc/chart/data-editing.md deleted file mode 100644 index d497aa505..000000000 --- a/chart-sdk/asp-net-mvc/chart/data-editing.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: post -title: Data Editing in ASP.NET MVC Chart Component -description: Learn here all about Data Editing in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Editing -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Editing - -## Enable Data Editing - -It provides drag and drop support to the rendered points. Now, we can change the location or value of the point based on its `y` value. To enable the data editing, set the `Enable` property to true in the drag settings of the series. Also, we can set color using `Fill` property and set the data editing minimum and maximum range using `MinY` and `MaxY` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/data-editing/default/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Default.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/data-editing/default/default.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/data-labels.md b/chart-sdk/asp-net-mvc/chart/data-labels.md deleted file mode 100644 index 54a21eac0..000000000 --- a/chart-sdk/asp-net-mvc/chart/data-labels.md +++ /dev/null @@ -1,198 +0,0 @@ ---- -layout: post -title: Data Labels in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about Data Labels in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Labels in ASP.NET MVC Chart - -Data label can be added to a chart series by enabling the [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Marker) option in the dataLabel. By default, the labels will arrange smartly without overlapping. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/datalabel/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Datalabel.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/datalabel/datalabel.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Position - -Using [`Position`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Marker) property, you can place the label either on `Top`, `Middle`,`Bottom` or `Outer` (outer is applicable for column and bar type series). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> The position `Outer` is applicable for column and bar type series. - -## Data Label Template - -Label content can be formatted by using the template option. Inside the template, you can add the placeholder text `${point.x}` and `${point.y}` to display corresponding data points x & y value. Using [`Template`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartDataLabelSettings.html#Syncfusion_EJ2_Charts_ChartDataLabelSettings_Template) property, you can set data label template in chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Text Mapping - -Text from the data source can be mapped using `Name` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/mapping/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/mapping/mapping.cs %} -{% endhighlight %} -{% endtabs %} - -## Format - -Data label for the chart can be formatted using [`Format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartDataLabelSettings.html#Syncfusion_EJ2_Charts_ChartDataLabelSettings_Format) property. You can use the global formatting options, such as 'n', 'p', and 'c'. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ValueFormatResultant ValueDescription
    1000n11000.0The number is rounded to 1 decimal place.
    1000n21000.00The number is rounded to 2 decimal places.
    1000n31000.000The number is rounded to 3 decimal place.
    0.01p11.0%The number is converted to percentage with 1 decimal place.
    0.01p21.00%The number is converted to percentage with 2 decimal place.
    0.01p31.000%The number is converted to percentage with 3 decimal place.
    1000c1$1000.0The currency symbol is appended to number and number is rounded to 1 decimal place.
    1000c2$1000.00The currency symbol is appended to number and number is rounded to 2 decimal place.
    - -## Margin - -`Margin` for data label can be applied to using `Left`, `Right`, `Bottom` and `Top` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/margin/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -`stroke` and `border` of data label can be customized using `Fill` and `Border` properties. Rounded corners can be customized using `Rx` and `Ry` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> `Rx` and `Ry` properties requires `Border` values not to be null. - -## Customizing Specific Point - -You can also customize the specific marker and label using [`PointRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) and [`TextRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TextRender) event. `PointRender` event allows you to change the shape, color and border for a point, whereas the `TextRender` event allows you to change the text for the point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/custom-point/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/custom-point/custom-point.cs %} -{% endhighlight %} -{% endtabs %} - -## Show percentage based on each series points - -You can calculate the percentage value based on the sum for each series using the `SeriesRender` and `TextRender` events in the chart. In `SeriesRender` calculate the sum of each series y values and In `TextRender` calculate percentage value based on the sum value and modify the text. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/series-percentage/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/datalabels/series-percentage/series-percentage.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-mvc/chart/data-markers.md b/chart-sdk/asp-net-mvc/chart/data-markers.md deleted file mode 100644 index 9f8a22fbb..000000000 --- a/chart-sdk/asp-net-mvc/chart/data-markers.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -layout: post -title: Data Markers in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about Data Markers in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Markers -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Markers in ASP.NET MVC Chart Component - -Data markers are used to provide information about the data points in the series. You can add a shape to adorn each data point. - - - -## Marker - - - -Markers can be added to points by enabling the [`Visible`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Marker) option of the marker property. By default, distinct markers will be enabled for each series in the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/marker/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Marker.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/marker/marker.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Shape - -Markers can be assigned with different shapes such as Rectangle, Circle, Diamond etc using the [`Shape`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Marker) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/shape/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Shape.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/shape/shape.cs %} -{% endhighlight %} -{% endtabs %} - - - -N> To know more about the marker shape type refer the [`Shape`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartMarkerSettings.html#Syncfusion_EJ2_Charts_ChartMarkerSettings_Shape). - -## Images - -Apart from the shapes, you can also add custom images to mark the data point using the [`ImageUrl`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartMarkerSettings.html#Syncfusion_EJ2_Charts_ChartMarkerSettings_ImageUrl) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/images/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Images.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/images/images.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -Marker's color and border can be customized using `Fill` and `Border` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customizing specific point - -You can also customize the specific marker and label using [`PointRender`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_PointRender) event. The `PointRender` event allows you to change the shape, color and border for a point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/custom-point/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/custom-point/custom-point.cs %} -{% endhighlight %} -{% endtabs %} - -## Fill marker with series color - -Marker can be filled with the series color by setting the [`IsFilled`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartMarkerSettings.html#Syncfusion_EJ2_Charts_ChartMarkerSettings_IsFilled) property to true. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/isfilled/razor %} -{% endhighlight %} -{% highlight c# tabtitle="IsFilled.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/data-marker/isfilled/isfilled.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/date-time-axis.md b/chart-sdk/asp-net-mvc/chart/date-time-axis.md deleted file mode 100644 index 60db502c2..000000000 --- a/chart-sdk/asp-net-mvc/chart/date-time-axis.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -layout: post -title: Date Time Axis in ASP.NET MVC Chart Component -description: Learn here all about Date Time Axis in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Date Time Axis -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# DateTime and DateTimeCategory Axis - -## DateTime Axis - -Date time axis uses date time scale and displays the date time values as axis labels in the specified format. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/dateTime/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Datetime.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/dateTime/datetime.cs %} -{% endhighlight %} -{% endtabs %} - - - -## DateTimeCategory Axis - -Date-time category axis is used to display the date-time values with non-linear intervals. For example, the business days alone have been depicted in a week here. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/datetimeCategory/razor %} -{% endhighlight %} -{% highlight c# tabtitle="DateCategory.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/datetimeCategory/dateCategory.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Range - -Range for an axis, will be calculated automatically based on the provided data, you can also customize the range of the axis using [`Minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Interval Customization - -Date time intervals can be customized by using the [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) and [`IntervalType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_IntervalType) properties of the axis. For example, when you set interval as 2 and intervalType as years, it considers 2 years as interval. DateTime axis supports following interval types, - -* Auto -* Years -* Months -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/interval/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/interval/interval.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Applying Padding to the Range** - -Padding can be applied to the minimum and maximum extremes of the range by using the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) property. Date time axis supports the following types of padding, - -* None -* Round -* Additional - -**DateTime - None** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `None`, minimum and maximum of the axis is based on the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/none/razor %} -{% endhighlight %} -{% highlight c# tabtitle="None.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/none/none.cs %} -{% endhighlight %} -{% endtabs %} - - - -**DateTime - Round** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Round`, minimum and maximum will be rounded to the nearest possible value divisible by interval. For example, when the minimum is 15th Jan, interval is 1 and the interval type is ‘month’, then the axis minimum will be Jan 1st. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/round/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Round.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/round/round.cs %} -{% endhighlight %} -{% endtabs %} - - - -**DateTime - Additional** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Additional`, interval of an axis will be padded to the minimum and maximum of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/additional/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Additional.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/additional/additional.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Label Format - -You can format and parse the date to all globalize format using [`LabelFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelFormat) property in an axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/label-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Label-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/label-format/label-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table describes the result of applying some common date time formats to the labelFormat property - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Label ValueLabel Format Property ValueResult Description
    new Date(2000, 03, 10)EEEEMondayThe Date is displayed in day format
    new Date(2000, 03, 10)yMd04/10/2000The Date is displayed in month/date/year format
    new Date(2000, 03, 10) MMM AprThe Shorthand month for the date is displayed
    new Date(2000, 03, 10)hm12:00 AMTime of the date value is displayed as label
    new Date(2000, 03, 10)hms12:00:00 AMThe Label is displayed in hours:minutes:seconds format
    - - - -## Custom Label Format - -Axis also supports custom label format using placeholder like {value}°C, in which the value represent the axis label e.g 20°C. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/datetime/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/dynamic-data-update.md b/chart-sdk/asp-net-mvc/chart/dynamic-data-update.md deleted file mode 100644 index 662f00e37..000000000 --- a/chart-sdk/asp-net-mvc/chart/dynamic-data-update.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -layout: post -title: Dynamic data update in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about dynamic data update in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Dynamic Data Update -publishingplatform: chart-sdk -documentation: ug ---- - - -# Dynamic data update in ASP.NET MVC Chart Component - -## Adding a new data point - -The `AddPoint` method is used to dynamically add a new data point to the chart series. This method is particularly useful when you want to update the chart with a new data point without having to refresh the entire chart. This method takes two parameters: - -* The first parameter is the new data point to add to your existing data source. -* The optional second parameter specifies the animation duration for adding the new data point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/dynamic-update/add-point/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Add-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/dynamic-update/add-point/add-point.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Removing an existing data point - -The `RemovePoint` method is used to dynamically remove a data point from the chart series. This method is particularly useful when you want to update the chart by removing an existing data point without having to refresh the entire chart. This method takes two parameters: - -* The first parameter is the index of the data point that needs to be removed from the existing data source. -* The optional second parameter specifies the animation duration for removing the data point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/dynamic-update/remove-point/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Remove-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/dynamic-update/remove-point/remove-point.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Replacing entire data points - -To replace the existing data source in the chart with a new data source, you can simply use the `SetData` method. This method allows you to replace the existing data points in the chart series with a new set of data points, enabling you to easily update the chart with new information. This method takes two parameters: - -* The first parameter is the new set of data points to be updated. -* The optional second parameter specifies the animation duration for updating the new data source. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/dynamic-update/set-data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Set-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/dynamic-update/set-data/set-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Click to add or remove a data point - -You can use mouse or touch events to dynamically add or remove data points from an existing data source by clicking on the appropriate position within the chart area. To add a new data point to the existing data source, click anywhere in the chart area, retrieve the x-axis and y-axis information of the clicked location from the `ChartMouseClick` event arguments. Then, utilize the `AddPoint` method to add a new data point to the existing data source. - -To remove a data point from the existing data source, simply click on the desired data point. To achieve this, first, verify whether the clicked data point obtained from `ChartMouseClick` already exists in the data source. If it does, remove it by utilizing the `RemovePoint` method based on its index. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/dynamic-update/click-add-point/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Click-add-point.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/dynamic-update/click-add-point/click-add-point.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/chart/ej1-api-migration.md b/chart-sdk/asp-net-mvc/chart/ej1-api-migration.md deleted file mode 100644 index 9c84341f3..000000000 --- a/chart-sdk/asp-net-mvc/chart/ej1-api-migration.md +++ /dev/null @@ -1,10115 +0,0 @@ ---- -layout: post -title: Ej1 Api Migration in ASP.NET MVC Chart Component -description: Learn here all about Ej1 Api Migration in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Ej1 Api Migration -publishingplatform: chart-sdk -documentation: ug ---- - - -# Migration from Essential® JS 1 - -This article describes the API migration process of Chart component from Essential® JS 1 to Essential® JS 2. - -## Annotations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    rotation of annotation -Property:Annotations.Angle -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - .Angle(270).Add(); - }) - -
    -Not applicable -
    annotations -Property:Annotations.Content -
    - - -
    -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.Content("watermark").Add(); - }) -
    -
    -
    -Property:Annotations.Content -
    - -@Html.EJS().Chart("container") -.Annotations(an => { - an.Content(ViewBag.content).Add(); - }) - -
    coordinate unit for annotation -Property:Annotations.CoordinateUnit -
    - -@(Html.EJ().Chart("chartContainer") - .Annotations(an => { - an.CoordinateUnit(CoordinateUnit.Pixels).Add(); - }) -) - -
    -Property:Annotations.CoordinateUnits -
    - -@Html.EJS().Chart("container") -.Annotations(an => { - an.CoordinateUnits(Syncfusion.EJ2.Charts.Units.Point).Add(); - }) - -
    horizontalAlignment for annotation -Property:Annotations.HorizontalAlignment -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.HorizontalAlignment(HorizontalAlignment.Left).Add(); - }) -) - -
    -Property:Annotations.HorizontalAlignment -
    - -@Html.EJS().Chart("container") -.Annotations(an => { - an.HorizontalAlignment(Syncfusion.EJ2.Charts.Position.Near).Add(); -}) - -
    margin for annotation -Property:Annotations.Margin -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.Margin(mr=>mr.Right(40)).Add(); -}) -) - -
    -Not applicable -
    Opacity for annotation -Property:Annotations.Opacity -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.Opacity(0.2).Add(); -}) -) - -
    -Not applicable -
    Region for annotation with respect to chart or series -Property:Annotations.Region -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.Region(Region.Series).Add(); -}) -) - -
    -Property:Annotations.Region -
    - -@Html.EJS().Chart("container") -.Annotations(an => { - an.Region(Region.Series).Add(); - }) - -
    verticalAlignment for annotation -Property:Annotations.VerticalAlignment -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.VerticalAlignment(VerticalAlignment.Middle).Add(); -}) -) - -
    -Property:Annotations.VerticalAlignment -
    - -@Html.EJS().Chart("container") -.Annotations(an => { - an.VerticalAlignment(Syncfusion.EJ2.Charts.Position.Top).Add(); -}) - -
    Visibility of annotations -Property:Annotations.Visible -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.Visible(true).Add(); -}) -) - -
    -Not applicable -
    X offset for annotation -Property:Annotations.X -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.X(170).Add(); -}) -) - -
    -Property:Annotations.X -
    - -@Html.EJS().Chart("container") -.Annotations(an => { - an.X("170").Add(); -}) - -
    X axis name in which annotation to be rendered -Property:Annotations.XAxisName -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.XAxisName("xAxis").Add(); -}) -) - -
    -Property:Annotations.XAxisName -
    - -@Html.EJS().Chart("container") -.Annotations(an => { - an.XAxisName("xAxis").Add(); -}) - -
    Y offset for annotation -Property:Annotations.Y -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.Y("50").Add(); -}) -) - -
    -Property:Annotations.Y -
    - -@Html.EJS().Chart("container") -.Annotations(an => { - an.Y("50").Add(); -}) - -
    Y axis name in which annotation to be rendered -Property:Annotations.YAxisName -
    - -@(Html.EJ().Chart("chartContainer") -.Annotations(an => { - an.YAxisName("yAxis").Add(); -}) -) - -
    -Property:Annotations.YAxisName -
    - -@Html.EJS().Chart("container") -.Annotations(an => { - an.YAxisName("yAxis").Add(); -}) - -
    - -## Columns - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Columns in chart -Property:ColumnDefinitions -
    - -@(Html.EJ().Chart("chartContainer") -.ColumnDefinitions() - -
    -Property:Columns -
    - -@Html.EJS().Chart("container") -.Columns() - -
    unit -Property:ColumnDefinitions.Unit -
    - -@(Html.EJ().Chart("chartContainer") -.ColumnDefinitions(cdn => - { - cdn.Unit("percentage").Add(); - }) - - -
    -Not applicable -
    width of columns in chart -Property:ColumnDefinitions.ColumnWidth -
    - -@(Html.EJ().Chart("chartContainer") - .ColumnDefinitions(cdn => - { - cdn.ColumnWidth(50).Add(); - }) - -
    -Property:Columns.Width -
    - -@Html.EJS().Chart("container") -.Columns(columns => - { - columns.width("50%").Add(); - }) - -
    Line customization -Property:LineColor, LineWidth -
    - -@(Html.EJ().Chart("chartContainer") - .ColumnDefinitions(cdn => - { - cdn.ColumnWidth(50).LineColor('red').LineWidth(2).Add(); - }) -) - -
    -Property:Columns.Border -
    - -@Html.EJS().Chart("container") -.Columns(columns => - { - columns.Width("50%").Border(br => br.Width("2").Color("red")).Add(); - }) - -
    - -## CommonSeriesOptions - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    commonSeriesOptions -Property:CommonSeriesOptions -
    - -@(Html.EJ().Chart("chartContainer") -.CommonSeriesOptions() - -
    -Not applicable
    - -## Crosshair - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    crosshair -Property:Crosshair.Visible -
    - -@(Html.EJ().Chart("chartContainer") -.Crosshair(crosshair=>crosshair.Visible(true)) - -
    -Property:Crosshair.Enable -
    - -@Html.EJS().Chart("container") -.Crosshair(cr=>cr.Enable(true)) - -
    trackballTooltipSettings -Property:TrackballTooltipSettings -
    - -@(Html.EJ().Chart("chartContainer") -.Crosshair(crosshair => crosshair.TrackballTooltipSettings(tr => tr.Border(br => br.Width(2))) - - -
    -Not applicable -
    marker -Property:Marker -
    - -@(Html.EJ().Chart("chartContainer") -.Crosshair(crosshair => crosshair.Marker(mr => mr.Border(br => br.Width(2))) - -
    -Not applicable -
    crosshair line style -Property:Line -
    - -@(Html.EJ().Chart("chartContainer") -.Crosshair(crosshair => crosshair.Line(line=>line.Color("grey").Width(2))) - -
    -Property:Line -
    - -@Html.EJS().Chart("container") -.Crosshair(crosshair => crosshair.Line(line => line.Border(br => br.Width(2).Color("grey"))) - -
    type -Property:Type -
    - -@(Html.EJ().Chart("chartContainer") -.Crosshair(crosshair => crosshair.Type("trackball")) - -
    -Not applicable -
    - -## 3D chart - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    3d chart -Property:Enable3D -
    - -@(Html.EJ().Chart("chartContainer") -.Enable3D(true) -) - -
    -Not applicable -
    Rotation of 3d chart -Property:EnableRotation -
    - -@(Html.EJ().Chart("chartContainer") -.EnableRotation(true) -) - - -
    -Not applicable -
    depth -Property:Depth -
    - -@(Html.EJ().Chart("chartContainer") -.Depth(120) -) - -
    -Not applicable -
    - -## Canvas rendering - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    canvas rendering -Property:EnableCanvasRendering -
    - -@(Html.EJ().Chart("chartContainer") -.EnableCanvasRendering(true) -) - -
    -Not applicable -
    - -## Indicators - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Type of Indicator -Property:Type -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind - .Type(ChartIndicatorType.AccumulationDistribution).Add(); - }) -) - -
    -Property:Type -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.Type(Syncfusion.EJ2.Charts.TechnicalIndicators.AccumulationDistribution).Add();}) - -
    Period for indicator -Property:Period -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind - .Period(3).Add(); - }) -) - - -
    -Property:Period -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.Period(3).Add();}) - -
    %K value in stochastic indicator -Property:KPeriod -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind - .KPeriod(14).Add(); - }) -) - -
    -Property:KPeriod -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.KPeriod("14").Add();}) - -
    %D value in stochastic indicator -Property:DPeriod -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind - .DPeriod("3").Add(); - }) -) - -
    -Property:DPeriod -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.DPeriod("3").Add();}) - -
    Shows overSold/overBought values -Not Applicable - -Property:ShowZones -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.ShowZones(true).Add();}) - -
    Overbought value for RSI and stochastic indicator -Not Applicable - -Property:OverBought -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.OverBought("80").Add();}) - -
    Oversold value for RSI and stochastic indicator -Not Applicable - -Property:OverSold -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.OverSold("20").Add();}) - -
    Standard deviation for Bollingerbands -Property:StandardDeviations -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind - .StandardDeviations("2").Add(); - }) -) - -
    -Property:StandardDeviation -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.StandardDeviation("2").Add();}) - -
    Field for indicator -Property:Field -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind - .Field("Close").Add(); - }) -) - -
    -Property:Field -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.Field(Syncfusion.EJ2.Charts.FinancialDataFields.Close).Add();}) - -
    Slow period for MACD indicator -Property:ShortPeriod -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind - .ShortPeriod("12").Add(); - }) -) - -
    -Property:slowPeriod -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.slowPeriod("12").Add();}) - -
    Fast period for MACD indicator -Property:LongPeriod -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind - .LongPeriod("26").Add(); - }) -) - -
    -Property:FastPeriod -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.FastPeriod("26").Add();}) - -
    Line style for MACD indicator -Property:MacdLine -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind - .MacdLine(ma => ma.Width("2").Fill("red")).Add(); - }) -) - -
    -Property:MacdLine -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.MacdLine(ma => ma.Width("2").Fill("red")).Add();}) - -
    Type of MACD indicator -Property:Type -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.Type(ChartIndicatorType.MACD).Add(); - }) -) - -
    -Property:MacdType -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.MacdType(Syncfusion.EJ2.Charts.MacdType.Both).Add();}) - -
    Color of the positive bars in Macd indicators -Not Applicable - -Property:MacdPositiveColor -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.MacdPositiveColor("red").Add();}) - -
    Color of the negative bars in Macd indicators -Not Applicable - -Property:MacdNegativeColor -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.MacdNegativeColor("red").Add();}) - -
    Color for Bollinger bands -Not Applicable - -Property:BandColor -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.BandColor("red").Add();}) - -
    Appearance of upper line in indicator -Property:UpperLine -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.UpperLine(up => up.Fill("red").Width("2")).Add(); - }) -) - -
    -Property:UpperLine -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.UpperLine(up => up.Fill("red").Width("2")).Add();}) - -
    Appearance of lower line in indicator -Property:LowerLine -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.LowerLine(lo => lo.Fill("red").Width("2")).Add(); - }) -) - -
    -Property:LowerLine -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.LowerLine(lo => lo.Fill("red").Width("2")).Add();}) - -
    Appearance of period line in indicator -Property:PeriodLine -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.PeriodLine(pl => pl.Fill("red").Width("2")).Add(); - }) -) - -
    -Property:PeriodLine -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.PeriodLine(pl => pl.Fill("red").Width("2")).Add();}) - -
    Name of the series for which indicator has to be drawn -Property:SeriesName -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.SeriesName("series1").Add(); - }) -) - -
    -Property:SeriesName -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.SeriesName("series1")).Add();}) - -
    Options to customize the histogram in MACD indicator -Property:Histogram -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind. Histogram().Add(); - }) -) - -
    -Not Applicable -
    Enabling animation -Property:EnableAnimation -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind. enableAnimation(true).Add(); - }) -) - -
    -Property:Animation.Enable -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.Animation(an => an.Enable(true)).Add();}) - -
    Animation duration -Property:AnimationDuration -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind. animationDuration("3000").Add(); - }) -) - -
    -Property:Animation.Duration -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.Animation(an => an.Duration("3000")).Add();}) - -
    Tooltip -Property:Tooltip.Visible - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.Tooltip(tp => tp.Visible(true)).Add(); - }) -) - - -Not Applicable -
    Trigger value of MACD indicator -Property:Trigger -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.Trigger("14").Add(); - }) -) - -
    -Not Applicable -
    Fill color for indicator -Property:Fill -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.Fill("red").Add(); - }) -) - -
    -Property:Fill -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.Fill("red").Add();}) - -
    Width for indicator -Property:Width -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.Width("2").Add(); - }) -) - -
    -Property:Width -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.Width("2").Add();}) - -
    xAxis Name of indicator -Property:XAxisName -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.XAxisName("").Add(); - }) -) - -
    -Property:XAxisName -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.XAxisName("").Add();}) - -
    yAxis Name of indicator -Property:YAxisName -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.YAxisName("").Add(); - }) -) - -
    -Property:YAxisName -
    - -@Html.EJS().Chart("container").Indicators(id =>{id.YAxisName("").Add();}) - -
    Visibility of indicator -Property:Visibility -
    - -@(Html.EJ().Chart("chartContainer") -.Indicators(ind => { ind.Visibility(true).Add(); - }) -) - -
    -Not Applicable -
    - -## Legend - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Default legend -Property:Legend.Visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Visible(true)) -) - -
    -Property:LegendSettings.Visible -
    -
    - -@Html.EJS().Chart("container").LegendSettings(legend => legend.Visible(true)) - -
    Legend height -Property:Size.Height -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Size(sz => sz.Height("50")))) - -
    -Property:Height -
    -
    - -@Html.EJS().Chart("container").LegendSettings(legend => legend.Height("50")) - -
    Legend width -Property:Size.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Size(sz => sz.Width("50")))) - -
    -Property:Width -
    -
    - -@Html.EJS().Chart("container").LegendSettings(legend => legend.Width("50")) - -
    Legend location in chart -Property:Location -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Location(loc => loc.X("3").Y("45")))) - -
    -Property:Location -
    -
    - -@Html.EJS().Chart("container").LegendSettings(le => le.Location(loc => loc.X("3").Y("45"))) - -
    Legend position in chart -Property:Position -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Position(LegendPosition.Top))) - -
    -Property:Position -
    -
    - -@Html.EJS().Chart("container").LegendSettings(le => le.Position(Syncfusion.EJ2.Charts.LegendPosition.Top)) - -
    Legend padding -Not applicable - -Property:Padding -
    -
    - -@Html.EJS().Chart("container").LegendSettings(le => le.Padding("8")) - -
    Legend alignment -Property:Alignment -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Alignment(Syncfusion.JavaScript.DataVisualization.TextAlignment.Far))) - -
    -Property:Alignment -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(le => le.Alignment(Syncfusion.EJ2.Charts.Alignment.Far)) - -
    Text style for legend -Property:Font -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Font(font=>font.FontFamily("Segoe UI").FontStyle(ChartFontStyle.Italic) - .FontWeight(ChartFontWeight.Bold).Size("12px")))) - -
    -Property:Font -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(le => le.Font(ViewBag.font)) - -
    Shape height of legend -Property:ItemStyle.Height -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.ItemStyle(item=>item.Height(13)))) - -
    -Property:ShapeHeight -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(le => le.ShapeHeight(20)) - -
    Shape width of legend -Property:ItemStyle.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.ItemStyle(item=>item.Width("20")))) - -
    -Property:ShapeWidth -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(le => le.ShapeWidth("20")) - -
    Shape border of legend -Property:ItemStyle.Border -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.ItemStyle(item=>item.Border(br=>br.Width(1).Color("#FF0000"))))) - -
    -Not Applicable -
    Shape padding of legend -Property:ItemPadding -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.ItemPadding(15))) - -
    -Property:ShapePadding -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(le => le.ShapePadding("20")) - -
    Background of legend -Property:Background -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Background("transparent"))) - -
    -Property:Backgorund -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(le => le.Backgorund("transparent")) - -
    Opacity of legend -Property:Opacity -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Opacity("0.3"))) - -
    -Property:Opacity -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(le => le.Opacity("0.3")) - -
    Toggle visibility of series while legend click -Property:ToggleSeriesVisibility -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.ToggleSeriesVisibility(true))) - -
    -Property:ToggleVisibility -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(le => le.ToggleVisibility(true)) - -
    Title for legend -Property:Title -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Title())) - -
    -Not applicable -
    Text Overflow for legend -Property:TextOverflow -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.TextOverflow(TextOverflow.Trim))) - -
    -Property:TextStyle.TextOverFlow -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(le => le.TextStyle(tx => tx.TextOverFlow("Trim"))) - -
    Text width for legend while setting text overflow -Property:TextWidth -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.TextWidth("3"))) - -
    -Not applicable -
    Scroll bar for legend -Property:EnableScrollBar -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.EnableScrollBar(true))) - -
    -Not applicable -
    Row count for legend -Property:RowCount -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.RowCount("2"))) - -
    -Not applicable -
    Column count for legend -Property:ColumnCount -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.ColumnCount("2"))) - -
    -Not applicable -
    Color for legend items -Property:Fill -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Legend(lg=>lg.Fill("red"))) - -
    -Not applicable -
    - -## primaryXAxis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Alternate grid band -Property:AlternateGridBand -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.AlternateGridBand(alt => alt.even(e => e.Fill("red"))))) - -
    -Not applicable -
    Axis line cross value -Property:CrossesAt -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.CrossesAt(0))) - -
    -Property:CrossesAt -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.CrossesAt(0))) - -
    Axis name with which the axis line has to be crossed -Property:CrossesInAxis -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.CrossesInAxis(""))) - -
    -Property:CrossesInAxis -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.CrossesInAxis("")) - -
    Axis elements placed with axis line -Property:ShowNextToAxisLine -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.ShowNextToAxisLine(true))) - -
    -Property:PlaceNextToAxisLine -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.PlaceNextToAxisLine(true)) - -
    Axis line style -Property:AxisLine.Color -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.AxisLine(al => al.Color("red")))) - -
    -Property:LineStyle.Color -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LineStyle(ls => ls.Color("black"))) - -
    Axis line dashArray -Property:AxisLine.DashArray -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.AxisLine(al => al.DashArray("10,5")))) - -
    -Property:LineStyle.DashArray -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LineStyle(ls => ls.DashArray("10,5"))) - -
    Offset for axis -Property:AxisLine.Offset -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.AxisLine(al => al.Offset("10")))) - -
    -Property:PlotOffset -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LineStyle(ls => ls.PlotOffset("10"))) - -
    Visible of an axis -Property:AxisLine.Visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.AxisLine(al => al.Visible(false)))) - -
    -Property:Visible -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LineStyle(ls => ls.Visible(false))) - -
    Width of an axis -Property:AxisLine.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.AxisLine(al => al.Width("2")))) - -
    -Property:LineStyle.Width -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LineStyle(ls => ls.Width("2"))) - -
    Column index of an axis -Property:ColumnIndex -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.ColumnIndex("2")))) - -
    -Property:ColumnIndex -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.ColumnIndex("2"))) - -
    Span of an axis to place horizontally or vertically -Property:ColumnSpan -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.ColumnSpan("2")))) - -
    -Property:Span -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.Span("2"))) - -
    Crosshair label of an axis -Property:CrossHairLabel.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.CrossHairLabel(cr => cr.Visible(true)))) - -
    -Property:CrossHairTooltip.Enable -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.CrossHairLabel(cr => cr.Enable(true))) - -
    Crosshair label color of an axis -Not applicable - -Property:CrossHairTooltip.Fill -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.CrossHairLabel(cr => cr.Fill("red"))) - -
    Crosshair label text style -Not applicable - -Property:CrossHairTooltip.TextStyle -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.CrossHairLabel(cr => cr.TextStyle())) - -
    Desired interval count for primaryXAxis -Property:DesiredIntervals -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.DesiredIntervals("4"))) - -
    -Property:DesiredIntervals -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.DesiredIntervals("4")) - -
    Edges primaryXAxis -Property:EdgeLabelPlacement -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.EdgeLabelPlacement("none"))) - -
    -Property:EdgeLabelPlacement -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.EdgeLabelPlacement("none")) - -
    Enables trim for axis labels -Property:EnableTrim -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.EnableTrim(true))) - -
    -Property:EnableTrim -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.EnableTrim(true)) - -
    Specifies the interval of the axis according to the zoomed data of the chart -Property:EnableAutoIntervalOnZooming -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.EnableAutoIntervalOnZooming(true))) - -
    -Property:EnableAutoIntervalOnZooming -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.EnableAutoIntervalOnZooming(true)) - -
    Title style for primaryXAxis -Property:Font -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.Font())) - -
    -Property:TitleStyle -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.TitleStyle()) - -
    Indexed for category axis -Property:IsIndexed -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.IsIndexed(true))) - -
    -Property:IsIndexed -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.IsIndexed(true)) - -
    Interval type for date time axis -Property:IntervalType -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.IntervalType("Auto"))) - -
    -Property:IntervalType -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.IntervalType("Auto")) - -
    Inversed axis -Property:IsInversed -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.IsInversed(true))) - -
    -Property:IsInversed -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.IsInversed(true)) - -
    Custom label format -Property:LabelFormat -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.LabelFormat('{value}K'))) - -
    -Property:LabelFormat -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LabelFormat('{value}K')) - -
    labelIntersectAction -Property:LabelIntersectAction -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.LabelIntersectAction("trim"))) - -
    -Property:LabelIntersectAction -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LabelIntersectAction("Trim")) - -
    labelPosition -Property:LabelPosition -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.LabelPosition("inside"))) - -
    -Property:LabelPosition -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LabelPosition("Inside")) - -
    labelPlacement for category axis -Property:LabelPlacement -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.LabelPlacemen("onTicks"))) - -
    -Property:LabelPlacement -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LabelPlacemen("onTicks")) - -
    Axis label alignment -Property:Alignment -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.Alignment("center"))) - -
    -Not Applicable -
    Rotation of axis labels -Property:LabelRotation -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.LabelRotation("45"))) - -
    -Property:LabelRotation -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LabelRotation("45")) - -
    Log base value for logarithmic axis -Property:LogBase -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.LogBase("10"))) - -
    -Property:LogBase -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LogBase("10")) - -
    Major grid line visible -Property:MajorGridLines.visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.Visible(true)))) - -
    -Not Applicable -
    Width of MajorGridLines -Property:MajorGridLines.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.Width("2")))) - -
    -Property:MajorGridLines.Width -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.Width("2"))) - -
    Color of MajorGridLines -Property:MajorGridLines.Color -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.Color("black")))) - -
    -Property:MajorGridLines.Color -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.Color("black"))) - -
    DashArray of MajorGridLines -Property:MajorGridLines.DashArray -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.DashArray("10,2")))) - -
    -Property:MajorGridLines.DashArray -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.DashArray("10,2"))) - -
    Opacity of major grid line -Property:MajorGridLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.Opacity("0.5")))) - -
    -Not Applicable -
    Major Tick line -Property:MajorTickLines.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorTickLines(mtl => mtl.Visible(true)))) - -
    -Not Applicable -
    Width of MajorTickLines -Property:MajorTickLines.Width -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorTickLines(mtl => mtl.Width("2")))) - -
    -Property:MajorTickLines.Width -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.Width("2"))) - -
    Height of MajorTickLines -Property:MajorTickLines.Size -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorTickLines(mtl => mtl.Size("2")))) - -
    -Property:MajorTickLines.Height -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.Height("2"))) - -
    Color of MajorTickLines -Property:MajorTickLines.Color -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorTickLines(mtl => mtl.Color("black")))) - -
    -Property:MajorTickLines.Color -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MajorGridLines(mgl => mgl.Color("black"))) - -
    Opacity of major Tick line -Property:MajorTickLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MajorTickLines(mtl => mtl.Opacity("0.5")))) - -
    -Not Applicable -
    maximum labels of primaryXAxis -Property:MaximumLabels -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MaximumLabels("5"))) - -
    -Property:MaximumLabels -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MaximumLabels("5")) - -
    maximum labels width of primaryXAxis to trim -Property:MaximumLabelWidth -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MaximumLabelWidth("40"))) - -
    -Property:MaximumLabelWidth -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MaximumLabelWidth("40")) - -
    minor grid line -Property:MinorGridLines.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorGridLines(mi => mi.Visible(true)))) - -
    -Not Applicable -
    Width of minorGridLines -Property:MinorGridLines.Width -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorGridLines(mi => mi.Width("2")))) - -
    -Property:MinorGridLines.Width -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MinorGridLines(mi => mi.Width("2"))) - -
    Color of minorGridLines -Property:MinorGridLines.Color -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorGridLines(mi => mi.Color("black")))) - -
    -Property:MinorGridLines.Color -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MinorGridLines(mi => mi.Color("black"))) - -
    DashArray of minorGridLines -Property:MinorGridLines.DashArray -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorGridLines(mi => mi.DashArray("10,5")))) - -
    -Property:MinorGridLines.DashArray -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MinorGridLines(mi => mi.DashArray("10,5"))) - -
    Opacity of minor grid line -Property:MinorGridLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorGridLines(mi => mi.Opacity("0.5")))) - -
    -Not Applicable -
    minor Tick line -Property:MinorTickLines.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorTickLines(mit => mit.Visible(true)))) - -
    -Not Applicable -
    Width of minorTickLines -Property:MinorTickLines.Width -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorTickLines(mit => mit.Width("2")))) - -
    -Property:MinorTickLines.Width -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MinorTickLines(mi => mi.Width("2"))) - -
    Height of minorTickLines -Property:MinorTickLines.Size -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorTickLines(mit => mit.Size("2")))) - -
    -Property:MinorTickLines.Height -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MinorTickLines(mi => mi.Height("2"))) - -
    Color of minorTickLines -Property:MinorTickLines.Color -
    -
    -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorTickLines(mit => mit.Color("black")))) - -
    -Property:MinorTickLines.Color -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MinorTickLines(mi => mi.Color("black"))) - -
    Opacity of minor Tick line -Property:MinorTickLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorTickLines(mit => mit.Opacity("0.5")))) - -
    -Not Applicable -
    Minor ticks per interval of primaryXAxis -Property:MinorTicksPerInterval -
    -
    - -Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MinorTicksPerInterval("4")) - -
    -Property:MinorTicksPerInterval -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MinorTicksPerInterval("4")) - -
    name of the primaryXAxis -Property:Name -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.Name("primaryXAxis"))) - -
    -Property:Name -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.Name("primaryXAxis")) - -
    Orientation of primaryXAxis -Property:Orientation -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.Orientation("Horizontal"))) - -
    -Not Applicable -
    Plot offset for primaryXAxis -Property:PlotOffset -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.PlotOffset("0"))) - -
    -Property:PlotOffset -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.PlotOffset("0")) - -
    minimum for primaryXAxis -Property:Range.Minimum -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.Range(r => r.Minimum("10")))) - -
    -Property:Minimum -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.Minimum("10")) - -
    maximum for primaryXAxis -Property:Range.Maximum -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.Range(r => r.Maximum("23")))) - -
    -Property:Maximum -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.Maximum("23")) - -
    interval for primaryXAxis -Property:Range.Interval -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.Range(r => r.Interval("2")))) - -
    -Property:Interval -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.Interval("2")) - -
    RangePadding for primaryXAxis -Property:RangePadding -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.RangePadding("none"))) - -
    -Property:RangePadding -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.RangePadding("none")) - -
    Rounding Places in primaryXAxis -Property:RoundingPlaces -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.RoundingPlaces("3"))) - -
    -Property:LabelFormat -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.LabelFormat("n3")) - -
    ScrollBar settings of primaryXAxis -Property:ScrollbarSettings -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.ScrollbarSettings())) - -
    -Not Applicable -
    TickPosition in primaryXAxis -Property:TickLinesPosition -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.TickLinesPosition("Inside"))) - -
    -Property:TickPosition -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.TickPosition("Inside"))) - -
    valueType of primaryXAxis -Property:ValueType -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.ValueType("DateTime"))) - -
    -Property:ValueType -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.ValueType("DateTime")) - -
    visible of primaryXAxis -Property:Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.Visible(true))) - -
    -Property:Visible -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.Visible(true)) - -
    zoomFactor of primaryXAxis -Property:ZoomFactor -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.ZoomFactor("0.3"))) - -
    -Property:ZoomFactor -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.ZoomFactor("0.3")) - -
    zoomPosition of primaryXAxis -Property:ZoomPosition -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.ZoomPosition("0.3"))) - -
    -Property:ZoomPosition -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.ZoomPosition("0.3")) - -
    labelBorder of primaryXAxis -Property:LabelBorder -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.LabelBorder(lb => lb.Color("red").Width("2")))) - -
    -Property:Border -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.Border(b => b.Color("red").Width("2"))) - -
    title of primaryXAxis -Property:Title.Text -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.Title(t => t.Text("Chart Title")))) - -
    -Property:Title -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.Title("Chart Title") - -
    StripLine of primaryXAxis -Property:StripLine -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.StripLine())) - -
    -Property:StripLines -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.StripLines()) - -
    Multilevel labels of primaryXAxis -Property:MultiLevelLabels -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px=>px.MultiLevelLabels))) - -
    -Property:MultiLevelLabels -
    -
    - -@Html.EJS().Chart("container") -.PrimaryXAxis(px=>px.MultiLevelLabels()) - -
    skeleton for an axes -Not Applicable - -Property:Skeleton -
    -
    - -@Html.EJS().Chart("container") -.Axes(ax=>ax.Skeleton('yMd')) - -
    skeleton type for an axes -Not Applicable - -Property:SkeletonType -
    -
    - -@Html.EJS().Chart("container") -.Axes(ax=>ax.SkeletonType("DateTime")) - -
    - -## primaryYAxis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Alternate grid band -Property:AlternateGridBand -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryYAxis(px=>px.AlternateGridBand(alt => alt.even(e => e.Fill("red"))))) - -
    -Not applicable -
    Axis line cross value -Property:CrossesAt -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryYAxis(px=>px.CrossesAt(0))) - -
    -Property:CrossesAt -
    -
    - -@Html.EJS().Chart("container") -.PrimaryYAxis(px=>px.CrossesAt(0))) - -
    Axis name with which the axis line has to be crossed -Property:CrossesInAxis -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryYAxis(px=>px.CrossesInAxis(""))) - -
    -Property:CrossesInAxis -
    -
    - -@Html.EJS().Chart("container") -.PrimaryYAxis(px=>px.CrossesInAxis("")) - -
    Axis elements placed with axis line -Property:ShowNextToAxisLine -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryYAxis(px=>px.ShowNextToAxisLine(true))) - -
    -Property:PlaceNextToAxisLine -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.PlaceNextToAxisLine(true)) - -
    Axis line style -Property:AxisLine.Color -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.AxisLine(al => al.Color("red")))) - -
    -Property:LineStyle.Color -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LineStyle(ls => ls.Color("black"))) - -
    Axis line dashArray -Property:AxisLine.DashArray -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.AxisLine(al => al.DashArray("10,5")))) - -
    -Property:LineStyle.DashArray -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LineStyle(ls => ls.DashArray("10,5"))) - -
    Offset for axis -Property:AxisLine.Offset -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.AxisLine(al => al.Offset("10")))) - -
    -Property:PlotOffset -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LineStyle(ls => ls.PlotOffset("10"))) - -
    Visible of an axis -Property:AxisLine.Visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.AxisLine(al => al.Visible(false)))) - -
    -Property:Visible -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LineStyle(ls => ls.Visible(false))) - -
    Width of an axis -Property:AxisLine.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.AxisLine(al => al.Width("2")))) - -
    -Property:LineStyle.Width -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LineStyle(ls => ls.Width("2"))) - -
    Column index of an axis -Property:ColumnIndex -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.ColumnIndex("2")))) - -
    -Property:ColumnIndex -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.ColumnIndex("2"))) - -
    Span of an axis to place horizontally or vertically -Property:ColumnSpan -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.ColumnSpan("2")))) - -
    -Property:Span -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.Span("2"))) - -
    Crosshair label of an axis -Property:CrossHairLabel.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.CrossHairLabel(cr => cr.Visible(true)))) - -
    -Property:CrossHairTooltip.Enable -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.CrossHairLabel(cr => cr.Enable(true))) - -
    Crosshair label color of an axis -Not applicable - -Property:CrossHairTooltip.Fill -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.CrossHairLabel(cr => cr.Fill("red"))) - -
    Crosshair label text style -Not applicable - -Property:CrossHairTooltip.TextStyle -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.CrossHairLabel(cr => cr.TextStyle())) - -
    Desired interval count for primaryYAxis -Property:DesiredIntervals -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.DesiredIntervals("4"))) - -
    -Property:DesiredIntervals -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.DesiredIntervals("4")) - -
    Edges primaryYAxis -Property:EdgeLabelPlacement -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.EdgeLabelPlacement("none"))) - -
    -Property:EdgeLabelPlacement -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.EdgeLabelPlacement("none")) - -
    Enables trim for axis labels -Property:EnableTrim -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.EnableTrim(true))) - -
    -Property:EnableTrim -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.EnableTrim(true)) - -
    Specifies the interval of the axis according to the zoomed data of the chart -Property:EnableAutoIntervalOnZooming -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.EnableAutoIntervalOnZooming(true))) - -
    -Property:EnableAutoIntervalOnZooming -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.EnableAutoIntervalOnZooming(true)) - -
    Title style for primaryYAxis -Property:Font -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.Font())) - -
    -Property:TitleStyle -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.TitleStyle()) - -
    Indexed for category axis -Property:IsIndexed -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.IsIndexed(true))) - -
    -Property:IsIndexed -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.IsIndexed(true)) - -
    Interval type for date time axis -Property:IntervalType -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.IntervalType("Auto"))) - -
    -Property:IntervalType -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.IntervalType("Auto")) - -
    Inversed axis -Property:IsInversed -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.IsInversed(true))) - -
    -Property:IsInversed -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.IsInversed(true)) - -
    Custom label format -Property:LabelFormat -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.LabelFormat('{value}K'))) - -
    -Property:LabelFormat -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LabelFormat('{value}K')) - -
    labelIntersectAction -Property:LabelIntersectAction -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.LabelIntersectAction("trim"))) - -
    -Property:LabelIntersectAction -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LabelIntersectAction("Trim")) - -
    labelPosition -Property:LabelPosition -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.LabelPosition("inside"))) - -
    -Property:LabelPosition -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LabelPosition("Inside")) - -
    labelPlacement for category axis -Property:LabelPlacement -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.LabelPlacemen("onTicks"))) - -
    -Property:LabelPlacement -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LabelPlacemen("onTicks")) - -
    Axis label alignment -Property:Alignment -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.Alignment("center"))) - -
    -Not Applicable -
    Rotation of axis labels -Property:LabelRotation -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.LabelRotation("45"))) - -
    -Property:LabelRotation -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LabelRotation("45")) - -
    Log base value for logarithmic axis -Property:LogBase -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.LogBase("10"))) - -
    -Property:LogBase -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LogBase("10")) - -
    Major grid line visible -Property:MajorGridLines.visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.Visible(true)))) - -
    -Not Applicable -
    Width of MajorGridLines -Property:MajorGridLines.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.Width("2")))) - -
    -Property:MajorGridLines.Width -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.Width("2"))) - -
    Color of MajorGridLines -Property:MajorGridLines.Color -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.Color("black")))) - -
    -Property:MajorGridLines.Color -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.Color("black"))) - -
    DashArray of MajorGridLines -Property:MajorGridLines.DashArray -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.DashArray("10,2")))) - -
    -Property:MajorGridLines.DashArray -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.DashArray("10,2"))) - -
    Opacity of major grid line -Property:MajorGridLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.Opacity("0.5")))) - -
    -Not Applicable -
    Major Tick line -Property:MajorTickLines.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorTickLines(mtl => mtl.Visible(true)))) - -
    -Not Applicable -
    Width of MajorTickLines -Property:MajorTickLines.Width -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorTickLines(mtl => mtl.Width("2")))) - -
    -Property:MajorTickLines.Width -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.Width("2"))) - -
    Height of MajorTickLines -Property:MajorTickLines.Size -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorTickLines(mtl => mtl.Size("2")))) - -
    -Property:MajorTickLines.Height -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.Height("2"))) - -
    Color of MajorTickLines -Property:MajorTickLines.Color -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorTickLines(mtl => mtl.Color("black")))) - -
    -Property:MajorTickLines.Color -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MajorGridLines(mgl => mgl.Color("black"))) - -
    Opacity of major Tick line -Property:MajorTickLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MajorTickLines(mtl => mtl.Opacity("0.5")))) - -
    -Not Applicable -
    maximum labels of primaryYAxis -Property:MaximumLabels -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MaximumLabels("5"))) - -
    -Property:MaximumLabels -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MaximumLabels("5")) - -
    maximum labels width of primaryYAxis to trim -Property:MaximumLabelWidth -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MaximumLabelWidth("40"))) - -
    -Property:MaximumLabelWidth -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MaximumLabelWidth("40")) - -
    minor grid line -Property:MinorGridLines.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorGridLines(mi => mi.Visible(true)))) - -
    -Not Applicable -
    Width of minorGridLines -Property:MinorGridLines.Width -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorGridLines(mi => mi.Width("2")))) - -
    -Property:MinorGridLines.Width -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MinorGridLines(mi => mi.Width("2"))) - -
    Color of minorGridLines -Property:MinorGridLines.Color -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorGridLines(mi => mi.Color("black")))) - -
    -Property:MinorGridLines.Color -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MinorGridLines(mi => mi.Color("black"))) - -
    DashArray of minorGridLines -Property:MinorGridLines.DashArray -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorGridLines(mi => mi.DashArray("10,5")))) - -
    -Property:MinorGridLines.DashArray -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MinorGridLines(mi => mi.DashArray("10,5"))) - -
    Opacity of minor grid line -Property:MinorGridLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorGridLines(mi => mi.Opacity("0.5")))) - -
    -Not Applicable -
    minor Tick line -Property:MinorTickLines.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorTickLines(mit => mit.Visible(true)))) - -
    -Not Applicable -
    Width of minorTickLines -Property:MinorTickLines.Width -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorTickLines(mit => mit.Width("2")))) - -
    -Property:MinorTickLines.Width -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MinorTickLines(mi => mi.Width("2"))) - -
    Height of minorTickLines -Property:MinorTickLines.Size -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorTickLines(mit => mit.Size("2")))) - -
    -Property:MinorTickLines.Height -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MinorTickLines(mi => mi.Height("2"))) - -
    Color of minorTickLines -Property:MinorTickLines.Color -
    -
    -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorTickLines(mit => mit.Color("black")))) - -
    -Property:MinorTickLines.Color -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MinorTickLines(mi => mi.Color("black"))) - -
    Opacity of minor Tick line -Property:MinorTickLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorTickLines(mit => mit.Opacity("0.5")))) - -
    -Not Applicable -
    Minor ticks per interval of primaryYAxis -Property:MinorTicksPerInterval -
    -
    - -Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.MinorTicksPerInterval("4")) - -
    -Property:MinorTicksPerInterval -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.MinorTicksPerInterval("4")) - -
    name of the primaryYAxis -Property:Name -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.Name("primaryYAxis"))) - -
    -Property:Name -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.Name("primaryYAxis")) - -
    Orientation of primaryYAxis -Property:Orientation -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.Orientation("Horizontal"))) - -
    -Not Applicable -
    Plot offset for primaryYAxis -Property:PlotOffset -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.PlotOffset("0"))) - -
    -Property:PlotOffset -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.PlotOffset("0")) - -
    minimum for primaryYAxis -Property:Range.Minimum -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.Range(r => r.Minimum("10")))) - -
    -Property:Minimum -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.Minimum("10")) - -
    maximum for primaryYAxis -Property:Range.Maximum -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.Range(r => r.Maximum("23")))) - -
    -Property:Maximum -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.Maximum("23")) - -
    interval for primaryYAxis -Property:Range.Interval -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.Range(r => r.Interval("2")))) - -
    -Property:Interval -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.Interval("2")) - -
    RangePadding for primaryYAxis -Property:RangePadding -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.RangePadding("none"))) - -
    -Property:RangePadding -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.RangePadding("none")) - -
    Rounding Places in primaryYAxis -Property:RoundingPlaces -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.RoundingPlaces("3"))) - -
    -Property:LabelFormat -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.LabelFormat("n3")) - -
    ScrollBar settings of primaryYAxis -Property:ScrollbarSettings -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.ScrollbarSettings())) - -
    -Not Applicable -
    TickPosition in primaryYAxis -Property:TickLinesPosition -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.TickLinesPosition("Inside"))) - -
    -Property:TickPosition -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.TickPosition("Inside"))) - -
    valueType of primaryYAxis -Property:ValueType -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.ValueType("DateTime"))) - -
    -Property:ValueType -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.ValueType("DateTime")) - -
    visible of primaryYAxis -Property:Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.Visible(true))) - -
    -Property:Visible -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.Visible(true)) - -
    zoomFactor of primaryYAxis -Property:ZoomFactor -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.ZoomFactor("0.3"))) - -
    -Property:ZoomFactor -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.ZoomFactor("0.3")) - -
    zoomPosition of primaryYAxis -Property:ZoomPosition -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.ZoomPosition("0.3"))) - -
    -Property:ZoomPosition -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.ZoomPosition("0.3")) - -
    labelBorder of primaryYAxis -Property:LabelBorder -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.LabelBorder(lb => lb.Color("red").Width("2")))) - -
    -Property:Border -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.Border(b => b.Color("red").Width("2"))) - -
    title of primaryYAxis -Property:Title.Text -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.Title(t => t.Text("Chart Title")))) - -
    -Property:Title -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.Title("Chart Title") - -
    StripLine of primaryYAxis -Property:StripLine -
    -
    - -(Html.EJ().Chart("chartContainer") -.primaryYAxis(px=>px.StripLine())) - -
    -Property:StripLines -
    -
    - -@Html.EJS().Chart("container") -.primaryYAxis(px=>px.StripLines()) - -
    Multilevel labels of primaryYAxis -Property:MultiLevelLabels -
    -
    - -(Html.EJ().Chart("chartContainer") -.PrimaryYAxis(px=>px.MultiLevelLabels))) - -
    -Property:MultiLevelLabels -
    -
    - -@Html.EJS().Chart("container") -.PrimaryYAxis(px=>px.MultiLevelLabels()) - -
    skeleton for an axes -Not Applicable - -Property:Skeleton -
    -
    - -@Html.EJS().Chart("container") -.Axes(ax=>ax.Skeleton('yMd')) - -
    skeleton type for an axes -Not Applicable - -Property:SkeletonType -
    -
    - -@Html.EJS().Chart("container") -.Axes(ax=>ax.SkeletonType("DateTime")) - -
    - -## Axes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Alternate grid band -Property:AlternateGridBand -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.AlternateGridBand(alt => alt.even(e => e.Fill("red"))))) - -
    -Not applicable -
    Axis line cross value -Property:CrossesAt -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.CrossesAt(0))) - -
    -Property:CrossesAt -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.CrossesAt(0))) - -
    Axis name with which the axis line has to be crossed -Property:CrossesInAxis -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.CrossesInAxis(""))) - -
    -Property:CrossesInAxis -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.CrossesInAxis("")) - -
    Axis elements placed with axis line -Property:ShowNextToAxisLine -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.ShowNextToAxisLine(true))) - -
    -Property:PlaceNextToAxisLine -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.PlaceNextToAxisLine(true)) - -
    Axis line style -Property:AxisLine.Color -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.AxisLine(al => al.Color("red")))) - -
    -Property:LineStyle.Color -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LineStyle(ls => ls.Color("black"))) - -
    Axis line dashArray -Property:AxisLine.DashArray -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.AxisLine(al => al.DashArray("10,5")))) - -
    -Property:LineStyle.DashArray -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LineStyle(ls => ls.DashArray("10,5"))) - -
    Offset for axis -Property:AxisLine.Offset -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.AxisLine(al => al.Offset("10")))) - -
    -Property:PlotOffset -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LineStyle(ls => ls.PlotOffset("10"))) - -
    Visible of an axis -Property:AxisLine.Visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.AxisLine(al => al.Visible(false)))) - -
    -Property:Visible -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LineStyle(ls => ls.Visible(false))) - -
    Width of an axis -Property:AxisLine.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.AxisLine(al => al.Width("2")))) - -
    -Property:LineStyle.Width -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LineStyle(ls => ls.Width("2"))) - -
    Column index of an axis -Property:ColumnIndex -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.ColumnIndex("2")))) - -
    -Property:ColumnIndex -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.ColumnIndex("2"))) - -
    Span of an axis to place horizontally or vertically -Property:ColumnSpan -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.ColumnSpan("2")))) - -
    -Property:Span -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.Span("2"))) - -
    Crosshair label of an axis -Property:CrossHairLabel.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.CrossHairLabel(cr => cr.Visible(true)))) - -
    -Property:CrossHairTooltip.Enable -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.CrossHairLabel(cr => cr.Enable(true))) - -
    Crosshair label color of an axis -Not applicable - -Property:CrossHairTooltip.Fill -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.CrossHairLabel(cr => cr.Fill("red"))) - -
    Crosshair label text style -Not applicable - -Property:CrossHairTooltip.TextStyle -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.CrossHairLabel(cr => cr.TextStyle())) - -
    Desired interval count for Axes -Property:DesiredIntervals -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.DesiredIntervals("4"))) - -
    -Property:DesiredIntervals -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.DesiredIntervals("4")) - -
    Edges Axes -Property:EdgeLabelPlacement -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.EdgeLabelPlacement("none"))) - -
    -Property:EdgeLabelPlacement -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.EdgeLabelPlacement("none")) - -
    Enables trim for axis labels -Property:EnableTrim -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.EnableTrim(true))) - -
    -Property:EnableTrim -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.EnableTrim(true)) - -
    Specifies the interval of the axis according to the zoomed data of the chart -Property:EnableAutoIntervalOnZooming -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.EnableAutoIntervalOnZooming(true))) - -
    -Property:EnableAutoIntervalOnZooming -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.EnableAutoIntervalOnZooming(true)) - -
    Title style for Axes -Property:Font -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.Font())) - -
    -Property:TitleStyle -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.TitleStyle()) - -
    Indexed for category axis -Property:IsIndexed -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.IsIndexed(true))) - -
    -Property:IsIndexed -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.IsIndexed(true)) - -
    Interval type for date time axis -Property:IntervalType -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.IntervalType("Auto"))) - -
    -Property:IntervalType -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.IntervalType("Auto")) - -
    Inversed axis -Property:IsInversed -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.IsInversed(true))) - -
    -Property:IsInversed -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.IsInversed(true)) - -
    Custom label format -Property:LabelFormat -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.LabelFormat('{value}K'))) - -
    -Property:LabelFormat -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LabelFormat('{value}K')) - -
    labelIntersectAction -Property:LabelIntersectAction -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.LabelIntersectAction("trim"))) - -
    -Property:LabelIntersectAction -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LabelIntersectAction("Trim")) - -
    labelPosition -Property:LabelPosition -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.LabelPosition("inside"))) - -
    -Property:LabelPosition -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LabelPosition("Inside")) - -
    labelPlacement for category axis -Property:LabelPlacement -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.LabelPlacemen("onTicks"))) - -
    -Property:LabelPlacement -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LabelPlacemen("onTicks")) - -
    Axis label alignment -Property:Alignment -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.Alignment("center"))) - -
    -Not Applicable -
    Rotation of axis labels -Property:LabelRotation -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.LabelRotation("45"))) - -
    -Property:LabelRotation -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LabelRotation("45")) - -
    Log base value for logarithmic axis -Property:LogBase -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.LogBase("10"))) - -
    -Property:LogBase -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LogBase("10")) - -
    Major grid line visible -Property:MajorGridLines.visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorGridLines(mgl => mgl.Visible(true)))) - -
    -Not Applicable -
    Width of MajorGridLines -Property:MajorGridLines.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorGridLines(mgl => mgl.Width("2")))) - -
    -Property:MajorGridLines.Width -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MajorGridLines(mgl => mgl.Width("2"))) - -
    Color of MajorGridLines -Property:MajorGridLines.Color -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorGridLines(mgl => mgl.Color("black")))) - -
    -Property:MajorGridLines.Color -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MajorGridLines(mgl => mgl.Color("black"))) - -
    DashArray of MajorGridLines -Property:MajorGridLines.DashArray -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorGridLines(mgl => mgl.DashArray("10,2")))) - -
    -Property:MajorGridLines.DashArray -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MajorGridLines(mgl => mgl.DashArray("10,2"))) - -
    Opacity of major grid line -Property:MajorGridLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorGridLines(mgl => mgl.Opacity("0.5")))) - -
    -Not Applicable -
    Major Tick line -Property:MajorTickLines.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorTickLines(mtl => mtl.Visible(true)))) - -
    -Not Applicable -
    Width of MajorTickLines -Property:MajorTickLines.Width -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorTickLines(mtl => mtl.Width("2")))) - -
    -Property:MajorTickLines.Width -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MajorGridLines(mgl => mgl.Width("2"))) - -
    Height of MajorTickLines -Property:MajorTickLines.Size -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorTickLines(mtl => mtl.Size("2")))) - -
    -Property:MajorTickLines.Height -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MajorGridLines(mgl => mgl.Height("2"))) - -
    Color of MajorTickLines -Property:MajorTickLines.Color -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorTickLines(mtl => mtl.Color("black")))) - -
    -Property:MajorTickLines.Color -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MajorGridLines(mgl => mgl.Color("black"))) - -
    Opacity of major Tick line -Property:MajorTickLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MajorTickLines(mtl => mtl.Opacity("0.5")))) - -
    -Not Applicable -
    maximum labels of Axes -Property:MaximumLabels -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MaximumLabels("5"))) - -
    -Property:MaximumLabels -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MaximumLabels("5")) - -
    maximum labels width of Axes to trim -Property:MaximumLabelWidth -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MaximumLabelWidth("40"))) - -
    -Property:MaximumLabelWidth -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MaximumLabelWidth("40")) - -
    minor grid line -Property:MinorGridLines.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorGridLines(mi => mi.Visible(true)))) - -
    -Not Applicable -
    Width of minorGridLines -Property:MinorGridLines.Width -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorGridLines(mi => mi.Width("2")))) - -
    -Property:MinorGridLines.Width -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MinorGridLines(mi => mi.Width("2"))) - -
    Color of minorGridLines -Property:MinorGridLines.Color -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorGridLines(mi => mi.Color("black")))) - -
    -Property:MinorGridLines.Color -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MinorGridLines(mi => mi.Color("black"))) - -
    DashArray of minorGridLines -Property:MinorGridLines.DashArray -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorGridLines(mi => mi.DashArray("10,5")))) - -
    -Property:MinorGridLines.DashArray -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MinorGridLines(mi => mi.DashArray("10,5"))) - -
    Opacity of minor grid line -Property:MinorGridLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorGridLines(mi => mi.Opacity("0.5")))) - -
    -Not Applicable -
    minor Tick line -Property:MinorTickLines.Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorTickLines(mit => mit.Visible(true)))) - -
    -Not Applicable -
    Width of minorTickLines -Property:MinorTickLines.Width -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorTickLines(mit => mit.Width("2")))) - -
    -Property:MinorTickLines.Width -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MinorTickLines(mi => mi.Width("2"))) - -
    Height of minorTickLines -Property:MinorTickLines.Size -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorTickLines(mit => mit.Size("2")))) - -
    -Property:MinorTickLines.Height -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MinorTickLines(mi => mi.Height("2"))) - -
    Color of minorTickLines -Property:MinorTickLines.Color -
    -
    -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorTickLines(mit => mit.Color("black")))) - -
    -Property:MinorTickLines.Color -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MinorTickLines(mi => mi.Color("black"))) - -
    Opacity of minor Tick line -Property:MinorTickLines.Opacity -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorTickLines(mit => mit.Opacity("0.5")))) - -
    -Not Applicable -
    Minor ticks per interval of Axes -Property:MinorTicksPerInterval -
    -
    - -Html.EJ().Chart("chartContainer") -.Axes(px=>px.MinorTicksPerInterval("4")) - -
    -Property:MinorTicksPerInterval -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MinorTicksPerInterval("4")) - -
    name of the Axes -Property:Name -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.Name("Axes"))) - -
    -Property:Name -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.Name("Axes")) - -
    Orientation of Axes -Property:Orientation -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.Orientation("Horizontal"))) - -
    -Not Applicable -
    Plot offset for Axes -Property:PlotOffset -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.PlotOffset("0"))) - -
    -Property:PlotOffset -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.PlotOffset("0")) - -
    minimum for Axes -Property:Range.Minimum -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.Range(r => r.Minimum("10")))) - -
    -Property:Minimum -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.Minimum("10")) - -
    maximum for Axes -Property:Range.Maximum -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.Range(r => r.Maximum("23")))) - -
    -Property:Maximum -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.Maximum("23")) - -
    interval for Axes -Property:Range.Interval -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.Range(r => r.Interval("2")))) - -
    -Property:Interval -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.Interval("2")) - -
    RangePadding for Axes -Property:RangePadding -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.RangePadding("none"))) - -
    -Property:RangePadding -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.RangePadding("none")) - -
    Rounding Places in Axes -Property:RoundingPlaces -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.RoundingPlaces("3"))) - -
    -Property:LabelFormat -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.LabelFormat("n3")) - -
    ScrollBar settings of Axes -Property:ScrollbarSettings -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.ScrollbarSettings())) - -
    -Not Applicable -
    TickPosition in Axes -Property:TickLinesPosition -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.TickLinesPosition("Inside"))) - -
    -Property:TickPosition -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.TickPosition("Inside"))) - -
    valueType of Axes -Property:ValueType -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.ValueType("DateTime"))) - -
    -Property:ValueType -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.ValueType("DateTime")) - -
    visible of Axes -Property:Visible -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.Visible(true))) - -
    -Property:Visible -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.Visible(true)) - -
    zoomFactor of Axes -Property:ZoomFactor -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.ZoomFactor("0.3"))) - -
    -Property:ZoomFactor -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.ZoomFactor("0.3")) - -
    zoomPosition of Axes -Property:ZoomPosition -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.ZoomPosition("0.3"))) - -
    -Property:ZoomPosition -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.ZoomPosition("0.3")) - -
    labelBorder of Axes -Property:LabelBorder -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Axes(px=>px.LabelBorder(lb => lb.Color("red").Width("2")))) - -
    -Property:Border -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.Border(b => b.Color("red").Width("2"))) - -
    title of Axes -Property:Title.Text -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.Title(t => t.Text("Chart Title")))) - -
    -Property:Title -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.Title("Chart Title") - -
    StripLine of Axes -Property:StripLine -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.StripLine())) - -
    -Property:StripLines -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.StripLines()) - -
    Multilevel labels of Axes -Property:MultiLevelLabels -
    -
    - -(Html.EJ().Chart("chartContainer") -.Axes(px=>px.MultiLevelLabels))) - -
    -Property:MultiLevelLabels -
    -
    - -@Html.EJS().Chart("container") -.Axes(px=>px.MultiLevelLabels()) - -
    skeleton for an axes -Not Applicable - -Property:Skeleton -
    -
    - -@Html.EJS().Chart("container") -.Axes(ax=>ax.Skeleton('yMd')) - -
    skeleton type for an axes -Not Applicable - -Property:SkeletonType -
    -
    - -@Html.EJS().Chart("container") -.Axes(ax=>ax.SkeletonType("DateTime")) - -
    - -## Rows - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    rows in chart -Property:RowDefinitions -
    -
    - -@(Html.EJ().Chart("chartContainer") -.RowDefinitions().Add();) - -
    -Property:Rows -
    -
    - -@Html.EJS().Chart("container") -.Rows().Add(); -
    unit -Property:Unit -
    -
    - -@(Html.EJ().Chart("chartContainer") -.RowDefinitions(r => r.Unit("percentage")).Add();) - -
    -Not Applicable -
    height of rows in chart -Property:RowHeight -
    -
    - -@(Html.EJ().Chart("chartContainer") -.RowDefinitions(r => r.owHeight("50")).Add();) - -
    -Property:Height -
    -
    - -@Html.EJS().Chart("container") -.Rows(r => r.Height("300")).Add(); -
    Line customization -Property:lineColor, lineWidth -
    -
    - -@(Html.EJ().Chart("chartContainer") -.RowDefinitions(r => r.owHeight("50").LineColor("brown").LineWidth("2")).Add();) - -
    -Property:Border -
    -
    - -@Html.EJS().Chart("container") -.Rows({r => r.Border(b => b.Width("2").Color("brown")).Height("300")).Add();}); -chart.appendTo('#chart'); -
    - -## Series - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    BearFillColor -Property:BearFillColor -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.BearFillColor("red").Add(); -}) - -
    -Property:BearFillColor -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.BearFillColor("red").Add(); -}) -
    Border -Property:Border -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Border(br => br.Color("red").Width("2").DashArray("10,5")).Add(); -}) - -
    -Property:Border -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Border(br => br.Color("red").Width("2").DashArray("10,5")).Add(); -}) -
    BoxPlotMode -Property:BoxPlotMode -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.BoxPlotMode("inclusive").Add(); -}) - -
    -Property:BoxPlotMode -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.BoxPlotMode("inclusive").Add(); -}) -
    Minimum radius of Bubble series -Property:BubbleOptions.MinRadius -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.BubbleOptions(b => b.MinRadius("2")).Add(); -}) - -
    -Property:MinRadius -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.BubbleOptions(b => b.MinRadius("2")).Add(); -}) -
    Maximum radius of Bubble series -Property:BubbleOptions.MaxRadius -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.BubbleOptions(b => b.MaxRadius("10")).Add(); -}) - -
    -Property:MaxRadius -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.BubbleOptions(b => b.MaxRadius("10")).Add(); -}) -
    bullFillColor -Property:BullFillColor -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.BullFillColor("red").Add(); -}) - -
    -Property:BullFillColor -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.BullFillColor("red").Add(); -}) -
    Cardinal spline tension for spline series -Property:CardinalSplineTension -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.CardinalSplineTension("0.5").Add(); -}) - -
    -Property:CardinalSplineTension -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.CardinalSplineTension("0.5").Add(); -}) -
    Column Width for rectangle series -Property:ColumnWidth -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.ColumnWidth("0.5").Add(); -}) - -
    -Property:ColumnWidth -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.ColumnWidth("0.5").Add(); -}) -
    Column spacing for rectangle series -Property:ColumnSpacing -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.ColumnSpacing("0.5").Add(); -}) - - -
    -Property:ColumnSpacing -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.ColumnSpacing("0.5").Add(); -}) -
    Topleft radius for rectangle series -Property:CornerRadius.TopLeft -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.CornerRadius(c => c.TopLeft(0)).Add(); -}) - - -
    -Property:CornerRadius.TopLeft -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.CornerRadius(c => c.TopLeft(0)).Add(); -}) -
    topRight radius for rectangle series -Property:CornerRadius.TopRight -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.CornerRadius(c => c.TopRight(0)).Add(); -}) - -
    -Property:CornerRadius.TopRight -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.CornerRadius(c => c.TopRight(0)).Add(); -}) -
    bottomRight radius for rectangle series -Property:CornerRadius.BottomRight -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.CornerRadius(c => c.BottomRight(0)).Add(); -}) - -
    -Property:CornerRadius.BottomRight -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.CornerRadius(c => c.BottomRight(0)).Add(); -}) -
    bottomLeft radius for rectangle series -Property:CornerRadius.BottomLeft -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.CornerRadius(c => c.BottomLeft(0)).Add(); -}) - -
    -Property:CornerRadius.BottomLeft -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.CornerRadius(c => c.BottomLeft(0)).Add(); -}) -
    DashArray property -Property:DashArray -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.DashArray("10,5").Add(); -}) - -
    -Property:DashArray -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.DashArray("10,5").Add(); -}) - -
    DataSource for series -Property:DataSource -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.DataSource().Add(); -}) - - -
    -Property:DataSource -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.DataSource().Add(); -}) -
    Draw type for Polar series -Property:DrawType -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.DrawType("Line").Add(); -}) - - -
    -Property:DrawType -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.DrawType("Line").Add(); -}) -
    EmptyPointSettings for series -Property:EmptyPointSettings.Visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.EmptyPointSettings(e => e.Visible(false)).Add(); -}) - - -
    -Not Applicable -
    Empty Point Display mode -Property:EmptyPointSettings.DisplayMode -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.EmptyPointSettings(e => e.DisplayMode("Average")).Add(); -}) - -
    -Property:EmptyPointSettings.DisplayMode -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.EmptyPointSettings(e => e.DisplayMode("Average")).Add(); -}) -
    Empty Point color -Property:EmptyPointSettings.Color -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Color("red").Add(); -}) - -
    -Property:EmptyPointSettings.Fill -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Fill("red").Add(); -}) -
    Empty Point Border -Property:EmptyPointSettings.Border -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.EmptyPointSettings(e => e.Border(b => b.Color("red").Width("2"))).Add(); -}) - - -
    -Property:EmptyPointSettings.Border -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.EmptyPointSettings(e => e.Border(b => b.Color("red").Width("2"))).Add(); -}) -
    Enable animation for series -Property:EnableAnimation -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.EnableAnimation(true).Add(); -}) - -
    -Property:Animation.Enable -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Animation(a => a.Enable(false)).Add(); -}) - -
    Animation duration for series -Property:AnimationDuration -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.AnimationDuration("1000").Add(); -}) - -
    -Property:Animation.Duration -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Animation(a => a.Duration("1000")).Add(); -}) -
    Animation delay for series -Not Applicable - -Property:Animation.Delay -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Animation(a => a.Delay("100")).Add(); -}) -
    Drag settings for series -Property:DragSettings -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.DragSettings(d => d.Mode("X")).Add(); -}) - - -
    -Not Applicable -
    Errorbar settings for series -Property:ErrorBarSettings -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.ErrorBarSettings().Add(); -}) - -
    -Property:ErrorBarSettings -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.ErrorBarSettings().Add(); -}) - -
    Closed series -Property:IsClosed -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.IsClosed(true).Add(); -}) - -
    -Property:IsClosed -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.IsClosed(true).Add(); -}) - -
    Stacking Property for series -Property:IsStacking -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.IsStacking(true).Add(); -}) - -
    -Not Applicable -
    Line cap for series -Property:LineCap -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.LineCap("butt").Add(); -}) - - -
    -Not Applicable -
    Line join for series -Property:LineJoin -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.LineJoin("round").Add(); -}) - -
    -Not Applicable -
    Opacity for series -Property:Opacity -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Opacity("0.7").Add(); -}) - -
    -Property:Opacity -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Opacity("0.7").Add(); -}) - -
    Outlier settings of series -Property:OutLierSettings -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.OutLierSettings(out => out.Shape("rectangle").Size(s => s.Height("30").Width("20"))).Add(); -}) - - -
    -Not Applicable -
    Palette -Property:Palette -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Palette("ColorFieldName").Add(); -}) - - -
    -Property:PointColorMapping -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.PointColorMapping("color").Add(); -}) - - - -
    Positive fill for waterfall series -Property:PositiveFill -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.PositiveFill("red").Add(); -}) - -
    -Property:PositiveFill -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.PositiveFill("red").Add(); -}) - - -
    Show average value in box and whisker series -Property:ShowMedian -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.ShowMedian(true).Add(); -}) - -
    -Property:ShowMedian -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.ShowMedian(true).Add(); -}) - - -
    To group the series of stacking collection. -Property:StackingGroup -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.StackingGroup("group").Add(); -}) - -
    -Property:StackingGroup -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.StackingGroup("group").Add(); -}) - - -
    Specifies the type of the series to render in chart. -Property:Type -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Type(SeriesType.Line).Add(); -}) - -
    -Property:Type -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Type(Syncfusion.EJ2.Charts.ChartSeriesType.Line).Add(); -}) - - -
    Defines the visibility of the series. -Property:Visibility -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Visibility(true).Add(); -}) - -
    -Property:Visible -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Visible(true).Add(); -}) - - -
    Enables or disables the visibility of legend item. -Property:VisibleOnLegend -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.VisibleOnLegend(true).Add(); -}) - -
    -Property:ToggleVisibility -
    -
    - -@Html.EJS().Chart("container") -.LegendSettings(l => l.ToggleVisibility(true)) -}) - - -
    Specifies the different types of spline curve. -Property:SplineType -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.SplineType('Natural').Add(); -}) - -
    -Property:SplineType -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.SplineType('Natural').Add(); -}) - -
    Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection. -Property:XAxisName -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.XAxisName('secondaryXAxis').Add(); -}) - -
    -Property:XAxisName -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.XAxisName('secondaryXAxis').Add(); -}) - - -
    Name of the property in the datasource that contains x value for the series. -Property:XName -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.XName("x").Add(); -}) - -
    -Property:XName -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.XName("x").Add(); -}) - -
    Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection. -Property:YAxisName -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.YAxisName("secondaryYAxis").Add(); -}) - -
    -Property:YAxisName -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.YAxisName("secondaryYAxis").Add(); -}) - - -
    Name of the property in the datasource that contains y value for the series. -Property:YName -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.YName("Y").Add(); -}) - -
    -Property:YName -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.YName("Y").Add(); -}) - -
    Name of the property in the datasource that contains high value for the series. -Property:High -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.High("y").Add(); -}) - -
    -Property:High -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.High("y").Add(); -}) - -
    Name of the property in the datasource that contains low value for the series. -Property:Low -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Low("y").Add(); -}) - -
    -Property:Low -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Low("y").Add(); -}) - -
    Name of the property in the datasource that contains close value for the series. -Property:Close -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Close("y").Add(); -}) - -
    -Property:Close -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Close("y").Add(); -}) - -
    Name of the property in the datasource that contains open value for the series. -Property:Open -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Open("y").Add(); -}) - -
    -Property:Open -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Open("y").Add(); -}) - -
    Option to add trendlines to chart. -Property:TrendLines -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines().Add(); -}) - -
    -Property:TrendLines -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines().Add(); -}) - -
    Options for customizing the appearance of the series or data point while highlighting. -Property:HighlightSettings -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.HighlightSettings().Add(); -}) - -
    -Not applicable. -
    Options for customizing the appearance of the series/data point on selection. -Property:SelectionSettings -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.SelectionSettings().Add(); -}) - -
    -Not applicable. -
    - -## marker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    visibility of marker -Property:Marker.Visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.Visible(true)).Add(); -}) - -
    -Property:Visible -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.Visible(true)).Add(); -}) - - -
    Fill for marker -Property:Fill -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.Fill("red")).Add(); -}) - -
    -Property:Fill -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.Fill("red")).Add(); -}) - - -
    Opacity for marker -Property:Opacity -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.Opacity("0.5")).Add(); -}) - -
    -Property:Opacity -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.Opacity("0.5")).Add(); -}) - - -
    Shape of marker -Property:Shape -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.Shape("Cirlce")).Add(); -}) - -
    -Property:Shape -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.Shape("Cirlce")).Add(); -}) - - -
    ImageUrl of marker -Property:ImageUrl -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.ImageUrl("")).Add(); -}) - -
    -Property:ImageUrl -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.ImageUrl("")).Add(); -}) - - -
    Border of marker -Property:Border -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.Border(b => b.Color("red").Width("2"))).Add(); -}) - -
    -Property:Border -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.IBorder(b => b.Color("red").Width("2"))).Add(); -}) - - -
    Height of marker -Property:Size.Height -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.Size(s => s.Height("30"))).Add(); -}) - -
    -Property:Height -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.Height("30")).Add(); -}) - - -
    Width of marker -Property:Size.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.Size(s => s.Width("30"))).Add(); -}) - -
    -Property:Width -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.Width("30")).Add(); -}) - - -
    DataLabelSettings of marker -Property:Marker.DataLabel -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.Size(s => s.DataLabel())).Add(); -}) - -
    -Property:Marker.DataLabel -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel()).Add(); -}) - - -
    Visibility of dataLabel -Property:DataLabel.Visible -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Visible(true))).Add(); -})) - -
    -Property:DataLabel.Visible -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Visible(true)))).Add(); -}) - -
    Text mapping name of dataLabel -Property:DataLabel.TextMappingName -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.TextMappingName())).Add(); -})) - -
    -Property:DataLabel.Name -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Name()))).Add(); -}) - -
    Fill color of data label -Property:DataLabel.Fill -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Fill("red"))).Add(); -}) - -
    -Property:DataLabel.Fill -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Fill("red"))).Add(); -}) - -
    Opacity of data label -Property:DataLabel.Opacity -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Opacity("0.5"))).Add(); -}) - -
    -Property:DataLabel.Opacity -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Opacity("0.5"))).Add(); -}) - -
    Text position of data label -Property:DataLabel.TextPosition -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.TextPosition("middle"))).Add(); -}) - -
    -Property:DataLabel.Position -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.TextPosition("middle"))).Add(); -}) - -
    Alignment of data label -Property:DataLabel.VerticalAlignment -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.VerticalAlignment("near"))).Add(); -}) - -
    -Property:DataLabel.Alignment -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Alignment("near"))).Add(); -}) - -
    Border of data label -Property:DataLabel.Border -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Border(b => b.Color("blue").Width("2")))).Add(); -}) - -
    -Property:DataLabel.Border -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Border(b => b.Color("blue").Width("2")))).Add(); -}) - -
    Offset for data label -Property:DataLabel.Offset -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Offset(off => off.X("5").Y("6")))).Add(); -}) - -
    -Not Applicable -
    Margin of data label -Property:DataLabel.Margin -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Margin(m => m.Top("10").Bottom("10").Left("10").Right("10")) -.Add();}) - -
    -Property:DataLabel.Margin -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Margin(m => m.Top("10").Bottom("10").Left("10").Right("10")) -.Add();}) - -
    Font of data label -Property:DataLabel.Font -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Font(f => f.FontFamily('SegoeUI').FontStyle('italic').FOntWeight("600").Opacity("0.5") -.Add();}) - -
    -Property:DataLabel.Font -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Font(f => f.FontFamily('SegoeUI').FontStyle('italic').FOntWeight("600").Opacity("0.5") -.Add();}) - -
    HTML template in dataLabel -Property:DataLabel.Template -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Template('
    Chart
    ').Add();}) -
    -
    -Property:DataLabel.Template -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Template('
    Chart
    ').Add();}) -
    -
    Rounded corner radius X -Not Applicable - -Property:dataLabel.Rx -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Rx("5").Add();}) - -
    Rounded corner radius Y -Not Applicable - -Property:dataLabel.Ry -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.Ry("10").Add();}) - -
    Maximum Label width for data label -Property:DataLabel.MaximumLabelWidth -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.MaximumLabelWidth("20").Add();}) - -
    -Not Applicable -
    Enable wrapping of text for data label -Property:DataLabel.EnableWrap -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.EnableWrap(true)).Add();}) - -
    -Not Applicable -
    To show contrast color for data label -Property:DataLabel.ShowContrastColor -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.ShowContrastColor(true)).Add();}) - -
    -Not Applicable -
    To show edge label for data label -Property:DataLabel.ShowEdgeLabels -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.Marker(mar => mar.DataLabel(d => d.ShowEdgeLabels(true)).Add();}) - -
    -Not Applicable -
    - -## TrendLines - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Trendlines settings -Property:Series.TrendLines -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines().Add();}) - -
    -Property:Series.TrendLines -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines().Add();}) -
    Visibility of trendline -Property:TrendLines.Visibility -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.Visibility('visible')).Add();}) - -
    -Not applicable -
    Type of trendLine -Property:TrendLines.Type -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.Type(TrendlineType.Linear)).Add();})) - -
    -Property:TrendLines.Type -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.Type(Syncfusion.EJ2.Charts.TrendlineTypes.Linear)).Add();}) -
    Name of trendLine -Property:TrendLines.Name -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.Name("TrendLines")).Add();})) - -
    -Property:TrendLines.Name -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.Name("TrendLines")).Add();})) -
    Period of trendLine -Property:TrendLines.Period -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.Period("45")).Add();})) - -
    -Property:TrendLines.Period -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.Period("45")).Add();})) -
    Polynomial order for Polynomial type trendLines -Property:TrendLines.PolynomialOrder -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.PolynomialOrder("3")).Add();})) - -
    -Property:TrendLines.PolynomialOrder -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.PolynomialOrder("3")).Add();})) -
    Backward forecost for trendLines -Property:TrendLines.Backwardforecast -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.Backwardforecast("3")).Add();})) - -
    -Property:TrendLines.Backwardforecast -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.Backwardforecast("3")).Add();})) -
    Forward forecost for trendLines -Property:TrendLines.ForwardForecast -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.ForwardForecast("3")).Add();})) - -
    -Property:TrendLines.ForwardForecast -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.ForwardForecast("3")).Add();})) -
    Fill for trendLines -Property:TrendLines.Fill -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.Fill("red")).Add();})) - -
    -Property:TrendLines.Fill -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.Fill("red")).Add();})) -
    Width for trendLines -Property:TrendLines.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.Width("2")).Add();})) - -
    -Property:TrendLines.Width -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.Width("2")).Add();})) -
    Intercept value for trendLines -Property:TrendLines.Intercept -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.Intercept("2")).Add();})) - -
    -Property:TrendLines.Intercept -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.Intercept("2")).Add();})) -
    Legend shape for trendLines -Not Applicable - -Property:TrendLines.LegendShape -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.LegendShape("Rectangle")).Add();})) -
    Animation settings for trendLines -Not Applicable - -Property:TrendLines.Animation -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.Animation(a => a.Enable(true))).Add();})) -
    Marker settings for trendLines -Not Applicable - -Property:TrendLines.Marker -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.Marker(m => m.Visible(true))).Add();})) -
    Tooltip for trendLines -Property:TrendLines.Tooltip -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.Tooltip()).Add();})) - -
    -Property:TrendLines.EnableTooltip -
    -
    - -@Html.EJS().Chart("container") -.Series(sr => { -sr.TrendLines(tr => tr.EnableTooltip(true)).Add();})) -
    DashArray for trendLines -Property:TrendLines.DashArray -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.DashArray("10,5")).Add();})) - -
    -Not Applicable. -
    Visible on legend for trendLines -Property:TrendLines.VisibleOnLegend -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Series(sr => { -sr.TrendLines(tr => tr.VisibleOnLegend(true)).Add();})) - -
    -Not Applicable. -
    - -## StripLines - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Default behaviour for striplines -Property:PrimaryXAxis.StripLines -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.Visible(true)))) -
    -Property:PrimaryXAxis.StripLines -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.Visible(true)))) -
    border for stripline -Property:StripLines.BorderColor -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.BorderColor("pink")))) - -
    -Property:stripLines.Border -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.Border(b => b.Color("pink").WIdth("2")))) -
    Background color for stripline -Property:StripLines.Color -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.Color("pink")))) - -
    -Property:StripLines.Corder -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.Color("pink"))) -
    Start value for stripline -Property:StripLines.Start -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.Start("10")))) - -
    -Property:StripLines.Start -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.Start("10")))) -
    End value for stripline -Property:StripLines.End -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.End("20")))) - -
    -Property:StripLines.End -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.End("10")))) -
    StartfromAxis for stripline -Property:StripLines.StartFromAxis -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.StartFromAxis(true)))) - -
    -Property:StripLines.StartFromAxis -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.StartFromAxis(true)))) -
    Text in stripline -Property:StripLines.Text -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.Text("text")))) - -
    -Property:StripLines.Text -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.Text("text")))) -
    Text alignment in stripline -Property:StripLines.TextAlignment -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.TextAlignment("far")))) - -
    -Property:stripLines.HorizontalAlignment -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.HorizontalAlignment("middle")))) -
    Vertical Text alignment in stripline -Not Applicable - -Property:StripLines.VerticalAlignment -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.VerticalAlignment("far")))) -
    Size of stripline -Property:StripLines.Width -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.Width("10")))) - -
    -Property:StripLines.Size -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.Size("10")))) -
    ZIndex of stripline -Property:StripLines.ZIndex -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.ZIndex("Behind")))) - -
    -Property:stripLines.size -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.ZIndex("Behind")))) -
    Font style of stripline -Property:StripLines.FontStyle -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.StripLines(st => st.FontStyle()))) - -
    -Property:StripLines.TextStyle -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.StripLines(st => st.FontStyle()))) -
    - -## Multilevel Labels - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Default behaviour for multilevelLabels -Property:PrimaryXAxis.MultilevelLabels -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.MultilevelLabels())) - -
    -Property:PrimaryXAxis.MultilevelLabels -
    -
    - -@Html.EJS().Chart("container") -PrimaryXAxis(px => px.MultilevelLabels())) -
    Text alignment for multilevelLabels -Property:MultiLevelLabels.TextAlignment -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.TextAlignment("Near")))) - -
    -Property:MultilevelLabels.Alignment -
    -
    - -@Html.EJ().Chart("container") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Alignment("Near")))) - -
    Text overflow for multilevelLabels -Property:multiLevelLabels.TextOverFlow -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.TextOverFlow("Trim")))) - -
    -Property:MultiLevelLabels.OverFlow -
    -
    - -@Html.EJ().Chart("container") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.OverFlow("Trim")))) - -
    Border for multilevelLabels -Property:multiLevelLabels.Border -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Border(b => b.Width("2").Color("red"))))) - -
    -Property:MultiLevelLabels.Border -
    -
    - -@Html.EJ().Chart("container") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Border(b => b.Width("2").Color("red"))))) - -
    Start value for label -Property:MultiLevelLabels.Start -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Start("45")))) - -
    -Property:MultiLevelLabels.Categories.Start -
    -
    - -@Html.EJ().Chart("container") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Categories(c => c.Start("45")))) - -
    End value for label -Property:MultiLevelLabels.End -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.End("50")))) - -
    -Property:MultiLevelLabels.Categories.End -
    -
    - -@Html.EJ().Chart("container") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Categories(c => c.End("50")))) - -
    Text for label -Property:MultiLevelLabels.Text -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Text("start")))) - -
    -Property:MultiLevelLabels.Categories.Text -
    -
    - -@Html.EJ().Chart("container") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Categories(c => c.Text("start")))) - -
    maximum text width for label -Property:MultiLevelLabels.MaximumTextWidth -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.MaximumTextWidth("20")))) - -
    -Property:MultiLevelLabels.Categories.MaximumTextWidth -
    -
    - -@Html.EJ().Chart("container") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Categories(c => c.MaximumTextWidth("20")))) - -
    level of labels -Property:MultiLevelLabels.Level -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PrimaryXAxis(px => px.MultilevelLabels(m => m.Level("2")))) - -
    -Not applicable -
    - -## Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    animation for series -Property:Animate -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Animate()) - -
    -Not applicable -
    Redraw for chart -Property:Redraw -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Redraw()) - -
    -Property:Refresh -
    -
    - -@Html.EJ().Chart("container") -.Refresh() - -
    Export -Property:Export() -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Export()) - -
    -Property:Export() -
    -
    - -@Html.EJ().Chart("container") -.Export() - -
    Print -Property:Print() -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Print()) - -
    -Property:Print() -
    -
    - -@Html.EJ().Chart("container") -.Print() - -
    AddSeries -Not Applicable - -Property:AddSeries() -
    -
    - -@Html.EJ().Chart("container") -.AddSeries() - -
    RemoveSeries -Not Applicable - -Property:RemoveSeries() -
    -
    - -@Html.EJ().Chart("container") -.RemoveSeries() - -
    - -## Events - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Fires on annotation click -Property:AnnotationClick -
    -
    - -@(Html.EJ().Chart("chartContainer") -.AnnotationClick()) - -
    -Not applicable -
    Fires after animation -Property:AnimationComplete -
    -
    - -@(Html.EJ().Chart("chartContainer") -.AnimationComplete()) - -
    -Property:AnimationComplete() -
    -
    - -@Html.EJ().Chart("container") -.AnimationComplete() - -
    Fires on axis label click -Property:AxisLabelClick -
    -
    - -@(Html.EJ().Chart("chartContainer") -.AxisLabelClick()) - -
    -Not applicable -
    Fires before axis label render -Property:AxisLabelRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.AxisLabelRendering()) - -
    -Property:AxisLabelRender() -
    -
    - -@Html.EJ().Chart("container") -.AxisLabelRender() - -
    Fires on axis label mouseMove -Property:AxisLabelMouseMove -
    -
    - -@(Html.EJ().Chart("chartContainer") -.AxisLabelMouseMove()) - -
    -Not applicable -
    Fires on axis label initialize -Property:AxisLabelInitialize -
    -
    - -@(Html.EJ().Chart("chartContainer") -.AxisLabelInitialize()) - -
    -Not applicable -
    Fires before axis range calculation -Property:AxesRangeCalculate -
    -
    - -@(Html.EJ().Chart("chartContainer") -.AxesRangeCalculate()); - -
    -Property:AxisRangeCalculated() -
    -
    - -@Html.EJ().Chart("container") -.AxisRangeCalculated() - -
    Fires on axis title rendering -Property:AxisTitleRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.AxisTitleRendering()) - -
    -Not applicable -
    Fires on after chart resize -Property:AfterResize -
    -
    -@(Html.EJ().Chart("chartContainer") -.AfterResize()) - -
    -Not applicable -
    Fires on before chart resize -Property:BeforeResize -
    -
    - -@(Html.EJ().Chart("chartContainer") -.BeforeResize()) - -
    -Property:Resized -
    -
    - -@Html.EJ().Chart("container") -.Resized() - -
    Fires on chart click -Property:ChartClick -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ChartClick()) - -
    -Property:ChartMouseClick -
    -
    - -@Html.EJ().Chart("container") -.ChartMouseClick() - -
    Fires on chart mouse move -Property:ChartMouseMove -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ChartMouseMove()) - -
    -Property:ChartMouseMove -
    -
    - -@Html.EJ().Chart("container") -.ChartMouseMove() - -
    Fires on chart mouse leave -Property:ChartMouseLeave -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ChartMouseLeave()) - -
    -Property:ChartMouseLeave -
    -
    - -@Html.EJ().Chart("container") -.ChartMouseLeave() - -
    Fires on before chart double click -Property:ChartDoubleClick -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ChartDoubleClick()) - -
    -Not applicable -
    Fires on chart mouse up -Not Applicable - -Property:ChartmouseUp -
    -
    - -@Html.EJ().Chart("container") -.ChartmouseUp() - -
    Fires on chart mouse down -Not Applicable - -Property:ChartmouseDown -
    -
    - -@Html.EJ().Chart("container") -.ChartmouseDown() - -
    Fires during the calculation of chart area bounds. -You can use this event to customize the bounds of chart area -Property:ChartAreaBoundsCalculate -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ChartAreaBoundsCalculate()) - -
    -Not applicable -
    Fires when the dragging is started -Property:DragStart -
    -
    - -@(Html.EJ().Chart("chartContainer") -.DragStart()) - -
    -Not applicable -
    Fires while dragging -Property:Dragging -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Dragging()) - -
    -Not applicable -
    Fires when the dragging is completed -Property:DragEnd -
    -
    - -@(Html.EJ().Chart("chartContainer") -.DragEnd()) - -
    -Property:DragComplete -
    -
    - -@Html.EJ().Chart("container") -.DragComplete() - -
    Fires when chart is destroyed completely. -Property:Destroy -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Destroy()) - -
    -Not applicable -
    Fires after chart is created. -Property:Create -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Create()) - -
    -Property:Loaded -
    -
    - -@Html.EJ().Chart("container") -.Loaded() - -
    Fires before rendering the data labels. -Property:DisplayTextRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.DisplayTextRendering()) - -
    -Property:TextRender -
    -
    - -@Html.EJ().Chart("container") -.TextRender() - -
    Fires, when error bar is rendering. -Property:ErrorBarRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ErrorBarRendering()) - -
    -Not applicable -
    Fires during the calculation of legend bounds. -Property:LegendBoundsCalculate -
    -
    - -@(Html.EJ().Chart("chartContainer") -.LegendBoundsCalculate()) - -
    -Not applicable -
    Fires on clicking the legend item. -Property:LegendItemClick -
    -
    - -@(Html.EJ().Chart("chartContainer") -.LegendItemClick()) - -
    -Not applicable -
    Fires when moving mouse over legend item -Property:LegendItemMouseMove -
    -
    - -@(Html.EJ().Chart("chartContainer") -.LegendItemMouseMove()) - -
    -Not applicable -
    Fires before rendering the legend item. -Property:LegendItemRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.LegendItemRendering() - -
    -Property:LegendRender -
    -
    - -@Html.EJ().Chart("container") -.LegendRender() - -
    Fires before loading the chart. -Property:Load -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Load() - -
    -Property:Load -
    -
    - -@Html.EJ().Chart("container") -.Load() - -
    Fires, when multi level labels are rendering. -Property:MultiLevelLabelRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.MultiLevelLabelRendering() - -
    -Property:AxisMultiLabelRender -
    -
    - -@Html.EJ().Chart("container") -.AxisMultiLabelRender() - -
    Fires on clicking a point in chart. -Property:PointRegionClick -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PointRegionClick() - -
    -Property:PointClick -
    -
    - -@Html.EJ().Chart("container") -.PointClick() - -
    Fires when mouse is moved over a point. -Property:PointRegionMouseMove -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PointRegionMouseMove()) - -
    -Property:PointMove -
    -
    - -@Html.EJ().Chart("container") -.PointMove() - -
    Fires before rendering chart. -Property:PreRender -
    -
    - -@(Html.EJ().Chart("chartContainer") -.PreRender()) - -
    -Not applicable -
    Fires when point render. -Not Applicable - -Property:PointRender -
    -
    - -@Html.EJ().Chart("container") -.PointRender() - -
    Fires after selected the data in chart. -Property:RangeSelected -
    -
    - -@(Html.EJ().Chart("chartContainer") -.RangeSelected()) - -
    -Not applicable -
    Fires after selecting a series. -Property:SeriesRegionClick -
    -
    - -@(Html.EJ().Chart("chartContainer") -.SeriesRegionClick()) - -
    -Not applicable -
    Fires before rendering a series. -Property:SeriesRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.SeriesRendering()) - -
    -Property:SeriesRender -
    -
    - -@Html.EJ().Chart("container") -.SeriesRender() - -
    Fires before rendering the marker symbols. -Property:SymbolRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.SymbolRendering()) - -
    -Not applicable -
    Fires before rendering the trendline -Property:TrendlineRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.TrendlineRendering()) - -
    -Not applicable -
    Fires before rendering the Chart title. -Property:TitleRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.TitleRendering()) - -
    -Not applicable -
    Fires before rendering the Chart sub title. -Property:SubTitleRendering -
    -
    - -@(Html.EJ().Chart("chartContainer") -.SubTitleRendering()) - -
    -Not applicable -
    Fires before rendering the tooltip. -Property:ToolTipInitialize -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ToolTipInitialize()) - -
    -Property:TooltipRender -
    -
    - -@Html.EJ().Chart("container") -.TooltipRender() - -
    Fires before rendering crosshair tooltip in axis -Property:TrackAxisToolTip -
    -
    - -@(Html.EJ().Chart("chartContainer") -.TrackAxisToolTip()) - -
    -Not applicable -
    Fires before rendering trackball tooltip. -Property:TrackToolTip -
    -
    - -@(Html.EJ().Chart("chartContainer") -.TrackToolTip()) - -
    -Not applicable -
    Event triggered when scroll starts. -Property:ScrollStart -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ScrollStart()) - -
    -Property:ScrollStart -
    -
    - -@Html.EJ().Chart("container") -.ScrollStart() - -
    Event triggered when scroll ends. -Property:ScrollEnd -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ScrollEnd()) - -
    -Property:ScrollEnd -
    -
    - -@Html.EJ().Chart("container") -.ScrollEnd() - -
    Event triggered when scroll changes. -Property:ScrollChange -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ScrollChange()) - -
    -Property:ScrollChange -
    -
    -@Html.EJ().Chart("container") -.ScrollChange() - -
    Fires while performing rectangle zooming in chart. -Property:ZoomComplete -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ZoomComplete()) - -
    -Property:ZoomComplete -
    -
    - -@Html.EJ().Chart("container") -.ZoomComplete() - -
    - -## Chart properties - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    selected data index -Property:SelectedDataPointIndexes: -
    -
    - -@(Html.EJ().Chart("chartContainer") -.SelectedDataPointIndexes(s => s.SeriesIndex("0").PointIndex("1"))) - -
    -Property:SelectedDataIndexes -
    -
    - -@Html.EJ().Chart("container") -.SelectedDataPointIndexes(s => s.SeriesIndex("0").PointIndex("1")) -
    sideBySideSeriesPlacement for column based series -Property:SideBySideSeriesPlacement: -
    -
    - -@(Html.EJ().Chart("chartContainer") -.SideBySideSeriesPlacement(true) - - -
    -Property:SideBySidePlacement -
    -
    - -@Html.EJ().Chart("container") -.SideBySidePlacement(true) -
    ZoomSettings -Property:Zooming: -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Zooming(z => z.Enable(true).EnablePinch(true).EnableScrollBar(true))) - -
    -Property:ZoomSettings -
    -
    - -@Html.EJ().Chart("container") -.ZoomSettings(z => z.Enable(true).EnablePinch(true).EnableScrollBar(true))) -
    Background color of the chart -Property:Background -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Background('transparent') - -
    -Property:Background -
    -
    - -@Html.EJ().Chart("container") -.Background('transparent') -
    URL of the image to be used as chart background. -Property:BackGroundImageUrl -
    -
    - -@(Html.EJ().Chart("chartContainer") -.BackGroundImageUrl("") - -
    -Not Applicable -
    Customizing border of the chart -Property:Border -
    -
    - -@(Html.EJ().Chart("chartContainer") -.Border(b => b.Color("red").Width("2"))) - -
    -Property:Border -
    -
    - -@Html.EJ().Chart("container") -.Border(b => b.Color("red").Width("2"))) -
    This provides options for customizing export settings -Property:ExportSettings -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ExportSettings(e => e.FileName("chart").Angle("45"))) - -
    -Property:Export() -
    -
    - -@Html.EJ().Chart("container") -.Export(e => e.FileName("chart").Angle("45"))) -
    ChartArea customization -Property:ChartArea -
    -
    - -@(Html.EJ().Chart("chartContainer") -.ChartArea(c => c.Background("transparent").Border(b => b.Opacity("0.3").Color("red").Width("2")))) - -
    -Property:ChartArea -
    -
    - -@Html.EJ().Chart("container") -.ChartArea(c => c.Background("transparent").Border(b => b.Opacity("0.3").Color("red").Width("2")))) - -
    \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/getting-started.md b/chart-sdk/asp-net-mvc/chart/getting-started.md deleted file mode 100644 index 5485711bb..000000000 --- a/chart-sdk/asp-net-mvc/chart/getting-started.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET MVC Chart Control | Syncfusion -description: Check out and learn about getting started with ASP.NET MVC Chart control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - - -# Getting Started with the ASP.NET MVC Chart Control - -This section briefly explains how to add the Syncfusion® [ASP.NET MVC Chart](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts) control to your ASP.NET MVC application using Visual Studio. - -## Prerequisites - -Refer to the [System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) before creating the application. - -## Create an ASP.NET MVC application with HTML helper - -You can create an ASP.NET MVC application using either of the following options: - -* [Create a project using Microsoft templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) - -* [Create a project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) - -## Install the ASP.NET MVC NuGet package - -To add Syncfusion® **ASP.NET MVC** controls in the application, open the NuGet Package Manager in Visual Studio by selecting (Tools → NuGet Package Manager → Manage NuGet Packages for Solution). Search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and install it. - -Alternatively, you can use the Package Manager Console by navigating to: -Tools → NuGet Package Manager → Package Manager Console, and then run the following command: - -{% tabs %} -{% highlight bash tabtitle="Package Manager Console" %} - -Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET MVC controls are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). Refer to the [NuGet packages](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) topic to learn more about installing NuGet packages in various operating system environments. The Syncfusion.EJ2.MVC5 NuGet package depends on [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating the Syncfusion® license key. - -## Add the namespace - -Add the **Syncfusion.EJ2** namespace reference in the `Web.config` file available in the `Views` folder. - -{% tabs %} -{% highlight xml tabtitle="~/Views/Web.config" %} - - - - - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Add the script reference inside the `` element of the `~/Views/Shared/_Layout.cshtml` file as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Refer to the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. - -## Register the Syncfusion® Script Manager - -Register the script manager `EJS().ScriptManager()` at the end of the `` element in the `~/Views/Shared/_Layout.cshtml` file as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - @Html.EJS().ScriptManager() - - -{% endhighlight %} -{% endtabs %} - -## Build the Chart - -This section walks through adding the Chart control to `~/Views/Home/Index.cshtml` and progressively binding data to it. - -### Step 1: Add the chart control - -Add the Syncfusion® ASP.NET MVC Chart control to the `~/Views/Home/Index.cshtml` page. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - -@Html.EJS().Chart("container").Render() - -{% endhighlight %} -{% endtabs %} - -Press Ctrl + F5 on Windows or + F5 on macOS to run the application. The Syncfusion® ASP.NET MVC Chart control will be rendered in the default web browser. - -![ASP.NET MVC Chart Control](how-to/images/chart.png) - -### Step 2: Bind data to the chart - -To render a column chart with data, extend the chart with a data source bound to the chart series using the [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource), [`XName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_XName), and [`YName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_YName) properties. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - -@{ - var chartData = new List - { - new { Month = "Jan", Sales = 35 }, - new { Month = "Feb", Sales = 28 }, - new { Month = "Mar", Sales = 34 }, - new { Month = "Apr", Sales = 32 }, - new { Month = "May", Sales = 40 } - }; -} - -@Html.EJS().Chart("container").PrimaryXAxis(px => px - .ValueType(Syncfusion.EJ2.Charts.ValueType.Category) -).Series(series => -{ - series.DataSource(chartData) - .XName("Month") - .YName("Sales") - .Type(Syncfusion.EJ2.Charts.ChartSeriesType.Column) - .Add(); -}).Render() - -{% endhighlight %} -{% endtabs %} - -![ASP.NET MVC Chart Control with Data](how-to/images/chart-data.png) - -N> Explore the sample on [GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/Chart/ASP.NET%20MVC%20Razor%20Examples) to understand how this getting started example works. - -## Troubleshooting - -If the Chart control does not render as expected, review the following common issues and their resolutions. - -* **"Unlicensed" watermark appears on the page** — The `Syncfusion.Licensing` package is installed but the license key has not been registered. Register the license key in `~/App_Start/FilterConfig.cs` (or `Program.cs`) and rebuild. See [Registering the Syncfusion license key](https://ej2.syncfusion.com/aspnetmvc/documentation/licensing/how-to-register-in-an-application). - -* **"Script Manager is not defined" or scripts run twice** — `@Html.EJS().ScriptManager()` was not added, or was added more than once. Ensure `ScriptManager` is registered exactly once at the end of `` in `_Layout.cshtml`. - -* **"Could not load file or assembly 'Syncfusion.EJ2'"** — The NuGet package was not restored. Run `Update-Package -reinstall` in the Package Manager Console, or restore via Visual Studio (right-click solution → Restore NuGet Packages). - -* **Chart renders but no data points appear** — `XName` / `YName` do not match the property names in the data source. Property names are case-sensitive; verify they match the anonymous-type property names exactly (e.g., `Month`, `Sales`). - -* **`Newtonsoft.Json` reference error after upgrade** — `Syncfusion.EJ2.MVC5` requires a specific `Newtonsoft.Json` version. Install a compatible `Newtonsoft.Json` version (≥ 12.0.2) via NuGet. - -## See also - -* [Chart Types in ASP.NET MVC ](https://ej2.syncfusion.com/aspnetmvc/documentation/chart/chart-types) -* [Data Binding in ASP.NET MVC Chart ](https://ej2.syncfusion.com/aspnetmvc/documentation/chart/working-with-data) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-core-mvc-taghelper) - -> **Ready to streamline your Syncfusion® ASP.NET MVC development?** Discover the full potential of Syncfusion® ASP.NET MVC controls with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/aspnetmvc/documentation/ai-coding-assistant/overview) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/gradient.md b/chart-sdk/asp-net-mvc/chart/gradient.md deleted file mode 100644 index 5aafc4b70..000000000 --- a/chart-sdk/asp-net-mvc/chart/gradient.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -layout: post -title: Gradient and Customization in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about Gradient in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Gradient -publishingplatform: chart-sdk -documentation: ug ---- - -# Gradient in ASP.NET MVC Chart control - -Gradients add depth and modern styling to charts by smoothly blending multiple colors. The Charts component supports two gradient types: - -- Linear Gradient -- Radial Gradient - -Gradients can be applied to: - -- Series -- Trendlines -- Technical Indicators - -The gradient can be defined in the `@{ }` Razor code block or dynamically configured in the `load` event of the chart. - -## Linear Gradient - -A linear gradient blends color along a straight path from a defined start point to an end point. Configure it by adding `LinearGradient` inside the target element (Series, Trendlines or Indicators) and define one or more color stops that control how colors transition across the gradient. Set the start and end positions of the gradient using `X1`, `Y1`, `X2` and `Y2` properties. The gradient color stop values such as `Offset`, `Color`, `Opacity`, `Lighten` and `Brighten` are set using the `ChartGradientColorStop` property. - -In the `LinearGradient`: -- `X1` - Sets the horizontal start position of the gradient (0 to 1). -- `Y1` - Sets the vertical start position of the gradient (0 to 1). -- `X2` - Sets the horizontal end position of the gradient (0 to 1). -- `Y2` - Sets the vertical end position of the gradient (0 to 1). - -In the `ChartGradientColorStop`: - -- `Offset` - Specifies the position of the color stop along the gradient (0 to 100). -- `Color` - Sets the color at the stop. -- `Opacity` - Defines the transparency of the stop (0 to 1). -- `Lighten` - Adjusts the lightness at the stop. A value of 1 applies maximum lightening. Range: 0 to 1. -- `Brighten` - Adjusts brightness at the stop. Positive values increase brightness; negative values decrease it. Range: -1 to 1. - -### Series - -Apply a linear gradient to a series by adding `LinearGradient` inside the target Series. The same gradient is applied to the series markers, legend symbol and tooltip marker for visual consistency. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/series-linear/razor %} -{% endhighlight %} -{% highlight c# tabtitle="LinearGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/series-linear/series-linear.cs %} -{% endhighlight %} -{% endtabs %} - -### Trendlines - -Apply a linear gradient to a trendline by adding `LinearGradient` inside the target Trendline. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/trendlines-linear/razor %} -{% endhighlight %} -{% highlight c# tabtitle="LinearGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/trendlines-linear/trendlines-linear.cs %} -{% endhighlight %} -{% endtabs %} - -### Technical Indicators - -Apply a linear gradient to a technical indicator by adding `LinearGradient` inside the target Indicator. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/indicators-linear/razor %} -{% endhighlight %} -{% highlight c# tabtitle="LinearGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/indicators-linear/indicators-linear.cs %} -{% endhighlight %} -{% endtabs %} - -## Radial gradient - -A radial gradient blends colors outward from a central point, creating a circular or elliptical color progression. Configure it by adding `RadialGradient` inside the target element (Series, Trendline, or Indicator) and define one or more color stops to control how colors transition from the center to the outer edge. Set the gradient’s center, optional focal point, and radius using `RadialGradient` properties. The color stop values such as `Offset`, `Color`, `Opacity`, `Lighten`, and `Brighten` are set using the `ChartGradientColorStop` property. - -In the `RadialGradient`: - -- `Cx` - Sets the normalized horizontal center of the gradient (0 to 1). -- `Cy` - Sets the normalized vertical center of the gradient (0 to 1). -- `Fx` - Sets the normalized horizontal focal point of the gradient's origin (0 to 1). -- `Fy` - Sets the normalized vertical focal point (0 to 1). -- `R` - Sets the normalized radius of the gradient circle (0 to 1). - -In the `ChartGradientColorStop`: - -- `Offset` - Specifies the position of the color stop along the gradient (0 to 100). -- `Color` - Sets the color at the stop. -- `Opacity` - Defines the transparency of the stop (0 to 1). -- `Lighten` - Adjusts lightness at the stop. Positive values lighten the color. Range: 0 to 1. -- `Brighten` - Adjusts brightness at the stop. Positive values increase brightness; negative values decrease it. Ranges: -1 to 1. - -### Series - -Apply a radial gradient to a series by adding `RadialGradient` inside the target Series. The same gradient is applied to the series markers, legend symbol and tooltip marker for visual consistency. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/series-radial/razor %} -{% endhighlight %} -{% highlight c# tabtitle="RadialGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/series-radial/series-radial.cs %} -{% endhighlight %} -{% endtabs %} - -### Trendlines - -Apply a radial gradient to a trendline by adding `RadialGradient` inside the target Trendline. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/trendlines-radial/razor %} -{% endhighlight %} -{% highlight c# tabtitle="RadialGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/trendlines-radial/trendlines-radial.cs %} -{% endhighlight %} -{% endtabs %} - -### Technical Indicators - -Apply a radial gradient to a technical indicator by adding `RadialGradient` inside the target Indicator. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/indicators-radial/razor %} -{% endhighlight %} -{% highlight c# tabtitle="RadialGradient.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/gradient/indicators-radial/indicators-radial.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/how-to/add-remove.md b/chart-sdk/asp-net-mvc/chart/how-to/add-remove.md deleted file mode 100644 index db94bd7ba..000000000 --- a/chart-sdk/asp-net-mvc/chart/how-to/add-remove.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: post -title: Add Remove in ASP.NET MVC Chart Component -description: Learn here all about Add Remove in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Add Remove -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Add or remove a series from the chart dynamically - -You can add or remove the chart series dynamically by using the `addSeries` or `removeSeries` method. - -To add or remove the series dynamically, follow the given steps: - -**Step 1**: - -To add a new series to chart dynamically, pass the series value to the `addSeries` method. - -To remove the new series from chart dynamically, pass the series index to the `removeSeries` method. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/add-remove/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Add-remove.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/add-remove/add-remove.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/how-to/ajax-chart-call.md b/chart-sdk/asp-net-mvc/chart/how-to/ajax-chart-call.md deleted file mode 100644 index 2445509ad..000000000 --- a/chart-sdk/asp-net-mvc/chart/how-to/ajax-chart-call.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -layout: post -title: Ajax Chart Call in ASP.NET MVC Chart Component -description: Learn here all about Ajax Chart Call in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Ajax Chart Call -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Ajax Chart in ASP.NET MVC Chart control - -The following section explains how to customize various aspects of the chart. - -## Bind data to chart on ajax request - -You can bind data to chart on ajax request using the following steps: - -**Step 1:** - -Create a http post action method to return data for ajax call in a controller page. The following GetServerData() method will return a JSON data string. - -```cs -[HttpPost] - public ActionResult GetServerData() - { - List data1 = new List(); - data1.Add(new LineChart("India", 1)); - data1.Add(new LineChart("USA", 5)); - data1.Add(new LineChart("USSR", 10)); - data1.Add(new LineChart("Chinaa", 12)); - data1.Add(new LineChart("Japan", 8)); - return Json(data1); - } - - public class LineChart - { - public LineChart(string name, double cnt) - { - this.x = name; - this.y = cnt; - } - public string x { get; set; } - public double y { get; set; } - } -``` - -**Step 2:** - -Make a simple chart with series. - -```html -@using Syncfusion.EJ2; -@using EJ2MVCSamples.Controllers; - -
    - @Html.EJS().Chart("container").PrimaryXAxis(px => px.Title("Years").ValueType(Syncfusion.EJ2.Charts.ValueType.Category)).Series(series => - { - series.Type(Syncfusion.EJ2.Charts.ChartSeriesType.Column).Add(); - } - ).Render() -
    -``` - -**Step 3:** - -Make ajax call to the GetServerData() action method in chart load event to get JSON data, and then assign the data to the chart series using the `dataSource` property and mapping the field name to `xName` and `yName` properties of the series. - -```html -@using Syncfusion.EJ2; -@using EJ2MVCSamples.Controllers; - -
    - @Html.EJS().Chart("container").PrimaryXAxis(px => px.Title("Years").ValueType(Syncfusion.EJ2.Charts.ValueType.Category)).Series(series => - { - series.Type(Syncfusion.EJ2.Charts.ChartSeriesType.Column).Add(); - } - ).Load("chartLoad").Render() -
    - -``` - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/ajax-data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Ajax-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/ajax-data/ajax-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Sample reference** - -Sample for how to get data from ajax call is available in [`chart sample`](http://www.syncfusion.com/downloads/support/directtrac/general/ze/samples1051291506). diff --git a/chart-sdk/asp-net-mvc/chart/how-to/code-behind-chart.md b/chart-sdk/asp-net-mvc/chart/how-to/code-behind-chart.md deleted file mode 100644 index 5cce24a64..000000000 --- a/chart-sdk/asp-net-mvc/chart/how-to/code-behind-chart.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -layout: post -title: Code Behind Chart in ASP.NET MVC Chart Component -description: Learn here all about Code Behind Chart in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Code Behind Chart -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Render chart from code behind and update the chart using partial view - -You can render the charts from code behind and update the charts in partial view by calling the partial view action method in ajax. - -Follow the given steps to render and update the charts from code behind. - -**Step 1**: Initially, render the home view page, and then call the partial view action method via ajax call in the home view page. In that chart is rendered using client side content. - -```html -
    - -
    - -
    - @Html.Partial("_ViewChart"); -
    - - - -``` - -**Initial Chart** -![Alt text](images/initialview.png) - -**Step 2**: Then create chart model properties in controller page. After initial rendering then update the created chart properties in the home view page through partial view action method in ajax call. - -```cs -// partial view action method - [HttpGet] - public ActionResult Create() - { - Chart chartModel = new Chart(); - - InitializeChart(chartModel); - - ViewData["ChartModel"] = chartModel; - return PartialView("_ViewChart"); - } - - private void InitializeChart(Chart chartModel) - { - List data = new List(); - - data.Add(new LineChartData(10, 12, 26)); - data.Add(new LineChartData(20, 14, 22)); - data.Add(new LineChartData(30, 16, 18)); - data.Add(new LineChartData(40, 13, 35)); - data.Add(new LineChartData(50, 11, 24)); - ChartSeries series1 = new ChartSeries(); - series1.XName = "Xvalue"; - series1.YName = "YValue1"; - series1.DataSource = data; - series1.Fill = "red"; - series1.Name = "Series1"; - series1.Type = Syncfusion.EJ2.Charts.ChartSeriesType.Column; - series1.Trendlines = new List(); - series1.Segments = new List(); - series1.Visible = true; - ChartSeries series2 = new ChartSeries(); - series2.XName = "Xvalue"; - series2.YName = "yValue2"; - series2.DataSource = data; - series2.Fill = "blue"; - series2.Name = "Series2"; - series2.Type = Syncfusion.EJ2.Charts.ChartSeriesType.Column; - series2.Trendlines = new List(); - series2.Segments = new List(); - series2.Visible = true; - chartModel.Series = new List(); - chartModel.PrimaryXAxis = new ChartAxis(); - chartModel.PrimaryXAxis.Minimum = 5; - chartModel.PrimaryXAxis.Maximum = 50; - chartModel.PrimaryXAxis.Interval = 2; - chartModel.Series.Add(series1); - chartModel.Series.Add(series2); - } - - } - [Serializable] - public class LineChartData - { - public LineChartData(double xval, double yvalue1, double yvalue2) - { - this.Xvalue = xval; - this.YValue1 = yvalue1; - this.yValue2 = yvalue2; - } - public double Xvalue { get; set; } - public double YValue1 { get; set; } - public double yValue2 { get; set; } - - - } -``` - -**Step 3**: Return the partial view page when calling partial view action method. In that partial view, refer the `scriptManager` to render the charts. Using `viewData` you can get chart object in view page from code behind and append it to chart container. - -```html -
    - @if ((Syncfusion.EJ2.Charts.Chart)ViewData["ChartModel"] == null) - { - @Html.EJS().Chart("container").Load("firstChartLoad").Render(); - } - else - { - @Html.EJS().Chart("container", (Syncfusion.EJ2.Charts.Chart)ViewData["ChartModel"]).Render(); - } -
    - -@Html.EJS().ScriptManager() - -``` - -**Updated Chart** -![Alt text](images/updatechart.png) - -**Sample reference** - -Sample for how to render the charts from code behind and update using partial view [`chart sample`](http://www.syncfusion.com/downloads/support/directtrac/219809/ze/ajaxcall-611246099) diff --git a/chart-sdk/asp-net-mvc/chart/how-to/control-chart.md b/chart-sdk/asp-net-mvc/chart/how-to/control-chart.md deleted file mode 100644 index dc8b72cbf..000000000 --- a/chart-sdk/asp-net-mvc/chart/how-to/control-chart.md +++ /dev/null @@ -1,197 +0,0 @@ ---- -layout: post -title: Control Chart in ASP.NET MVC Chart Component -description: Learn here all about Control Chart in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Control Chart -publishingplatform: chart-sdk -documentation: ug ---- - - - -# Create a control chart - -You can create a control chart (with UCL, CL, and LCL limits) using the stripline and annotation features. - -To create a control charts, follow the given steps. - -**Step 1**: Load line charts for the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/control-chart/step1/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Step1.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/control-chart/step1/step1.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Alt text](../images/step1.png) - -**Step 2**: Now, add three striplines for three control limits: LCL, UCL, and CL. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/control-chart/step2/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Step2.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/control-chart/step2/step2.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Step 3**: Then, add annotations to show the text for LCL, UCL, and CL in respective positions. - -```html - - - - - - - - - - - - - - - -``` - -**Step 4**: Calculate the control limits based on the CL, LCL, and UCL. The start and end ranges have been set for strip lines in the load event. - -```html - -``` - -![Alt text](./images/step4.png) - -**Step 5**: Highlight the points that are above the UCL using the pointRender event. - -```html - -``` - -![Alt text](./images/step5.png) - -**Step 6**: Change the values of annotation text (UCL, LCL, mean, and CL). - -```html - -``` - -![Alt text](./images/step6.png) - -**Step 7**: Add the dasharray for stripline elements and add some pixel for the annotation elements to move from its default position and then add the text for the last annotation to show the mean, UCL, CL, LCL and standard divation in the loaded event. - -```html - -``` - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/control-chart/final-chart/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Control.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/control-chart/final-chart/control.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Screenshots**: - -![Alt text](./images/control-charts.png) - -**Sample link**: A sample for creating control chart is available in the following link, [`chartSample`](http://www.syncfusion.com/downloads/support/directtrac/207077/ze/coreEJ2Sample-1067535862). \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/how-to/data-label-customization.md b/chart-sdk/asp-net-mvc/chart/how-to/data-label-customization.md deleted file mode 100644 index f57d951f8..000000000 --- a/chart-sdk/asp-net-mvc/chart/how-to/data-label-customization.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -layout: post -title: Data Label Customization in ASP.NET MVC Chart Component -description: Learn here all about Data Label Customization in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Label Customization -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Customize the background color of data label template from webservice - -Bind the text and interior information for a point from dataSource. To change the background color in the datalabel template, use `${point.text}`. You have to bind the property from dataSource to name in the data label options to use point.text. - -Follow the given steps to customize the background color of data label template from webservice, which includes colors: - -**Step 1**: Get the data from webservice, which also includes color attribute to bind the name in the data label options to use point.text in the data label template. - -To get data from web service, use any adaptor webApi or Url adaptor in the data manager, and then bind the data manager to the `dataSource` property in the series options. - -```html -@Html.EJS().Chart("container").Series( - series => - { - series.Type(Syncfusion.EJ2.Charts.ChartSeriesType.Line).Width(2). - XName("Year").YName("yValue").DataSource("dataManager"). - Query("query").Add(); - }).PrimaryXAxis( - px => px.ValueType(Syncfusion.EJ2.Charts.ValueType.DateTime). - EdgeLabelPlacement(Syncfusion.EJ2.Charts.EdgeLabelPlacement.Shift) - ).Render() - - -``` - -```cs -// get the data from here -public object Get() - { - List revenue = new List(); - revenue.Add(new EmployeeModel() { Year = "2018-06-13T00:00:00", yValue = 30, color = "red" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-14T00:00:00", yValue = 20, color = "blue" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-15T00:00:00", yValue = 15, color = "green" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-16T00:00:00", yValue = 30, color = "orange" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-17T00:00:00", yValue = 60, color = "skyblue" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-18T00:00:00", yValue = 10, color = "red" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-19T00:00:00", yValue = 70, color = "yellow" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-20T00:00:00", yValue = 50, color = "pink" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-21T00:00:00", yValue = 88, color = "green" }); - revenue.Add(new EmployeeModel() { Year = "2018-06-22T00:00:00", yValue = 35, color = "blue" }); - - return new { Items = revenue, Count = revenue.Count() }; -} - -public class EmployeeModel -{ - public string Year { get; set; } - public double yValue { get; set; } - public string color { get; set; } -} -``` - -**Step 2**: Initialize the data label template
    as demonstrated in the following html page. - -```html - -``` - -**Step 3**: To show the data label template, set the element id to the `template` property in data label. - -```html - @Html.EJS().Chart("container").Series( - series => - { - series.Type(Syncfusion.EJ2.Charts.ChartSeriesType.Line).Width(2). - XName("Year").YName("yValue").DataSource("dataManager"). - Query("query").Marker(mark => mark.Visible(true).DataLabel(dl => dl.Visible(true). - Position(Syncfusion.EJ2.Charts.LabelPosition.Top).Name("color").Template("#index"))).Add(); - }).PrimaryXAxis( - px => px.ValueType(Syncfusion.EJ2.Charts.ValueType.DateTime). - EdgeLabelPlacement(Syncfusion.EJ2.Charts.EdgeLabelPlacement.Shift) - ).PrimaryYAxis( - py => py.RangePadding(Syncfusion.EJ2.Charts.ChartRangePadding.None). - Interval(20).Minimum(0).Maximum(100) - ).Render() -``` - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/data-label-template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/how-to/data-label-template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Sample:** Customize the background color of data label is available in [`chart sample`](http://www.syncfusion.com/downloads/support/directtrac/general/ze/chartsample1860216677). diff --git a/chart-sdk/asp-net-mvc/chart/how-to/dotted-line.md b/chart-sdk/asp-net-mvc/chart/how-to/dotted-line.md deleted file mode 100644 index c0269609f..000000000 --- a/chart-sdk/asp-net-mvc/chart/how-to/dotted-line.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: post -title: Dotted Line in ASP.NET MVC Chart Component -description: Learn here all about Dotted Line in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Dotted Line -publishingplatform: chart-sdk -documentation: ug ---- - - -# To add dotted line using annotation - -By using `annotation`, you can add dotted lines in the chart. - -To add dotted lines in the chart, follow the given steps: - -**Step 1**: Initialize the custom elements by using the `annotation` property. - -By setting `coordinateUnits` value as `point` in annotation object, you can place dotted lines in the chart based on point x and y values. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/dotted-annotation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dotted-annotation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/dotted-annotation/dotted-annotation.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/how-to/dynamic-chart.md b/chart-sdk/asp-net-mvc/chart/how-to/dynamic-chart.md deleted file mode 100644 index e3e4d067e..000000000 --- a/chart-sdk/asp-net-mvc/chart/how-to/dynamic-chart.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -title: Dynamic Chart in ASP.NET MVC Chart Component -description: Learn here all about Dynamic Chart in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Dynamic Chart -publishingplatform: chart-sdk -documentation: ug ---- - - -# To add chart dynamically - -By using html button, you can add the chart dynamically by clicking the button. - -To add the chart dynamically through button click, follow the given steps: - -**Step 1**: Initially create the html button. Then create chart inside of button `onClick` function. Now, clicking the button charts will render based on click count. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/dynamic-chart/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dynamic-chart.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/dynamic-chart/dynamic-chart.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/how-to/hide-tool-tip.md b/chart-sdk/asp-net-mvc/chart/how-to/hide-tool-tip.md deleted file mode 100644 index 2f896e5d8..000000000 --- a/chart-sdk/asp-net-mvc/chart/how-to/hide-tool-tip.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: post -title: Hide Tool Tip in ASP.NET MVC Chart Component -description: Learn here all about Hide Tool Tip in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Hide Tool Tip -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Hide the tooltip for unselected series - -By using the [`tooltipRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TooltipRender) event, you can cancel the tooltip for unselected series in the chart. - -To hide the tooltip value in unselected series, follow the given steps: - -**Step 1**: By using the [`tooltipRender`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_TooltipRender) event, you can get the series elements in the arguments. By using this argument, it can be compared whether seriesElementclasslist is deselected container or not. If it is true then the tooltip can be cancelled by setting the value for `args.cancel` as `true`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/hide-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Hide-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/column/hide-tooltip/hide-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/how-to/images/chart-data.png b/chart-sdk/asp-net-mvc/chart/how-to/images/chart-data.png deleted file mode 100644 index 7901832011bf258a518b0da3dde6512a2e7a9476..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22372 zcmeHv2Ut^S+BOa|GBb$mj3O${9SbT==^bZWMWm^Sv;Zni2mvAV0I`fXf`Wo{NK}v_ zO?nFniu4j8KQeLwf} zKDuP2EAZ{XZ+Uol1oSTa=?V`IADoBh3&Phs!C!QXj$y$+JCIj&f8xn)6P*ITeChO~ z;g38#`4RlfeL+?*NUiGt?Wuu>Cz6zpn35$sa z!MpB$qk2T(^DpvQe~S4|fqA1z@?Bn;{$~oQM=0V6HdrD3=tINZA&76LuePnNq{dt# zGsE%Urg#;- z#ECKNb5z(mDtsm(q6bltqg2ZM{7ZY5qug9Wfm-c}&6Aw*R?U}!qiD^D;m;?HY?V&M z+5Z%DP|o?H$w<4ondZUGqh16gRYw=|`d^>u80a#MO1OJ>m#DV`!nZp(O=hO9g%~Qt ze?`Z2Yb7pGhnB&?!&O?oY}~Ozo#I0@Y1ybFya#%)9# zUV0`6(*@F4BgN$t`f!qW+1i(zAH6eudUFW_t$7nYS&RLJ&fV_^N&<(P&AQwgrn@yr z{_RRrWw{KqdU0_BG`RU*iH>k2NJhD&w(a3(sk zhs|m{bd)}kBd3A#a_zM=pmX=(WWIoT#G!xOBB{0U>vuAsY z;bv(@$qDT#5iGYhp6B*0ai`UmS`?N>!{i)kLshj(Jn3&0h?)v~g5WC9XpgU|Pq;Qc zKcPk~B6W~RCa@j1zfC-K<0lt5ywI+Gx3KJv$EW&B-HnmRB`Z-lUq!)`ZomAcB+A0T zaK5&6p=H768k)iML6YZ>*2>;6Y-RA!bNDq`gR%Js=gu{ z{rPTo)k<9v8)0@uM+eJ%o0YkJgLrq`M4TtKy^_mocohaGReB)0y#}JatyWX#BF|a0 z;|~=Y4G|7(9{uUL@9eMzDs&;anCEa5E&Hqe<$+Ez)eYks@Ezxm4O{S^@=Q(wf8IJ; z=J3BdApFZC%)bYOzN>#OO8--9m~=avT2-o*lau3I<$cy8T9cq%iVk+($Ndp*X=PQo zR#7s*x#YfZeDjvN^9Fe{zl4q-SbdT^x_q>X{<;cbsH~-P;)#TH+&O}V&J(4o-p+hY zD*fA%%}<>1*0^h~@sv+}&WQYTLg!vHJ#}tWXY8N+^pDK5f=f)aoT1O^y&q+{zbMHpgQ`o<4MRXwmqH1Y~v2>knp!#dGXH4#bYzBYOggt#y{eB5cfy418fK9wEkBdbvK$?ChjnK?o1rBggf z0U$ppoI3SXFY1^Y6ah6CKJ0-qgkxKh1x#$B$BrtsqeNA%;&Xx*EH;IAPRb^{xKP;F zzBlQxSjN)9@Pi_?4A4LalyQg zVIY?Xv6yVaDn71D!bTcgjh)UT6f&+`!s;@YkH+xvbKvjbUkYr^B!5 z?+aQ>*0Z*=l-=Jj*xZk_&Aq^C%2I&$v|Dr8bwyk|&vUHS@_@BbRm2cZ&8pO`b)X!n z;4%6ET7%BJynG#9UC~pdbe6qN_1A@n{*uQMI@)0VwL&0wVKA84zG5kW#WsG`LanA& zR%$3Xwq!IQKMhZ#WX-e}*`xb2eo#sF{SiMOUN>6y1C%P9-Q2X(%uygHTPa8x#+IZ` zWa!!%8AmD{v}IEGrz2aMSaNR+160OQ5dtiQ-8#=`h|hY*6jK+z{Aml*RbTL(&0kej zTJP?Pwqt>Z-|yZ1(H&9*f%4$$;_18v^QwG5#mxYEWasH{?SI@?EZcNX&3lU5*f+2k z53ulBLk-`~D1!{+v7?60Cp8bwglle-pafB~Y%14Bx7$0Sd3M+;ezlw7TwZi^$*R9_ zG3rTUb;tnyQ}x@FO41T6QX!#WzVE2T6+c+}so6_g@%tnamcP0{WoPCfE;c`O36CS= zvi?YlTE>6WaaDhMm#x>PExA&Yws|yzEJ$treZ zS;FBO*{$R155R4kuakMpC*)M@-=>`~V>?pw_6_!vqEa1MDx?xG50FJk6@JcrZq~6f zl@Gb!Y<;kcVp!J)qJCdOcXzk68$l|9Tw>pgmDMB7huspCGT-MDoE)SD`_?@XF@y2m4psO1e96Xdl*AJhG2xw6;WPOdw;e+V?d2|JY4F1MDTJ-5}L!L;Y|`c zu-aOjH!@-8B;C*?*G8OSCwwH6W1onq?5od90O{zMVZ!qhCTV-kghpm6S&LC@RG8h1 zP#m{NkCCiL3fN1SD(EucA6j+Ln-M7eQq!_D+`rnhj5>>D*u7* zLu`9*8rI?UVQzv4^$y~4HZGB_(`DL#ot_|P!{X{j9`4qBY85jSEkl@W>Km-|71q`D z8+{}Rh)|Roa?<|&&)?Lp{Nk%iFM-iN7(-JT@aN2~5A_l*i$?g}zkh#fZm#WsQ_?e# zQH9B1kxJZ$F&<-e4$S4LjqD_*;bRY`#dtEDfg6_NIoUf@g(88$3yIp5KM?N@SB^2( zZFN{Tpere{pit5*XeYrcmJ--hm{MPJ-Yu8Hh3a* zU_GCCM31J@U${=IP^k1ajj^^|n$F*%|F1{(WOb}QQ^D_~KXLu5BpdL7)udqT*eEyf z#TRdS$p__(;Oz3+gRp0gU_J$@85XX`ZAI}=O^w;bwS4H8wZvS~|sxjBPvg6}C z9A5!QS<|0M+0}8idG{5qSSblcFmyeMZIy>?{p!Dq4ZQXkHCHa#+S*#b7p^PJ=Wf3$ zxzEAJ5G`(Au1FP|Dd4sXL zTnT}CahgIgk?^@EzWHos*whQb70T6`uSqxG{;nehW)AAI_#LCJFJlfy({{@GB^MiCyC(AvASNAwnlaG^wr+7{r9+nHgd(xBSFFejqyCn_oMJ@V3 z)a2x3OOje)nR=)>Diq+2{C#&!3}4sx`MR$eiHr4EgCKBoIxc^TF#86eEs*#RN15|q zRnK2N>UMv7dH)ld*8fAv{a^pp;!ridi=V6K0Mz~7r2erX*TGDvUg%|dx@4sf^&&v; z9;V;91$gRve0eoK0^{$aeHC@yLvxhcTPQg=I2eE0?)*6nFZbFovV8FwO}PGyQ27*& zfAN8@;y!@xF{n8`BoetvEY4+XoqJS#$DF@9^L+MKC*#dEJcF3+Z3E2ZJ+-GVo#T{G z$>;lg3EdX|W54fu2{>P6AtwuA5rBZm^q*ls7~e7f;2<~ddWSUUer&jPptY47I-}HY z?`G6E)1~%zp^{$@h|0f*edn6@bE)CkGvcwmgi?8G&JxMfS%0#$#A!lOB~fmqU}OJeI+dSa9_|(C)IC{8%+n{H zBd3m4OdiHocz9dVKDR7OnT=0I2)ReDOKJGdNr#8ecbXVG)Q5{XySOy{{LP-wneS+A zPL+#OlIUw7mW>mK{ci-*vg1KgR8dupqhL_7>Db_aW5yU56k}1Vy-o^l17%76lkv5t z=i=C7w2AyGRH)sHiw0r}%EVR%8a#?OC~e8TAjCSh#9fA&{;U(|g2Z=J<*4p_)8H%T zYP9s+84O-tcbC$Fb1oc& zO{#wBIlMwL#X8wk#rj#F8HXWolR8@~W}!@J=(-&g6r^_h(;1*hfYnuJtx}s&LrWMy z_VH!n3!G7g?W7KZ?Z1)oaBM9`=Q1)BEi&@Z#C9zlje6mH6^y=MC{B-km?qV zxs#DC@qqzQZ0s+U1NTP@Ky;U%QK|`5g(?!L<$7q9v=zq0oDiUBP>!THj(&Iq zP$oUv3DXj3s|g|MarhJA^kUAysNV+-us{_R74kvM<<4$AM{FOD>WXWBiOg7igmDmi z2A$k^VRcSmxG{yd65!K~`;Q%KZ3^c3t56c{|HCXP!e_EO9eW(QVxnQ}#Mxq}z4eEO z{vLYMwex^|H&;%Pz)Ki&t6isWBc$i3CJ`BjBug_tMrgf2u=FH`~w=ee<#-d6{xITAwtOFFPY)iS-tv zT5!yg4APO5 zUq7@ku_|3rl=~NHfb**&^Ua?BXB3%xmjRGCTRU>$t^d-b>tKZvlG4@+1j{fGFr|o^ z@ka@MsZc=s4@g9gOs+02ola}@^ZJsj9XS)d9KkB95x{t@-BttDO|EGy-g;`HPB`~Cpe zO_QY0>D370A@n*v=G59SNMoM?xBCan7m<&O567DG|56O$*k6j}JVZb-8hZUV6?6Zm z1K)dN5ykfhEr#1MGkFL@I2>*%EZ6!(ikwzR@Vj0xRT3NF|D=BUNo~q@Zm(ac?W;+) zSbB)CSh_#d*@nSB08+_yBkNVo64|W&Yfd$DhXp0}8_2)ZeiEzrI&=P3w#MQX=(ywJ z3FM+j+>&E6zFUG5T-bi-wM_hQA0`^>YOqs%$(Qaes8OMzMLepOa)Lk4I`Zg)dLeJUZZ5#r%g(#2W;>;W|GtqSVONmq|CFcYMmRZdl zbxQ9_Av@98szMd20#N&qS-`n^&UFUdw~U&V5seY(*!<9(MDC zp-r`YNdnHS!v2n6cBFKLodB2%5pHmnI)B43LC4$F@#s{5SM&VVf}An+kIMHsB;sZj?>(p#&t@Sk zPGyy$c}Xsy9J{=nR$3-9`SImh_qF{84>o07PLT(Nm1hyVgt&WlylI2ul&?08y(SE` zFJ1KK=|W`OvmLWxYvAj0zZd7JB|o?raCLc@sJAyGK(|Wv>c^BwZt#M*=$oNS;lYTE z=k=f4>oM1XHA9Rmb(5^p*TE5FJFj0wxy4zT!6fy5TavD=<}G)avhMZVDCGOEO@0j! zNN<^k9Y7$NCh3k)O+?<|A|Ot9e5D*!&K2Uqi?0=&CVh_?N`iJ0<^nYRQchjvVxz*)H6Ua?+%47wM4c-pCQ;w)Ikp$b4JEv+ zj-m-PL<<=NBP=E_8TFxFNa{Q=4Aeb75Y-qJHhlNWfywpthyFLYLmL$Id_<#(Fh>Hw zzy167H*nZ21%#zT@c!jOqUJNg=b$twP3Yj4Ucuy@T>#b+*uC2kC}YriLp(IyT5f!g zF}nylN+LPPO?#;X2ppmFOIWTZfZuagfS?8Yp<>Y9COgxVCZ>lm$z*2smBFuMoU`>k z%M{=-Ic>};rTCS15tEC)U8xjZ`UL(VO5R*YhiVIZYEd8j)%;~;_o1X5t5V0gf%14& zkDDG^qd^n#l7-{K5qqHvwH&K;&dI|`T;dcn-hEX^2;>FXnNKek<186VPeUVB#x zNq~Xt*$2v5RT7ZgS%T=72erFSGFcc%mV+YrC|y3Ejk`eI(UmDz`9?MOYb`A;$dm!3 z+t94g`6*ouNfDqtH;hHDro-K~2>#8{Q)=$2kSp3RjRkB&Z-Lhka4k!74z-~*K*5QY{ zS1AkitSH4aMn}S7WhG=nM_ei;9wBFpxj-TAj4HJBWH4%Wi~eob!`Lsy;51XF7R4@l z31M06`@K=X`X;qeveIi)lU#XlcE+h&a>|&-|6n`C3aN#gCqB-~F+@*@vt% z^+-v*asm~QxN-@IE9~0uwopKqYOXmep`zQdi#vN!*8J%MVZ5eBlBl%kwIW~Q8ILW; z+a)C<>F&9qr(IIy*Qociuq6q~M1y<5Hp*GSF*b^T1TQCbI@yV{=-`aebX8G5pfM|9 z+x$VVW2>-ssp>rBj1+oE7&@aoP@(Cooz!B3lW(5fTQd`q?N+6byk$j%Az;bf8tMut z58aqnHBTiNfd9cv5*E~c4k|brK(!xdQkp|&#$|{Ot5gOoGBCCqInuwooU!&?0Vv+? zfDQoX8Zfol$pJL#1B z5!^CpTBat%7BPi3Xj-7wq~Ow-k>u0o3@)y0`O(9r@w-7_nU1DC7LT&Uu_D1T%?=ZE zpao6Uix!rT9A6?LTFEwkCD2gASQZ9{9-X(+xfXKv;cf>mhYh&|PcHJ(1ZRihjkVYt zK!{9kZII|}h^k;j&?vzME5v=?!kT>} z9XJ8&8j2z)1 z7*n;aTF{-?X%=C@{m4uaw+gUTF9GUC+iU_ybKXhCaYaSEfyp8}u28N` z-WAgus~5&x%Gi1a_fG)}>8h`{!y!E%*QPO7;=PeytdTN_-Bt zr*-P{XTO^I0<{{S9Ut$#dg{EHmX{{|b- zSNZp>A^*&`d`|_Sa#Z02N6DFhmw{tX$l3yO4-6*wRlAkC(e|xdscWnZzyNYcc2%)V z7Oi9lz3$_4R7SNPy zq6C-g*AGPE*uCGNv{AazpQvq4u;tQ2Hz=$cj5pBTQcnt`7+_41-N+U08qY!dH>sW-%{N1e- z1H2OPn*N@ET65NV(-(_{F)~m@Z(SNnq>~L!04Wc6R2+x#K@c$mnU;X2hfB{gH^hIg zVvwU-97hCDOF!mR`cg@0m5hQ@n{;ltXU9!yTKEi-Oic7_ZF=A=ir?>ds8qU2%1U;_ zo+&si3Y9=2G#4)bioY;c57{2o*vlj+FOCL$sDzujYY(%Up<{=W~>c?UlC1r2Ew*8D!=e{PSL&;T(f|D{#H#`Zh+^p>-;C*Sp55mp6Yi+SS zyHQrnOEz%6g9J4R;I*_a2X@{>Ae8$K#t&AUY?jSobglny^uPJ9o%Xu8Jk2Hh znDx;WJEcnue7B#6SKOSHY zHR0spK&?HX6C5}_Bef))`TNCMjb6d7*?&Zj1v+QBTjT^$;Iti-g+kLr&DYD9{mWE@&y^XTdmw4WoLm%PQM zKC3eKHRK&M!^XhP{)X@4%;xcTragc9l>@8jZrk?%D}(F5xhAyq|LuKL|02}jx0LVm zR>f-0HfnXIzhE_fbkTvBN2FqH6Kc^PH++QnT$xgxPAg5QV-CDtOpE$vi_P|d`@6(p z0S&`g;qltmY`(CExKuj6s5GZBjUxGaA%(y2vo9q*KTRc3Jtm!P^KJ|3Ww?Q~hP6o4 zaU&?q1S>yf3d*(!3Doiizg|LT8masC6azVd-3<{2W<33pg(~X{;f;g?WTM74-7$=7BsJKM<5F@h5=k(j-Y}cA(u> zbSs@+eG;_?4!o3Mh4-pZJ465M#K!(Ev$Ur6q?!3MAc>x>-1=z>q zaBQkOu_vD(D-fY6R@INJAw>v5wixg3%B4ytT#l;v0z?;q2NEiz?>T00JXaTo;9H#- zZ57$bi^J*0L~=gyrw z3qbil$)oN7;Ad;I3K5hxj1x$nq3dG|uChd&Vlg-;@ceJ|ZcTS)Zul-MZ5kvo>v~Ye z78&w^gwmx@Ae0tj+0yQ4R=)yrvSoDoxa5g$pTEaB3p~bVu(O!|&34(rdA|x}L|b*F zW3W?4(P*5>fSjOs1CC1As2|hdE=$;%p-)d_)3YO7(Tc`m1GYfnzPb3how3kD-&_Bf z$95oJ3(dZ13(c~U=+;oXXQ0s|)&DjvjKRj_K=~!68xw6z##jT627H(4xw*M5=82jM zwt2)*^u@^_AJcsp?&AFXp7NOxA^+@9=ZAOg-n~y(cdb?~_?Z*N|5&U| zfU}VXwFqQ$))LjKa5=vXnmd{?7q-X^wwg$ul@JweAsOo=Lrrfc>DPwRZLobRPnT3U zCeZA-r`SpBTuv(sQk$1a#*h>MxdhhFy;(r(Jgr}ylLbKKw0BDn?)DS`(CVK6p0WvC zs7>;Z`ZC}<3M-U2lWL=HUONi*;L1$&0lh- ziC#~^OHnD-5Ic1bUP|=mvWC$H`K#lBPKd~m;R^LaICH5QI~dnB?00B}W}DcBwTkES zIr2opb}i(kvL5j8(nBKJQ*RP!WP zv`L>}$I}I0&S(k@5&_c8ZgEZX^%;C_6y43o6B#pDbX-PZw|#S!uR|-D?9hBY$kNhm zGNjy1Z~JL3-4j~eO7>1o8T)K?h%lWUBVFNaI=2=U?&ak*9xhkv)czWveNa#R?$ej} zA0f7ThkSb@!)A!*4V;JCingR?(LH7xK1*CN#8f`Tl@&k{?^DjvZTIExX`sDr02wPc zf{GFFvGMSTMqN%hFQf~FkR%=`v8x`--AL+w@JE0FSD*H9fSNw4t@QtqRR1Y%7tq0e zGb+?q6Aqn5bq5s4ZX3WXATz{#H`KLp$8NLeZ(Y02}ykMm_)Jpy@^^ zz5T`CSf=_9(HpehU1l4@{GLYTJ9bc=?l+@8KB)9&qkHPpmr!@dUoBJkBdHDJ!;s~6 z%>G^3yWSpZT!!e`_NWJxT&`}2l-1ur9n*icOuxM&z{h@HRX)7&Zj|wk7XimT_l0(^EpadnxE$8 z|DF+210Sr^(9#=XJUeRPi5OXUl-9W~f^YM`Gk%bi>E69-*RgmE6B#P9`9~fj%WNw8 zrAp%m15faW+(nOzZ|8MWa1zj45ib&x*ML9=oQ;819?{QrCnB&|Eb}z) z)ViGS>%w0fs87mo^`OUZde*tiE!@#oi&H6O>}Wh54+Pn_s=-}yXht&>9^doJwEzzY zq}|D3SPr?v6|W&)WH!8j33OqK;4Xzrwh)~#$S4LO@f+-s?{!$Z9w7&Dg((r(S@*oXs20|@J+mK@Fj_U6Ra`5e% z5-cT)=(CaFxmpqpNsZ~kzz>BFVif=@8D#9+u;V3HF?!^JuR`@(1%;t!Iv7S9AhdxX zWEwmy`r+L7pG1!0p%p`()4oXRATa!dC zOeIUz@yoS_Ro$h|cWiLQM~_8_Crc0mjXhevp05?_Un0w`ZcLvw8v@gOxv2dIo2ma} zV}#V{ZlB>;At_qx8iQIsvewW%Oo zc|%lP3ZYMO)n>?qrxA*P&HDq?gam9HV$_ga--*AAqtp*eL99MsVK|21Pd*2LkRLFQ z$@|RqY*{7!h9k(7{Gd&%B=~ZOL7!^CQ9b2ICxC`L+tesf>qi8pFEUTFa>FXgOG5yw zWD~BS1gxmHxA*4PqQ#)fBtl3j(8uwtHdllKwIsgdlW0K=vxdG028OnQa(i#(PMc?| zI_2txHVnssn&k4Oimu+LF$1^zUn%ax_-Ou~aECOX z`x+k%o~J@kLqZ3BelD2C2T<7CU%Mq%0HX7whtS5`?+!v=URwBpL{4)qXzuvwFS^N88f=?YL8?-&>e1n439F|+%imIi-t@#P8?QVK{&$rw1?%~14N5y*6+8r^`WFk?6uhf2!Otx=TQBI{7)wK|U z&&9MZu(z@~=nHnvSJrcpgFO|&2kNS;gXRbiT{kQLv-@D?{-wCBa+0czq|$a$p6~l- zbj5#DUnrdauH*?F_M9P`d$!L0qA%$=aOD5w9yt}SRQPs( zkeg$2{P=@p55!hO@TFFxi`j!igC?S4nFJNWR!k)a%?k{fBrruf>#_ zy8TS>4E1d3w}0B)o#j@*Bzj>|I_`8JDY+Qy++4u{*8XXwc&$Lwx4yKY(a&E;Xsw!K zK*5Po-lqpj8}_Z%tS` z7cmm(JSfA~w*^{pCar~memm0Zglz>$7+H6~2@1SHIyTt)RVq|$I}Nck{VJTIhm(ZkG^sfL054z=+_xvu|rHc)na8Yu;)#G1SCt@ zZNMCe)`0i+g7k1cBDW>%K3bD`J6LU6hMTu@|Bpl3iYJA|b8+M{pzKmw6o@TAvu3hb z08+S9GF}F{FXyqed0up|yI-CL-A@^L=qa&4UteEHgr>xut^Mwj!^xEuP_iVpeQr;Y zT3umb>qHm5tu9R@?2c%A{PHqn{|5{n>XHN!?0T`V%9B4ChaYS*PCk40jnDb>6CG!x zeRpf>0g6uQ?7V7|-Fh~Q)Yl&0nujK{+a#`>w{JW z%kCxi-SuX#*(t>jB*n0h5eoE~#cTMw9WzQYhuT8>fNviRLYt_f1-U!6CYVCa4y-v} zLLzX-rDbMjmVE)HM8a|ujdj>w+RXNdeNbm8uxFLK_7$A~%0pwk6UG7>NV1Xl1UJ33*5-6=&zmo|M7Km0OhtD>NNADE)l*xwB{W~hJwTKwWV$sCZ(Ij!kmOld7ihR z-2LDXAOG~E#ij98_qjYq+31sC{v9u18r>Am!?2ngJG&`(^Z{w39jXt!+yly>@w@DWBMlU)9NmWqh7_fgV8lHWBC zzUs{DpB{=7OnfX;WX~x%zcDP)EYoJ!-se&M%8w=>c`^HeN#kGJlSr#wD^udZ4}XDL ziMqQ7)}F}pF1B_#qb7Rb{RK=;?hU>#=JT9R4GIonN?wQAa#vVFEKEZXq}od0mYG#+ zg6@rdSi+>c0uRo4tRv7LStr&P$)eF@WTPbKTG`f(%YwzYNxF-GPaZLWOI#rYITyi6I6po@$9WRMYeqQ=MZ^f{az=xGt&ppgKxzF% zQrh{)`Lze)NWSik6=3TmOKj;5KYnUUb$M*M1MpT6hxHe(22y;<={kiSp1tJ{4CUu* z`jJ8X3E4Cq6|=ybm%-)(7nX`RuFR~G?6T6eT+OL<_pCy^FKk-QwdpJ9Uc{ZKnpwJ^ z(^!@^*<#c&|1zyJO=?C$8vlwgn_t<%QL$EIpEYx62d*xUzUvj>5~-z#3k!D7Y)W?w zxk%Eh=(GMZnXT8A5t{N%+6y&?Q^YdGpj)foA@@J}V5xd;*&T+hukT7@B$!&P=KF8% zW?*LD=uq6)O`AYHzvHCYP^+B1Q(x0Ni@fYY~GZ~VbWS;n80v1ouDXy&eHj(v8}O&mb#DqWn>)#95iD3>q^?E^;wN*WZ=^1Ce`$1-=-$+41@_;FroBWU4EuGK z_eOm2$(D5B3AmY{ooK8hy`1_5C4TXr(D*~50xj}LZ%i&F%=lsex(GB$5th4Xtu6>ea|Ky-_noLuk0k6# z;i;>mhmEUMTAVK;n1!5ocDR(D<%%Q>Ff5MNyYi@>Fd9YCLLy)oiyF5F1FV#`hG#i$6v3`C| z!ry7(77wSZGj*b)w~-@I?#`~x8oq1Z@9FPIXmhU_M3ZACN^_b^6ecI8k5VmGCQQMP zh|O3Df+uO0Tu|wa4(_0kZt#B3THYyQbLl%TU9ch0N4-FrH93h+44Amq!0ufh%eA*O z(az|)@<$sA`iE+(8#Pc5Y1L`qKat)oh+jt6ue)?IBIvJKAG4*`W(%atfJk7NWk@aR zOA20Q|B*-4q0@=ktGBb>iCL>_8`KY)Y%OJvb3!gFJ{=O?Y0E4Obl6vIMT_)z#yoZP zza69;#Nv241X#+VstVPU8Iz@zQ5O6iKJ0rfmA9_Bq<5wH^i5?h^ea?1(wlrmjNnc8 zMjsxs5_T9#ngWa9|LI|^BtAqqpirT4`2b~~3Qv->B(=)d+A_hZ%1dgTPi36XDr!oi zVnF6;=6+o^L36&_pVIGibV`pB5fBk4sJYe=`;v^O1o=s>SWI5L!O#C_yd7@1xXC1;0~`cwV*9iAwH**NUJ7&+RMg^LJf)uq{j-E|)s^ zd`_vxsy(jXI*F9e*nX)#@BW_pbEn;+!1yZAP;$?=xL|J z;?*@0$`w>UozPesjr{5B-4y(kDgtXlyzFJ99j<4iQ1dcu`m)fgsrod zIWg|@#+L4Q+wb_<8cCD6IlT#HsC6(;cl3LF&6JC*{YYP?sFa|Cm#gNOU5Z*SIV#Gj zZDJtL7=1$;rW1|9zk3YZZ@lvG-STc&6V=d)wCZs})`Z7ggxgwX8Tecg-=EM$)4XM{ zK>f)xE5UR4dPvAa`DKKfu6CY%fWOI69{BY?j_o1o9W1b;pLCyQcFzV$H9l!HkTr%& z7^W|tQ;X&wJAlndTb#&$ydJYRL8D`?N2r>=*bz?q>2xikaWthi^@eU}7WXvH>*wOP zG2hCl1+L%fOPpDnpPYD%5!YL(tLaoJO-H@ZsFi8H=qql-xO76`0V=*+JvtL!XyH2B zQvEXKNaMQ1l5yw`bKP%G1PA<}tK)KUFnQ`K@#+;d)QQ5xM9=xGJySy_rP)5nP;0g` zdd%h+I@^Ak5oS$Le~>T)r2IlDXVCrj-U=}6yI^^13}27B<^i z3|tAlqoJw^)h~peU*XPZ%FS5>)!bx3l`AM8oL{?Y4HV}G+ePmd&4I{!L!jqh|HLJ1 zvPAaS+M8g?;_Ht?EIksTq9fl@nYl#S%*hnvz?Lk+SGqLlbpZJ$mNqicR(JOuS! zFVEAzaFSSxl-?EmR*Qg4J&Fuy!%%zZ;VA*PG3CB7&UiAMD%6aQjtUIDrt?iCm$Wn5 zUI8t7p9{l0Sb$HGq^sTOE!-NU>6WHf5PJeIw5X}l`w@>e1Z4<0EcuYCglT={N`&pb z^oqPFt15^Q4j%b(izc7i2;0}Z?_gNpdke=NZLTcEVuh$hD@_kr>%1*YQc_~?>B8~2 zo;Gky$8(D%!FbWqJ(4Tj#C|S;(O~RZ#I64f8|G}d!NO70uP6c!iW*z@iKq)(HxHY> zJQ2A0;?z1fpL||Mw};;GlUUk()L~FpP^Q@@6NN7X{942!M&v9~(@j z(P=n|WHOQXwAv4CGA%GlqW^U=71jA?2HWK0T}qmwKfPSZ(&kR(UQZazB>4C|=j$(! z*i3;&T!1%dWG3ParBWG{I(QGDK(TK)i)fC)Jr`ed4a()Rf0iHaai>EpmSCu8akx%P zszv|K?PbUY2M1Lu71!@}o#HpgzeGT2mZJ+HW%wuv<(fPx5%ykp4jds0KR%q$eqnwt zEh$;oZ`vK0A@?b1#+5WL7{3>ctRL+s=rhX?)4st#azkuaWT?D=Xc#CwXMBBJ~f2Th4Ol#VN}ooYLF>hAd6)yJXH7iP?yf{gN(D1~BEU8Z3(T`T_6idx#9 z5?{&dBKA}e>1!tH@Ho*4JRs>TDpLB$aB8iZ!;$;jKy9DAss_)U7hNQB7{+*=E{PP~O9Cq$HpDD~mYeJ0j?0V09SF zSlYrV$o-Hw7xO)lArk#Xmdm+hpqPkGVYx}X?h4R{2s?rbw_ttcS!mQ+O!VkS2M1O_ z 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 VtyLGtNj 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

    Cf#jyXIPG0_27`1NzEGC&m%Wu#(XGg=%lcO7_x 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 BQM>>E diff --git a/chart-sdk/asp-net-mvc/chart/how-to/images/default-template.png b/chart-sdk/asp-net-mvc/chart/how-to/images/default-template.png deleted file mode 100644 index 34fc6a83c8ee792472f32c7e7e27e362bc031311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33800 zcma&Oby$?`_9%>mA_E9WDc;Jf#4 z?{mI$o%4rY^TfS+t@~c_5G*e%hK53j0tW|&CLu1Y2nUBi0tW|=hzt)0_sqM1EeQ7D znZ2Tz5M0^t+b!4yqN$*aARJs}B;Zyb33mPRi@3Ty92|Pb9NeNF53cjnt`b?&C7aGK}qP<^Zj9_lNgnv|KC}MDjA;D4125 zY1VrT?8Uz+k`6$5V-{H(XsBt8S0LhAYRRRgS^X{S>-mt9FAo)UcQ~AUX>dGP~)(w4J+B#RJlUKUxH77)^ z#WyTQ5MnmW6v@DXd_@ao-((yX_E;RBw3Lt^lbW(q?a9>!+aY8~I=5G$!Lg1fLmaKg z$G0;9_R7-QqkSn}#;p*&bS5^X=_S|3RU?&RsNN*oCo5`;GFhnrr>%-jGgH|q4L_5R z`)Ee$!Q3zJOq~iT4u+44b7u-5gC@}73@7@MAtMP~^%Wx`=QC23M4a5RU;VC*56_CN z)0wKOobF0=$M5i2HEyntE2X~pm0|wOOg2J=&hRvHUo09X z=s4A>L1z)HBbS;Jp_;B_s>+Ng*xggzz>QPI?7o#Q7QW8_e_YxtbJ35)D|=-k84O21 zS7L&9UJ`)i=Q?fT=`5U18YyFkBYZ$p+0`#CBulA{AbtgZ;Q8ePIn_^H*E-P`&;7%k z4pF^~842IP*6l45%p2te!EWhQxn?aG5qa%|z6!LpOj+=<81TFZrs`Vl3?js6Fdg%s)3Ymkq7zP6lwr*Ain7GO9%CEW9^YX4m z(PhiZSY>K=zZ>GP^@m6Ot}9Ks#N9_tH5Tf$ry)BeDzENe^9V7qbDH`q$gG%y5N;~CTj}- zOTEdxF~F2fa6$Z);O4g(+!xz{%ys-mX4ZsKsLRqb?nmQnypmcB<1Qi`2a6t$XQt|5K|OSTwP@maH%AH|}0e zON~66!VEa{%ihI9-q=<-vFWfRIG(0cxr*^&OA$amB!m+Rf|wy-}0hkn0dhlzQ5c)+T5K@^FmcF1V7X0oH(XdbaVfRKMB2tC|} zJHaj1Wq)l{>~_8(<;nzQB-8~ySz4*Wc(4^M`4ir8Z_eVpN&=6%!w*(nFqM=^e=52l zaLO=}Z)1Jd#pOJCv+zgi=AtFL`pv@?{?NpXsaM&Jg3-M2!tIr@&iv=^e$!qEG#oWk zSkveujZ`sHCdWpM(Nc*_=KXEMfSK5n#Ch$i{b<{-ax3~5VpOs5K^)u}j*(%h$R_X9 zb*o5Ss=9~l)7CVbw^5Sbu2LI?s}3eeCcTJsk^Ttv4&`QllMYD|na$OaCigt>4|Ah2 zs;a_z6=T}T<3t6Sk~6XJgWb#JQOD82|FB{4r-==j+tx|Z2`Q5O`(DB#$w#VH9kow` z2MHgE%4`;-%suBIA5OkXC6|^8qo+?^NkU+hy+VQ+6RLHUndlml*^o!BHcZ9e+6Aaf z!eL~((ZHUJ33c;g!<-Bj{APK0LN9M^tj8yQz*Yt%#5&GJ+!^7OX^ne)JKBgJxj$Fh zNw9egBCEtGjMVhCFj(*~SHq$TT`V%AJLfUyuuy~D6KXdaMeO6|c8%PW!F_kqHJ5Db ziCs_2pzbFK!-YjvBDHez3Eyb`bM`|YAug-6hqoHDcvqhMa$ig*DebkoBCBxo>7}sV_(dR&{59lh~#^y7%@ePNs6;Y2IWWk$j#gZ=xZf+)=4@U z$v?{bspXcxEL!!{vOD=avBVT$fJo8*2E2d5X4t$@^G=(H2PqJ>e^ME>hGV`d<2hdx4CbT)!k6U0?vx&QKFO1fQpF znEml;pwmHr;bhMopMep8mmpdQ$B?`h;Am1|xzM1ZG?OES%u3~=pRP=-qpe|hAPsr&P%4L%P$Y(t^l>{Ye+uU(GktS9w^L-nZqjb}mfd*4y5<|#euz2mQvZ^9*q+`HmhZInwmw(TA7v0_{@%=}pE3}i?! zB{f}!Y2xD+G{D8gN>pY}*&3VQ>QW$6VAU(1nvFLlXojrs@0sZD$mfd9fud%b`+>x` zQ(d@bPSg+w)FJCo-0#^bl`+{AuS3|Ldmsd`sLs zkun4P(UtPw7O$;+k!L4Z{XI4y8w_m1>H&+mxOXhOpNqPBi)PZZ8X_P5*cP3wjOc2$ zxVv0T8VmAN-n}ehYUE{PD7qZq{5pPqdv&6?KrcFlqM>4Aoy>WcN%HBvtrsDn>l2Yq!7qdAhNXE}Z>}U!lIqV#Pp6|=XX**u)rAUz! zOg^*ZukxqUb$*)5csu$!_~f-A0&llDbZ7E~NwKi@%_MBcx{)KJ304yu7|iCe@5ZCX zOO&L?-%=x)>J$qhg=dcETUA?Rpfbx|Q~#tY*8Jf2a%4eKimrjwIZ{pZ4B69%8OgQ4 z&YHCKo}K-b9{&^T5(8VKG&Z~02pQR9ROL(LHMLLW00#{scubVnh+Q<-OoO@V-=rm- z!W-Y87OAyW;g99~nq2|MXOuF^Xh@~(Vx~_ikWCi|sn?hc2vI7&LwtEu?cU4x8yx=? zNobu9LrePhwDnFRDD0;>5haG92m`r;2G0E~$Z_W=AlhY9eWYTFSp4scwoGu$bFB6M!KU(6qT|b7(@i}f7l2_L_ zXov-8;Dq9ii)FZ~cs@vKYoDwc-n2R|k2#<8rw`F*x~yBBMZj@^bA(3#I}>xN6t+j8 z_VQvMVc5!-hzEWG1&(olob>y8ZhYNksWbQHUL9buKureaN-?#R2TH!ZDGD2LaB=%= zI|`FnmfF+%_{;4e*_i0SXcOpk{c$#oC4tK4KC&hHH2e`9&J`7pzkTo$7T*sq9atP* zAfA=k-)}EzEiB4{_8BG*h=EsP^j8s%vpA9NmDJbkf_LqD#6Q{z5xKyDQz7hs%I}R) zaHmKgRrCaFhsGy>9r=-7hEl;S7&bk9H28Gji<<=l7MGeZpRZ>M==P4T7d=zREiU*1 z2N+kWf#E6cOHqp-QZ7Q!==zo{KSsJO)8%`|vDwgV?lL8EsO(;V$B_UQ7>|bA2LO0e z`UW7eJ_7)Z;Bj$#{m}tZBv&P zP>*YLe|}?|;vr9*rAGR?qC$X5Pv1xSkEy4KIU0Tx?l;%v^4Me( zXz%7liKRuj(HgA#8XR}b=mAnKlmJ#r7kwgbr`_}Z@C!bV-7Pnprsj6qSsZGs;QsJh zC5_!~Ns%-}Mu=fgP1J&$;h){0)80EM)7%gvR_M73(D-KMLx}gwl_7 zfRZYci}vAW$IY#GYk0BD`meQ~pNbr}kM&%lh4`EWDgFK-uA>IWfXToR_3|ZP$1U=n zh(RP)orpaKFX1XZLg={cMWT^9Y4!GdRq!!$>C~I1bzLcT{s_8Ou%vnQz{>+_m69{g zD@qk1lmX^LaVC!5)*s{V!@s0b)xN_iqP^-%lLRZ2zu>Pe;$LYHP^U`tQl&mhbgb*i zGIn%?2hbb9V1tSdi&t7R?jvHb?qy@kVmO)f?hh^FG{FAPPC3pdbycJ5lkrYcF0^^Kz{T3t#9 zOsTuK1>?@r<(f`VsN`rXax;w*)?N_f;#PjyD784<9Nm@e+=+42O`mQ+>}f+C+qvCXIc7D|)tIfa9ZdOWa{lx7gqH8{yR{~aYClZDCV z9@0&lXZcKrCQgJ{N3@AX#jWl~nz}FcSaOI~mE-_K(sP!wpcI!*K$e!gx1qqgPpGvxv$6_*Yd$&^D`mPq+$`CYxOMevyekmme8uFbPe5t*3=m0`Q)fU*hD|=YH7>#( zLQ6m^Ks>W~QGmv24)VFIa8py;80jzRw|)sTHpT;(v1M)3152|e503}R>&QnfU)W>^ zDfD^GpNwVued9llj+B;@o7>i5sro3NJGm2sWdvkARgGq3B)e8}@iONuI3!_cxQFC& zajMGl$^zb6O3XsCyzK3_$5~^jXa>?$ue|mnzy7+EHr2>i%+E#tJQY5HQz%+d@#|Vw z?epgK*$xD|OsoF;4dWqh2()~+$?m?rE49Ub;lwQgiM1q0R38_Z=nTkH9e_`sR6zL0 z?J7;t+)T3l-4bYDEHJ^2X!uq=e@-=v7?_5Wyy#aygvM7&(Ed!>Si_%8&-OBv2CTe& zlbZXnuXhG5R)!G4v99+HSm>nm;kz@S3mR@BWjTX+)QJ1JM`B^L*N@NCr2C4-jI?Tr zI9Ww%r5$U{6&@#wUJh#sKhp#!Xb~3(SB`bg#$84icu#!Ffj>>zm9+jV?qj32nqgBG zrHo8C^fJd4&_!5D-^&XT!&9H<+5I$Qaw&lNVa=wp;&l`(L^WuuDV)BN_R^JDgUS08 zWJQ`cp&Z#;8bNr+So#hVr?)cKc#jc#8ePP`mIrqR=ZSgp9zY4FL|ZcF&Zw8&b}|dK zuxzKST!=Q=x8dV4b+$R~uy3*f4p?!BoE-t{{#vl`#06UWsxRTpRATC`)fp_?_F;pl z;}e*nA7v56{}-i@Q%^>h_BV(6p9xd3{_2gxRo@b|Aw251y`>s!Zi4abZbPcx=p4A{ z17Cf%xz9`q5cm^+fA6Ab1(fhN1&oy#`wSL$F)-Z6%b(~(d0i?w^)Z{so7&Qzv{%_6 z^sRML6Nl7%B%}=0gaM2o%+prGHav2Qp2p}>vs=jt=rWe}rX;58rX&HB+vP02@w|9bkykDz@5;yE9U$p&C?yX9BA_e(B#Y4K`%Wwb4z`>BX9`iSX|m406_m)%j7%tb%6t1FVD{B|;Mp@AR%kq=&mQY*2MyP<3( zbvX#{^;G;$%qY>$M%Hi_EYfEi?<_7 zUv3Wt!8~fJalV22HXLE(ZTAe*jz0kg8mGDqi6PtEP2lDI-Iv;^=xi{M{pdR5N{o z_^Od_<}T+9lrZwTmvM2yRD2h?ozE5gFKmb@M z!?caBrk3M7SRBeD$9CB)bUzsjI*j#&45&|TzqPu`u7zdYJf7)NQ-gA7Rbq504cGF{ z$9=Cb4fMlNSWB3iTzz#bezU)8Ogm`eN8m~TqEDpFYHlgfY;<$|y zO-NbD%cVHY5s0O~@z*AS9G>=|y}2bHPs=D#N=eZ*o4B$URSK-hM=6(`iKo-xK&Yr- zeYB1r?fq~621a{WWL~0WcZ~{$o&EFt{(Zc~?L~Y%BK_+e3DH!WtFdz970|{s*?NFg zt*br<7eOs3t(LV0I%kWvf)L`;GVl`A1zuaYpl!9Ynyc%}Xb4m*Sqx#VgfogtZ?$Sj zg&@hwe{|JRlM=;C*!8X&v(|t1ljC0q9@7PJQ~kZUS~(>+{A)Eend_xSNjO0?~)+Q1;}1m<*)) zC*(rT^&4T;uA*VQ%b5cvhKq3c0N0JqhQu5$E!Tk_A|A_kmLnWC{fQsj-%_2am^f50Y zxl3)d)Rjv;o7<%4_(CSzv|>^XR;G(%o7i%$@Yd2D7qK z(OK*@E_Y~<8hnP*QIUs@=88_(EB_#i4nXqDvxt{-zbog#Lw)X-XFO7>R_Ra;7Oc>F zuZHs2)f~6hKFRH=?&=a@jy9`dN5(~cF4eOF64{WDn;(qSs#T(Aog+j9Johs;%Q!tX z{rkqiPoAx<5lagU27FW?zMo#3UPZf_aK))CAsk#U+J(E@EC?GB02gIJss`uX{?kv- zijg~yNAzm$nLN5HM(KE-sLou25-zD)meDDxnvJmYT8r4en-11UYh^>#;HPBZ7TZrI zrQgBS8P0cS(_WVyB>iPgHI$4DjR!8QlFA7S)Wn=`-Q?rcOsc|qh*DEMJY_%HV;WYUMY${CRqcqidyo`n z+|AEw>OWrAi*fu%KZ_-QE_}|#$XC1Wwb1ZJc_F5?|;0thjSF0GcGIns?~<#b#J-kZalQ#-7aJpd!I&Qd^D1Il;G7TDcN@b zoOC*l1O~@CEgaVn!95p!BjE(KFWvymH$ZR2yK8CcF z`?A+Zo_hmBn%)o2H~#D5+49d)fj_KP&zjNqrn1VNTr2wq$~B5AYektAhKu{DJE4J> zFLf(6wiPMN=;kFQ=CBLsaCT}Ll{5fBMxXrj;R_ha&&-x?rMhm3UARr%Q@T0<0F_vj zz_y(4T1sk>ssIi%j$NTI<4&H)Hs}j11;~i>2hL=y;`A5|(v6hvTis?1EWj_iBOULs z8?j-=4Di@o%LZoEHL0szz_P&R@jxXbm&BBue z#gsPhio~o1$v>fs+=-@@QpSGS6$WBX1px49U@4yEn^@Hdpw!E)g`J??A|kmX`m_90 z>y|5%BYCcc#Ugf4TFqmQ&`sk0rQgAMJc5XOIFsK-Y|LUhBM8C@I!rdraQPj8mpg9b zxta>`Sh`sh^Q^U)YgFYOb?w4on8gX`_tQ%rpm+BX)2ZArrYiqdzub>`FiX#>75sM74Phg;FrKEQigRZt`Cr_6ybQ5R3=6s0dBTE>RC&9*}6$XF%y z4Y!7>&Ro?Z7jSVLTkhdo~dnde7NS< zV)mGMb~^E>3TgCPSo!(=6|~P#EHcw|^%Sq=Fd&oXh=P;DYSzK&ciQw{c2(#TvjGVr zIyixA)1QgIJb&q46<$H3KYos67+%#|KB*|gb;gBt)1B$*m%F{(_PHw6^Bhzi@7y|xA>E)ibwkT&1mnld*mNX+iLPQC`K zmTC~)Wz``Dk1~U&?Yc$pI$JL`J(9v64K0ht2b`e#L`y zjhtG~1CIl@qNA^^Hw%#TIbJc%mq+>As2_ zzl@Y?!Xr0I6P9$zKXbyD87ZRM$9j5u5MWk($U?{AEcE30YKUe3O44 z$B=dsKrqhD0JUT#wf+k^Fgd^3BLpWrpIzw+rNFQw2(3G4xtVzLxx}&kbu=(PT&L+W zzT91;fodzaLbjQuX*;+^xJzi4;VcowDJQn=i{1)j2;g`8k?I@klJ9x1FkTQwbu z@|pNz5-0cWW3ZWaIc=?bt}fQ|G0fFhVmR*$!tq54Q!r2dawXhV4#@Eky?j#LzHBOM7NBY3#9^&@2geYwnPq}n`~1i3iK+W8{+s}?vI z7^O|C!M&v5$MEJe2`|~J$>=M4ma=jw#OJXCWR*UI4-~leW!E7XSGH)N9Y^@E+GHgg zA@gxdcLwDsqPx4BQn!lEFjmzh@O=q=-{vrFF&0 zOmOmk$XPJcI4&ZgNYKweZz$V6Y=mr_CWdq+^eGZ^Wfs}`)@f$(y$)NXHFD?#8KZ~@ zP!cH8z)Uko1UtFY=hAcob*y}!Md<`Z8x5;I^_b?8U-!fr5LC|DDs_sh6#Gt|={0n| zjz+KPz&D>FuKCJ~`;p8SI9KCt#p6wa2OwQRuBXur4BRUibK6Z zNE*L;g+e#z!}O|5cN!>R28SruU&j$0G_xudH}kl3XuUY2%;-_* zS-S!i*MenUn5Si8h-P-BSWTN&&+)dLzlN2Mvrx6Ee$C~v@#Byg7HLLgJQ4OE6f$=+ z1|{xhs8Ap9)zm2zC;1P>fVGmA%$UYBsjajh_lHgoi$P1)mjG@5G6?ff#?`!PX@0Mw%X+I#31Cps(sRWWbB>Pq&wEefxV5l)I z!dw!kn!@zGl+k`ta-lk%l%=Q4_k!#IF+Pdf!QZohIcXpf(KGD7EvSo}W*eur} zvC*mDx#>A@T{&%7pWDCw{f5NjY8%#b`ub75SD^1Hrc(Ky{Vaja0@PjpF8EY|1-)+U z0Klf03jB?%xLswjw(OSLYRzw;OX(hKopU?Z3$o@|w4=0GrJsjBF!Q(wr$La`pEyw$ zQOlJq*KNA(o?}3HbMY33TJYY(bm@C%<}PpL@6Gbi502dzIvJdfE;1)$HCAF%jHW|m z@J9_*_mff=gSuGMG%p@yOz@MPL1O-HUhpf2QvQP-N%L#>KlJ?6>DRk9{AZPkr$oyTR3Mt?+wln=DAo1i-IMh8XByDrEpLqg-YP4Rx%pu~ zA3b$gl7RY$RYpj6&;BfMhCN6$$tnj}q)dakJ)DM&ycyHY!VcD8=QQE4Y{OwFVv3I$ z_|)+}ua^Y31PDqi7TLzaU;rQj;+|>eOPpSTB9Z5#{s-uH#BwL(1SH=_rpGD%OzOa& z>WLB~#HRWU9eL7{ELGRs+;Z$ zm24n)-8)!o(<(Cz+hSr($364BJ^=nNe%vVBUsjil$w7KYQ=XXAm0|8SffCmrBYR(N z`6^9+n=R-rL@1WE5{@?;KDELgq5*^_*pYRG>4ru_l6mMvWf^g?-=n2y%&m&RM7hb$)7GKCGlM6A&=7HDfL*$z)aEIZMk# z1hlkkqrzM5Y;T9qb~>gi2ktzFniS+yNn@U+B61kiM7I=%gmq4+6i7T@fP*{k_ePYe ztyZGIc`Yie#-1{si$OKL`y6pyL`FDCJU&H`0GA=Q2KtLU2{DnvF$cRy3Bo)#TUx09 z9&Q01?s$+!s{>^nwHQ$#yG`UPj9zcOXK*M8u*6dy|Cmzk=6r7)8xF1$KTdB*7L2w} z9p$h>g!stVo9AR|GB+&g^-xf@gs;d$lsAEC5V@L`sjGoO|GY28y!(4@-XR0(EBDp7 zs|n_&oRBvhnJ+&U8Sm$@eFZk3j!E5I9C&Rcn>vtqM;m2fCiK22-~!+-QGpz+r{)O> zkrR%7CJ<)F&6^k>6oO*fWjKtb>iuQl;3VP7^kF1^Zh_GVH~S>{z&7Nm(t1l{ri9uq z_n`{jZ}b*Uv0FM}vnjkOlD>3Q_hv?hv24zD){8Mf*xVNtbiBnDPGAaEzG9H_>z$TO z!RJWGjA*+^aVETxGf(y&N5*5jp z6250H-L2k3iEnqJH^Exw+0`hFdeLRVf18_rmd(qd*b}TMj=-%k)l{xwidiFQC&6bS z$J94OpvH*#iwd|fQUp8(dnqm!_BY#!^(kG}J+E5=Q^#M&(Gpk3PhD#At*m_uMHy_7dF2@b%0Nf4w*LN*NM7>_bzcs<3SDR#a z4PT;&n7%?l9JZ@nWU{#!8c?ZOHqiZr4i}IWWb?9P`b(i?j?dMPcdy6M;d(h>0rFqo z@gLUqe{&?*tMbmUoO;Fm+{`r4ZNFZuS^axDC(PeycoqP_JUaxd=_UE>J;~S>{X3`O zKk$2lKSe973%{(M%uS~@5BI*u8XbNM!-Ab*jbw3iJ@gTp9={SeWq>Kh{Q-hqS^>y! zm&Z#Dr#n6m?3e5#(>4TJ2kJe0ud&Sd4iWI^iqoisb3A>ME|z3TU*ut4jpwUHiK{QFBF0l zYF>{dD-;ltUt5U2JUy(mgzEQ5f&u;n%5y)Q4k73H(Kw0Jg>2hxZWHCd#&eFex?mec*UhJolPRssJQHros)KR`y}MfxTWm?)_tC9HaCvPYWT1J^iy9Rm*d~zBj&z2zWt!sj$ybXRhmkML(rA+ z8#%tFl=N5So@(jT=Cwj@-4FAkOx-RcR&34k=;rxo2h$okRqLk2ld*2zZpPYy%AW$hIXRU9-^j^Fwdphrx*pa3}RPY_&kX9nrOf@@N`8}k2 z3xe?DM+M=eAUGl+MUgn?b`LchRi&1A)9dSg`s!t&CbXD9pEV^<*6M}#GlNIdZPo!v zx`Z9qB4n|tg>Pp8#Uy2DBNgtQ;NqT_DC|wZKG6w`n4~Ghfg_z(3-{H4`F{AnFF^&s zCAZT9y^8si$CF;EC{(FL1nyYU6q-^pU92K=@i~XDphzQc&gna42QC9tQbehF{O&zg z5zvA)1C%E^=lc0gsq)S)``$ERN)S4q9jOYZKPQ+Su2fVIeB9ee{5Aq7C<3HHU6caQ zH9kejO;nF33fBPlFOjk8QbaM#rf8qACScnLs}q{E3W7&ll@(IRUhGNwojo^IP%xM5 zpTo5r7{gX&ks&bu*@nN-DG~nVDvR5^7rnz_v~YUHf-X5ZNf6E&Ud!k#j%b6EV^ zF)ERu^{`#l@DeM&;kY05R4Cn~gc3@tKo2WqzVXdhYie)9@036^Mx7{BAf?0IiLUj5 zv&D^-Pf9Ma7pg%;%HYxH4hh9ZM`FQOqu48s=lHgtq|^n%o}i0_WnJ&-F^DFL6=J9H zkR&&BJ&nhvXnb2HuGo!rY>rn@+oS49Fj42KhcykRDX|DUSc6W572+t+2w9+js0BA0)1m+Zj+s0#9<~R=;;gT}ok5;p} zV@Z# z?-r}~^VM@HDs8vNDkH4fQl|*r(JlVq*q}h~vUNE5sw*c=}dHxF&~hl{EJJyoiHggg?)~|VFSuOen|W# zSQu?XTkQ|qPpKL~=HG!XTm66$S`6&!@E7eyglk-^Sf=zUzJgphFI_1C`W9`xy0|lW zpY1hX&qH40B5D6JkM=`b)?j->r88bR3C(l%HmSZOnL}5h1{aTai_@7W0NJ!}o{HMW zl~1a*MwHUw)L=x*wE$fmk?_jCl!*1XlWVz$&0|B-`#&y}y#z(&Zr99N=bUfq&d6zw zMT{2=i|dXxs>wb1$poRGujB3?+wHgp=k;}$*+s``?MVLnx;Od~(@$n72R6I8eYhu< zRD(7+tkuyb@ueHk+w0c3Nc>DCl#C74LET-OMr{>ZgTB*Pj>9u%fr-Pgz(WK{Q?yK_ z4>RRe2bV2mFIlZFqxS+jg?gVoe>U{bF`|n_#TGog!@5APc zLAh-XZBR&=QPFpCFlTiRqkrONny5eNKpbSR*O+1EdEy-E@62w9Wlg@fy*wr?X1FgD z|J6PrRDyBI^JXvZOJ(|)6jx~3%dNY=rF#j*a3!0x`*v9AK9)Lzf?7sgixr|l&4Vey z2HG1HBgr#qJsY}F1#6sj_bC}IT~FQZJbY)%=X zrUKK`;L|Qqh%3vQ_m?Qrh{-~>a!p5aHQr{kMjwrwk9oFOrF(NVQrF8qeglcj1&AVQ z$;FcknN6vLtq=Dva+fmsS~an1=j}poB1#Jud7mhGoE>Ak?>wibsI*?-n)TeX(9O|0 ziu$XH_*&h|JhW2Ths_tg=+g5K8zWv4jr9uj^3MM)gRL_%r^6rFuRIU^bRVuW`>nUN zUr#J2ww@Y;Zhc-TgFWx75BI3oC1>|RP+4bKth8G;m1UM+g$?rej18Fb-*C>}cTMOX zMlK0AKK7qTqLkBbClV_J#INdE4YY(ZU0MCj;d|HP&IKg$=|MY(M z!-&V_XOevX!y-A4?a8|rix2k~jo;+%_uVdFQM?ce>#{t4A{pQ~R(|*^CsILPqF(38 z&=3?0?;hMOAG{uzRKbrQOp?DT(@Nk*&F_=WR30$=!h)Sn2KpUORIDxLvBQNh=O`xCY~f4T zbT*|am&x^cuhrAPBUvtmBaq~(S4=jOkMS<#Y~r7Yz&&))a?w0-*|>CPJv+RYk;5pW zc}jJ<67Z}D$96Y@AG@duB$BXj=9ulLft2a;^87n{^LHA3Yi^84zKSl!ta1{2Xi}AQ ze2RNp7n?~XbL*ix8^l&}`-9GWejV78nEi87==inpbFk1$H?+mGx%M%3YSdwQ@^Gnx zqYy1QjrT}vL3OUbN@Ypk8PlXj(&NVw=`2s+rV(5HPJqQcC9wacrjUeYZ_eb{kG%%+ zEhiayKUVL@(Y+Ty_vN2$9Td0}D!R8Tcm)Loc}h|jPp&?8HZd^)`;5)=DpWUyPC@(( zHuonkHkK2>19Nmul$)ia17R@Cu*%CAwgkbxY|RY@%vjZDfQs>^q$?a+6|-q<+tI}2 z>3q$xDaX{~etRzbBwD=7a54-n-#0If270k@zGxb1wa)txPkeu?Bm_9Ih8$HCReaB$ zI^1WB@*giHhJQCXBpoPAmK3$DXQkT!8>Q%kS(EBaBdkO9?=3$Ruk|>-JcvoY!v6G+ z!ddsvf1LnA@o0l$HOqo-_8aA%`ZhpPu9nvmi3Z1hGP|L|wWIL6xruzLuZl4?K8j!D z4)v`z1p+HGw(r)m)YjC~kf^}A$#=n;F zb9!yv285Ppy6n(%mpj+ zlIr%a#~SL*Blte|N3=x{KF|ktQc)p35;oEUlDaC=x9hl_^F)xWVV5Wr6;2KsDJg-s z@}*xXcbl4V1B-svaB`Zs3zg<vRq z0{<#oR4J!#zuNuboL6FSH>v=ZUh9OY(%XAskk`I4FLN0Lc!5la9S!)4Ye@zrwCOM= z;0X-a>9nCK$!W>CXM*KwvtxW%9S8;ykdNx@Oe?n!J1J2c6ffS9UR)s-%95*<`Wy!CK=K-uR;`wiDRvE_+Op5G%tc zO)j@jQLT}joE4l*Ktf`uAQucVpvNODnwQi2X+R;tplLF_h@$rzaT;D7Mv@g21z6mu zW7=&lSQ4u{Vi+5zLHA+RG8Ygl!|DRX5EKign%DoN+L1}1U>&P z00^timK4|F#aItWc?#4;y~q;GDxF+ed6adCWu7t(_f zabOA4i*a_C1~^bkX_~(KD?@DHCw%%322Vdp9y6Co{Q5H_YAmvpQ&Bh^CLXMmRb!Ckwb>z?Yl&CftNB z?qlVcbDj|TO>$zrtf{pD@_S+hdRkJFn5tNEX!4rb&}+<))cyCFcM2&J-^Q@$8Do0< zmB}RRR^x#zCe;p&O2aQ)`m7ugTwIg!8Z#H(6hag%h++~H z9Jvw^`$5hUOnn3*I%_lH#=hJlGDj7+;)RnfSN$mq;Q;~N`3rHRFCM?+W}jPtO-wz9q~Z<`_-9Z;qNgl4$n0CQvEXTt z6Qw?LLTnml#&~m57Z>I9YC5Z3PLb<(j&$6=*7OKbm|IxhnO-nq-eq|{=nGBMhiJwk zagcF*D2iGiV4!zFlY4NARvJi}1THZVVOVUVuaj5SO1sJ21UWN3FU_OtMcvc83pzv7M>nG0$3hJ{;b6@D6 z-!ylWtl5v%Z-NK5BWnhn*BecsAWncB{`Fq2bzMI?ivNGa^8Yh~kCFbLr#Lhe@+G5f zux$bb8|%sUVMj2Om;V5U4?z59Q}Gdkf6{Hd3>fxj6%c7So>nPegB)+lR3HA}^{Dbe zb)9VHDj$xfM@E58AJz?-b@TW5(;Axgr}kh2(3-WkJvIbquC6|JS<-(42W`ou1)h*L zX+VQVL5T9n{9H_L9Bi7|?B;4|UUV+9dAC3?`EN8(1eScpV=@QX+O9|3eaz*uv&9%4 zg8hjH%>yq9EXZAKN8nhOCC}%|DbKAVxMj8tSKC_$MD?wE;{yUp zE8X28-Q7KOID}FXO1HFv0@5iZ(hVX#lynJ5!_eIzNQ3ZhK+pM}bMCqK+~4ng=MP}B z*Ix1Tde&z@gSqn|w-}0t?_2f*&xUb}Yk>SJb@JY#GU=<*@p}8Ck(C!&Iw#}{k(){T zr8A%3#lFXyd$lukPwt^{-2GcxGVxSWiA1+;8s4{^J1TH*Q?!qJHOHJDyKkm~V1Kp6p*96uiU&-2ie_RQ$h{!8Kr5`HOUT>vZ;69^IU zjDJHH%>?sVTwy*b@j2*UHP7))mXbC&how9y?zt1MxC8BD z;P9AA0gD(Yvau)Z{dLzm_?w>F)-mvk{9anUqs32@cFn{1A6x*10ZjT~OKtC*ki&-9 zOh*(x1Nt2|daRFDaciLs^8Vjc!y6d!KL=$tyA&#?gEmWfx36G({ThpD{ZD_Dv;DeE zFTK3Hz}%&!9LD;@@;53ztkQ=sZm4!<|!XN+ptjc{cwXZcg)z| zj?KF=#EH_~^MN?zuBSIZLS5tjKPiAju{fpwZx{9Hx4ft^tI6N$Q(kt#sCyt`+Tcuh zsCEbUC>K{wVaTpamVm(Ih#CEJ=wsvq_*>Pgbgncxin4j35p~ZhOG-0UHu}Lxf&1OC z8*MstRz^R$mgrau21zstAFTNOl1L=uD2oeTl#ZV6pzq{fbsP!#RhAc#%KcnX9dJ2k zechjE)kyB<;B3O|Q_DxMO`vSz_>$$&-MU?-1M2&e;A@zgjAB^XcXql#nx-RnYZ(L+ zBD{Fc`V|o>5;6vqJ4Ojw%TP&{o^W9J$P*=z+>3%Zl(LVjO6;92DiF4A*UkSn>K4x$^LZTBH#QCS zfB(cB?zR`EU`RJ9+CjRRx!3b=2E7plxHcW0O*Zh$IJde}z)}`B*<+I?ZGTOluN{MH zEo*B)KpzADY5k7OH|A2ovl3c&x*i3}!(|W*x{GH1@Dj)#|ChE=LD!l`x0L5}?v-h} zPCk+DfL3AUc}mVbq7LdQor>NaPxj1UzzPEo&*W(XrHEo51zBfn@L;v@t(1lGY#tHO z3V4?Ei&9f*g+_0it>(#ALULo5hvK*Fi)9;{E3Ad&jIOi}FUZ!4%>~iS`7t zC0*Ef$(f%cC|R90Uq85ssy;T^t?czw6BCkEzjrW}#vH@;q+QbD(v;gWJ$ zg|LhGZV0nS`u<)fK(z2zPmJn-Qi;rsxt+flhOJKSrj%iUt7hKYy)wJOZb>t^iFmUgM8Sy$(u+P5Z`qspTATEw z$X>}@SmOen=kbGgQ&y|45=k#BHy-T?38ayJG0igh*1A2qr$>IL^Su?^ zFe>Rw$wb*OSgz6HJqDCJw*QF{|H}1$jvxM!9TmETdwx`zzU`p@@zmy@4srhfTyClq z8%31aO!3~rI)Kf038W9q$AfEOy%Ugw6%uUWx-(L=?aA+A%AH#aE|2*7dBzeBBmf*> z%3AXXiHO`*P}*-wp=eLkt8;y=^ueUh>fruj7H%$m4GnG#lU5KGusUSK`}!MC0qtVFkWq_+2^OO z_bTd?~{U1rzG!`=$ayBy?m-qI?uSvh6E8%mPM+k=x{T-XZYqE zCT6HtX7pUHtBrB2DQM%gCBkbOzA!QNhxiWyX{NV8?h^5C-D-s`pxZ?NnH6Ke+yS@$ zdwOc=So4_MR&mZ{TfINaZ$2Iw+b$`ZG@N;5aN>B;Oo+9S00KWK1Q)TC1okuKEbQI0RrK0VmKZ ztXMhPPJ!=fzJr}?HH40@$VtILqY6J7F~lh)gEFL?LEC&_p8`fDvB08@7ZQz!F(t0N zDOlN3)IsM+_K`XtR;@PatXH7a-9uy>085#Ib_&)C@_{)!Z8U^(0HM?`k~JsRFXK#n z>SB??cHTbHgM-niE{~wtSyQGR=hF5-g}|B=@629=mm(T!%*v;eaiFiVOXq>fVBJnO zyPHf;iJhzY%iWtCd3yitYII3iBpm2VtF=~@wM-NaW2^@!d?BXI5hY4FiKmCPOm^*b z?3qS-rh(&(qW1H-dX@K25waVN`MTvs_aEqNyoQ8BqQ*Y(y^(zzlm{WCEwJU0Ty?gF z=bnikmNo_eU4Zh%K`J}yIkpk0QO0#OHz=53ECimkqI;Pb?@9#u{DP%Eq=l_>t2XUfB5 zS_!cP_h~@Ll$FUm<^?6#bo+z` zxh=#Mh>Ep*vItkm!$M2kd39Bq!}Y8khw+;tZD#+Sc4{bG-2X^PWzcZFpsbcT@F>b~ElDUbETvbc*(Oo==m<^fGNk!I8n z>26W}^j;#w=veg3h7(1a8lU-+k`U(NH<=`-RRytZB9Vo{WP_^qKdWedy?n09FT7=u zB4mo5@}py(hxlP$T*JvI%{SdZn%h(TqrFh{y>!G+1b~G)hQ>AW_t~UH<2BVAC_L!G zpB5sr4s-aSG=3>WTWSG5Q1W%P4jDFh{8DGDAZKTwHO4?cs_K;mOXfQ^)A_6XWXp26cRPlL%?+iUR{C3z;zhR( zq#ckN8X%0>Ivb1iep2ehi1Ip|oI4=DX;Yp80&7GN!IOVs@PBCO{#R!4f7jSgk~2+Y z@0Go}5LX_b(k@UkWarzhCH9ldDBWZ62XG7;;!o$EzypAvEWgG^p)VdQ=R1c3$Hb>; zeHD}SU#J8~H*|`tN}tvyUK`p~8GdaAVh2QVV-O?;-G&R_q}#CS_nyS!dfxA`{-DKb#`~ z_ECyKjg939x|47q#!vse6hE?m!7$;f1MsI?oEFL`fPHE{czK71D!eI8x>Ea$9k>hp z*A75!Mcw}?EAw{!rWF9)qU?L`_||+juj`>9a0#>`ZfxLst4m>P6wAf(*M^NRL4%_i zlpl9n>(!$up#V+`XdRCqQxo#zGI&)+zMNj261oZ4$L*_&#VbpRQ_~_ z7N7HHGDu3pe-`m3+p2qT6sWao1XPg)J~ru*-KZJB8sToP4v{mMZ+`o6OE}+@nFU4C z1(n?V1`Qz$;@_@q74m>25a+7e~b40?&H7(n~Bf3+{Uv$ON& z?a5isy@su^;;AOzrsoJXgKCEBddR_dCP6t-Vj5kMW%rb# z2QwF$WH8Oe9s2Avbkz>DurOh|wRG)XUQwEjukC>zhwwbcu9wdfSW!=$+HYQtIy>{2 z30{=d-E@2q{&cvXgkZuvw`CERDkXTRww#QfSrXN^g#wNATKst)r4Mlm>0U&AI+rE4 zCiF~6=9bm96ae392I95ji1)lZR0uxSp2&)p)0zi5@3{%{b{op~u%>;;kzU8m<26l* zHLA4MR`WwGg_%T82hw0Cxflk14J#Qj-^ZlmKVUsUG7_2z?zBlAG$j_8yOs{w4SU6CEE92{gQfWT3wR$VaOvetr@=L2Bjz{j$MM@3vc9G&#jS z3yP^T_6d(pAs#_da`cCR!K~ZKrF7ME*1{l=8W|u&;r=Z*tA?-5npzK$O0f*Uc@;j+ zH?iJ1W*vto7#Hd~K0y-|ugNJ&1_Ciq1C*ANFm}jfcJVhD5`@AGk(Eo)9K^Bt&oXcj zwdop+?O2c2Lmt$<7z`J?d4Ljlp!Ch}5okD|Ly_5PIa2pQevVN-&WI@JSK%@eS3vP* zkfVIhoqBu?db560)fq&g@>`{{{-#n2T+o|R!_^Ofpg>MuSX(wh9Dv`C40$F^7&Jig z$Ib@JYF~#tc4sao7NGr{f6Gyg+$*)}9~EjZX634En}v8F&rwZjqRdue@W$+T1QeCpGg7?QL~<*KC$(R=37DAG=eHS|M) z+2;62K%r=uOUGMMUio~zvw&R|*7xeNS*QsCNK>x(uNZKNjXr=KVMHavLpHs52k!3o zO_D>$T^yXU-yT&IO!SbGNd@F3GbNMeM&TVD+_3As^S!Wavp60LEi@#p*<_94u}0yB z%3}#|1=;wcqG6#zL`&};?Y8ubL8qr}8+?lx6dZlQW33oTOH`1AgAdEQEVfTmF@#_9 zs(v_zR8mjwytCMXhVfgmDqb8-JX>U~wrrc}#8jIz!ynn?1!FqNywg$+GT8OWIJ!8kl-#&--I1s=as|?9g4U3hDRqGQxsz5P8U7h7J-JCrX@x$yLBd~Rq6At z>9wy?HH}}SZ18=n9qsaVuJS50t|0qZYsL6d@&0EVGj}7mWtz~K=)v?Yql>7D0vsV7jGSH>6SJGxnsSadWK{9Xo^1l1>Fv?>#`op1%C|e> zpX%i~rsOABZ0;2eiy^%0`syLqi_rJ3&#E&DsWP0>Qn;-1lK|CF=KYmKljbHQGRc}w z{$iP-*RN90l0)(FAg3OA`w~PgnV)HE9{r4iU$XT0FobVY{4{(lym@0Z-kJ-GHb36e zU~r#*My~fWA7sQogvs_|zmkYM@(}%vE5N<;P2Hwf3oVEWO&+@{dpJXdeMDx9O zjr+NCr}Ov4P8TqJPq&_44+B-FYHNp*?u3Ud?B{AS@Gf>3pVZmde946>4=)8%Rn!Kaycj!7wmh z&|#&i%z4AzrI#1$3E`=G`_gQ>d4t8u=|*P;Bx^>7xX+Qw##7P=)~Zon7T;{28k<*( zTZB9^>{g&ECQyRJxK<=zQntpV!=l8lGCS>>ejUR|D*+sqel9?~`y1PJUS|jRzE>IU z3=(zA6&&#ubgVD<&ZOQ}yKL#eu6E|GSi`R4^=;1<=B|H4T&+iJ9kF%$Pdg3lU9UX7 zT;Wm``#F2km=JE+8_%j$qmmajd{t6a|sdR)f`7kRwUQ`85N!s@-Th1vl zYkl|mEWH8g6Qvrm;Vlbvf3du8u$*q(HI_fPAU@4a3vbsVAy7+ZYpSePtBzUk`p`%H z%~W7aZyZ)8T!M~I%#y6!f?SM0*8&0UOinvRC-?4l0FT*76rS?JggjN7^(1etV-}BQ zO}nH2gJ6Uo2n$cqhhUmCtZTL%I6vUwgTOWZu6B!Y(HUmtsYoUP)jCgtojN#~@E{ z+t9SIt=r)Zp&m#RQ>}anH~!55pBhTVDQI6>*U0(;U$RgafFaRrRbJQ0)?rDq z8a07G_R`OO25M3<8n6IT*wZPZs)v>ON#q0fcY0u!0Tm`JRuY@mH$0@5iZj09y1A~q z$p!XtP}kM6>Qz9>aZ4P*PV`SeS2QPijzS#f$*)g4t@29A1z^+TUfY8kzSnzpx$Lju z6$KC$_Es4*wHjUyHig?*V^iCVn-cwJs)BFu?Ec<#VXrg*14?D zh?u|m&-q^ea$WX4ToHqvjXbVXI#%^O@dhfqeW{zfzM9jB!=?wT8E#cP53eH_#0}%h zymtcl6eMxs3h2S+qpdRak?p1{G1`;wx;Z3kANb$Pz<_}1Sr;&Vbj%I8%@Xt!Luo6s z>VI?4?$SH?kHDV*i_@3As2%X$-LvpHz3=G;A)iMQi`^EFd}Z<>T~!A_Xt#B}MkdpnETphFR0;&Rh&U+stv@qQGgk$|574 zm9*|^)kDguLe^tPu;92$9xmpvrN+_%E9V=Uw1m=g;?emC+I+bKMBmktC_zR0R-I_B z!!l}(mQORT1ozC@Trxs%47-t+rfd1y6%O%D6+9U8ZyhDtD6#L{okswivG>K)Tu!>^ z#kLdY0d;8u*toMB+pgZ>U?g~n{s#J58yh*j+DNwp6dO`&2XN1A8${%;5*dZt7}HxN zcEo7=1NVz3zxR}{U5zJ~JZ;Q4dfzdW!Hgl;LL6|Bp6e9Mn$kkp)%>EksbiQl`g=|v z3v?^`@|&vXqR3V-*l>80Z70Myr0vyBAh&o@`4Eh7raMKacFQn(~=f;Wv7JRPzK3sVfh# zX}3=fxi(y^Sy6d?6&CBlMDN^NyQw5B?z;?*R~c^di7;|Guza*j^HSmmEHolM)ri!A z$#^fE>o7@lMk92JabcG(r{Un2TIf2H5MYwimwM4|11|VRz(zE!iR`66ln~{-D7`*v zn)#XN>9bYsv-O7jl455TsE?S;XE&BH^GC{@z2Nf6Z#0fq`f)>z-Br^CPe`5-#32FN zBS|-2l3^uR&hy;=dZgiJU)6UDeVVLHJ>j#|a9%z$&b&=F4lkCui#>_YoY z((BGisx0|!FjpmLUGRo0tDC}XCNsOWL4@Pkfq59lw_+L3lU)GCkkFqhlw0y1Ki>~; z2jh1Lcf956G6Q41UO9g%?0d!{X5}AD&Tp;`$Fw?TZ3l3Xxa)Pcj4qOBBErN^$@Q1M zj~8%SEi%_VvJFwe3e|3NM_K+5jD6mp#MDISxF@MmL)IrMTO zlUi3Gu&MCFa&V-bMSUmv;bkYbz{AqM^^#(~++)&}3tn@9TY;4)W!8%wbC57qx4ppGk8yCR8wxkrHOVWrg5-WLX{`j6TMG zKKNJ;+#guT9uF&Xw~Tm&M@yGE&r&YWObRJcJ#pF2J>ARqRa@I5%Q4KIe}3jsOJy-$ z0+Ec0V3ZDQ7#iF(DA6f|iTA8JuHzJbm@XUEH4z2X=Gc#y7^ni9y)Q&twUbtI%hR|= z3#PJMOGZfxs65S}9ftrKvYbFi5gIX0Ot|Gkq5*8i0p%X|D7mEPkDuC1V|z)<*Wo;y zMAfD9fmxywJCz!$E1Zb#xvgoW0Vy9sy2k&WOodS{**qM zSR4yFm-;Sh!#Yz{d)A%_*^u06p%P`kYyvSE-8y((*>v2=p$%JaL9446F4LG82McpA zVS5-;bJBd^y!i?aurrShO_9^}{vH?_eY^^>k}wALMCzX@Ti~=6p4I|#&p@~WOp$=Z zXqf{A=?e&OsCvRkZ5v+d9(k%nZXM-bWg=X6*uWv7&|##rH$#NUnnAx}kO*JzD+HgNvf zm3Cq@q(AJ(ag|&DOeT2Bium3WKVYjL4ea;P;Q4YECuH9c@o6oRF4^v(VS$+`WAmj^ zUl>Ws9CQe}43h$DubC;MM|*NA1vzYU(7J>Iv9~6^^gquz9d*yUaW}D(hQpldxWOGv#};&Gd-l{V^(1G#ud@lr@Bc zM$3Z@v>hBX2z*j}k%;-Sy5Yd#+UD329qj~*;x@(?e#1%U4>3X~I%C^mS7_ngGwcJH zN^8@fbo8Q8M_e7Pjpw|0YJcf0!F{R#`j$c%)V8pgMKhB~8pM6aKlp(0kfhY^^I$~r zC=;tQ6X8xtnF1ASu9=rGC=~P;3;4NW-P(n`|;#Uht8Mg#ToyumCU1Nwp~ zI{&@Xt9$@SHrBqWc}-xZ(4Y#X-2$s5@MGTOkH_15Fw-p3+8Wxr=97mrAP%6HKZL!p z)^A$y*`OH+Vk#p6YzLM|M{=cHR_r*^&lZ(g2)jcB+v|6`U=^)_@yyk{Sea$tGmC0Cp`{I+-CtJ72kHX}*l2g|?d3Xo7UT9)WY zTW`00&KBd(BJPYR-hK1q8raG+5Ol%cC?(ooa%O*RAg9Dt%{|GsKe&sRyxR|(vBc%l zujz$2+SRSSH2=pTqF&Nf95fc?u1-HE^YDA^L2{4sq$@@a+16^#yucy381f^7Irl?o zn_bqhE@JUN&O`1?Wk^Ye&qY81JB?y!j0uNkG9LFrfR6G|HAY>N7vet}0@glZ3(Bi* zia`EN=S3R6-TkGkEO;A;J@zb@e^Xu|dW1n^y4zOE-PXoJj5EF*N^Nfkz8>ON z^F{T{QTfjoNeMp3bcp)8bWJ}lq59QN8+s`5_m?yi#<_d3pTMi>+^z+M(6GUIm6Z*O z<>R^Lb8x*pkqjmOu^RUxcm-ANC;Zc>41{)79Ejno%88T2JR1`*|YQ|EgBZ=a+#%2J@mRo0GIm`Y7g=^CuNalLZ&R87#N+V=Xgc;&#$eUwN#a_?{E(T+LUOfAIuhzkIs_=c7+auG`A*w@Y1i)>3PA zG%zy{s7Xsd8ae?7jHfm3Ct7s~%RrpOhf_^DNE# zYK-1hc}u3QaJ*EL(4YsN;@#bnsi7I}>w%j1F7)&3`np}dyI*E?rLD%>JWk5J-qmFp zcGa$h&OO6;GVHY_m&^V9d}Y@ZfEm|0p1}r{#u*|r4o3^eOIS5dY3ClA)fJu{ui4F1 z*`6H_l+4P&;fw2>bN7=E;W}ZmVJSAAiO)RcGLyec%-Nd zAG9Hb8r$f-c9p-Xu=K3NsOc)5^kQ7}>4(yXKKoy@0f{wgv~NdJs8E`!BlDFKMe$nb zramF{x`^rPRZUyr-~QQDyW>QD*|9lh3ozGu%k)vs9#Q=2)*3O$I-4iH zIztam6FolkAK3K?6HZW>KYDJD*n4mx=Dm}t`t$y4yQeFjpLIl!nB*XJMk2(_PjJR& zpx!_or%t0rK%q8s*XDdqPqS5hkJ7GwCKy$8IvvhG3CY;K>TkY?FgQPu2=C5Y?o86X zK22B?Yf7y6_3XH;VVAiDa^ zMa}i<_m-Zlf&1^ZWK@5;KYTKv;?r z|E!OvxcA!mYBR2PylVCu%e)vUI3;FO{$lO8mE4IaW}@gLseTb+-hL?q zDZ;8#O+xjbj9P~~@`VuB`d77222oC$I?_PAZ1xY15_M1e3p5j2Ei|V+=dl`T9*AH4 znV!t$<)IA92Ouw5agF$ut)Z9EP2+Yu%_4H5^qPQ>vuyugc4I-RxiO zfGGqDyba+p^8kAZR3P}zOyy0$_g~o6146^TP~8r?WQi}FqNdT_3*0 zPwP;IV}m|!+F*2I`!Idd){N4K3Zi0$gwY7%B*&af&{j+rkcO?+JgZOv{r3LLT+kjO z6pH#n3EEGw_YuF!-$scXCWCRcM4DAw9NEGQAX(%a@`Mi7y8=hm0`PYpM%#AbB8_Fn zd(~nu6{yB^+XQgdwe9F}P_*P58!i9a>8#+b!L;31dV&d;5e}1(}IK zA0!_B+o{Ltw>$`L$zfkK-|hyUGpd!xzKFDAYFq- zjgtfWkw?X=`J&JWVv7p@&&HsyKmOv`a`x6YckA}Xa0tjwnf>?yasoLp3Mdoze|D8c zWY{-ac%B-sSSi~1QI=I69c}ZA#*1~ZZWgz^=y@Y-qmBv)brAsO0w^s;8C?o#u>#@E=RA0V#bxGZ>e&Yp-S0AM$xhkOuQX>R0x

    vPadZvr=m+luy=9r9LODrOAGNF}A!?#SAKUX+@q#MwY$Q^V7(29IbB=9{hVk1- zh4Xp1Q;7Uto}#mih4LOrH$7OOv}ZClZ}cVOkpo368!mMhL04LEln!djCT zZ@{t5onC4QW%U`EKg8SR7+k%yhD4M0cNL@z<-F9dV3VO~t*K1^%w+7P(H$G=x=}Hf zfq0CNZAL@7iDXN)sIX3&g?T3|N_BuC>mvPM$rhuW?hQ0)t5r)D4wOyNcLzQI-LM(> z$lo08-+ZiI|65eTt)~39K%al#N%yDBLL0-(TVN0frTt+>;dtFA7iS)!N?tQ-od!d3 zT%f!i6gzVLFz9fi%sJE+YAG?{#CHD%A>o&<(Y9XD^o+L5gs)hpmphmK)q9t7Qv134 zFfplhET9Dgd0?X}t$O%=fCAfL*`qg%bPC~-MZ-$=obt$EJkwTYTQwn6Vl+)SjT!Ww zMQ;bqK?wZ#m;3nn1Ua=ObgljRf~NPL=Vqnw-awnai_zA&uDp8fOz=%j(Q(FvSI9^d zTp_2=2?<2m2TKaYmb;p?IM63JK!YBQ*uS5w*s4&W7s&jj5v-@chki3(QO3hc=3qpu zrF$5(%E9@J^w12_rAqa;ntXZ90TK@ujxB{a1GEi%^+bspKMa9279{)GB~yHM+>7k2 znetj(up^jPl}YTgUf75h0sVpeJ`zegkJ3UYLj=y`zK0IdVv!-z2;R(<{Q=UA#Q{FC z#Q&cdsLgo+>H-;dGeZvbJ!KfiI&tA5l< zxOb~Aj}#vnJ_5&531P*ud;|A38UK(>Od1bg#!e4*cs}!9#|yca*CN^V;=vFRd3y@D zM%t*HT87qrN%T3jiwfOgj8APbR|i?+ZXQR1)1B{4fgx4-owS;wl}R5|p3W3)CeP&;OsbE5=b; zca|&L@qi_-wUWnk^A$N)wwo?5X?*Igec=hhiS|^!(99PnJN|m_pFn-CLj8!|S)dXZ z?+mGT1PQ=khI{6rCEJ<;t@mA!_I2hRKCW%(eBO{Zu?}HM#JfaVBCT(e zpw#{W8_5B#)2h&^A}d{0&%y4^Nv*QY@W*Gm!myyX(#YQJFCLB5InyIEnbtkHKB1Ay@x6z;Xm@kGWRI{*0+6h&G`p1y#2y zUSC9BQ;v9bt!+&ZJ7OgEgPil|ecK5D$_N-mq8noje1^=- zGVg$q%C}PUS9_U7G8lK=Cwigxc9)??MDHH4g)b?(o4esL8QWNn$(-D>PcdN4zILfM zu7}u@eR)RKK*9e=cbx~UpNbV_!AoG4)*BFks|~4K%26@VK}DJj?r$4}`H)UivLl;n zS7dG2LK=+S;JR08W9J-)9<5GwK7_LVt#HG(m^*_iMhW9Y1TASLEV?DVxn`)<<*;FRBaB5N2^063wdNE zW(*+eKtmZtgK?89!^ZBbnUeL`E<`owZ2`m5?qodn4yCAX7+2kAIC)9)<%M$gXe<^j zscESzV*^?_5aUh>qKT}uXNA5lKY~!Pz9_MxY%7k8T&bGRV$2Vs&!^rB%^O17tyW*Hn7-LCZ{+?Z#zmk$li(Qm8~ z=vl?T$i=?^X8*k({ToE^e>NBY7dm;{T}NiX61G9vUXv@mPFaa~vkw5VD>E=8vLWtd zGP7#g-`Hvp2oW@>?SHo}96#lZ!ainZIKHB}67VssVQ0%OPfN!(K2;0Yzi__6Nokcw zcH@QK^`!FG6G6%54fL9jClbPiIG0ZW%iK70Lt0DDHHy8r+H diff --git a/chart-sdk/asp-net-mvc/chart/how-to/images/initialview.png b/chart-sdk/asp-net-mvc/chart/how-to/images/initialview.png deleted file mode 100644 index e777f81bbe55c092f4cf4fd8f68f02fd8fd8d977..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28441 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 bXWddN)HXVbfP#RCw17yrlG5ENF?1<8l## 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 H+3SA;@~3m! diff --git a/chart-sdk/asp-net-mvc/chart/how-to/images/solution-explorer-core.png b/chart-sdk/asp-net-mvc/chart/how-to/images/solution-explorer-core.png deleted file mode 100644 index 913cc8460512b9cd0642783eb2829384e05dfce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40000 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 z 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

    `senD1+oT8qNYGWR4Qk?0grS92vRxy$s$-#zZC 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 diff --git a/chart-sdk/asp-net-mvc/chart/how-to/images/step4.png b/chart-sdk/asp-net-mvc/chart/how-to/images/step4.png deleted file mode 100644 index fa694d08a70130853aa9dcc37c81cd50173e02c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18541 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\v 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 diff --git a/chart-sdk/asp-net-mvc/chart/how-to/images/updatechart.png b/chart-sdk/asp-net-mvc/chart/how-to/images/updatechart.png deleted file mode 100644 index 2044ecaac72f78f3000d1e7ec1acd761b5679ae5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17440 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 Q@H`TE8SulL2fw`fUyFWV_y7O^ diff --git a/chart-sdk/asp-net-mvc/chart/how-to/partial-chart.md b/chart-sdk/asp-net-mvc/chart/how-to/partial-chart.md deleted file mode 100644 index 98a94bf6d..000000000 --- a/chart-sdk/asp-net-mvc/chart/how-to/partial-chart.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -layout: post -title: Partial Chart in ASP.NET MVC Chart Component -description: Learn here all about Partial Chart in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Partial Chart -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Render chart in partial view in ajax call - -You can render the charts in partial view in ajax call by calling the partial view action method in ajax. - -Follow the given steps to render the charts in partial view. - -**Step 1**: Initially, render the home view page, and then call the partial view action method via ajax call in the home view page. - -```html -

    - -``` - -```cs -// partial view action method - [HttpPost] - public ActionResult Create() - { - List chartData = new List - { - new ChartData { xValue = 10, yValue = 21 }, - new ChartData { xValue = 20, yValue = 24 }, - new ChartData { xValue = 30, yValue = 36 }, - new ChartData { xValue = 40, yValue = 38 }, - new ChartData { xValue = 50, yValue = 54 }, - new ChartData { xValue = 60, yValue = 57 }, - new ChartData { xValue = 70, yValue = 70 }, - }; - ViewBag.dataSource = chartData; - return PartialView("_RefreshCharts"); - } - public class ChartData - { - public double xValue; - public double yValue; - } -``` - -**Step 2**: Return the partial view page when calling partial view action method. In that partial view, refer the `scriptManager` to render the charts. - -```html -
    - @Html.EJS().Chart("container").Series(sr => - { - sr.XName("xValue").YName("yValue").Type(Syncfusion.EJ2.Charts.ChartSeriesType.Column).DataSource(ViewBag.dataSource).Add(); - }).Render(); -
    - -@Html.EJS().ScriptManager() -``` - -**Sample reference:** Sample for how to render the charts in partial view is available in [`chart sample`](http://www.syncfusion.com/downloads/support/directtrac/general/ze/chartsample1860216677). diff --git a/chart-sdk/asp-net-mvc/chart/images/axislabel-template.png b/chart-sdk/asp-net-mvc/chart/images/axislabel-template.png deleted file mode 100644 index 8d18ea9427b0ed5dd914e6a9c330df22b95144c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18927 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 Lf52RFeE7crz1+4x diff --git a/chart-sdk/asp-net-mvc/chart/images/control-template.png b/chart-sdk/asp-net-mvc/chart/images/control-template.png deleted file mode 100644 index 78a62b6f051c65da6c3feda3f5d4f5bbf46637cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31301 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 LUNR_0*hl?0vUf=< diff --git a/chart-sdk/asp-net-mvc/chart/images/default-template-mvc.png b/chart-sdk/asp-net-mvc/chart/images/default-template-mvc.png deleted file mode 100644 index 55491df316a81efac6b245853ccb46bab06002de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77472 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η!l*Sz@vCX89ko-kwjqxx^`&6 zvtu@Q5Mf~{3>Y51iP3Mj2{FJz0j|pX7ZzHAu;Bq8a2Wqhg1nb&g`P-ijr{AbT+tj? z(PB&}q5Q70d-aFxmR58iod2v?oazYpM6oqzr>av35wZ99cpaE2o+ zd;3uQO<&BK<18Y8Wccr6(`0mu3G{!Xr)3D?}rm(*cAW%Z~@ZG65j=VuyMz;-(141c&6N;SHo;*1*p+_ z{Mm`5iAH94snq^^>lcXf#`D#zx|r%7>HIy^M1?BL(}*KMYC*rE(M&LiNJQ{YCe!5J zd>JEZf^_=ul)9p2){c@=?6|G5FU_> z&^OPKn;26iTZY22ugDLE*W{bvVJjQD)~T*Nt0(Z=k&EbA4W;ek-mxrrGNA{p%Ddfc zO@oZ@+yyI*k`uqeciEh45Z=F$4wyHIui)DTKOax$h%9yb?u$GoVxABIMkwD~l_M`8 zKt@P66y0vdoQ?QdXtgd}gqV@id*i7q+x18`tIsFG9)rqT*CK6hjI9#M)0DE+6bRWK zdg=Nh4C%JFxS#;ctcchKx|2uW8b9cc8ofR(w060Oix4z&{Js-UNP4T^L%2J@mXgZs zTplmnoW?aZ&wIf!Z0_OK+>(4a#~Y!RK(P-QTb+3 z83DZcuFF8(#%zg6F>qpX;y%Gv#=IFzmXhJRVDXPeXQ+zk@usHBU)#@>?s=oSWnFAN z3_`7*0ZZ!-;qmloZzppF1$_{7NbTsvYYt2&(!N1_b?3{o#|jivudB;pswa=W7WRM3 zO;IakJRTUoMw+WWLh)KrE9Q}G(*_P4)XYJ81l}?vojcmS++E9n9&Xz=-R0pZNA*=j z>7^zwtat=ePW^ zqN#Ovko-eLbJD14Pk!L3Iu-~*`Y*gY!x}{a`F=n6!BS`-Gs=5Lk9X*!uw#_#!T7EI zHl+niV}~bBOZsE#X~&bdhDM^7EuNUM9jiKmkQ5jYIB*oymm~`m2K=l`s@6Vq%ANXT zP#Bo}$lX=sXO02uOUC-(s(^UG2)QQUL!{ zt2zd+l`21i)oe5`JC??WGNP_mY5T83T3y4Z*LzKa`5+*3dyFdXS%&OwDQ)$9kaNzg zRelRg2-3??IVrl8-}QQC_S4LH!6lw>~W?bNIV$Bpqq=qX>F}&)=Vw7bv`sSNZUk}Zv;<9stnL;;_8}BpGS^2 zX0F;y*pbB?$!3%WQP(>X*AvNx1vTj}we-==*lWk;IH}j%Hw@%4b5fV~awNiKeIxPmKDhY`i&W z43tGq7=)W76#{TzIE&yc>Y^}!b%k}wJYbg7UJ=)WM$DKrPj#d2LIFCK`kwKfG%P*S zbmo1bvUMp<>TuQ`ih={08VFQ>@IN2%{g<#?0y?r*hnH5d%`pI}g)x|%w<}-a1gl@a z8Hxmh|A%+~k3a&pi|KzFRcqMgbj|;?y?(jA{}1u^83q{U%&CR> zwqO+?zHk5gdk>I01o#<4UxEHr9sn^@I8(yz=EwL?z&W*Lli%Cx;xdjaMcP}wsOIJ8 z(iTQT^18Q;#Lz4n3B?yT8%N8LimU@$bOulk!;kh5R*nj*n z;sY?_dez3bV?SX*oA3U@u2zmVlyu{TUm6BrGc8MCD@x=Quoo&x9IgHQo+!2eOU}PV>MJt|g(4X1G zX3aJr9UZOIbV+ur3;U&FD!05IS5sbp=f_Y_6PHfugUrd~x}a5uayXITZ$8b>3PFW& zqmu7fx8-WjbVf+Psf`$W2Ry!Q9?L6mQ+?*;Ih5)VO~Y|ziq#zN$$2pN_1I>^;pi6A z@k1u*a?%Ee5e`mtwR(4#R zKYD=Y#p38;79q%!v)?T zK$IA@0Y%OswNHkE#~L^ed8ZOgJFF^jqrT9Kt>AOL43;2b;POi_bgC{JqgGOI?UWwY z_v$lAkEI)iLChA0Rbd+Uj`3PdoELwEeS6LCzzBXvKm4tp0Z-fu<8?%DLJr7Et127$ zN;X{9A$SNE3MR3=R_fyw478}+zCE3Ec6&ycL~#h?QYXXU9N3;-`Gwl5d)^Api#BU%;~FhNVjj z1y(Bgy-kSaw|}sa>{R>Z;hpqySbtNeb#fGbsW)ACm@B<6IN0GDklHCefbq9L7=;5= zPdxg+61h5nvau_uCjKqrH|Z5Pe0hno{bLyJxM9po&lS7Bi)bz@1e`mijtBq)fv(ss z%*U+soXh4wtJ!YO?S zaN(R?F@EbIcS zQWsFX9}rOvQZFkr>w2A+?l_g8R?buC@arGgn|TM|&VT~{Cft|+ zEWuJDc0BBlTDtvW17C@-^Vym{7Y>j?!dMkV2X7t=MrkMSv~(#xw<%5O0c^N0Ft7(% zGg!)B*<7K^9btC;TX1bcSDH`z?Fk5t)J9&IYv0lCI#fM95+_bM%oVbuQ_%&c>h}kd zbJuZt1%6*=IOnzp3YU%!4swE~+KA0|;|b~6ABk@5n&dz7wzp;;Y%dVHEf*6B&X{bC zYk2A+x65{1%r)>??#3-#yk@NLP4|No#ckftNaO@M;xh&X#m5q~HauVG+}3!0v^e?( zvqqC*M-$!*07;&+-cDXI%gg@Az>%c(SlXn$F!`v9AoBHi-M8GVwrcU5`7PWOieL8) zE6jxxHr0vyLSNTP4tJ^3V8Y*H&80Wlte8`cybODAF?i{ozSt^m&))J%+lQMQPdh?HlX9xONA}x zoV0P8#Y`Y6;1}HrMDCbfrzBN|rP;0L23f=pprEA-pk`VI&JoR-tPRO4rVW;h8NBm2 z7OIocfx19R;AHkN(cq$RP=URsXk1;v(`I>CHC@q!H;8yUIoPHb-TPtc(oOS?cqCA! zEQH>D&AQ#0?q3=(sJK}%6+UHd6&4Akdfd`?>}CO}a=(BBNGVzbbg3!sqUE!<8&Azl zAIkz1)c|oUjFf=PIccAXlacO&55NAS7XhDy!W+$@~wGWQ`f$g{dqTPy1Uh z{?EAC9{_CLe`W}~v#;`w=F%t38!@bAc)l}026tNU_ZE9IEs+tL<^-s{cR^8)=tM=+ ze`DJ1`r;A-okY`O4H0qY&2`(2uW!<)%Sj-N2(C2Q&9Bh%Frl?_$uPm+{VyAN)^gP0 zZmsgs*dWki|8CN=AF^)YWNv$%ES=Xk#=pFrYxI(ol$4>Pe}7f^PEU_+eg}7+lnoW$ zFX>Bk9yeo#9j(g41ZjYcn1|a`dmeX$HFzFJlDPpLe~s`6sI6glg#$2ec#{C=6%W)q z4E{qE7h)%S%^S~{_sbVg4s=kssDhG<*6j86Pn?BFj6eV9LY&6u$kA!7 zaf^|heF23>aiCyaCTj()vbbj^r6`_LWhSA7d%RyfU$iDx6FeQs(5{)BB?7`|TE`-} zsv3)EOf(Be4ha!ByTzgiNph&Z2t@>xTZ zbT#9IJx9bQ4Kj!rg-HwELtoZ*Iw};w!Xeye&!p~S6<$>skDWT-^2stTrE7NjxK#_o zZ+chRyO$+HB}q=giK8h^XD&_pPdjb)f8ctue$_mMg%9-^E#hyPMQG!jOJlsK3cxKj z521Q7M`@f-do!Ei6}dv^Gw0`Dp_!AzYfTzrw~do_r+BMJOf94Gcnaylm7}6)j=&0{ z*$MSlvk@dGcuEY%PfYA|ohqE!3KX{xRAM*xRQDYwZR+#7A-|4#X#B-*r1jC4;bRhr zK*&h|0F}#x!vqqj@Dbt`$`sa5|6gHO9uMW(_c>E%DrFo+kJBRkBBGroe55CyI?7CZ#A)>>+&+F`l;E8>VB2Oiz0m+ z@_P*xbMtV9Y8Qb)Uc)hcqu?jM&vu%8of8271@0#wTN#B1a!;CcUt9A0T_BMcmRe}c zLLxr^X@nE3Q$_IGoe%x!kX(uo1Ox&;NqT+9ydvVYQr4l&hODj7z6`C+u`LZLNQZWF z&E!UXAc&v@!r%(uU*VsBZ=g9~$-UzUKjPKn5Me>{At6iEiyy(4dDnnrqB<4-||5_u<_jLKq;|~m0I7o1}_P(Dfh2V#A=iF`{029X7wnx zx!P{~XGUy)gkqf*)wo@E9#%$aF(r{rL-GP@PE-j6ChO`Ffq3_T+QKZ=EY1)NL{387 z_M$1hA&!KSb&jo?zioKUeVO3qqT_W`1NXPq*08N~sweqVz>Um{e(Zv`4-e6FJ67zp zUVl0hPBbz0i9m6cb5&lY5#4wh{Pn$wbo=olAt>WYPCl*CmZT9)+fpa>=CYjK!k4v= zUp`klj72GZ#th+#ygunxrkz?){)AY`PTJ{{?fG{tIoj!dN$|y__bqeVDBi83O^@fV zm^FVo^wiDqEXx4@B+a`j!L+MEzUK|=wtE0wY%zKkdI5w|PVOow8D4ee2AEaG=rAe# zvG;#P$yk?LeX~AnM=pz#vTHt;quDEtpPhW}ehqtnuu?U@U*({_e~F~gZePRR z-SvTD>MLo-4C8I=Jmvh@GX7yzD72?|I<|Wo*_1@HowJWTVm&%7h=uDu^Ldy6w}|58 z>OAHlZR4q;*V61zozoLdOonigftIR*1>O?T^r+Hi-a6VrPupNos;r@GFr&eHcFzAv zI^wUDY)r0(T^_uth&CQjlPZ7l+LeIF8IrR<{_3cpiN!*-p;Ag#)81=de)!boLr|1) z6O1M)UvyMv+t1}z?pqyiHmKkTW*a*B7LH^TOu>+GRzgW|WBCs$DT*9FJ(3m%u@}-%Vz15ilUZlezo{;hn%r{W?cBABuA#lKO|IcAO3gds8 zrU{mMil37Hiw!Z{t1|H*gu@&Ymhf-MY)qXaed!$esg4AJaQ}+3%6$Pp?AIe68PqIc z3M#xdD4E_vU{ovrq9;@y!UZS%S#B2-yZtK?NNQ` z^~de#U!do~6+qifZE6y$)5*nmf?-Xa9#8qjTn5@}J@$+?Q~ z6f4J;G6I&rdiYjM*dCVgjbx?eiM6y)!iW1dd7$pr=buZ~!qn=z2Gj3d=CAF)=&h;;x5`|qQeB<;AsS(XY)Q#s!uH9aQVzW9#MuPs!|iH?CJubO>Pdb_tSllF znvvT*cHO2X5E%OXuvqPBlV6O&2=oYeb0)-tD?x`ft+IukAM|#UCUC3b_qdh=-*2;#uR_@!W0e z4&a8>{g0E%v;w-63>!2?Sf2l4Xuc+;D^%&(t<3SC^=<}=k~dSkWC=%5Mc$58cK@BN%_ ztS}3YJkNKOcR7Re70@B^Ew~vCwtYuQvRYor)SU)5?#tCHb8X32!o%AzQsT}uq}$g& zD@3CtJFKZxgx-Q3u6jboU137(IO^J`ccDijBJ1*J=F4|L=`}Y}Jj@#zj3*jvGx5(f zM|Emv`=7sLi$+8txB_oVbz}+LsRL|Cj{hc)b! zQ^-Q%19v^zl}?iF(RxXirtivC)CNmSEU_LF#W}{$^z#U$cPzyRrl*@1Avsi7?2bnX z@B-tQ9kY<^cnxv^Xz6en^~&e>X9uthSGISvWc{1f?S*g)bMBb|k>zL-wUO&*iQFt; zVF3a&_{>`Uim=*pIt;#8cc?LBiK(y;Kbf?yrnfE&3V-N4>SG!$$C8a5evj!zj6Z-| zw7SLg?UK{GVEmZ+^{NsD>s8<)ftEuP@(B)^D(CWy94s7*#_v6S>7gy{h(s(vFvTzD znx1x8!Y0lC30z<>Ccd%epH4fqo6ni6jrHDmK@zuYAVYurV5G;~>XXt%z2ex@TeU5? z*3$XzDNhJGV(1z~MY1Pdk#a&!S>r+bSKY>hj*%x_jcMqf5$I8fewjCZtlL=Ou=J~t z3zO~zjG3r*{ouvEmy5xfBclRdQ{zg3iROyAVg5~dOdk=~-MDsv+kYE!h#{Q%6>S^~ z1xHSY8pf{8=D)x(k2|mX*`TWA<0C)&@pIT1WAF~5ZrlAut`!YeF)=i&95=Z#Q+&6? zxvIM4w&*>cYHN>@OnH=&<1<(OnD(?*WI$KJQG65{S5gK)&r(QOj@mjTFR?-B z&j`3f&>6SOEU8LE;<0GDOW&c?))q;jMK?M8BNa-8iq^f4M)~MLOBNYoR zcj(H!P3xRKA4p)x{p#`)e?N^z(ME1&y|m8{SY@GdmMu_v~07%8s=0`Y!!(d@cJV-P>P#`dyw!$@sT|jbFLK|0q z)9*Llq_k}F2(UW>7Iv5=VweIPzuh0S7^>Xn91eOh0;9v?k($8gwmARTkoPUiZxXv2 Y^7Nt;OI%Cy1Mf%lDKmpoz4Lee2kld*!T2~0coOC1?kcP2{rU0y$OU4 zp*QKhgwDU>d(KzRIq&zMd;f9AxZ{rN7{O%kot>4n=9=@F&wOSAl@#PiiRg$R5D4kB zr_w4A$oUHJpuBt@0y)QW?b8@Ian4RfP7;FZytxQoTr`$=DFK1xhY=s^6M)xOteQI^R*j$9RYh+w2#c(vpL#}Xzx3cA0!f5FOW;7 z+`D&9ji_N_{@Z$+DD%;`xARY!nb!wbh6@L<@b$tjLAVzV_w61ti}Cd)@y8_ZZ_s^+ ze3b39)VGOAmNGOnWHmN4OiN44iv9eV%YEN^`E{Sy`gj$Jyiw?5j&_;K^1=4J7T>us z+je$TL&(OXYgaE!{r;my`@!lvqf;7_m2p&g&v48WFcBfQK38N=n|bU$ z7);6VIJwb`{{Hge{%UsO*-_*TT=grpqw6nTY193_lS0(HeZdz5oT}iP4HxOToNSf{;2~)sSiB*Qof~ zD`cn_Q{=2kmFLOfMg)S)DQCc+7EA~D5+?05mjm8eA799~ny6mv&7h{Bc(ps*8lnDx zg+;j{DuSG+PM_)9{srZAvX5qYj;q-IY>f)}X?$-kL{%NO$^!La0?ozob*1Yq^zM zZ97=y`2(w21&_I>7F0r|rVJORJS&xnmsZ@0i@()acMqmCUbQ^FV8e7)#CD$?_ppAg z3ODX?w3qeBYFro@928X7@lo(7aW!UM&yy$D^1^25&P;KsYn^ph0af2H&K&+~Wzzrk z;-hP~LnJ@Y6WoWYo5YPi7)o5UFFRb)EHrY_O9)R)%-t(0;>~XRbX%%O-9TMEnkZin z(Np8)Wr1E-2^{A-H(b(0gZgky_V#<_%lZ_OG=85Rr&_NE%b+NtFX~+(&un|JaAjhz z855IiGUnD3$S7=AM~ALn@2=T$mj*&0PPB9dI z|K0!-{`&PRN=;6SXK(onEc@mOlF8$6$0kiMNQ{Wvb!UM?r`&#JDF5BvX@>2d=bZh? z{8r6;-0Db)SwF%$Mlkr6-|q5YSEAU&c+D5EsG23%nV`Q7mNoT}-LDr&H{6;< zfAKac3sg2aCnqN_?-4tDhp04HV`F1?|Mv#U>nes6_UopT(^vbjYP19uB?9k-l;HIb z-ajG&v-dPg*`$!h4@^RX7||YSGHjXM3|M*FC9+%JL_J)O_E!7J*TUa_A^!8)4bk&% zhl?3Vj5Th;tA=vv#O4*xYmWEez7txht`FD5kuRf^t*^YkPu3l4HoB)UP%!4mLv)n#Q@F>B;p&d>yiuMimqHqMa6Nr*`&|1`o>P!djx9LgTJ{gXVL?osAomcn=ExnL(ol~EMui5 zP8Zu~B-Mlp5j#8R+T#6%=FK8nR0INim?Mc{W=deWZ5U@-74S7-F0I$=iho!mcRD?H}$P$Q#X zv3zh_JG&TmEq)UW6WLB`FX5f?t|f<7y`H9NWsOE6zeVf-n8ySz1AoF| zr}goytgOALxRipD;?tK1Z1etfyPaPAQ9v|jjo^GNVo-P<#sG%(%`!=E9vXq#rUJ`Acz)>>cr>u`)l*zwj7;q=W?t(enm- z4`Yy8B@0)Q5o~gT1KxHyffQ`}L{X2!dNQ#bTX}hT7ncLRLG9G7 zTHj0cBVDZMqO(MlrNEedL|c~#ZnWHC*;Y>2kO2d`Mt=>Mr8K(m_FBzV(}pwUo>xs_ zjO+5smKCe~8j?C{LiGNm^uLbuI(!L9<$nw_+5P%yllBOD?-6&M*NPR2 zTPpJe1AocZY;JOM%^X(N5KHRk=eNh0C%k5km_OtbI?9FJa^gqc%ulu{Ei|2LxpN(S zG=Aa#oUQ+p7yhy{rv)jS4|U4>J__$f-3_g%ES^#oDj+LN?k*jC)WqO4s_z#WNr42u zDQ7oAQS{(foR#O%$OI}g^NWC$u5*Rnsuyo8XoD6QTUKEIUB!l@&3KSbhKpA4bls_XENe8fgSM}eYf9ArjK)dyq%po2+! z9+Rb-0ZSb&v&+CGVpf!<0(Kb-z0OWiYR^2@N@uPfk(DMiGkT3iDap|bSeg%_;=DkJxirp$g(WpyZ9gA*xoSMFm`a{*?0_0EMl-YYrtZ6%V062=AQ z!`xO>Dba`{xu}}c-Q2sJV%W!jTKa!FBw+S`zW9Lc^rse}s!&0uaUTDS!pQe|@jKUW zYL0O#G!+m2(s+1wu<5QLS(t6ge|)g|=H>aS_b@eQE32%ivxyaq%z9N(H-T2=l7QSV z_=%(XVwW-10sqNfe;0Bx>PXnB4kjsrAvcR99c#YDSTbu@C2V?w_#yu*3HB=Hcnljd zMl*DLIioJ@52^(}9AcSUYFm8HE74Z6AGpPzST)<-%oY-*sU{nO3cEI_de?>KwtjLf zE&FZdf);(dv73^_@{z;d(m(#|Mo{iGe+-2g1!pto4cH>)G89K#5R}Z^jsWlV@HV=>I1h~ z;k2$><%)(C6cz>tNitHJV~estxF5|fD=Q=^jD}{bYu@JMw3__!E|wPT^tO%;onmuM zGc!a&W1Syy02yPo?VSAjU~OE0Q2V1nic`3Ez%AE>ZaKz&)8&S~6w`9}Ajb%R=~Ku! zSiEulLU(G$%eZ2fZKJB=fl|j+7_zF+$`g!ATXnz7Kj(F!L?J<ejVNXAtQs7Tr6m zREsMS?Dzq`40_>hG^d{E>mT0C3C`1VF?#C5SdUod5U3FS$D8c?OQT}uPd?o^tO$JX z@CaAxgg~(XLtru# z6F~&ZG%rlntMQB_9jIOQR}ZTEyB7mK|ACl?E4=BHN^f*HNfS8G9r@D4%Hjujul={U zkp0`619S#QZhd=Vmy^%(;@jhHEqeSVwS^K9KjKJjHzp6DM%^dR(d><3v|JVk93k4u97gqNXSLKF7+~?zi5{w8qHK+pTu6zzDDQ=E|3%l*DtgM(<{a_8dB?6n9 zp2j%IVQakB0muYX#OQUr3G69L5yYH6liu@4g}b9H6!h9xkT+d^MIiquhRH@gzbiMj0Cn^85KiAXn?5#(=Kk43yUSPf3jS7HIN9uBd%85RZf_vu= zD2koz#5;|fPJBhbuJt)P?m8o}dhwW_veLOpj=@1@{5K{66L5@#(yM_m%QodniLjy+gyQJRP#rBeX7M_66Y`M~E0B3P z@$=d0#Kl-iKBABH{e1y@&@kra=x|?)gN5=lQF>VS1gs3j&f02x0n7A{hV_qY@GqRy z-&W`U_{`-F|8IE)COiP&tjgdH>KRYP&Aki3<}P%c_o8q_nKs9S8{tiHwY7%dJ#_QnIqL3OX$HZ44*P++;hJ^xK~2G~@qP zqm=BCD%8N?_%?BJcmw2KsP}YG0eWs89wY|j&>fKOb}s;8GiBy{e0==72$$VY>tv$h z9`T#7Mn)#sQ1(4&-6nkLx6p`Ap=(W)F(W@d?RcXh5vq_Vx~f|*JN?mZ&)jsFb^<=U z(a2Da@E&HuRqlUfyFKg|uB{;**K7{C)_iulenw6Q**`hO)iCoyHr%EInJ<$+EO(ib+MJ$%WklNKrLI0SZuPY$G+au%KW7rIWps;uqY9YQnpRjKl1l z=*D1bJ=@m%tZ^W`%Taso*JC(jFR^eqioF;qG!8>_i5{)AMX^C?xZi%b^^_p&FvP<) zhe+^J6jEjk#LL%)R%0L)KxdmXiLZ~EO)0+bI;F(z#z`upR_`88L$MT z41#I|e*V^W3v_E^6(vzJg%et0XUE&+Z=lXct0e)a?wNjsBlZiJ+d4r5Tbs>{BLoj` z{PAL_^frZuy{TzD6(wDWPIQinllKAAkg~KyMLBE+6D_3&=%UT~gDBb5tI<7I@90XL>%2<98^7@4 zwxDn3$1}xUJ~@k6SnW{yD?kKYxHO)XjqQ(U|NbljxNr6P-b>*$6VvCIu1a3;ehgN4 znu!F#=GRg;awK3SN;-o5*=j)+9tPxl$7E8#J zWUnzn@sHVC;;AF~)nk)4@771ij!vf<-WklH&KKR^B_kb&ekb0Y=LtsLayZV_QgBI@ z@aW6j;PP}?Aj|J#ws<44{*3vLoX4goPV=SD6%66|mQ?md>d=6t?a@Gh4W_Z(pI=Sx z4$8p8QV`gF%{jmhNDglQe0krj(hfEiC!{#6p6?^+?+Vj|ucr8#i>dL$Ra?IdN`6+T zSY~p?U__(b&RM)XnNV6t$Z40&pB!jiVAWGzuZjgOf;utM^i7#pOujf!O zz`tIOm_wK3#CXkwl9KZ1qx+I;(wgm7@Tih(D<{cGG0jpyAXePrDkN#gsUzAc-tCTM_liG&IOE-Iy4{Iyn z|B)#|F8`66#UP6Xq)eIo+$$F;vx&RoWp?u*@W@b`J6kM!oeX;E*fdg_X`;=dWcNXG zr(#fmn3HDbc#-{CSqwz^B;Q*o1@x2FK%loAr_? z`?;r>$YB%QGhxI;RK%-wQ<%QZ}|`q12Xmo zc6((w@pLCcS5pgJy;9I#l)!5m{?X`c!UeF%f-rzxK&G4%2dlhbMw;}jpNIDW#{(+! zk>Zzgx260SY;`J~^Er%kewgKFJN^8^#VQPZqgCamKM{aamse@i-%7BL3#dA+Vt0es zQ2TS7URhfpv9^CpOd7;AsBIU@54MPAu;5Uw2tH}P4+#zE`r9I1N>K@dN#-fPN?L))9dMp{+oSVIICif zrH}M)+8CfBz3!d=#TK7s*+)%4u>b2iO&gL-hsG6{+2ckxz(KXN|#_UCJK z)9sy|j%o5BwFj9iseFB@!F@D{a}_F)U~87E+?SLBURdpU{*UwTH9pJ{rs+cxz1A#*%Ljp$@;r%D#4d^7&(=cHrP=& zl=R#OFw)QM-jWg#5s}8r-Q;9JuIj-dXlWCZl(d6!rJF2|Ef(v=LRqa}Lc%3wWeFLj z&TrhsV}w%3kFdXZa58adJB>M@E+%zkl2fasWD34%xXcDIsR{}T;;2~R)_CH!hpJeE z6`6d_R!dDUWfFW(`9jmwG~j9splRKI{rrl`as|}MEkXOt?1lw^tk|GkLZocp)6z82 zfMu5oxXPC(8^fUk{5X1Myvj{Sb*L{(6+lSsxs_oMC~~jZ?JlLIr&Cc;mCFkQPtq}2 z>kCLqWP#JK{sX`#t;mb_Zc9p8`1q)Ot)2*)hFV0lwsx+ac%6ntSu9yalG3ZK^=0*f z;zi%qTE#j7(L4aNzrLihbExOg4=w)=%?oz_;eF0*qQEd1jSpIiqEFNf4Jw=oI5}o# zXQcz8sy&Wg1%UcfW>RJ{dcg*nL=~Tq8P@0rOf|~`m|74q+XRe-b%8ghuzc~}uDu$m zi1_}+w{vYJ6d`JP#)vvVG8!n$ESCeqJ&{8PyS0+!Krxf zKfYsAU{p@+@{x&EDuI>mk(o)p5C!XBeiK6sO`^< z0*7A=)o2N!quC4cB%dtgHMEr{u78)OiJYJa| zzc)@$?k^7V3m+<-)M16uvn>}aPSn&8b=%Y~C;|4GS>cb&H}rIW8a*vvu2QQ)=(tY zZ`$$$M5bBu=ex29^GmpuR&44i0|!~v^MaR-e+)h^Sw=Rx5eX)OfU(5#0S$R6ozHZ* z>YGca5%m>Ww!DcbW*O)V6Ah|14{rrrzN2T69U!KHxKUS3o+GMO&J}4k5I{Wtrw0ee zw>0T5?kA3(RqQ=cN9M;T@F9;y|kn-Miu> zOB?-xbaEZrh;czvs7~vkn9VWBG*$$Q(B}hGJaUy6y@?PA>-i!{wg5*_H%BK0m#_>X zPu~33bwLq9#H>TQ@@z%@u4bz`-+1c7P_nC;BS&Ms#9kXe1NH5sd1hdTvkX4Vq z*LB>Gq zp?qP#+wGUA2{k3QIcK37FQ$i~4_FUzEYZ~IVRgPziFAO<31H*(plKI^s98bf9#a#_ zBk03@5OBKnm6PL@;@m+s+1bjMl&Z+$1tr0{iDJKTz0AS^U2Ua)wgr!OoE!_v_7^9< z!u1%Gf~(4CYL36hlVb+@c=Vofs}4}HEm}v(>s~vDrJMFKc;XZA_M8Q+%{gzzfAgUi zKU0_0!#y$0pH$tZn7Bup1smn>i?Mo&E+x(MD{u7scAS!HFiTyYYb7aiQxs;s`NogF zP5wUznIt=sNXq76&nL4Sl|ORYiu`@*K+hR zsVOLh>4>z1dG6fRKrB^EoS@k5a|(Rm8vT_AxZUB0l!IzQoYnhpG&RGG8ABPVe{M|G z>#*DkChqP|?m!r7?+$Xw$1EtUWUVRFWw8f|m?Fd>~j-e1`dpcOSK zEE=vsY6^%x-Y)<@Zx96$gFtxF$myByvi%FBcv;GEMKKKW%lE1m%Opak_~r7su6HPQ zK(o!N0KG+;8-r!MQMSzq+B6TA0H9MdpxIjqqs?>T)$7u|@y_!d9T34E+ zJn$nc2hHIbOh84DvJC=TW|G+s0fwrNo5Q(RgMwNerJW_Y1F7C@qNgjbtQ5|Dec)qp z0?5&wz1rZ*{~9L5#eH{IyB4yYo4rZ|$_ZkCr9}mAC=5L=GU@=jxL!0fdriQ$&hbjM6YCRJwz@b%~0|@5^Ki1J-gc$3Q z(h@#&2yy0(-z$}#@35?1e}*EXhSf>PdGk!cv%AEU0APHoSVBf?K8+hB`rLV zk(2WxunFj2pvA8q0ciT|+s%n;2uvCb66_*}MOZ@3n?|CjOC&T&w)Wb2IO@GIKHb_G z!)w@CN{*Ui+qB!Pa=%BztY`B0==>`-w{z#keI{csPReOR{^_AnQku8kk^u;jLibND zc||#+q(q8RKte4By+pIT>F+SKaYVB%oPx=y_mSn7RGRy&h<`g}NzO>)8q z;-_zR!-zrE@;e*)Sp&hneAy4gppw~l2+-Xcl~E`wKAmqvKG)aRcXTYye&1Mp+2-7{ z9IhFk+)?=%AL&azr4kbOySyZ)4xeQA_w!xy@wrC*sez7ydL>lKTpNSs_d7(x_%0IM z=3ol!7vm_h0UyIPEh%yxT=ju?S6W+~{4Ph|4RG6#QYA(F7|I(7PCKzu;6%2TcFPmT zH(q-g4`KVdRKHJw{OtdNyKLvI5jMdjfw~O4nAilLj3)gr)=gpDsGY!s`!=YMU`wpl zV^en4C-j!tP^EPU8;0`j>d~G2vbzbk4vatzxdS+LIuATJT3HWGj?2lPi)@Drh&%F0n{>KvWx5}|mycx$e`{>TsI6@0yo zduwZpg4)*BRt+tD$5Okct*wBn@%r?649U_>YT2+`$m}BE9a-n+=QGmNVUEDZtep6b z%V)~KH@65VtB=OkSq1TA2ei>IM%VROe@e<7Xus;aA6L=9xl%TT(5Bjsmi{=poD>Ll z5-&%iUumM=c@qito79kdOw;EfV*lb%1EL#_64av~T&)@K3 zhUqpi%FmZ#CE~aJ0AXgLvwcr?b@(ZssZb{%m+%;udu6hrnfLnLK=dC#;n#zxIqc7s z98tQPMgrWaW7MN;*Ws@xO-@Ee>3(E-#!21%PdFA%e|0=3_>g!!%dGxsbW}TPy?mJi z$<6_?Vu@AOB*Jm6EA+CI_9xk|vl=W)#;C?=f&lit1PC8y4ig3uA@++V$kGjr6xrPT zJRnm>=%9IKrFW-;Px6{1z5TJ(vrU4T-9-5(@0y^Axa*K``hT!%y|L-K>br@S9YbAP z62EGD3T*LQTb7n~W@hF-oqo_&z+Q;kMBnC1jEMw%%K1z!ZR_0IbSxYTOl#Krhj4)h zPazF{u6HOL1U3JaZ<&@{H8eJ^P)P&DEsY?+&Ry{?z1G|icteNfrv_hxA6Av( z!&TC1L^CN7ImG6+C?{0|DUqah<_%6NHEIg*92`xC1zqkZ0DHeL>P{V~3uY4&{dps> z)BR-Uf8X=pe+n?{J0J+VMokw_PjSy1n8etT9dDFoQRFwX_v^$hf?wuQf&95e$02{7 zCiwS##lH)|{=a;kUK_QZ`&1Al9Jb22r&KKtNMH8*89m*pa$)D5%C6nXlI zLerne#NV`bbi^kNfed)26W!B%NfEETyu-=H&uBLf69TS2S|*svBYp_@o6$1$EuHs) zWuLWn4Xq`8vC?7x)->|_FN9< zIfleY3imxf4P^6lC)yDNriTup#Cq;XwYc^eS14Hu*Vp9_G8+QDbJTdgfEO1tPmT~$2AqWYx`Pt?}cR=RAf zS#Fjl!A}eSnqQUy?(M z>UIGxT=-$v$yFNZbBlx9EEC8xO!-KjQ z;`D8R9XNa>9!n6OBJi82(Ol8eW=^X9K>V@@7(zVQ;O98siz;R6+njhG0zcM`U)7~= zoIgEE8YCfBcQ6!xzx2?(T1llX;G+pEpv23ZH&ZGu-soBC&j!}x3W&-HnJ?bKLW9^W zMeRpo2N7( zgBbdj1Oj3D0nlA54Fn?YZJglZA94=p;AsRbZ_-|XKrTN5^@ZP8PXY!NZqlTr)=*Le zfqa_v1oWp`9G5$ryg3wvRlxC;M^cEUK_E%@qoSffwbXv5DHNp(?a+cRf>a5)=b5Ya zk=AhXTadA9vTRvT75X{UN2&Q7UrKdAr>dSH*0tKQ$HDbVcx=+5lq@8xo zpNw(MZLOQ#RA2pLbX?rXkM1F`kw9XXJGQ$6)yaP&1C*g^I%T$L4j090LJj=22 zrZ&nKFKK-x3z_p^zAkq2>FK&D^xos#OQESSg>Mg(+B20?b9~ocffBGUrG1gxTA4A3 zxCTuj$}WIZG}9|I3T*>LvQbdnML@H6W{HW3sX4SWWs%!kTkZl1>x5q;B2s-U#fFE6 zpT}^-1J!1+D=q|(k`9YK_@X>WKe5FQaYTa8Dv$`@w#BgT%P;(|G9Y}-$19)MFFfcz zco%4SFhw?&y1ziX*fJgJzaY^+-T8K;m_;=`bMvclLU%;}SH&-nBm(*)RBY1`Z8iIi zoN5@RO5C^`LgCwEuA`^Lj@?%l9s|+nfN6j(Hj=`vt(#Wr?DV8xZl)OMncg{FRjb%j zaog!AEvJ@*M>)JjE5`CZGgNltjepgZw{ll*=i+J}R)#F&Qoj_ChK{&m*Vxo^@(|7O zty(rc=STX0G&eM4!NgUt_?dBbz|c{vE`y#&<)HH1e4^L*p>!v^unP~=BcO)S?6zw5^i0j))b0>jbSEHmr+{)W_Qrtuq`H^{iNx}C_> z4{9$ls!0eCR%FW*GEBHGvqw=bLlX{t+G%v1rwE{{gn8}|N07mqHq`e;Eokd~E#*?T zHZDndaForGyUDy*x%>sgbC&ETSUt#b2qk9VH;b6}B@@M@(Q1wd>rTjcoaX;|*(f76=vc|Tcfdp*5KH4Di(pWL}3*HU$N3_zTiK=}gxn3vB zkFQUZPS}zV=cvn-Mzjap+W9>C3-3wvDSf^Kj5AY&x;pDW&zL4>e5Q%)A+D zkG2}G)HGzM6*buJjbw2=@-iD$6?Acn$sMU-xTozX0K0z<;W|%scsxmtqpkna{ke;f zmB(L+sK3h1No3iuJ$msS!oBHQJXb^YwW*NWPEEN1=cOF;Z%D-=3{P&Qq8sCL6Kau6 zg{~ttCi@|0T3-|KI>zT|OCM4Bu_Ewda#3_eNHX`#rb^0=oFrrBLjS};x580KZ9$NA z)3vs%B3Q)NJd0)Z(7bT+4yw=%kk+Hy!|y-WW`>wpxR*&5HMP;3wb4*WiM;D~eeAfR zI!11P!`7jQH8y@w$0^?O2kI*1sTrRk34!wYY=<|DWZGUQyIRHOHZM&`MUOY?;V2u% zqwG8&7cDsl`LqIV1sa%0emim5Ch*kfGZzHn{rb1Zr}?MD$szh;AOeIM{rpmEj1LMB zu_*AST1nb^U_08R;K(ge1N@N|e582vJ0^tujum(R^Kjm;78?F_ma5e-=F@}CW6)MK zXbZZAj4fGhMi4ka7&}zs8t-UW$+{|u6e;}Zr#BiJ#dPoNc!?I8jD~mVz|U*NXdZTa zJ`l9f2;=fRXqCOm2ocZ5%+g8$;?~~D#eT{dbxVQC^X%6%z&)qFB>}>dB_^1*$gOrV zKormFj+fF(OyP^piB8tnP?%imcZM6AyiV0qhltz4w?d|VT}cj+z)gnt z>`&a-T{^lC4{;s%x5V@?BSv&H$n?iN7*+9wppbf>R}TwMiX))_I6(I{5FyI*df@h3Ib_G ze)VMC^flI2ND``YTJAr2R&r--yz*$SeLX6(3$W2@dxj)S>79;8k*fi1Md+g;Ooxi$ zbBdx0i`|BCRRc}Wq!C26M)8hwTl|+>eU@Jf>%?B<-=No6O(Uo@ zvV`}`UpPe!NDbBU(IL#NE4!6y_r~I963|fg)lV=Z61s2CtjfAba_Rx6j%1bh=-b-x z!DJ8^=n_ZmUbKkFL^KMeEi^nePJ7wCNC0699Uj$-?$ z`>Tq+jBA9nbCz=YHF1@#QXc;EN%U#uQD!v$xdBOYtPDYndVk1Xz7VK z2SryatA&r0@mwFOu7_3U)}RY_tVSdS9vyuxAAgqpI!<_8q~9&(W;?g{!ibr@=j#-$ zmEL{093xJ215*p%udNY;+e8%_AD!Obv3b4|s%|yv(4}5m5wBGd>P@8w26ylt{qP8L zV)CPtXD@?XJ*vj?Ng7os)E>6cr!okt9~fidal39}ij(BJ_+BD(KRuO5CZc?V|>v8yxU^IVN{ak%2#7_J3=ubEPekZ0(35AxKUMg?6tRS5<))NO-n zB6{c{PJNT^PqJsSEyxI|8X0{~iO#@Y*Qym9`wF_3MN>doQ6%%^5dq}WPV7+z`BQiK z$0!D!-VAQ;*YXc^Hbf22LGFqCYftnS4(cxs=cRYh$hWtV&Hh>+vU8qimNU~8{V7-k zn8*zIyJvLQP557^6%m0)4!E$`%YEV4k63R|0nAqM*rm|~ah^9RDbUv`DTaI&O?i9< zHF1^b)KkkYn&rVPPQX;g8HFy$i5-3xh`0cnT7VSU5s+>U4n+!~kCn+7 zMa`A_zGq~>n>chUhb%15hlw7V{8??#VL&Qn1DFvzP#-|%1Z)gX68A$jvNl2gBqP@w zY0a-k6qfDL?4VUnxgyhg(z_j96;jLp6-YH%4f1^WO_5s_>(wKGd!qzOo%B>coUE-` zLm(pXyW2L%7<5G10PN(APXKC&xf}dfN-W0!@u;_};kNUzpHw#=8XDUVaDC9o8`^rH zl5lOL)X3C{5UX4s22v!q=Dv&Shbgjd3sGzuh-1JfWeIzo9^(aWe+a{Z(?4YP01-X_ zRamvpAd|M4X>wQ_)!dd|?T(lY6&NpFOpoKO*f}-Zn5-S=FjIatpc|_en?hf|a(T%} zfA|kwdoP_o2J{NMu?|0gI>{uP4<<13UK&%*L)d{$mI{Dr0(EN|vQ0mV6CM%s(`*ef z)-!KiH#z=QCdPn=aMdubC>2pD_WTW)r*MD7fhGq3XmfQL4d+1XNk3I80vBiKG}A87(C+cxa55SS9{av2Sw& zmVjsaSs&ytj8|3gwE-5D@3ZLsl;33b z<2Kz1JOpI)@lJ+Ve}~q#oSivdYq4WUvNi6uF5}e%?|mpBFo>(QG7m0q?4VIAR`l;z zl}HS^-O4*H-M^~W`=i(rFA1(JXJH&`<F9?C`_7>4ffi~Q=-e77@$KB{pRKHk3UalK^%;OK5z%%?q z8H9>UONZzHucX;YfQodMFXRNksKK)RO1@*2Tq?P~_tdu^z<+|S9tXL>>wTUR9=PG_efYlKsrchcUuRGT z7)yIjEfT#&2+#jHnE+UaWW2E^dSzCXHxodTkfzmLG~~^f7~PYOU$=(eN8Q@S1L+M@ zEn44`(qtgj0`)oTm-={&-Iv4eiHF@wLI2ab!?7Xy6Q32gi51n=)Z9tm19{=*c6h;?P2aIS){IQom__ z2)?p|FCJvSN9xs7gR%aM7ASp zPzv^MRe>wQ%#aVIS2NBAr)Eo~eL(-^vCSI?7pV>{kKZ5kY&4{{outxnSL1f<)i)j( z^EW)cf^$T8?g$n?5Xtp{NLL8<$?yv37s-XAUjKb?Kp6n$t4Q!IiOD%IN0_BgTuB6< zxB$YJYVxKM$B*PH?FAU*zhA^_(e%mT(K=qz7z3%3Z|_9(eIPy@`IPxiz-#DR6&fK+B4qmDP5{X9bJS1~qgrfeyRny{SN}cAOq(*&|f~ z+J)qRrV2L-lpO8t%l+AdfTh%_T5BuV{&;+63<`mmKx0`9ocE^!YH(HSQIV0Qt~`g} zcL^fzgE$QuSfeAD6~{e~R^x@7)X877_bUf6p?Y37C!B4M)1T%JfGkgZx%&mJ?^*{? z5DaJ?$5~YmyLshmm0HefXxlV`R#>N%q0RVpcVj?nnStK%a@VDF%S5Rh%|cly5<2k5 z*eRfaO2MAhvZ}&|gNF|vx*yEN^y}C95P(H?U&(JSVsUpi2C)+q+H}ib_sLZ(n6R?N zl>yZ+=$iZpI?nOJiNS*%(DbA!V`;gDtH*DeKe{VGnMoyM6MP$>8(Zi`w}*Kh8_Y=! zWB^tvxB3u~ke;9naKMUYC>)iIaEHdfHtWDX?8zzKcYk3GWCw6(W4hcV`k zAS^SZiS`%L;k3R^GdOO-3dW;M9VZ;<#`^9r0*a5Wmq)sV4`w6E{pM$9OI?RR94lG} z-zu$u+aGM?U-R=L=?ijUry;esbhJQcIjZaz-Kyd0w2)LgYXeRiEJYPq3eYgp0wjY# zZ+MD@=PokTj7J)SsQj{QJQg@N862!CZ1B+Qbl$74tUN@*unIX??W&b~+V%ur7LqIkWRuCRZ_qNh(_lr$}L55Z2+@PqBLCt&g9cN4=Kifd}mko$OIVAT!j96B@>v<^u9>s0+nt#W#@hb6i;iz zgN%U%v@wSWYPIKj?y`-P1CjJ^MRX`=AS>cih~;fPbQ|+_&HJvuyVTE@LA+$N-Lafb z6_;&$c7oHgT}fkV6RXszw1i;j_$CzZN3xB&E+f$-vB2wK!RkN76cDGfWDed%If$RSUG|>E+ys8}Ufuc3E&rwSnU-hc z^B3F5foi)GUzh~zN#TfZodd1GBLfRvG$Dt}w;k87o=}@6d8R~omqx1O=vHCdy5r|N zN(X46tB7O@_>i+)K!UgVcKyj3`{!SG41Ff<0iw`JL^(pBJ{hGEAcf? z8Hk!0Hbf#Ou|gT5%*!=OVQN|~@~Qid`t%EBCL6q4yr=NkDCiCcHz5<%pDvLc5c0rI zetZ8bA4AT4kooO1y)Oa}-f+i2oS4Z#+y`(mZ$5J+sROkUkWPMyk6&Hd>`M>3Z6Kcd ze1L`M-c@eGJ_(0&C429Nz=s6ho1h>dzeIas>7n5M0N*uwZbIIyx3MYW)8Jkr{hYrK z_|AU$^T2=o0N}NmYQY5L{~3EeO}5Z@zxvayKec{KBL48t;B@aX7{5A*(3+RFMLAjQ zVwkR}!#s`fBK4pm-qR7j={sP+AZdc!D+Q>j0yn>~_oHr_z0KsgLR1;c`6P0@gTMT5 z@K=AaI{*LSf2R8WAD@#i?KHsK8#n-Wf06E_bL}kTT^}eaH4qt+tb^t3Tj4B6Rlt&y4=(;|qX1F_vMjx{0TI~1z{mM^VyhPmo zMp}3bWBA`*@G3SbDJ$azc|ZW34*q@rt_`{cKts47Xk{1~Z2)beNtfaUtP-*X-l>1) zGT%?ym~JGBw-}gGnfPPE_Oz~%v!;Aw8a`a@$Sx$x(tVvs^r&ud+?*JXe?p8}XqrOl zGwAoguT*I3>aNAcQq%fIpPh_+&ONo++!@}!Z#W+*@Nn$Q`tr3Z0HPqrfJk^%;fP!t z$gMdo&u*r9VmteV%RoI>SHx*;6ttmkC7v!O0$B_XS_~+3u$v$n#&a9Cf!K)70>uE( zY|xtyz=`AfxK2M%?NoujhMDFtJs{o3>Vcvm-$x)6mpkgP@=P5&+lr~lj1Q4$Z|$)Y z?Bdf>06h+Fr;?4soSZ+M`z^2qN8fEf5L2^l1y?_YS?@8_QQnHSMM*? z9pZ>ny~6Zs+fwmncd*FRm^RN%7LA~%l{%TDOsIA{H0}d(|e1Y01}9D;r9O? zvtQHviT62MCynkaE%NvWeGWEq=e(&Tn=lVrXksl)8)@r}?;Eeh;mSD47WQTX&v8=p z8~wLSp7~E0w6qD0xfPrV(1;3Zukl|HmlSkd`Ep`JGLW zdMYpZ_5IeB-&5u2xCe}$n_-s^l+OX(5EC6;eh%5RcEUW5YS|q-d$m;b(Cz3|cWb&U z+xU4}Ult*cJ)9Ml)2-{R^uP}0iUAXL3QAOjCx8DN)c|#Yh1eY<1 z{|^4#p|p8gANcTJxFsP=9309r$C)?32|oXA*Owa-9UR`@gS^JbVo)g#4y2NQeX(S9 zO5}hAqIDC<3ZvP~o^o+{kdc(HC1(P8gA zcbAgPxSX8Zo4Ve~{7?M}_S^Fk4DY^mIN-#VvGZ@exx6VPeC~UD_AmbE$HnVbFHcBM z-}!E=SYCpUS(_BoT6Dn#xydc$Im)5$Qw~HNzqh8OG!(Zr(BIfH+neF!@MrMGz_@k}8)cTL; zl@vXW$xLSq#9LccBcBoEw<0b>70wazf?TeNGYj;?JXcWqgD**!IZ)d;PP*YbE?Q_l zuI`?}^raK;*L1JR%@p`^`Xg{LzAA!2>7GLhLz*-45x95SW(l5~Fy)wsI&!qiziL3! z7~i(LS5~5~YKRf8ru2?T&$Drzu6^0&8P1{B#?s0&q+Q7^`|wg(1Zk*wK*+nu*{Q|N z0VQ2>1!ME==^ehQkw`D0@=v=55rYX*ue10>V+gLLFA77s#2FH|WHBg0ty7hMOB}b7 zKhU||+|DcKB)q?Xp;;M7#1oX>S%j=%{=syQzS6WC=hXuE-+#}P-j)uI%UZdAAT#`a zL^)*2F=kr216j$U$lU@}oQI|q=GL+zMpKyULIOs%5Hy@pWogwO__C`giG|t|(Id@H z>lrT{PqUs~QRNck#ffXqAw+l+sUq2)Xee6K20v7CE)b}4f9pUNHZhi<(biM?F@$=T zQnfohBDK4-0rWo?rx0G8NP`-Fs)lEJsN5|_`{GEN#EzER83J5Tg^pzG6VnOS-R|6C zPRAA0`nMgfQouyMI8_f9FqQo|3**a`2lrnL1v)QqJ~WZsM7QRr&8B;hjARydj`6@BFx1-81p7V z!(@Mai`5`YjPA-2geDh7CW?neL0vc1_eJ6I2#Cp)ldLKY_dC*Af8(7q@@T6(W$29b z46~Bz;}%LUNgMKV2R+k94@o9@cW4^s85@xHS(6ji!A?=okrdeNj%%5as~iOZ?- zXG3%4%Q2vnaUD>OKVMWI!w5hndJ;*74blem_ZqJjR5d}MOomA=)Od?iFXswXI+>wS zOUI4ktPp{2u@r2$sJ6P`3pkM@Vr!i-+q{Kfs8>g%E!WRrHNqThoAk0lnH89&yJzWdlo0llczKhWYATmYO1uo$1^vp;NkcbvNBpz z)#ZC4J`5fqd0<6S&jp3SnT+L)+tG&rnMtEoz6CI$*&#Trj@hsCzX3L|mG6Y9G#daZ*)_ItLO z;YHokv*6=GjW^9DD|h|dRirFRCC|TH2PZQG0aR{Rdv=;Wr-CFj2jVc1riF@VKQ~RF zF4Z(w(U){uQJ6zsjNzGQT1F1JaL)5<>izZ&ebH4BoDAo=Eve+U4zHmp=kehZ)*jJx zQ)71y1Kn1jqTZ56e#_gV5LGq;>kc8BKKPz2DZ^=WZ)|Au8$->Ka?0B>Eh8_|bTab- zE@m^KFJa1@!vYWU{xfpjs>G~IZQM8Nv<%IDLw8R@l}PSIOxLkI+~{N<{Y(bu42g`w zD{h#1+2#VZKGu{a5f%q2cm7>&NG4g2aE_)J?tG{d{j4q!ZgoFl(_1bv)~kammm*=s zTMpm)*_20x;l@Mvs!C4(Sq{gGljSel-K!4cVA(tMOHHMfWu#qdaf2c)c~HtkEhaRT z(^iCsn`2poL`}jOPva?EI2b$UVwN1(rh~0bj#4ro-kHW7#o<-z0@535T2W{+VcPIm zoiE1wGhRxSLE+3Y*^`Tg#{&_thp*xFjNJyS0jq zwU*Rr%BXp`NO1&v_;43VzN=3ri6AzONRvF+)tu3sb%b>qXbHK&llb8&51zSST?N1I z;vwhWtsNs=?FdXOqPiXyR^u*kI%az0L)YSf>4t~zNtJSFlVM9&>P@)*i=mSsX)&Nd4xm6{VF`oT1@6UU9+^3cZ>oNj0t^S-H;WuFL9Tk@R-Kb~8)u z7mSe^_8XGRqY^ady`;DIEp$3($A{;gOk{wU4g=hD^{au%MP0|D{hYsAIC~3# zO+*AltyLTikL2)zjpr~c|#)6IQg$E*hy$hNvqxjtxiYEMUd8S!v0zS$4C$DwoiA;H0j zNq(tK-6bU@>Y787pk!^gK>Zn>xPs6U;+u0^{28l#zF(durQSc6m3O2Z4R@gn^P5`Z zVxmjYS)K~z2HYX{%)xG##rX7^phlR-Ov)3lCv_g0<(BCk#>zRu9vB! zj<#C6=B?H}*zc5#wVFi8kE67W3ubFz2VNaB1Gj`|b$aNs5_9%r&z$0#EyeHC&VTj% z2iLvXm}OD(*Blb8p6Ryg`12nE-tf%%;mK{EKL3IEUs3ZXKe=tq^B=Tt*KGOJUK_X# zRQ>FS?up+ER)1ov4cvxQ{p^Ps@6pbGi8*V(4QcVSAA&z}TXi%W^XN9v;%7f(E`I*m zo_p%o4~lg7>k&m}*6XQ@h|vFeGODiNlr$ZQk3L=2R8kOzt6)_%u_YM=h1{S&lkE81 zw|be^MpqMd27MHIT^qwHUzdAu;`4grIVBRd5*3!RR;xeM6yG&^Uc6#eQ3hT`k{Vyo zHP78+*g#pUT`&z_xIXnm?Z0=qe*Pz_CenxfpV~6DDlx-Q-}5)m9Pb%_r0Z7b(c_HY zW>>#gAf!L9dY@Cu)jwO8kQ&hIgx`2Qj=Q zXqrX5Q(AG8YfK~@mkt2hoc$Uy1PKsFYZ6YhZhUhxcp=wEuUcUKJlTlRbzhBvXVKwpUfpZ6v%_gN)Ag*?M1;`(OXT|dwlXTg zZlR+Re&1ZycH50~ZTBM^|ANI#7uah|7a+Fww?=acZH~=UPoZ6~o9t)N0WR0cERmAuN-9Z&_jfT(>_}y_$z~Vtak3fO&+# zNUwIzVgdA1=Y6cUd!8rT&BmI3*CI^kOf>GCSNK+UAM>cw_X0(Ao%Y&GRLJxuB}!8p zCB#H}|9R0(u^;2{NqJ11YcM0nd^9ud7q%pxQv$Usf<%Gl!5hH|DDwlyynnE+msa&V z=h^Ku#ro!jB*`~z^=NqLGKAQ1b0F$K;NaDeVt@z>ysbWZkmZ>!UhzsBm*q}CwtE4+G z25NtuLE9ukfYC@M6Ga}r-3u_3I#5FtUQBD9w-TdXnN;u7+ch}c!(9=EDLhkcPEe%^ z0<+k=a?*bY?>(iYCOe{T9C9(5I)}04(_! zygq&UYV#WZtHr5PDdMSW)dP9b)@z|(1^sBZ<2De0AAox%uUh~f90P7d%vk(6j#*T`94^lmO z8apt0-7&yBV^esq-Z90eU1`>4K^Vu0I(lO(;iupFf}R}=WF}fSE1hz2r*3A<|BXB9 zug?%=UH6eA^g?)y>o>pkUm+&>6(&={Kz3S-L?#V{oA{ry@ni)9N8RUVH)OWkUvxv+ z#6grHpc=B&pK>zOhVq!`Ytx>Yl)o!tvGv{b)DilErSU*!jgx4xi23^+$C`b9PbqcLcRBXpzDjZr8hsPJG8~m~F%~5kvrmuA_{CA*QY}#&} zP>XnJtiR64T!8m~hct2l+k(J`YPoq6a67d5Yf>&573^XJzdZqDCo{SHsg0kiHVDb_ zy71L)5p-@5=|M;Eiqa8cWRER?vDeXco2;TZu!`B5bM6w~l931W?)B2j&NrLTLg1GP zV)8YJJE+`Mv1WtP5ZhHsJuF7I?zDMWHi^)?Pud`xb@%AwxX8-F0KYkO@4u(TXjPY; z>zzHe-F~-mMUXB>xIk3j%~4lfAgRjg@96s&0e8%GjO%c^ulyGBCeqwVy=T@1yrZN? zh|pK5z?YN9LLK1h%NcQn>F20Z?|_ID&zx{hADqPP{k>KCUOC6cvllxfs4*RWx- z{-PpM20Ep6(WEu4rT|6)`Aao_Oq{f$n4E+I2yZi0QIHg^9Tz!Bd+y;Js1n*RAi#R?T;IPrSXzd2;XLH%RMFG;MVU=&yL(?woWMI?}K~ z=VF+PrDwbo-n*~(>FboQadWB*PE?gvJ9l=dJjQTPS37Ma+swsVxV^rV$!UES?s|1?zf6#v-uO^01YzV1B4K{$o>y7OLP<^e6VDm2g= zvSzqG6SD2vhmmoXZV}-L)I2M=~Y)CQ~3>1cynT;0I2}+w)|@XT|gf zx1WtY04W17a_vv&E@7!8_1I}({=Oi--SQnkpH8CHZs`XR6uW^$6vVWg?EFwnM#xKL zJ=o1nF^Lv!oA`e!CP#sU*L1hNTs*f#B>*Y+d8t}>-NZjra{o@n_Hn+WN%GvB32B&G+=9XHUyRwDTY7@@my^+4gyn-wU4c3Ldzh2EXd4<|`#CVdpD|NK`5@T^joloq&-otkBIl2xPqb*BX$giQEma@gLZ# zgc(yvF$rp$q`vI8+U}`!E{e8c@lAkTsj!ZYS64{ll|h!iP(mgePPwm69iG$VD4MLd z8u!cNf+|ZdDJ)9Sg416dh?6B?b&1@YBTj?R!aG$1vsLAc5~xX`!%|2HJmsj_C?#klX{A@xjfs9l(-nadh4Q!&K^^dZ94x%WPqz8K) zkuW41{+qW2z2^#o_hy9_<{uY+xZE-(jdOzPAn)$!N_W1p?XBLK1Q`*RNXGCWHD{KS zmYLjt(lOVmbdHM3HijU5kZj~rlDxiJ-L?X6iUN;bJc9kj*2$c7dpzek*r()bSq?M@Vx#oiN%bO{3d_lvFwYul93 z2};lnQmWNr^I7sPKgRJ@p2m9L$UBy+-t^Bnt%}s+N{tr;H3L`d{XAX@0qFv-Na!X~ z8H_3oqZS5lwnR6=Wii%lW)f7~ntFKMRz62(I1BuryF~}PgYJWV?%4>OG8_3=7pld2 z=Nz^3bHsN$%guLgeRn+Rf}}m0bGNp;r)}gI$vv@SzVp$NhOO=t=%@!Wb`kIo%3Q^% z>*2lEx4Lh9{N_`&cpdx|(i#s~Hnt@+9(Xws->CcDt?rSd##I28Z`QOKNlOEr`{z3& zZrZ!u^PN}s%y%9SMJ3>;{G{-pPDHR5B2>@YB)d6D2tjb;y#qf8tkQ!ONCVFO>rr}$ z-QuC2w>x&LW@o(90oJy*P4%_~RBdo`hRx>H1N-*`m)a%k5$m*jVrGqmXrLENwcW~swmxypJ%;dz#smQRSruS^g2%k{ zaZK3;ZU4L@kK2iYJRv5CwS~}cof{QgK%Jp_e$T^L%bG4Vx9)PnNzj1rjfdIAl&Ynbj#pwfTPXs>TSDf@f z;{0wtB5^ODKVb4s+iFXCvf+f6%=%wzwg3;aE$n~*%f|!sh?qXB2@t8;5;Z?K2T88` z!)bqE8jadJS<_cI^aJTDb!N~|jf$DK)K19d_al>t_=iXfg{M?E{cED~^+Z|>WNF4;;42p zM$xn6;dd?XZ{-E&mUVd>yo)AGk<{hZsKmuK}{R-0<~9-sl*VINdlv1^Q7G zwvioq4gZN;_qesKLHaXQPJ`C0Jb9b>^KUi_ z$wMPe9)F*#Ut#Sl>_vzH>H!+0aWqNRmS>TBC)xS}zDyMXmXT~sLfP6kas#`AQo61j zMs=9x-KnxCd)RnLqavUPc|6C`?ez3A;Nfpo5RWUZM^96Klvl;AA#JjI-l6GydBCK} z`Y!YcJ`W5>ZjqN+=6!$EGEV;i^8a+ZzqHIvkFwyHg2s6Jt= zl7uYj1_SD#)ySkv0}bq~tZ*xNhf=7UebKs6Mh(G(V1>mOl@_cEKg_-9X*`A^#p~eW z>lCwzlZSMl)pa(cH2U*LjcTfSkke3#BzO?O%9IVpi<^JSt|oV`XL-vHWHAm_bMM79 zV^Yg|;uOYk}tZVxYytIn>&SmVzWia^4CyV{7T*ojSK%T^d;%TK` z#vX472ZPci2+e9?{u+3qjFhR<7)|7QmSXepkx3{SwC`mrb4on0-hDnd^1 zUmKn^83MdnPl=2~B+oivP`o0RM(cr#uu=6ryWu+^PR z1eZiTiUHXDkguY*fRSZCw*O$ju!}(^^&S@&js(dJ@>ShOmcYi#A3j>%^~_Vf=s&fq z!55304N}7MX7%>j~;Tj#HB^Tv~ZMu?XQr2kx{g4NNvEXEE7tVL32HVfHmIRe|c z57waKk*pngM5Z@dbm4wiCYtBGd_G}l7Wyv2EX2A(gkk8HidxORIug}b+6#ySsrzWK zn>-ESQHAZckPemF+1s0Q?h@5_D$5560h#l(8ljq_;r(mcc97a*xpu=~;|b|5kszaG zvVN6_YvWrdGUI(g#T%_3FsT>C=-!=DUU8tt3x!AcmRUh9weh#nCOv>02l=KWfC{aV z$Yg5Q)Q2Z~LBcwf1Rd&Se?S7FnHi)bB4H&VT;j0+ExgcfG04$G5dElFGq4m(zJip5 z;u+CMuC?W^H()xT9aU&bCFrJ}c@($ zbMzv4I6Y~<)S9Mq$)!%6qw?dA7WZQ7-XRH&(D8u$u#t52kqhnK^kT@txz5m?s2zSBROW zbl!AE^6M>3EczZYw*5>2HrC^+NJp_YIm&L^i7cDk16-JPM24Zt6rZJdq z-HBANjGwsFUXkf6@(A*jhQKD_$fu8)Sw85#9uRzM^4dFE) z1B;!Qliv1}!i9fy@VgFikB8npY4?|DL5E+C?0_UD+Dwx@`oddm%C0WE-Dci8H)aVj zH4IAlK!M~R&G@4*(eJ9cmuq-?mCp$OtAH^?k@!FL!n_hjd_l+ke=q^BALivS`Sr*= zZ%SWJvzN0_1kSux0FSuKD>B~K+Uz-W{#rHvpQ@TOJBG{RqZ2Pk3b~ayB$1}=p-+r$ z9W1gE;}3)Tzsn2KmK5}74Aga!J&CE3NQ5ah#m8cI2ciEmSu*Yut1EnvEuY3NP|1aY$*BiVq1IVpfUhF67f{tf+6ktF0 zMARn=;*n$PIkGkH6F2-c<;Tud$lAx3c*|bU9npi0-NS#m!du_hAX#!mEID{6 zlOTuntQLI_p29U|m0gErVX}5}!+MajCb09X2ATeAB=>6|=&H5XmoKg+uOSVL#qLDd zlp1Wmg`nh6UjGaP`lBi#j4e-WsAdw)9+;^wLboIQW0H_cL4NAQz1ZtZmqQH%Z$Mqb ztw$86GlT9|$E|@H>^#6QD}H<7p?9DxkJRnR4Ib6T1_XJF9DSVLJ9vaHdy1$$29ng6rDJI2(?qzzT#MxRZ?_taj?UYoN{Snf;>DoYujxQLV{>$$i{bS@f2I? zUR}Abjc(}Uu-g%Gl!xaL!QNZ5r_xxVJCj`=FFC2GsHmDWYo#g-1=iF4I|mvJq{qTr zFJ7|to%LOS5ZOe^(D5ez;mLZu+|2G(nEEQH1XHw)#a8RrA&oE8DK)VO4Z7jf-eL|% zOZ65Mw*;Yk^@SFdjcJV%1`<8>rtEf80QkE0H`J;h`4v5gLeM2z_DIS&K_IR-SuZTL zHX&aqBA{TTLhI((KwcqQ7i|l-L5G~V=a5?H7RZ(XN3T?-gU)M-vyM2*z!Dc*V6e#A z$+of5)O$D(*(#FAk_{0^Va{CmJ6qx0;Sl6AA3kVjk+fN%%{Ou5XGSNmKxiwzF`_?8 ztL+f2fG_Y(7kW+E=2=wjEGgDHf-M?2iMK4X^M6)*8!|u9#$#1k>`?=C_)FW28@am* zL}>Y=>HKXnUa@p=Fbf%GcWNyjp~2iiQzk+x$)kmMgfDKiV$Q-Kfe%@(W4s$|Bd4bZ zx4Pd9@-m*GZ>JQlLpE0voN?dCD%lY_09Iaqs-m_PLyg^cve=bFuq{wY&uPbgd@e~+ ztPjp4BR*bL&KZxyp?c&YSu!KeHot5;r|C2O!oXxi8;w=gTSI2-IZ{sg3hXzA96=_v z%OCljezYr-kQs0c;;uz!u|MG5%wngg#~XYQ8KLH+!_@6}!QA8Ml(yLm-#(H=&oQ@n zaBN{;bhU>8qEYZ^T`tIuH@Ti{Uu0LAxa2TL^goS@OLM?3rAOH@32?ZVpN|Nn$i)Kn z6zirCdefp4o4U>5tDU7e`DhU)qsiOGD0_1SM(|BrxYx^FcJ@3a!sCp-R}2`u;CXtL zIK~TX_f^6xFZ$bFA|X(P?QKF& zCIZ$QPLUG-dK_*I=K4@s{1EY1B(i5q|EwMJmwA4|Srsc+CUDfTS@XOSf*k2{31YCas7~;6qYraFF&Wh)mtLgi=o1sH1J= zJb>m_$U4NdF`3I@C|jN$o(f55j-%wtSP=EHwC*<`SUk|+OGP$jQq5vmzeG5iqlR+o zNebn4BrCEM+41P{3)v*V73^swKrp#nhJ@p?v!_X(;fH#As7_X8`5GxN)1r^H1%ymJ zkLY2&Yb=txho|WBX!W_4=w@Wy(_{h_&^~0b)1VH4?pZvu7jl(^rd_ZF7O5Xlz+R7e zAlDCB@B?0(tq%@TuMm;ln2Sz61n2kx&{+rCKK&$v6i2vdl&5dkjjFz|ub_QqI-Z z8IDINk+oWikuH=q#UL~ASVX8;udM?kL?<=bD&m{_(K`WaCbgh=MM$IL`4+vvwsR&3 zt{snna*?>AQZ{NMCnZANry_d8=`L3(sWq!B`%uO81UL23bQF@!YtvU$N9?;&fkA~%jIjSX-Yh*X}t#Nq}T z8q-wKD1R+j(S`#_mK2K;*+yq0lJ|(tvP_x?@+WuTKQ)h-0hf+OD)8W&k02E=jG^q1 zB6*XqJOFIoaQCo43U(Q#*io9!8l48jp7>A3{(m>#Ah}qg|O;(0RD#{O!mF-a#YhLqqmO zAPdM4M}s<%9t(EWZmnRkz%Jima#QO?N(N&aMqLFqF`wd|belho9htzeW(hsgI>s@x ze*UhgFm;F417n%_=Fi9A`EP*WwL~@Z+-Yks(^|jzTraW*S9h-L>wj6tZ?mrVf^r4( z?gkp#y^M}g=gwNOQ%AC@zWoaB^njzZBjK2!P}U%V1 zrTOZ1#kIRbVn6NA-=^s`SsdOEp~ z)t))W{plLM*Vcf#o_+7rGONb&Zq2Rf)^V9)%UdZ5>xe_9E-4bX)o^iTb7!+8)Q6g! z)me8E&yVh?DDY!k!88kCW(6UBN_-y7SeQ`|nU+Vs9hVR!VTJNGw~ari7 zGk$<|WPQNgLdN-4B^Y_FNZt~L6Gl@dclH~kUaXY5WD3YvkM>;{Dv#=elarS#_$L<{ zz|TdH0c+SshPL+Sy)7423VoaZEaL~)u1<}_viX!<1)vd zKuuC@g;?2VMK{|ovIebw(^>xPIF=^f|drENE;cP}U?|aQ6-8v}omgQFikFK<#UcY!5!)x4ONZbAoMQV> z`1O1Nd!reOaNk>f^KLOQF?(z8#B^&;&ST_=Yt;oXtS=xO@h0yj4lQDI8w z48M7PYsZp%e(F!mGZksmOpB?(%D5?!tUaw0NDyqrrv9kDHaTP*?)+{nYuAbUhVwf4 zf2pAFHUS-w0NoMq+H{D*s zx>nlf7f#v5)Gg~ARjE{@udhURB(1=H4LYL-@9xGj?yI3#!~rDt6R1iIe_{X$KabXi&Map6VZCh#P0%Fj--h9(hoee;_?k6K$}l{aexv zBpgauSl{)A`$Es0LsE~$q%innCLwq}>kNLr(CAFm#s+@W8K9!<&Xp{2`e6!|wP%78 z89I~5Pb_pk{f}VDaKJ#}kvGQ~4*Dz3qt}rPIUM;1&7HsQ9OqP;jIj=F0kPF0H&krL z7||W_E@jfioTa?A?)1GzueqpZxJBI?))I283cc0o% zC=u8H$UOi_r_-_s=(=X5vrXNw(faGe-tTh?_qJ~66Sk^z7CkK6qJw@GlY2X%o`;J_ zXZ01D*sWdg!*IpJ9~qo+hD=M`k^1k(;al*UE*~{5kJ0rxIMi~}){XKH-f+mzT>IsJ zCT}zEe|s@J+&O+D)%e-oT8w01ebu5aCk=--bMTx^x~%=^!l zO$U$znZV!wvU4y&*}s1p=Q~E3Kl+x1kA`Jj3!ZL%pgJ+4FC}mE76sVGoXCI)?!rl2;M%e7!z6hV_QS)k@^_xzBkDE?&wy{a`#kCE7ri8!RNK0|g&M zZlsTD=>%j;(2Z?d8J12JI3MnVEYLS!f1e#7MH^>XR|6l)7>C(Nr_BBWysrg40XA71 zu3y@Q#)_{3`*|>f# zawrx7;S{sC_`!OY9gw<2z~J=m70*d7U^5}b{{5O35J~5kkZw0KNcReuS+iCqF&2F^ zB^^023ptf*-ahJ}Kw?=3J*er~>Y&G%OAiL^ch7zCcarIc`-D zrqfX5hV-`%c9en5`7-1zk7+2XhOQs%Su?nqP{QpsLs*ImRTWYh&J z6}qAOWTOTmk9GL^kZpRM^kirL+Q5(~e#E(X{O3VTN@4$vK{3wNqprJF(tPuu!)Afo1h*ZlbgYFTgsP_+L zMf$cJlyR{f@PK{ks}!cnmiIs?n~U@DMSAQfTep2Q(~YhZ*R2Zvr(5XUdg;H?nLZ&r&uXrU^__KwrY(fRDL!bQ&`i{ zgL6i`N8|Kuonu-NG0gfb-~!P|E?=D?Xc$vDnT8X79K>%3&kx4LQx416K@%Jt?jc9n z&G_{P0ckU9=wesTtpFl>WbEjasG%rKVbE#fkXX=SVCt014+}DRJtp!=!u#o2^oX=g z7};%p(;S8-vfSexA?2$44wDu-P(2`%O#VS&k>npKXNsDvS2>CQktKq2#mMNnnjb;N zbzY)lmjDVkjZ*b6DN8mBGypjkZ^j27(yVk;3d9plf4J9aZnb3(1Xi0n?<250-u9^N zmdypHljXt{Yp}hiteZ(UqO@u!Szg$jzoVwm2=N2pgiTmv02$Nj=xKXGdT*rpdKxv> zew@=`0nk#xhEv)tI?qZ%Gj6=*tsXX3QjMuy;%VG@OU7awyvN@hkT^JiO?=*R_~6>D z?DkY?%Qth}tiz#JjMp@$LxRv?Av6F@iSBRS=*gyXT9p#y5IZf>>_61|;EVr#r!fDo fYQ@7UtIJ3C_upc}YrK$0{nxUUUzC2nY2W_<OW_qf- zr>45Q7^NsLi2#cW3jhERq@~1^0RS*!002Z48Vva4BDkUic!4%DQI!Q=34jHF!kV1SZlAutzCXUcPcN<> z9v%IzB%Aibf1 z`@i-NlTuQ*CDeyUrlzLnIe4T>N}GP=7S%P5c6SY`Xjx=tmvRajb$5@kuyU~p+2s{h zFD-2??R=!-v zR8nkGRzgaCenDYFLvwLi&9{zyPJU}^_pFzH*uugNi-4_*yT7ukdPm>b&GE&jQz(!b z+KIz%;*;qbnyYIW z8W zc!O*HehP|7GMehkQ!u&18-4X#Wh`39L!xkjGWB?X5JQ7=8Pr|b_K)D zn!sA_|7t}Y?Ci|!T>-#JNo?X^?{4PoYGz98VdZK`Z0YLi=)%jy^#8?U0^&2cIxrYH z+FK}s|AqtrSVpDAgjGE^F8yq5@m71wc_Mxc@40Z}3z+hAr%DU046{NAgO^B!n|Z|w zxr5_;BCm%FE(L;5gqraYeMs3OgJa+l2VEkuwp{We%!{{18Ncv`L$F)pa<$@}@Vfmg zkw#o+e@nCWf`fNJ+4IkkUUBXR9^Y#6bH~wpn=RW)UKBsvSxSsqpMgy)P z!1G@+Kp-nBI0zsx84wHr96^I>QvwvnAcJTDfIwmZz_Sq$*yYn$0K_4N1^|FB5-UOj zgz&)u04^o~z&_gZqxR}y;kWnOuk9fJa)g39GCor~neCyTrkuKVZJaT= z0Enf9NhUX)M-QQOvP88Ooo`spUW8<@Thr#iX$tL0uDlOuaO8x>ZW5Bj`UftB9hAJYF%UN!iE|@tEUYo^^}y`fGZTmg z_Bbbaoyl&v?y}mob7xP#nrxlCvz;Dxbv8K(Sk$viosC+?UO>6g?JU5y8`w^WI zPUF2z=Nwnrp+r{^D0id=m6~o@%29~ggrZhaYf6IvPunTIf*Ts0Z=N(WEp?KXMyV<> zWRdSG0W~+R zB*Rwl-3qy;kMl&c&v{9Jq^IaMz$a}2qr%0XOv1`_&l{Ivg6;^w-0>bDKiOcJgU+PY z^E^wwDaU)Vf%^M>f+?SizHMOmb(^;}#zDs^GZ~Qn`K{zMLwfyPD53{fn6`x7l6JzV~|?FRd^0b%bdgO#5z`x%>cRG~{&zxTqveqAtlKG7>pQw!^BqULZN zp9F;YU_TvncB0^$Yv07E44&lO!H71CVqbUWp(B3mPb@JO4R_)YPw+;Uuwi6D(w&FO z63CNRV?!r+8Xgc?v`t zbl~LWjy-$ur=V)``Crrd1f1V`AztU)&mh9&BL}lH;co@R!OZ1Sm`}C}#J;CD7@p*H z%KP7MheN`J3_VR=x=h}dOKlS_(|-Tn5e(%~3;ywb^fkxD)hsqDGV=Fpl>&0^asaB{NyYCa zCY5=4wdX;9oUi+K>na4U<6C=fiS1=Bf23UE-!rwa@^@o^zGbJodc!W0y>ZVCi~J{H zM7jO|2)UvKV?spzwH4yNO?em;+{f=FBl@uG$2};6{lI0tIZpBAt`Uto{?u!}x=wo4 zd1#K*$e#v*kzHOFM850=QpM9XlDE(@G6%OFZ(&QO#)xwSyv|4lvM4Z)u0ebBo}?7J zpZAro%`dN&OjuWY1gqbv-gEwD{`Q3y$8U&DZ2={O>E7vgYQ>>RJyPHtodJ3K9O4 zK#DCSk(@-`S;n91P*vpc*}6TKB@3{&82^@D!;IP#4Z=jiOK9=*Atwrnpbyr2NRnBZ z_5Q_-nGbKA(aS;OdHE6rnXwrEOo1IsCdxw8#P#o_kq)(uuf)84b9%jpAvOa8oABVU zC2*MgWBGbk|FI>d-nHrGASe;_<6oZURk7JiTj?*pe|Ee)Uu1^ zsdy=y1km>n&Xk+UaVWhFTW83G^^&BPKQr-Mg)3kiTPwq9buU}P7VIpxN#YiY=_r#r$Jwv8 zRpO=GR)CZsn#MOz!C)0cQ15N=)v>YTX*=sB7WF^?3#+Pu#7+iPV6#igt`8&Cj{cF5 zy~o*B79({MZD7~(hO$K-yJ&+lmIUSIr;7TbKwZ_C=Z6pf7kLVX30|N#4&2Z?b))$Y{iM ziOT$j&$+x3GGU14zm+px1=sNW;ZoM=fUDr!Kt%NfXCcW;`R>QopR;DZ<7G8Q=rwe8 z?EZD5j7pX8AbIn3^6uSH&oqO~ID?Oh3iHG3j6VM3pQOeHndEnANLP5k%K;JM!P5!S zCR*`J6ih6qREr&$Nea$vAa1bh#Nk2hVMQg+Rir^ce?Qi<-unHO)VHv&vGdE=O`Zl4 zfeie0roWrz3%h-~fZyKf+<{+2p5WSh#>rc+r2CBTW&B>f!a?~vQZLIk)0O9wT<0b!x zu)h4g@`wnJ^@ImBgtLcuETn(vLq_zy*QZ{^mG@zKRQn3oS%1^H-4C6L5+8fb1ijaq z4{F5@?FohDYO|AiUeN>W@9OG4zIrIa|x_?99DcD z-XO{Ef(`R2><&}i-b^Iq+w-Esw6z(YZAtcGZ3^05Z=(EdeqA2UP8klkMQD8>XwE-< zrbrIR2>7)i)E^zyP&|A*mvEDLKkqn`Io#+#YZ2LDT}}71tnQJ8fA&0p_LByiB%)) z1_zajxCkaKyd#@9oxrvS$h8UB8wE~c5q zU_jCBWHi8J@cyh2JTb2*D%Dlg??>$K7cy^Sy(dsNn|3vr5JOd0Y=l53dwoUr)fL%F zV->7xSRwGO9Q8@kNC*JnFz`qXr#A}GZ&KI~0O*{D5g~_$TLu9fk|ttEw*v)t-B33D z8eBW%3^;qX!0TEB)QMPYWjf&kOpqND3>gIuqnAgS#A^^3J;%s6s}hUSEL-%}M6elb z!z_fMi%Lo(%qpNNKt=$lAVnNH4HBt902Ita8nt{8U#v+%0akz~3^)L@>}W7K1^^ix z;28-sL=4mg6s3?$U9wp%L*Upc0K}`FijaY3sj6tI*{yoTarRgCt(eD6nLb&J(-J(p zRSBos7cR9m-1@mD5DQx%fzC;;|1}X#j7$v+M6SV^X!Z;&Eka^D);v{$@ zkq4gFXR2qFq$D|Ykm4x-hPfzWIQTLg3tUnPWKY13TAshQkte@0S#dIal!Jt|NDlpI925@$5MsmxDE1;0JwOEskpL1e zMi*QfJ-7dU5d#JwV?u~mX|bC?ESrQgYg&VC^z!p;{8r28`Zd%qEvm} z?t1Nhm(S6^J2VT7YmpS)rp6$0=D3J20z)spX=W@M{(zMg)Ez6h3gsFu=TctTGUc6Dotc(8MNI>&L z3-_er3)~&uNp7}(zg^BnW<8=%jSXg)Wj#U#i8S*ohwU`^OUuC$EZkV<|9P^>u&B}zE5V!9)LKRFNkjp=(y5};uFLOn_1pdY z%&d@9F1Ex$HrNsGxkHzE;yC-5C4PQbCzK$RUFYlP@B9AVo};RJ2i0WTsPT0Kt1=h7 z>%cQ^smsY|!w)qig_3rfbPGu-LY6mom3yLZeVg4*}WD2a9yAg;q zdq`c*S+vVXQ@#C>iW?u9$b`t9gO|iHL44If+pW91Ft*J(Kk6W=X?mt~fqzILLZEp1 zTO$jJ!MX{Dj*d9N4VZN$-r}K=-*!cYpKo{R8SSXL{EwV&FDsY|P)nr3$P1)rMo&Jw zu)k%0G!mK|V#>_pUB-bQV8*Ky5k^DB9AuGF!0bnb>+>}Gy<6y1hPy@gIDE!Vq-bcD zXd?7&Kc3#{?O^3*)l|e^%?_Mih3gQ_N~H>nXg+=B-&>_iwxwv4%P#KFkmyr>bbRbZ zj41YdpHtu}BrKPh21%A$!-zoH3AHG^JvU5WcJZ-gbK%BGL@GuuqK~u$A5ohHD2}}> zW53ae#KKw3>T-)8LaTKO@QUm80@$EMs6|xduoH>Hvx#-de-daCB8`_heB1s$yG>JX zApKee(p8>f9Fvr1wnqfo*^Q24!=QQ@Ht4u&C8iYTjJcuc7CcG?Mr1d}qE2I0CyUTu z;S}b4g(4lQQ2;%-rzZ`YRCUsNK6$@7bkvxp4_#3?n0hk$H!WnmOOUk=&OS*Rv2sG4 z>w1>2*+>Mc==b9eI#N2Na0OM&*y6W0>`)jbs@Scu@Nrxrk0!cYD$&>PYeEYg5D_ux z(xEVic2gPTJGrRxZw5wf>r)(1t(ewFC@np5f~%itS!c!#(oJUPa#QX)7!#-tp|mO* z?N#7jVW^@0>&}m?YCZVu1&A9-xBB!Yan_(ot}ePZZLv^vm=C3&YW|@4f~#SVO~&zb zu<85T{P)qAjIKTI=I>8P1oWYBapA00Fd^zJjF<&KW%L@Ov|{Lx9XrKHxr=)L%w%(U z*j`zdB7rs$SDkA7g#RqAO-0wzr_XY15_kI=3nHfUY;4h`mr`dJAKmB1bF+$6PVsm? zj(@tn9UC*XFtM;O(J?vDewR?|OE60_H4@CocXyX!5?%_qcuRvnsd0xxJ#@CQH!k7ZuNzgg+;<*g zT>W!eog>eGS-rP<6@n*5ZH>74!B|*MLtm{sV3k`PMR0747YcW0<*kseWv!}d#K}5l zHm$lmHNHbPi(x6c-QbR7eo3&YDpl!n(^Ri$q7i?Dl~z zAZA>g6HP0qTYC$p$URe8twvjU$9no#HO|JZtbjGYye|GVezk0{BE^Lh@4(!0?K-Nc zv_}9>t>d4-w**{IAk6X5wrJbxHh}m9;%OVue@c0(KgqV0SvDdYMxIR%33mwm_ zY7P1+ZKgGd6o_|Il?+;}BZVbHKH{Yo&`V8D2gbM6I6yJBviIcn2j_}b5)3PI0X(ZW zZL#4W?g@+j-kbGl9DhZMnBzD9wxqXmhYlOrTu5Bu0OW($L9ZWQQWv{I6!z~&#E82>d>9+!Qj)<2Sbq@8hL~pBSy)kF_4%Nc|_C;S=W2$&_fb33 z=Tq8u())zA$m-WqX$E5t0oEWmOZxvLty+}^5L${zN+E4LDBexA^}-KzoMcR*b2{{d z_s?5TYC_o2&j&d_TA3xN*FyTpMUv2hBY5@&FU7{+%8jSGM5@8AZEi0y2_b3xbkK3x zi58U+5j~_y9n>Q2B4iZMGwgdPVheE@#BG#n8FxOU1hs^6_Ljk9CXGHHR$fIvu`W>x zuS1biu^v#Qk+$iY29Szjf|s=Hy@(?VQ9}`)Bsg@2>$M4Rj89diyIVfGjEcVP?bODd zBWV>9ex@qohkvo;5&s~k%Sx=lzLE7nXfdZzUKgNOh$o_(v!t3Ptp$s!qb9InvDx(i zjcOi9&69{vM?S7KvdPr2$P9iDE99K;)X`WavjbZi&rT=Fa-8sZIIg>YKty!CJUjmh zkB-ZjgJ8Yl$%Oek#r|c9haL}(GoHh}&5eIyd3l9<4R;11(9}wkhh)T(jzm(VP|{>m zXe5P7=)+n8xx$Dnf{+4r1a>l-a*dcEHIbniXj_2 z4Ykd3dY@7mZB4ay*K6BjyS zDkfOhE8|UrG8@uQV@^d&#XN`Yf_TNZ44^;%Lq?SsOUDgd^2QzWu(6o5+|obGj)<#Q@L5BAeqF1h}fA_vQmQxi(!No zxbV~iRN{;cdzLE!O_4{-vgFiViJW7kdjpMTQiaz*ylz!XcVOo}d^^4GFzeKB-S{9WqcrDS>y!B7aSXVP*GtGP3v?WC1NQG@vc2OLS$bNN6jYmdL9Q)MSHf+cr%Sqeq@7%c3jnc7k zzxZDAUYr}}v)ODKN+l`(;(}=|_bRQ=J{tN2>QpN}VGX8v2AN|VPHdBT^`$6At;Lx8 z3lGO~lP~k^esAs!cYiKmZadtBM%dPv8QKLk3!hq71?Dbs!k%X9fQ)r5%fS~t_BLBqh)6b>2bj_?dMZkB{-g>j z+|X3C6kFufJR{huVf5&dh|#Gld7T`zE*g=15Jt zrlN(uUP)Y(>QASd+DMOzQY}`T)G{!r5W$(2A=D|Jv}afN9lddg*bAyC>hR&tmLt#^f|1dM?2v0@~6Q8huU+HIW zwI;e#p^GnH&5J?cMT=$cqY_lJyHz9gbnMS5a>gp-${U zurkukur3)vIHBHi!zg(@l@xh=Tr$M@Fg+Q85*fiDc^;n7{0KcUm+VStB^KN*bJPiB z5(#G_zRl?|Li6qk1R&Zy(|8~T0)Vd3I04r67Zh;BD=S=p4A6`sHU#>aA;6VL&zLR2 z{xbo!Xh3710fdam_3*e6Nr4ayQ#$J>2skWAAZd^Y?GH|^VUPx4K;Qx=v}-2>;AfTQ ze?}wN!m=!C)KCzZyZLR(J=JNi##CGV$PfTP9NEPI8*il5$==D9p`Bmd^pT;}p2&6` z%xOOy0~`-(DNMXq6TVTrAowB>pu?SNEmSV_Yu#!caJ>GIUMDmg53ajCuv`a-Vae_W zx86bKVnPBNUq&iQDR-c!0L$)cIvWW-bf4>DK7PQU?>*Gw#pRIfcLBLBwHN3urq-I^ zTTfcf95kwd!HKgfLQ{~3)h20i?Me`Tuj~Ol-WnIii6kO0kF-YaX#0i?LiKHqC%$(( zCpkmU`K~fW9#UQNF^7nUQKVvGcXR(nW(hhwnu95hL1SXPHlfFsdHF(5VBmh;x(F7_ z985xxNQjaW!;Xpu4ZlrupufLw(bOl0nD?`n?bL)^jHAX7CaTCzsw>Hw_arIFs=-7R zXzSpn|EnnrTlXhah*23cK~`bf0mjl5eNXx|4&aWU0QaMlZSM>Q<$Ci3*0UUp+i8WA z`z>_wjy;_+8B|{rbB+_5EvB4B9#IEeX~g4D3C=##lGqwUX-t9u%k280A}}RIe(;y8 zoC4g-N)tJ}96R(DnX%AM&cGoxCXAT9Wggf1h>&;=2)@yZOV*qfMd%pXt@Z z>twP!;p5rMO%-WE1;(jqg`9qdoxV_t?8m&1*$=yuzZ}P3cU*Ueu{ql5*QmkF4ih_D zSJ|okW93Jm!O)jV`BGggMCAB^U&L<2k$;)`-NfxXsOIp~cF?#_?v{$5kBZ5V^sh4d z3Dd5-sF1&_x9KQ?&45hd(`@_JF@Z9JjjnGW$yYWV^*NV=FnFH;Bs7}bch>3-cHiXyI!A|E(AK+3>LJ}aCjBsBb_N9M5ejvo&T4G}>y)86`#p96!u;YZhp`tu#b-T)Vz z$`D4UgSJ3oDi!18R`U)!e#-NfrYrQSh2-Ja;@x_9l#)Jq=m1*`R8$&k^ey9SjiW+( z-3)ATF%#pg!n8(cNX()~pY#+_jLS82aXVIecNhs3bBTa{%>%qjEFC}mKiCFM+D%5b zI$QCuCP?%t+(xT2I||>xi4cFU#`nk3CG=O?y|B?Rn$GV!Ut6PF2CLidD2UgGA8DYU zcc1Tfped+*2y7+yB`dG*U`iKp%Fb`39++@Eb#8xr;QG41QV2qEx$BnJ|YwJF% z={(i&bk+c+P$bZ~QMJY}phaci+(!En9)Uc5{lcdP9UMRF6c0Om>aPbYJOlO?wv6^J z!oI>2u=E3%(>4q)W_>wzrtVx7wyjoQ9HkN2P+YhnF@rdgT|mAcn(-)? zQS1S3SX(#K*LWouLSMDLao!En&gFOFj2DQ^6s|K9*(Uhu&nm7cSA!rmIP}mzqpN8{ zEY*ZZ19#}_v`n-5bqv)6bE&n?a;>Ay%aNIbVoj03ttNLuyM|Nf9rPYon` zY!S|kMNqCBE~L#6ZJqa{P1nZ9$MB?~FXhKdui7F^>y)EcW2~?6ot_fNEb3>V%V{lr zLu;sM`Blo=4-7KHV%lzU&efq;<8GSL)pL~_lY+tn2T*s+dQtqsQsa^=gu@2)j8vun ziJX;)5we5_DDZ4DR+Hd8)eMY~3Z~|SR#~o~6ha;t22uC8S6?hfwgti>i9+i5|Fic0 z95n`-D9wo#1%=GA4o5-pMt+RoZ+j2I)EdGHdx{4Sto2BUs#$R%U2cC`@;CT+NY)P_ zS7?Q7^%&)Kd9e(uk~QretEG&doL^#!CaY$Yt9TFLm=yNLsz-6a3=Mqnm{V(tB9=E# zo>fdwuV02uq|wl(XIU#RpI+gW_pL7f8td|VB$p!pt-iJj^U|mtJTIG4H5L^lY*qy> zhZNV!D=H^{wC8APVC}~p+)ZXw=S&BVTQg=9kZPJD$1Gk56p<)}eG!%Jc<|Rr2Q|cG zUs}Qt{mfRpEBQd>%;T|S2(}2qKUrdk<@)mSs5m#p3eHavM$UT?ek`+CkzNPM!yJd7_uXq3yCcWB-`mLM zy)5=F=ZYQW*<`V z9Z!PD!Qf=q0j~+43@HYGecFqUCPMnM9ojrQ4#xw2_%E`3jAnT7Q=K>n^xen!2s$KY zMS`EjckEVi3Xh5~cXjjV)1M!g?gz{GZyeY-<9|%nxwF{0xg307M6fXN=ACor?Z-bz zDk~t(ezEd?qjg8TFH(hk^Buja1vs2%90Z)63?&jOPld@qY zn0g0)_2P9d=;D&l;+mYM(2g9;)7{D=RA4W6suYo8M$Q#gG-LU^6e;c>(5O@rE!qVsd*q`k**uzr(v!qa*pK~+U3UT5t z-p?%sEuvNvh=BVWD29Rv%Mwd*Vc^K=p2Wc@9FF2;^Yp90IXF(P3x4gVjK8P*d*AC_ z9e;n!sPF{`aIA#L@On*>E%`izlp|68nWdBT2x`9@fJ(y-qr!)78JRXC0hev%pVsHklWb(`%bX89i4`DhjCGPq(hLeXz# zHAy^hd&yF@nnYTrEMMisOq30#QP^9Q(3~l}SHgdI3J-e#5pI@2agn~n;S;KA-*YUp z{@ts%f5&ci_%NXM`YI_H80?kMX#kcDzV|j1kYLbIVk5~vaTU>{T0ql?Ym;&BR!^Wa zZMvvJyY)g!owLDINQG`xvoANY;~teHPXwFl%Y@iMp}m~ry*ft~Oo4iDQL8Yl8f3Yd zam%{h=z?keAw6v6GDxT9Shc2m_@nB>O8SkROP2{M=jCNr!x_evh57`l}yZwrg ze~RGSD}|X5pkZYYuqaZ<2Szc{z1?)8&&Ayyg6kfhr0er~peP)E5QY^NePuLjfL7Gd zm@vIGe%-xHxNgl*V~W8+^4w!^*kzhEY{;Hw^S{Y!U2;b7X;#tTMhl_|pg_HWlok`{ zwx+H%W;x@59khT39LgjLZ9rDq>(T>u3t1LO5J3T{G8{mK1Q`kh5M8Bdg$J%m4=9L? zP9yY2{|{2Ff&sRmNt2xc^vCl|!fGYCG6Q|J3qc~_61;%K1i(U*7tW0_2w?PY&zY;o zf1d51!OX<}^$k9WeI|qqC{P?-crO|L0n~1U@k3YNOG1E=w0FW()Z|Q&C18LfNe*FX zZ&?ta`x{z;kQwO4Rvd~Ew+IG?>p)tA0jOz(QyJU;QQ*&QjvBCypTicS7ZY zhCstL%Z(OLrP8ly*dN_D%5w!20L1$DQR;syL309!B89vxr2!hoJjw$|1d~^49Ga&h z08qo)JQX1PZ-^4!nGpiOflW$vZ5Y8q1BpQjJu?c*1oU?cAqL+RZQw$ znwl%gU)1eT)z?-2M$;Jv9X3h5YafqVJ`JU?^iS2NlMOYc3n}#O>U7sbb-H9`-%?Rq zYqFC^v-vZ0DGcxB(F6%oagrZTnEYOpqwd~)t#E~a!g#m1Y|7zMvm^cQB})L{UB zd#1p7eg8CiRZ~LiJieWegPGHHZ!USmw~Z|}HMCBqYa454?LvqBC z&a60s(&zsQu8qWkBZmf%LoWbLS-}5rb`^~kV@@9o{5aTN%~(RHy*nWs(;pMU3lWWf z%4Z_UDoQsV@_)I7#aIi3>&G)VI1S!f|FHB%(lIhBoo+s|Z{HWT6Q62M+qMo90fuqu zP?V-s{$ho*!@&I2P01iEGztp%2?1Mc^dAp8OYo|+3@>dUhw7E`IV?-+6$`>e=tV?8 z0BPP(6m1qp7zPmX0;*o?k0eN|afXaepchhdhD2@Q4NJ*2|Ly3m;?^ZtzlcU4)Oi8q zk-U;5Xqrqwu5O5j9;!eM6&{7O1B3$ti8nelLH=WG#UcZU4aiG@w$6bHN`MeZ zA|`c7r)C<$c8k-1$UUgK4?-ze*dfFs5m1G}HMv|}lT z)dH@)TgbM!t>1cWww*uMYXq`oM^EN3nP|%u-IwjOt~Y-3Y^7Dpd_vWfE(I_s>Dls- z=@D?pdni$Zadfzz?lADk#Mmabi$T9TrRzi!j;lE)e)L;RGOZ@BDuxAU@DCOR(0`-1 z3TA7BmReGz^FJm>P0oZLzn`Wn*A{(~xLGCL%e80HRckYp($dmtDZxbn!}5Kp zMH8wvFjKy?X%>8}`|nmUH-&RssouGz_@1JnR0!#E75C&TmfS0DCZrG$(-;-Lbt;Oo zCTYmaozsY@`%6B$XjHJQZAi+Jo2BzbR#wznUBp*K5VDJhwv=8aB+fO}-Y7jw$%>8P zSUGA|4A)UP&oXLOxGMm%ugh=I${MO+rEFR;nK^S08joBmcQ>ywnRn%}Qy&>0$pK_Ty@oahsh#F%4!9Re4pe zz}2ngDBCs5g75!i*nyJ30#a2Pol6O|dn?3SVJusc`&3&K>$?dX2?MQbfySx%w>J$p zD=yU?>oQu*|0jb1nD;>~3S6ZDKSBRn!pMN(VE}+FkW+!B;EERWzjTN4tUzR7BoA=@ zSgSNL0}-O+wjn(Szz9nTvwgSEcZ+X80X9f%b)$0h|EnYgo?(cg2ap{x7}?%3t4F_~ z1Y2I6MM&e%fk`3%H?agb=K=q>072mKzr>Pn_s&3m>>Afe{0n5C=Z{??C!r{~)7fYa0Ln z)B69@KjeR@Cw8&qlE03#QPk3M`PY}%_0$$Q7THwv`1O=q%e%+faE&G}+rk8~wZ0aJ z{SEP6$F;S|P1eW0j2d`iM4NJ~v^z0iUsCJs@PxP4Ded(VE z>kN6E7X1F5`Rn(N0Y1|AE_Pvgz5dkKR5o5rd#qr zkUW+|SsIY~nW<#UT0y1@7EUc8anjrV|8UfsqnioVa|MTcMdry>RPYa=#~v$&*d z7*E50^t*3`XH-cvS0bl^S~sa$>UT^rzNzYroWOdJ3;}Z=)ypS1G1ylQ10irb7HQt~ zASVW%cmiiz&sPx7r=LD>jxid`csDzFA1nP}@20t1e#_P;sod||R0{MtN}y5qN3Gpq zr=*k0;7b0(zh>F7tI-zlQHvl%W4xAFJU=%Xh3g`|r)QkZMSCE3GGNhk2QS{+fAG>aU=z8D%;IkaU@w^X*NEuj85IsQeNqCO*OLZ~dGcEpdv(HiCp4Mt# z-rcDSBvFl*;%!zg66Z{-+hJ44q8PJxjNa>O4NpeM7Wt9i$H9F`8+ zE0igJ1_$_Xtww$wC=f>2;9Xr4xz)PQhP0b8-9RM_uS0MnI^_6%ErPkfz4r?sX|VfG zp7WAT@bqTCxMA)ZNX3}7f>h^lCJYjBaANj73g4O7ms6uWkmj_|Og76(>%-znvxb#H z$B4lN9V)3rn&%}NSFoBG9ix3@ReZ75yc4}IF)0jX*Z_h+k`f}7l2^ZjtV9G&1b=`( z@9aFPIHCpkpkc~t9q`*-=rl~0APn@|d777F+r9=kPNz6bUeA5x{hek)-_oyUf36{A zQz{W(N)}m=7GbA)J%+(qCg9ZDOkI$tc7_KA}N*|>$w`4+Tz!W0F?=-V(UF4pv zz8PwrH`Ca9Ar}0U^23pT^4tC1jS%#YoI^Y_DFf4Rn3ETZ= z=ct}sbRZ~3Vn;;N5S}3>!diCE;0no)b{FhoEv#7RbXUT@p|vu`_Ih&SPi%Zw6009Fh(RR&uJ-F`SY}GzuGXk&cot4} zbJV0qHIf2oss zL{6RszjDk`D(O8mJMBR5%Zs((KRV1e+w?(UkUeT~mfBe8rb$IPa7a;wtXM)a&+bNJ z^j!D*h?o9?)F-kX707jbcKK@bxbw)4~#*A(Ko= zJcOhshl?^Vjj!FLNl!1`g~0C$2y8#gUmg~Hc<$?h)uj=1X1r{&3f2&Xl?x2ge)|QZ zc?dYcX@w_jKW>|KJRhgzpguRP#wkR;JJ9vR?K(qNf^yKN<+Su>o7{i|W@GLajvMq` zg5?W(5%gU5_aW`>5C4nEy>{XnR=MflJ+B|)$J#RiAcmM=P0B~B4|eX0cv@kb5OgR*P-3QFNr^( zo`3jSi2l6gw;Wu~_qqCLZ|(k8wp3FPx*x~P5Yh}v9KWhoO2_V8nJE0 zQNEa1Ub;!ve2CStTT%H(5`SO(H>W4uHGR+vF|rrf5u$PYp6Bsy^6Gu05V5ghy$K;P z@-17&6B0ho z=hi#$e3!$caLWu;o zhgM2K^H6{cFbVRD>b(NYF@hBIoj$hlXTV}nz6tKeGyzQ+p1&bP##+w^wa!0tPeLsKkPX=ZeWM`!8;EA~0#gNT%$bNxDM+xq{o^%YQY zG~3q50D}+iFhFp32<{r(LvVM8;O_1kf&_OD?k>UIEx5b=eCxiu?tTAyXU$sEGjsNI zcXd~F)v2?0eQ8yaXAfJNt!AB%?QwNN5;wvjL3S-C+YajvhI=k^XHti6nL|Pca7>_E zgBq%zu}xv2&?LqaKTSACYLJ7jqftz|<(w(NBSAY=mH}n08u-v}cYlBMw3Vs z&mLF9*l2#`bI5}q@2BiqR)VlPr@N?s@J21&g!0j%)l%W04D-q`WdSei7_931BJul~ z+&N(W=s@2@e32`%G2ls7Kuq94WZAif&T((-N!vmfvk&UDiwq>WYRV6+&%oNg*o7sl zgQCFCvp4E1x`VB^io$0EqXP--^U|F|sWji-Ze%M9`#Zt{`JD^tLcsxqQB<30*Aj6N!n<~f z@WF2*U2HXvOYQ;X7w;W6bW7?79rnhVs3B7I$n=#xqhr|;Lw#X^$jV#j6;w;r#X3um zo~=ARZ+`s*SiO#Kiwz!A?k!YM7t6tcvioVG*U>WMKlbdD0G&} zqb}p2`~Av7cBXC8wN9QM0dYIdE=P6Z)x1JRcy0$}y^hiZoyFr*=$n;&blcv2tKr2l%ByI+)O$jY8-Sr&smE{o6XcC| zJ?tnQmmfKvISEl-*XwfED1d3l+?L#4(MweAdx*f%@9Oz=2QHCjWm>0G8K0E;4l(6E z3!D_gHBEJ|Pz`QS5zXc`m_0s1xikG0HI1OR$CL4iKZ?M8L^AID)*PJgGE^G#&%7MirUo85 zJJz+pe7_v2;&tcnV`Vp>rBuj?tiS`h@x~sUl<4YS*N2{rY-|T6ih~`*DSY;NnYyv* z9Q?Kv@~8ts0vH$!$;C=Gf_WlYrDJ9~{6ym5!B?8ScK6pYLsSNR!Hxe17(N;wh%nn(jd?*%d zx|`hK>hNfZqsn#?E=myqZcB6<6OzhO`T7GxU?(LqBDbC=d)u<0lvsr!*X&b}L%-A^ z+DkZ{5hU-6^WRpt>ILFC2h8(`G`*VNOBPYKA-_PQppx8B{_iDe=?F@(MdZMq*p_BN zsqX0(RNgE&w^bGikMgQ>RNv>$$ICoZm*)MUyT;L2jlFH*6EbLyVyG#XmKd^8(nH}; z0*!EP#kCfPkl(&BsDy9wiD)YUU|YEP#*GF~k7qlT`n2Sc(WN@A@YPqpN%}s>NRcww z9K1OV9bB6d)V)bT=f`RWlOZyyVNPhl;ffm#67Ri3x)U7huAn}9?;!s-U7w3&@!@D2y`(m%<#Zc&aqWxuRolQ$*f@L)c-L>~ES%kZb%PVB zVAWHA4ViF668MePUM`LhsAkEXM4LQ;Z5nV9+nJ0Zf<2d0&lzKGw%BB15zN>*%oZEviP=)vLSpn&2I_qkH`^^X?nb z#b_fO`9aZ2v8#!sq{}rrRDCTVorFSm;&JokFI_Ff1BTV}Q-eZL#zp)-Eq$|2l*_bm z0Hy+ng{^e*Q)n6nMU?AZdx`&Lfy=h6Mj^_z#lz{q-&5!6%`1Z;?f`v>gM2DS_2ynb z29tJAUg^V!ZXBNrtUH-Eqs|^w2akq<_@*?uaUm>+}VqsolEC+fgMj4U+9ga1@imDQE&y9u;W7kEMI@l zGyb;!iIOp5dp~b&&e`9iHSKp!6F&n-s`6AJQ120i)vm5^Sq{g*R^f?9#wI@7gN#}C zTM^!{oT&AW^=$!ee16EAAtj?4fJrCe=KCNvxo~V}cy8hkP22dIpkveR$!$_PJ)sM) zb!f>j8j7$$-nEn-5H}U_b)k0sHPfr-!e^h@pgS&pm7ZhG*LWSrleQsZ`H<^_=4cp5@_Z*MzHheyGRu9&El!k-kX zV@nkcz6s)cr>(3hlx>*56>XX1;zgNx5)Zh2Qg=F>m&CxW`{4`jAoZF7WQh z63{gLg?lJw{ZmEL)QCpL`mBnLg_&@~pvS2dr)o*9bfJRRi|n(T7U7k!m_x=Z(h=xx z!H%fZKwN`oM=xcqMAbDTH)h4ufu6Yu&?gyBF#-h+`}7J5aA*IVTOP|1LBv#P?c=k%e|F zF5AU6)gGbQP~1JYnoX_%Nb->FQlt8(@b8PV01ZDHsA+dWuFMwK#d;~CQMdq2S(Paz znif0k5uA|@`OMpeLwrjW035Ji2cDH97M5=yq*gX(U+2NFw362^W1oFfg(9qq7R8i} zqjdM>XZbN<=4)>gxkP!E10EDOVMFw(W0H`Y6)P*8XQBV|b)_`5(|37q55dBQ;ZlvD zkL7GYnO*n=ztR}q^Vk95A~&AR9-^tvO&&28<1K|0w2aqs;9`>eN|>56l)wq3aa_vj zRjozQ=$^r*b!x8+dfh}WY<1<*NN>w_s{b9@Qlzdpt_@u#(D^;(Q>RRvzH3y3cm&1J z7UC(wqOdN`Yy7I5ps9eQb`AVcOPto<|vFGAxGWthW- zrgl_F&&W`?7ZEVN_4WsYx`T3WJWE*+5|CYgvvjO1&I@qrDwncIW|VvgqQO83C7mOa zQYv9#(BoPT{Su8n4Jk_%#=7NArDwOEo1#3LRYzG+YoWB(CZBs6&yR>#IaA>0TmdA{ zXQD)K#Bt@=5v5=IgL4hr?G)g~Tl2x3Jd>dopht`Y|0?WH_oVyYBeq93pk=V$=-bUD z*_`poSafnB?`hmGvZ{&Axo!zz96CPoSLRu3$sG*K9FKjfonlK%=WGI$#{5uJR_voGA=*MeZz#puxv=fD0Z0n!_4q^=J6Au4ujlN$z>)J?-&AoFxXVJ~R zf3B_V-LCW%l*A@DRq3~&$$NU0=`rli07(3O3OC}rL_%r8kvR8IZq^P36QWacz9$kXYx_0|6V6SVLCfQ zSXd|8n^^n`-HX&4F_k`c87`Xug~8mH6=EliFC%k0Pxzf(OD3TVg{Y>|lQ`ukOz5$( zO|XEh0&<-|Q1qWpOX@Y(V7KQpjssV>J()SU%*-gn%-1h|+q^p^Mu;Q&P@KZ&)EvjRO&%Vb zi1)VM0~wlenFossc(tzD#m?Bqp*c{HTs13ac?wnnwR#3w?LaBoJo}>-90OX4x{gXx zA{I{+ExsdSW6<7?X|+u$C6ef!RD;JLD&v|1UD=qt6($Oz`J8m*eK2jT5k3I?Yu)iF^@pL`e{;#(# zjN;AUE&44dtH<~xIxowxMH*w3O5;4Q8rWNp#m+uj?Lf3xjlW0HrjIZj(x@@Z0SvD4 zEo#&5Hd?ONfXmsUm_Y<~)-l+rRn)y9cRP$AX&?Bz^G(l#uvaHWc*%j4ZW2|%f?JIZ zkv2S$hn}pG0^5FWV@g3h%B9mZL)LDNXfMT6wOrYOhf451Y{=^3w+-|^-tHzO_MXSg zUsFdhVp@@%E36FnaS&pOy(^wtlYl&DmIv+Ru8H+3y*~^!rTPOE6Lfj$yCnqc(556G zXIUvd*c%;q)>V?TCZR;6ab1;E++}(iyV@}J*)KfsefBs}Dr)_-IV3(D{85Hil+850 zU)1C!&c;|c0{U#b)e%G`(AyRXM7MZcw;n_+j6X_{V8PN$M z&XKECUX#Hy@1s-EHNBIeQ@07zTWb%BM16*1 zM2oY~*4M>=MYui=l?U`Q0{!%m6ZI8{x{e+*wcDMYCfZE8!L|6(1-j*h)M zVY~tC$rBDu6%WilRd-XTY6Rc)3r`lLGoRYMh`8$+Y^VC= zY+VzcmbEDLfV!tqKJwAIIRPv)bARouVWfO-oUG~s3|r%oWGakk-fR1uYdfb|3m{Ql zy$^5r*CJ)NiG*B#xVb;`Tq#P(_ar)o!w3J zFM`4VA7Mc-I&izW)jjWH^HW}kmY)!S^qa9I2Sk?v2w(^R#uSi)NO6fY96ZPwwT4kc7BevdAPlbk`PGRbZe#@vo1zY~(V_e4&K-g4`Bcmc0#xXMk%yMwSLwh!{UG{Wb9?tK;bch{cLE3j(18aQF&o-vj#&Lbtm|+pq<( z2SdLu8~0bOm$7tr5WYOM55ee#xEdvr=$Pawh*bh|9bE$1Ui zagy!jbi!QI%^`9hukgj^%hDcGS>hRgi)j&i9oPG_+7FZPp3wR;P;Fw35#Ze%7qT^A^v9K^@n)Hg3TkhLov_mA+EI# z6-&%Vzh*#uW?exSAoB4NapqRwy8(U))E5%(JK1QOfY+qzwqF2lTeXC?kx3w>aknS_*_@0k5wZ8fyaM=JIq3+`uEcf z<~}_6ALqZLzQ0w$!0e?Si-9+K+n6Lig010HGpW4&puV)f3ne|Aj&jW`UqpZ2)^Qr* z->R)EbL^Ut?-SpRmTJz~aU|G#)^p?gs>!9ueeN-qdl)U~CP-W}!&I_@X86HoP?-n7 zizRd=x@yXbBvRngp*WFPkRMiL)J&rJ6!z3-o&80BL1qiE^^r|gr>x;=(lX7LO961I0DQ?bLgbpT+vQSI%-T`r&$icM>c(Xp?I+@NO+n z7d8g4vFkG_DO0zO7^@lg=Q&bBVzWu=F4QxrW}f~X@{!{Qg;seGBtyQIt`AKFjTg}D zwb{JS(_%;pQgY569gmYPME?m8)^U~i{EO(*hqEYXef;>daW3*lgdYT;zWZ=w0YGw~ zBM0dfs>QFEPHQMtshXAMj!a^gJxbf3_x^atR(USr2f5<_zTfZOCY zHRUNDw)siJjWOhdNxEc@;aO3!chy+~OJxl`TBe!yQH8iee-oDP1<&K(R2y};D`o`a z)+KHXw4n!uqy3$YC+TPF8~()mM}Ig7E0vUodGBNd;^?-%V?t9u-3C;n@R_vO5G(eJ z{UNDw_(THtfDqjSUK_BkP6vMbCn2M3e?WV8`nZ|^!$QSLBn!ZT0Yy%j-2A*I7VFc{ zmJt1OuV+mhICy87GLguN&K~WptAE%#5bG^FTWiJZ3_TI!4-}(LAL6{cH_n~54nyE1 zLoY(B%^rHEs;g1=@{$R`!Agn_tmgyj?A zdkB$;?+MEs&!Ru}aAcV{oUY>A!|(4gu!+=a&K&0$s#NgNg9}mW@0oO=E#W~Hey9}$ zP)OmS2Q8fDzdNE~Z%x;A73Tq=Qa8z-q4a|E>PCIus+Lw%n0g2%dst6ih&vv%1YX|U z+RX%^crUK?x?wbp6Z*bF;wn{Ri8y=>uLbsC6?A(uX-83$1hn4gx`<_9*gWiWKvRn9 z3N|CcGF`|{4)J15$HV~HK?>gYl(5-l^EwfAVO$7yR<=o>@%3-ys8!(kKH~ysOwyU^4D#@l zV{nJ<+{jet(C73`3!Hdg1{athE-W_^I;9AVA?4d0)=Egb%t){!uvJ>m{1tk>Y9yAa z0mqvr99&;?(k`uVl&eGoVN#%h=mh}y+Obx<6$oD>`^ik4HsY_spqN-M6y2mj=<~wo zC97+VAE3u=x18U?GI7MF=HXDExb(`EO(Vys;nld9%3gdQdh5)DT&}Kk*XlHU3EU;; zMVZ*)E+D*ayth3%#0fSyc8})Ypf~meeeH>eL);+F(R6!X#Kv-v$^KUNXq@r)kJ+M* zz4)mhb`?7zsE?^6m1uM=w5>zAAM_9#4d~n1p=v{qX!WSE3CG2ROFSVhgBJ;-YlX$e zZ5fEy%o$}=M6^j)do~?&hd=Z;E7zRzH7nZ(fYbYeHG-zqH;Wtr8eY{G)*fd4M+PBB z!1&p}+kgh;Phq>g+H@!M)6+4~f^9P~Ie|lr%RPh)Fg;Iy4Q*3}(Ff&I2s22`|95&KQh`FgT~9 zz`cumjnp;r4Vz3nUQdA*1)sad=o7(zYcxS)i*_kOtMMU?EOxPit(?GoIEHfWKl`F% zjA545K6Y1-w=6?(88!&AewKeq2fOYXNkPZ z3EdgyCUBU*P6$Dr@{CK1$1qxI0>xPWWa9Ws)e0A+sEtX5b@Njq8NqVe?u-^)I;(#! zk)XCSIaB9}-i^PB&ZsP&~RutW-slkE2QH z7x{3*4`L0d){uZ#hG+V=Md7jd6>l^uuA?C|l_uma0dBy+Bsk~irsq-#aKJ_^kvjw| z5&&V_87|Z(Z0jhS8<_o30+^~%1u6;g;2}_78-`e^<~O#;7?To>WPL4KSDc3j;4|<&~KhGIci4p1E8 zRu20p@(tF$Z}p^daYo z>w3syh#G_$AqJ)7PC8`dow!Chk%G~D7M7@%u*zG+ndD>~WENa6p{!v1G`AcNR#5?? zPfOiJoJI%}Qc9a|YauDbGvh{FVr*G$Qt}>jDFv}=&*&sR7x*q>NnCcT+jAuk{^%bf z6h9pcF`vOx5?+P@QLWuWecfriV~Wov^4L}$!zqi~1FPop_}&>o=@xrRj}xns??S=^QSwpu|on_`0^HW|-V^`uKTKg{@E{3&GLZ*+;h@w1~S7 zg;Et=hT3mMS;r|L9dia6*}f`WUG0E{QN40|#@}eaq%FL95}A@o7hbc~~E($Dga+3t_XM#n7xMygb zhcNmG%QTZfS>GdtK9y)9eNDsosH-i?u79lA5XzuV6ooKJ`5$B}OEk*{-Nm*I9mDWM z-sY0e?aL&l9S)Vm#1(UC=ln}t&&9y|t8a?vLDS`&Km<@<)(Y70Q?_Ep@B_!GNSoso z@Y<1MWr~hhZ^)%a>SOv}9B5d%#Yh;+uMQMzBg(6Yvgo|N8xLhsCX%=X-Yh;c+>~CKX{Gz4P zb6q(ElszUB;)^eO8>ePu$D?7PV@UbR zudEW_-#c}(0{)QFlNoW}1~lP&fIW68b88#SBPeIsCP8eUfA~nWC9xo_{Fw-!Y1EJo zjNJ=mLN~Dz{yu3@jAS3!bZUOeS`UZ_t+81_RDjtzRWIPr3FBzV3dd6D@neKm|Ezjs)J zn&Kp@dCdcwRudT{qILR*v*bOkGS1s*m{4@VFm7F21|4EelE|CJm%bU@!^Y@|{6XE6NlT6yt;sIpEXK zcM2KaL<#+plETc@#V%XLU%D4vHEy*~UWmQ%R5p>{T~if6_{f%>3aXnOHNr0`fmcEo z?3XV}jB|Qp@i(7yyj~y2zihT0zp0G!_Q2-@s^jCkGcRQeB@zdP{76;wZIlH!Tp^Mg zJ3qq62vV}W_=UgO@5plF3LvNEJjlspTYd#nXcM4Sbg?($6?h0Mri*$^gp)(<9RA#+ z!m`Ow-_Aq6=|KtE7U8u=;m zhyjTx(~iB^fs%%XJz*8|dwHmQ;Bw|uQHx0a1}hMv5WV6MR$mJ5hg%xLA~!llx<8LUJ{Iw z1R~`*VV6FWVq=G`sT$riVmZ`8s#ZrG4wLqi8_-zJC=dVO=Az@TH)ejLX%z-ldVZB; zoURB&{xK|~?nUm>GBODaFW_aYLZD~(iW|=yP!huNpWYf74-rJ!X8L*~Lpz)oh*QEqSA}=qY^LRe!R;{hkCgv^ zQwiWcw*L<*0-m1lKjeUaQxSmwp%QddIS&079{&Hv-_XnB{TCkLKluIL(SI=i-aq31 zjmK-rzW6UZ(tq$Mu8=bSg-8Cs@i+G85&wlp`43(lzd7>1@E^1Y=nwwT|4)U`{gc@L zar%D$Lxli+P$AZAtO;(3x-Q?Bq;-nUc;t^7xpOu2if12`MM_m@fAtkxOc&?n$|U1p z(yoJ%EmX@XGU9%g{skPd(+(gO2-L8s9Zf4QwjfxTx8b4_tYjiLS`w6JhKNydBA>#T zC*IlKZyuQOnmv2H`55vZT=PF3JU_m_ZzKl$<$HKo5;^w5l6s|BisGqIRR4AN5rI%0 zj;&A&!3T;*2aw->!bInpgs?lVdnY=k6CA=OEo4)Gjb2%Zeix({>9c6 z0kgbA_)=Uxm~KPK>W|A_se{RNekii8eT|d2cZccSnoZ@xLE|q=Ev@5`F9%E0;oxMe zDM3>^Dt%G>&ttLu>b!`Jov$yO8&`VI1{==a1dt>9GdWQSzs#VgLNdQ#@pba5$;d@q zADq~|bz-L=R(+m7BEEPGibWobX5}Y-^fac9nDd z$z}sIX|W_Usy1L!PL}Y6axC0BA`LJt0#dzj_aq^r*%0E`o_Lelz$HM zUnUe9C)Vrv^ef=K0k{;pElWYEa-c&%*!~e;L;r>{UO3OC(hDMmqhgwS&)c0Pu$up; z9{=0iRpUSqyY=KA$Arxb94u@&0}P0>Upe`@8@)T)lQ6rqt+%w#KAaiJejkmY(_oJ1 z5l?tJbnd^!AzA(NAAF%-cK>-7YDIwf<3TF&u|sUf6gZF8XV(LnvB z6or|Tgojt0XfTrkbrpnFgV44ilEA4aydHr=5VKW&_(z(Ly5}V1)IvOyAgG_lGl3uo zJlT(?MqG=Pw%9ONxP6{Mp?VwG9f3j1@_U)G)wFltX6dLc{;Ts%(Pz6wtO}vJyhWr( zQbbs*G>hsQlk;(YNjA;5HJIVFmgZyDF_J}?fw?RJqsQb5LEQW3tcv3jg?3MAmmFDp zJ%c(UXZBn6Wa=vGz0&*(KR<(1-AUZgx8yT?0tV}X*mNLmn~5YpavW;yno;^}bH=Gl zvb(DW1@r6)p0hP=G9xYbbdYIiV#B+~M26L~#iQo{8%Jr4YRrw^=qOGd#Z|49;Yvwe zoFf%u!^v6~OTMcJ?kO_4pza2z>7A5X^HVsA{y7>UgRQ-e_q9_V^f?|eaiwoT%~VIT3p8`F`>%A5~Vkq+S(%oSIIfXwpEyN1;ud7ms)vvhX&aKyq_=-e*%8X zxsh|jB2wSAG~dNq{yt_^pN40^rw#v!ZvV^0%*OZu6@byIZE&=WwE&lf3{y)%_cV2E1R zh^L9M;KaQ8N#3rDZi9e7C|R(m#gih&C*v_Mccb`S%ooq*Jsi$S>lt+ECwA7vDp(sDJ+$P! z6(o`xjvmmcN@>4kf=?F!I8KD`B{!NYp7EKQOO|`{tz#3sCDO9s2wQHm* zDJ2ps?{cE)(v7a{6evYt)`DNxw zmSKKVaiU0B;@sCYa+yyHmHQJFX$g9tM_HYHl~eIM0=Q}x)-o?~y86nvCKQTS!0+AAhT-+r6L z`s~QocJ^4QUlsTw&uNH4USH=43?rzx?ochyc7JvHCf&HqYgWAsLGp`Nx2&%6hJf_x z)zE0_Si$>d@W=^fRiyOIhTXjUk2gE%AD7$V{dsiRU+ZYyOkt3F4?swW`r^051@g_m zoN=`(j$XX7KgA(S1tg9+mFC&Ygz~TH(mtC>LUI^DGyPAg$Wj{%Rw6qDEdYXmbZAtC zn3QQ3Ki1%j_`GnYf(AcPQX1Bzedi)sxWb8~n8#3XFI}rCE@3GmOp635xzh?JXpiwY ziAbRrd3QxVeyH#ZCMkkJfA>lSE+U+LK5=;K%33aclBU#jqZa6X;#(M6|kSlyj zL$~e;7+ieJ4NkT@UoSuQ_|VpgP8ML*OCz#WRw{R-ERl?Yj51LBrgq9$_7WFP#i!QE zdey7h$?^T%_x$B%q_+(5?#b3TpyT;an*6IOLm^(^CnJfeye}VIc=f0)j=jJA;w}`0 z{RxRq1IKVt!efN#DtTEhC{)~wQQt-jMCg`-;sIM~mtJz29al@LVzQ~2i3jSv8J{<* zXd);>ae6&i+dMC4=*Tk)kK<`raFnpIOqw*4dn2%aG)ZJ4hCa+LvoNsNyf9ly=ZwP| z)eMg+;L^lf`ut5awA18`Yxa4&I~l44X@vB~M(o|kj?z8#*j%RkDU{E7yB~8P#g2+O zmc72aD}xkpb}xHnF-XD+6$~f1Ey5UNl0RB{d9bu|ci6qExf~S{yj_o4bQ{8b+P(au z{Svvt`|cy_c{mo;+ljjktMO8yk^V|~mjndE8v z@+_P!u)VZNfISK=z@9{hZogn&rtW%vg&W{rL zs;?<79F#36m9@f=^@8dWTgKO{hY|ySIn?(=g5RgwQij`&kf* zU1;;yiqL__w6 zU@=vgIpRgDPKAN*Bo+Gd*vN?C?Q>pA8a5eO-}>TqUSl!V2KqL!Q)v>3`OWdNO@q_$ z`X=Vg0oDFNMeES-q9^$4cmMCCD2wEH?>8@k*9#La`Hd3C`Hy))KZ769fa0f!8YY#x zShY-nCU5il-5eDn&=Lw8EyXMn^`B6rgYN+hOJ_YFfr0S!g-*_YI&uG4HS8VA$Eto1 zl8;NVsgy8diq4wspTbc=43;sV|7wW;aqVKF`3GbVUup2qDDQuneXinuZaUlFV)Ku$ zn-T~~stc!nsdoqu!w9Ejpl`LTXYKxhqn@j#_ZPwtJc3y0fNYWdIdZ-4<#5eEGx1q+ zRGsnzSgKYmsu;HJ9J)4FFscV*<<7%)yuN+uk^MD6p8;{Vi(pKGb#Znvd3L2O9k9^+ z&%QoPC~%SYKi%e}!M*B_gN(}gr(gXqYeo;1yfDb6%=&2X6P8&Oq({d1W>10>@V|d^ zv}&V}wp`APE6|R_D|z}5PJwhG)ZMr0zk2x0;DJJ%b8ydP$MagLD^OKQa;mWG3Ojjl zUtz+3&HHjjCqF*f0uOPvwL^gQ?_K>oT{QWJ&Hs-TgBM{U(XGwpyG_RhhY${0e!r67 zNbl&>>jp4?{QU0`Gur=*ScU$H1x$ospo%9aoil*|7!VnzQLv1WfUCm(M7Ifqud z^G6{?WC`VKrP*+yz0F7bK@}Gsu-7NUQHZ8nUm`Bcs;%RXbEp5cGP>sb06X;BW`Op0 zCB_xRz(aB2xyA^_BNw)@?JxJIxt<)UP2YRl`A2_$&-sY^sSLk<;O)7FI=(v)q|J&Oh);ruDv)|S5JK5*1K%LlAM%c&^CBQ`g5(uoS$2|1DgAj+*bHHKuT!OoXs@ z4LztJE8z)x4i#YW(^uaB3_LmjPD{LI*^^SE*>X|oFcx1bvCIbrjH?*C-^6;*03aUr zMB))ISbi%;!Js}=L&WD!O&+Tk$%}CI`ESKWplXbU)$XrQE66 zJpSC|e`Cb(-}x0y-kAPC3%hI}rNSlO6f=nHF-+P^MpE#@tC?8jVo&2U-*?{jI_%Kr zOo+_;dIwj0wcm0=szP!8`N{%EJj}}WAF`Ok)p^-(qJSF)SjG z-~XO|Sq*oXW9XARgt<5vfkb(=bT>|o3=m^UNZZ~`d?gVWz_ovzQj~!JkWv#3{dq{8 zwKDh}3{rK?!@*uvl--3A4k>ykBw9r)uzZ1gq9T)8J422-4+M`tq;7t!NmMdBiRc1{ zQY{__`_}r`CJemTAriO0qS5~*?4<>k@_xqZ__%a2J~2=MU=E>6p*Yi*sy`W_;Du8vu)H}_ zpz6*jO!rfuJ%oI8Fe#>3r7~W6_i7lpSH*Wxis+Y@m{3#Sn~=M&gBcrf5|2vL zYsl~3_m7Bk$nw)~zt@5{WUrbEv-5}A5)DNAx8sQf!GhCrw5W|3B-!VP+3a;NX5i^# z>iOn<`zxlb@fqc-6R*+mAbWc3hWx3k*AzG~c+Hk(L*tO7Pm#-zm%bHg%Gm?$M^TDy zj}iY5!=IrHSV4ZJtN=V}$4hb9?dJz~mvhq8jNkX}=@y6}ep$(-Ub_OXlegix*flLR ziAZuzrU6!4yx2>XtK5^!RWpS-Mw73IlEu0uId>7{I&Q~Usha1;w2AE05oM!gx<1H_ zoVwX1R~r=;>%lb&2Czk>?`J;tI3nr8MqxIeV~BPJ^L^@2(DTXj(WAlz>yb9wN$_&_ z?!HY}E$0Kgo>Q;&iU#TvllbG7=L$FFR~ zq(4ULe_w4As=Q&UDaAANwqm4Fqsi6W9$XGPXgfjGP&Z zmLk<&1hb+6oL+smJ=m!h&?K8hnepZ}6c zMSt9E!d+cdwriP)(2k_pR|@r5jSyjvi?tXKk#N5sTO*LdycVq^qV5N_eD)tU1Z+B| z)L*hNczUoaa6i`Iu0puZIS_~C6d02i1WmYgwy1g`8s=BH1O}RzwCvsIXf#w6&k9Hs zswJ2GX0VkH`f6{~&wxqW9CgTe(Jh=|VZ3&BhgEU*z6s*BH}~z+vPFQ#Yy0M>Dk;}M zH1-DxLLDFh_-!Bv(@u0(7T^UODi5iv(@KdP?$WozI}_gq+|4ioo8NP(lkTB&RoENeS{wj1mi+!1_-#Ktw;@}qWY9f>hsU`ixHKC$k-wd=oAF7Uu z9clQ@P2VOR(=MnQj7Oq`m#wYy)f;|&yme*kJN7F)W&ILwzyZ9YS`e`G2>S#a@_)C_qewnn{d&Z zw`!;mCTj-qoMY5Ok_B3CG%Q?fn#iLX<*l;$t?*3rh9hML%DKGr z+{Q}C>vl$fmi%b*HmxUynD29NUS%g3)$=2d{X77yH&;qX8@h`C0%5hI4S*FAU@yP+ zZL_+w?xBc!o&?xa*2`uecD(UY8R}Q6DKHfG)!iyYA!&^OsSNeQ)qIU%p5(Ao=jCn? z_JVkxBuRggZ#woV)bQRj^?Xut-T$Yz{>-Tbd!J9dqL<2z@T<~ajQBtc1NlH**U`z4n{{{B;2#0jMRjWk{rk5W$pFt+DlQuT;GUaYd7U&%z^ zR`{r^T`ZsB18yZvUb{)J`Gw>Hi8~A~_ddim>GC}SpixHcZt_R@Kb{@M|5PAj2wl7F z3z`S&k_rl(Cc|e$ydQUJ>puNk>)L-w!W0@EEM)2SUh_ea$5)$!zIsNF z@CD7Ya9t0B{=>n!%}yZ|OvcRv3;Rc?XCbp>T~{bzw02%?A%g@=8H6}Lh^bZ zzig*!PAQdBtiu;fu4sHuEcNRXwCj9YDN{hh+m2v0qi*PQN5~z*kzU*|88n*M8RRwK z{xSKXR<4bU*H@@U^zORk+tJa1^~Tt24e#eSG@=cQqL7DXZ_+sfsr>u|%^i(F=c5B> z$XiMayDRoY)LqZHm?*|lJcvxk_>0#tQ`Gw3Rl*mpHAJpHw0+1vbG)z7JOin z5@f`wDi)03h}_OZ6G=<-ltOx3%v>a!a<;}WZKx>_jJvV*)O1`T1dEvJNHJ9#pgCi* z@fk8aGBY&0ijN~JZQCwty6C=Cv-P`f*i}{IP%R@iKFIhE(?51UoDK;!R?(ie_U|Vj zXKuWmXF4Us>Y>|z>0O-1rGC5pP6@__Mscd6rF)QRSlN#Pd*|gW#G!I!St;}$Bffcg zDdBZyvoMz-FbbxtA+>-|F1ucGZ|sV`dy}_+Q2BUiI{v_O5U9-OHAjGZcXBi@Hlp7N zzhi5W5t={O(2;&MI68<&5>kab^c~{q5RD_P6fC`QV%!AF>x&%w`^Z=001j6!NqA-& z3Fducg4TmP@HRs44r{8Z42o~Bb?m^NPe!INUbS!_D^0+P#;+$hzK_L$J>TE1uDix1 z1WAX4qDkt9mynFlA0q`RIBcGSd4y3?K&-QvN!M-O8Z<<&xhSg7xCGBq$4{ZRH}+u` zR8&+|4Qvu>UOz!6@6=_2)XhD51VK2MNhpBhSebjVi%I~px*;UHFL|$gx)-SKp3n74 z+qc5XA_^k(=esSbt6}9EID)(=*Xg83LQ#Nr02Luj44Wwt$Bvahdjn7SN#q^$Yb`KB zq#jwoQi-hHZ3-ghr?023fa4nlA6j_U*PZ+^o1S7b098cPlPLAUfI8_I#2LbX zo@7Ywdlu&QGcH5Wf#H=lUq;2rQx$nCcjZB@+_l!;^Jkw`Zx|3|!a*5rZd~bZ&$nkg zIANC~#Pig-$@&xk&@k`oMJZ_NcP(7lw~_H{pe_cEa>zv4kDWxTAj?iQxbx9vemzz8 zGXD$xLQEuh9Az1L5%_25Q$Q>8@pkExIbr4OsU25)`(DLc`)T=`c~kK~qCSji#YVdh z;~PO3Fmlmc#V~Y5wBsWS+0)Z1kLV|Z2TY(WRgoYE=OY{$;z1-ycJFl}QY_LQ03{dF zCKPtfB2$gQ60TuqMN-@TpkzK~Jqm>Mb8DfT|K`?H_B6Ik29+*$p0GPG_Ke4`Zk-d_ zB=vO6M05GPU&UzO(-e+GS>jt`y?OjB-N*@&1fSk7BH^*Hu&^c!+BpVFz5!6C9(Z0| z@GeR$P%8bjIc#^ew7tCoR?>B5T35!STJ)n-17OkOEK&4P%HiwnYaNx6O`H$tdnvYyZ7#8)L=u}4Wt`ndgZ)(5}x+yfv z+56#lN}{>)k2<51L-(oa0C#gS&+yME6pshbq&pW4>{Q(DCwPn#sOZ~L@(+*e<4rc3 zci$yQVcAcrVtxPz)ADT~pV!dTE9K41OYfbuWZNr)eFmr46X$~tv9hQ91Rpk{$2)19 z^x*qZW@wg&CSS+GQjHeWaR(ew28_JOlUPW@bBxOQ@z>w&El^U+4I+`;XmfL1t`hGp zY|6aNawUjY3~EV!v2ABD&wPS@>Rfl18R(hwC%(Ka@4Yog!T#(0a;;uc>|gJ>*j;|G zjrjY-Rdy?+YW4i`EfQ|C7>mr}4}0A`4M42Z6g9O+gnDqBeQH z1mA5dt9Ds$=xnPA4sx3TeA3+}G-=!JZDhTu?D$^OalnOcXf`7@;{z5dDBJM^!?$Lz zA{#-gm-+>65woRwr`H##TTq=jBK}j+#8MN64+gXMHblJC%R!RrT-UAW1{?#pl?gsr zXcozj*8ZpS-9f4Ktz5ux=XvX%ev{yTMu~xlsu{K=!W7Kdzki|-V>WCXW z`}qSY2JTYVIMCp3z02dxc8HV8hTRN&*3f%--9CMN@uCAlY~oVV7nAL86pCf%&iCCB ziJQ;UZF}6}_RL+zj|0zkQevTV%oQabN+SFniEY{MxT>VhY|UPYu8)zM?p%7@(Mq9K zcOQ@6#0)1LyG`cNWVwa2HOO0OE0?Qc#3m-}Ck;e4_mQRi zB3bx7@FwrUR?eB2K_1bxK_mK^sOSg{16*n-;qUR?v7)nsFLg&t51A;#u*}M~qJ+m0 zk+$a4u{Zx(&{_Ot=X!Yh#(qguC)-z+00a5WG89pHF6DDA?IkU#K$f)6+~q))FDmr~ zh%t~^JM`H(B_rKKqcobfI=T~1gYAxvBmVhIe7;K5q{^r0X+yZmU16hx#ZQOq2ho%+ z_?Mp`F0$tivj3WhQ5uXc8w|4O=T{3({z4KWC~Gh3aT$4^Yc!O)%Y&WE17XMphD>)) z6jB|nlSqQL|@q?WZ5a`BgD=ru;UV%8 z*#q1gFhg+cIWUDY>nh7WY(YjlKR<{nH$U&;o5ZI*=D&qK#yQgCH{vS)TEVE6bkXT7 z3EN~C6r~qYfVLFiV?&%VAJe3oROMi0C-IW=am+ScDnYkne~W=s_Jk|SxJSM6>p8BM zb@7C^{KbECSjPeOayzP2`APVg`(EN`r9DSZ#TpQN$O8WI{Vp2`Q71qp8TU zoiYuI8BjnKxNtzhR%?**lgmG{dvC>d^`^bDQE@tEN#^7H4`0t=vQyU4)Ts9mgODvr z?sqF;z+P@DvH9ZoK79}Yp-7Mn^Ib1Fr!0a*K5!=y{cTlnkG_Lx@^W&ZV{1csDfg!t z2>4nkND3kM(~8ej8NA6b!aEbupgnR~{vGBbkpUCrM0mobaay;Z!9XA@AKG9y@KC4~ z%G0S{gBKCSoKhUMQks-_?DCpm)?%+LvdXM>bpng6kSUP8>9zVxJy$V zTJCk{9Uv~?-@u1z$^<`r@ZCE!b0xg0upjH7C2lipv|i?|C*KDf%@ZA?ir5D-8*L63N#Z;u9<0l_{?t`9V|Mz0F`${FI`Pjhbz z3-`D7ba!jCu^aqsKv@=SL|NAJ4h`JFm&?}|gYz?Rr;$^Gp^&!G=#6#x7w#MNo8JNt z;p!(0S6IytCRodxlFpFG34@2@)6NVH@6ltn+{1)0{>evA=p~LgOFANYv!RKSR5hkV z#a@-e>ghgMvO}=JzcnBRN^ZFr-rJ(%Kv9cZqwQTIg&dt4Inm|C+=v*kID&esG`E}S z9dA*Bh!G7M#gPTk(nk3-J&b%95n9F-xz|*e)YF5w*0E#Ch;qm5`QT(@UH6sgF&T*2 zeWC)qeg2iFQ`$+7x)-lprAZPi{phd;+W{Zr!TCW(K1G`vDU+kEA1_c?pF_V` znVnVVFi%LC9rO{SeWQVzY^qLTc+p(^zVbUW+hy0)=-5+LY<;W(VE{>G&}i8wY4W}W zDyv?)X&KJQsd^waBq0;g+yJO*9kqg`XHh7ns!1!IOS5ZGInRUT5SH12BnvL;9 zf9@2;dFxz4>*5w%Kt6Ol&!>QXlLG?)9IJ#TNLKJlF?^-&1kC&edwhMyG#!;5OVwqc zdh=+m1Z~c>hq`@0Wo~48O~klY^5g>O5KwpBJXMf+-f-uMzM*rcDx;bXmxth36v8MD z_O`dvh(-c#EWd-ThJsUZO$2fN?Fk0da`ASybl!2@q>)znxzJ5PTrHEhv6*-HKBmz@ zKMxP$Hn$1Y8*;=`TEr9ceTn?jdn$g>T?C$&yloQU!gY^ROj5! zsHk^e4if~y&zP8(-l)jeWXsO?!SKyRFNfL1GMrSA!i`I%l|rsqV}F9c1o{=FwmOIW z-y`>bSGrLvfXC4h2jZ45-!V=je_jS+ypPlY?{}Rr@N0bUs5&B-J6Jx7R(W?ZEh6MV zkn=b?ZG#KBMj(9TpBi-|A${gf`3tFtp#LcGeeoMkuzlqFqN$NQ=QUoDn`=57EX|a^ z{s1t{I|H}Oc8Z%g-kkx3PxCt%nUVB<{( zeo{$g%A7+Z*43lt@gnz~rg;KWkd0>d#f%>}sie|a%elf`tSMKXx8^c7n^{nxWc9sp zj-MyoY^0LlLaZO7K^l{PXm936aag6D7C%;H@Dc<*&s~6~P8glSgEf5vW2_LqjN!WJ z)~0oRdtOtwb3J?72nB0EL!x*ujDC*%DrS3JjZM|ym)Mxtm)Z;4GsG#nD@CU) zs?)Fb8T;lgKKZb_-n9U&H>@&$ZYZt8PgHVfY+MnyStGXbgmNkA@(P6`4mp1%NsIT? z8GgEL!Hu2bk&KLW8sTqdtp}@mmc8u}RF~G22_8SacWFE5`5VCg=;+>7?{K%Ee7~^P zTra6MxY}o6*&69_{#}DHVKrPy{sp*f+875dXAl!{r6x;AiFFU1=OJcFSI$U5v!?GVYLr`->Y;T5!)6Q(8VcE!d!o#+UU@2N3Tv2Rlt zIWA1~{cwrjpZNZ)HJ#{l+B0XmISDQ=v*MZ!Q>#k@84rmaBpRiWdH^ zi-Iizu-C9z-P_(dw5=^0kch&c0fiq$nczO2Wz|y$4>U&Hs!_k#90_|iCZyAb0Q|~6 zLsoT_C&g4FL#>i7fBsUU&aR+AZj;fyk3Lkeu z#8E;QHBZR1+kLlaFkV;SC?r`$J*s}NDt&rE-^b@ebnpH+0#cjLHV z+tYPObap&=)K)|?HF27?9s?cBRJ+}6GUcO@_Fe15*C)cA(yJ+$t*6c|P4=r8$Q%bP zzMrvb8EIg1s*WodBVq+E^~bw;FAi7SL>aVD#Qd;s+sVeIuvb*KJkP6dSd=_9v+y+R zMRVkom|UeEbEb5b<2#XBqSB%VeGz2A6(c0~E&2E`N1mZnO=%wAV9Hqllp5|eG*;5Q zSDqNHIJA1MKzLu_R}G&26(HsT!PjAy)w?qR$N6P5=@9JpJ&77GEFlh7zGNru&-~Qr zxD+(YuXo=%IWH(0%F=QAvk-NiWfGzNP3ab0*$di0;~7Ruo7T3`;dAbNyq8Nim7rvCV$DBDoZuVp&73_J7{vwo{6j}q;{X81WnIms9_R;qKn@U@vRBjySe)YO{ zoC>bOlUQ`~mUg9=%ZAQg!mdGg8wYlv$HGtGVIkvpdQ^wjs@H6~*0+|K`Een0X%gtG$PGB7pj zPH+=s?Upc}fe+rzVQvNq0@Q7T*o=m7=CGl zgVh=^*xo;-<+-?UAG+&oJrn`sQvT|yiW}O6r^SP4t@575<4~S_aOPb)enAoK z69e^o8VT)5k%ma59p>h2>FZ$w44zF+B@S;=6XBpp1m!{ow_2=K*42%el73z580m0| z3=za`X)bA8GlU+>-m_YcGz`1;M{CYm+ytEw?JsONI*gGu+lsaqHt*W<_G3=iy|syt zEHF!HGXC1L+>W2U(`6#WoDI={>_7SGm)N6XP^F&k<&19)H7?Cp%vV~k+ibRHU&?Fy zhYy4A9$jgxRd{SHiYq`*?7_S(srM#qKJoF0$$?Etieq_Hb+~Q~)Q}<{ySs1`mq}xw z{{+cv1c5N{LXa#4IvVlNWPj`{Y46tsoL#%rZgw=y7#Yhq6aUidG{nPgVct{Cne4_= z|9YPq_?dJEr>dexC3T!O9!6vaG=v)?4|~y7RFmA;Tne1SD(0LzkOAsVbn@K`9ntOo zDPHmR5CxeAf=0Y1GLi-dw!%yIa7mhMt*1{C8suKHLLMH=AHHx?hZ$xTL@fLr&3?=# zkil&D6R?3cSrnY+W{1k{^ie>*SyarV0w?UVXEtBN|BKxPG3=)dqlYV3>ivgHQK6tr zrq``qdoI&cUx`_Iect1 z-ZSN$>3vgf zUW(gcenNMOf#g|UZM~%})osV4l?b-{vStd(%CTi=-KwKI>486tVxqr&b9ax&#c800 zj3^Z6fib%^vj+?D9Dl~MebmWuPbd`M!)M$u)RXxn@>%2XAko#@vs5MVsd2SM&HzYM z?ydU`)!y74hIUpL?^4md8@S=mD>x4|EJ}boC#~%~I<#u*@%=O?kR{e}2Q1voGCD5L(X4^aXwy#5Xn7tjT+7|)I)ESay zTIyXWngC_(E+X#pz4-?W!mltk#2;w&>m~#HjPc9LDkTowy6{DH=b+&D#n5PRRN}Se zGp5FX5Dn%M$E4wAe;=Lu0Wn(33Ry1Y9S82GV!54SCSAVK8u*;t=7ZZG=MMoLFbDg5 zYluGCU`rVJw3FCRHu~p{49)w8CBHt8LhNiw;FHmRKIqym*N;-OWA$MXo@XI;jaO^= zq&iC+GT-{Ho?|)?S^F7_>hAmzbmJqfl)qBnF!*$KT)~s?z%Nkmks4z;)VNJ!t%w{w z{my_@kkEQKWwNHr$+X~BQg)`6*%^g7=xIm!Vd2prthx`jOrN+Fqi%D_3Sksj%eD!O zn(ZswGU|fNHD{f|&U9CU&3x+B7=7LHQ8d z@AocPN-apAeYxu-5`TurM#PJxB8j-fTNg%(S6p@G6u8B~Q<3zyiw(;K-H%1Zhz80V z#J&#HrN*7BClF&DW<-U&(>j)N+}|)W_J0LEr)y-))~8fR37ey*`H2fB`g`EJA!!Mx zN#Go3Yl@+on3BUu{Ydj!&X59oviyO%^x)z zz-Ij6to+E#VEu@Vu8;+z!)%Gq{uBZg^#WN9gK<=iTlm4}>`uUqUPFj)^p0lU4SLZJ z1sOgR`sL(5c;&8K-yNw`(+TMHR2|&o7I-*mv7X5pd4aXhDzxsy!azBLJQ|@trCGLx z5@vN9?OAMUDsoXbWybf(QzxWl_C3uKWgD$8nlmNu66{~etLGsSgdwQ;jm`(lE)-R5 z6fgp_`YD4Kn)+gN^2ufR${E4xFtSPWmDcwN^BcYDQqI*njYl$v^wAfnLkQT@2~FH-<*EQZfTjH#I{qS-qRjE4VoQ36kiG3#~vp8 zW@}g88C_ahCfWKH$9~brM-Zck0RS51|BTr`l@(-iEJjbYg}>?c7kyFD&-iX?XM6PN zr+qD%{M5M1>&u~|FsO?YsT*Tl&lD1t+UEl=$5rh4AXentu(zQjaQi5Iqw_UNiQ~8y z={cxbH6~wFNZ`Ndrd6V%|K_lFp))~10GNzEF+e#YtW_mjO*1=jI^gTS zO?DDWA_VSakx$@DNAd?=ML031KU-7D@O3=zx{7)Mr6rS_V*qLva1s{YL}|$O;@h zw4-2s5SblpmG#5k-AzUp^ud=yXa2bNpQqy0>LmM(Ig_KT{MPUI@$kWDdcUwsHrfaA z5K`9swDLO1`%rkf5h09g1LB>2^KEjLlrhtpJ{b5qUu(@EwFiZ^H;cRgso^oVD+3I^ z4wUh*%$J~4)PZN#trOhYJeUtxJxrqGz^b9MTnxN*+%7)j4sC-R_6^KH68Cy(o0sw)ICOTg)&ry5VJX04>3+5GseX`MN(Aj7gZ>E zV&Nd#D4!3VU99G+ulrsu9-b4Hm|Dq)J3BWWmiA3pnd22!LtX`weIcb(?zp?zx^v#6 z$l|s7&!P!Q8CxRmd?-B~etHKA#gZA3rjE72efMlBtCEm1y6i+`vq$^Xe1APR`xhZu zjzhWi#0Z0c|9M&j$AJ*!m7JBmK~ZAd?ua6M|779CzbF%{C4t!5;QYm=o?U|)G!Ua- z-1@cq+^ky}?I?jnU)`dDUc~S#e@K04gI#uYN4-kIyjL71MSU?PHi(v=|hlFmp6@KOdzSnno-4oYKq+mvYhw(cp%H>n(Ag% zEpiKmSdh|UO6{~tVYZr&p8oE`!Z{s{V3w(bo_2FH+in%INHc20ZEC3P>G-@`cVk~s z3A1P*NW?6TY0R6=yyW5}-1*qh`Q(dA^7%sp+erR;5k6-GOUl?Rjt+ zoURnM3xvU1>QQz|VdM4Nf`P>Wkw|Sa;b$W@Bl}{B;N^=8jtjZL+h`MMXylraW`+Mx zAEt^7qWvDMoB7kzaO;cX`ThZ_QswKDl@*&Z@^h69-O@E$?s9u`hk?2NZ3gpt=R#*= z!{kJ@PsVYj#9W4PAZ+?*N1+2l2U~!VMa6WIDbCrSlX*_jFL}fLfsSr2`S+E{E@k$M z+4Gh0tVc<^2Y)ha-FD|(_SB1euCA{DbTc6QrXx}S{>VsZ($<9Mw3 z51e+!fqBMjPwNZ&HInr|w}QUYkDfFYtI8b>`Ur(6YWDS;1eDbc)z5Ah`460zk8d?m z2jo;=dL)EDx|Sd8OU>kQ>2FKADg~)xf;~7pJy_VcatO|s-SmVX^e3f|h63 zJYGo7rA~~z;f3ZiMrIo;s8O7p53r1~0`b69S|5}YPe|r^*Zj&&g|!zT1ENWO7iNA> zt>d*g_E|rI?;WVmuToW{jy+rkkNft!hIKTj{Rm#-8*2s3Lqj*zNYoln##HJVAPX24 z1F^NohYHFuG4gP316|LDC{XMYgY-c0SZk@m|3heIt#x(N8D*qK5$>F`(6s(xY}VcF zIYn29BehZ)y{+E$(gTR)x!p4$V(%{Nsp(oUt~7>>s^=KX!yvud|?L4O)C_rn<+{cA*j0%Exuh};|3+kPFY837#fL8+(bSd`9?4QTt z*Hrd!jK_}*esod(*!T5b>nkF8yWM#UlYpa4c~JMBjnxaF9j^pNy;NoRLSz~{pLLui zJ(+fNfOgFlWk#aNep`zF zvp0YUzoM>tce$;e#_D!3oz2MNZsM?|vW(M-BU%fxgxTw9F|aPmNH3!lP%&7;Z#pW* z-=BVR5~|I3uZVJiq>qq}U^x-V)be-{NUgYm)Y#MW%hOLrq+u`reRWwdj>xs0@Urc3 zCWvourB3Pg!#=>W3I)4vd4i^ea06%j=JRH9{bW7xFUFH6zx4uc4;3!squ!X68nLx1 z|8uILrDK@T=?B8;6;l~>w;nn%0C2c8;eq5^DR2u0(0Vg&7MOJ7=+;&krkbTD5Cg=Z zm@~z&zNy$;S+iXA7wA@{WZVdwy$KSWu8Fea+_e6lxLKGbJ6E&5t&(zM8Ky07<1&wX zL2I^~@?6<9$9#YNj+ClM_M;ZB>j;)FdM)0=h3@ z#J}YD4F5Sz6#oD^P!JJ$rvv~1j_^N#4)Y&CH*UFl@Fm9wK2=2?W39+2OU!~w1jD%! z?2rkoe;a_M^qK`9h?-mGAzb^hBuD^i)*Vyt@0G1qsxw8>1q*&P)w_VzHR_;I0mg>D zlwF7k)-d`Jvo0zwhcA)$ZS=da_+})%T8zHC6bV3wdiy&U!0QD{;05rfBr}%J>*;QKb(8^_ zI*MYch2; z^lo>(Ip94^?rhfI0jo<-2$Z>8Z8$|m$;w^G4gwKD;O70Z!JqbP1N*;Xx_^zJOSifi zpcw3^H~4`JsuMlXNNW$D$G)4r+mTkI?N^bP^foxL(yt8)Q~|OAmZMq8vs+eX#uQ`z zj9~RS$wkzb%f8MBP6>{)+CY{2iRP><0*vBFsYq2mq73z98OLUd!NFmw#%n zFzV1x{v1GGvkz3b7XYJxfHejw*gw)gh3E0hKHaao&`rSq{-domh() zEV?)=N3QM4ddw6X3i?UagU;piFGPM490>F;g+7HZcYF3?D;%)yZr~_;47`s8e(T?o zpB(Fah$v9QL~mcZP$}dnb9G!OmLpfjOZgyBbRpg`psv-{^-ru zK0MCY5e~kLH>x-L`E4_XsdPS%m(ry2vRc-Q>jPwDI6rpa{Kb9(44P(TK;C_?WFJoDHR=*yJNHklq#;z(0PAe;CuxdlgP>d{N9Br zFL^RBg>k#HlwToFp6~3RbshLpg4kOX)yj=fp&=90&PEx;AqIyhHjHp4xlffsbyn3O z1tH&#H$8_}L{ro%8DUsgLDzAD$jQ(7O3djS2%GCp`?Yx0CzqgVgcTidX~*IH(0%G? zyA>Zo8Cqgm%)^kuNyK~(k;ZpOp^ zs@yLc)N080i=9$!eRu8VD!%u>PdgsSf4+&uY~NlrC@s-6fD$Z>?N(AX=pdg*Dq-QA zb+NN~=|W;#f8nEE-xS~~0JS;0&BXvEg@dEatC6>qRKmpc5&gTpmLV@1rBI$BSx$>O zxC*yWvogy5NB!2)|2XF!zTGlf-#8Ojk-WU|v@x`f4W#8Zn%F;1U&rx~S2WfUFx@=# zzVd9K4JY9E67?(*?z{u&!v@|GQAq{4)9Y2HeXHsQ3k&;O6Rh7=MLm=n@?O+mjTmnER04wR;?w{#=SKbyjOoFM ze45nfJEwVAY06TZn8l~d4qo-dSVq;26TG50R_XmCJ_TLh^^yeYGhH?nHE&UQdsnh1 zaR>_U=2G&aoitPqYS1)g!<#7iVAM~qAoQJMa!>aNkxQ}lNwv<7w&?Rn9QoPzahAWB zq}49wkqHcxYhnvYS3EV$4eg(9HcvwhuWAJvGcStes_>I{HRjP7K;GwfDIE#A#K(a~ zhl~h^^^S91SB`{2nSl2Ky3(hv;eefCikq6xLwCLgU6wl|dp-?o9O*8AfoucxsbdJe{ zN<@_&6UOct%7wSugoe=s%8d@oN!?lPJlkLTlHIe5CxSnCn@pQ>5YG;A^A8tJ3+vRj zcra0G$uCE&zE8=Dl%{?Ruqe$&C&>sm1RCgv9mS^)gkWMk=x@6~qsrl?{E!o8w4AeS z;TroXMkFALs59a++sQTf#4k3K+HJ1Pg+rYmR-XDz@3%LZ4|p2l-@&Uh@d`DoIZjV= zIDlne0}cIF@tMrO=)L_oEk9WP?)N;e_`3n={z@*urxOo83xT5<~LIddzkndPr^C2V@y!H15%N@ zzKaWI&);zLPTmX<8ZAebf2u%9i);8)dR;B>Qk>xOfwJzrS-^8?E{pEG* zw1{s3$i5~|oPQ*^fD<}^*YwT%)u05wb11X6H`U{Q_82N8v3tP3=GT9k{C^fNKPhBT z;*CT+OhLekVjfkfYi^^ATaBb7(;X~t$A#lf&f8<7r}CQXL5c#g8}`ecbr5ydgCUM) zcMY~90kk}6$q`wEcM5d<s|WqY}JegnBsXNccx2{lpYMl}rf!G6o@E_(>k z3k(&S`O8kZkxkA#yp-_(c_*Q2%th&H^1nag6=!E&!GQC$(&RVJk5QvIX1Z&kXSLMN zMtKVl>y5%`fzQCm$p@gDq`&iiMnar5 z;{_7b-GJkY2B)UDKNYP3{Ce9%Cb=+>)#qe(*{O(`AM1h8qlx9O{!Y)CG zuOZFi$UrJDjZ7dPaq$Q$^UaipYA-w7C$IkV&Y-NqdoGk9ZY+#g%e4^eVU=(~dw1f* z7Pa!(HL?T=HKmkcZ6;AQ^G0^ez;-=J6DFLp9Q z@K73)@+b|kP%GYBh|>OYb^aeEi?Oy$cO^PmKX7!d^_^(S0H*gg(m(5~-GA{k)_?Fc z(|?Xd{kMbEY$E(|Ns#q>vPo}@7i4x9=%s~w~LVeT`( zH4j6LlsY($%Hy5zFDdn{?z4@dp@HFp2FVl{=4Y}D8bnqwl;4+WTX%0VX#dqg|Hss? z%FBbDTLPX*ULJ4q8Be=ci}@ffG@h*Bp9V|Mx2vTgcz)OFQ30gLtL^56_LtPYaW>$9B}^p7 ztC^3W&z)yIi^?LQQR=JRIzRcmKH-7nT%`1EtJ|~A*+X3rbC#arXv^^<>uC-Fsl$Fx$v`~>kNTnZpHsF%Na4X55i|BlSEXR|psB)Xn}5=|@YB=2 z%=g8wrCS|a({t-4I02wseng@JgA`r*LR0pqTip)w zx{Lo(^*mZgImFx5SE7A%Pe=Rnpu^v;$VK(-XyzpmZ6{uf{u?|iruX|!t$edzQysyX z>M6$+G=~^$Zh!g6OMDR;smzB?S5~k|#B?-?ieJ z+Hf{d7UX_;wKybL+c=cg{6I@Y2iPkFVc2f>I@7B=I_gF9fVPW?m>x)!cCY_*JiJTc zumbLfe06Vjyu zE5}c&Lh*t&oy~9+DQX~fU0vMR@Yo|OP$FnrhuujYeTVM$lg!P~kkDWF{3v}_neSo& zk9I$t9;(v#e4;8`m!}?IJ;W4=>ySfL>6V#$dmTZMF=%1tv#xVLGR4NhfS&4LR-W+a zokDTLN#{e`NlkfoP{WS#LddaharZcW%SPUnYB+=Tu48(bRwuuWrY3g!T#lJ5f%9y7 z`csinH|N79uKMVnQj}8hay%RuVquUY5v#PrVw9MnvRHw2>|v+&-{R=O*Ii zO|NKZ;i@&0PMcNRzjXd)ak8A6W@I=y z?Anzab>>KIzuBjxo%Njd4vM^v0fL=1oy$U;TDQbG;O=!_iO107(aQrl(jA+`qXCC+ zp~v1}lrS;|uW*wlk*6?EXAIvxx1|Et(2x(IVZfiY-i)+RlP_mSj%M>dESfJL%zaSV zn$nGfQN999_gJpj%H>g$`cRt11=Ox4(YlXHOIlCKC(<^Zvxd?9aD+P!;rlcaWwiYY z1Ndrgp-0Eh&Bh5$+Dg-G4p&yhGP~R4Voaxm1 z#r|wF>G3rp<(G6z`3PRETw}{SeW#tni(C?Q-f%-G;tz+GCAjIup7GOXH2ifPo@#u( zn*eJhclpkaS*|_k z6ztDJda1}2y47GR29w>4G_t2(<{y6q|K0;`A`+f1{3Q^XRM^njXFW|hYt9+=2Qf0{ zJl~|Lq_iJhUW=Pj+jrd27F1QlRu?&a4!7EPl$0PJ#eP?CW-v*XlhLYz3qspH?JiHV z*iXxl+x+l&{!#h+SSy7T(g=e|(G%N3eP)oLpXrOvU{xuvrHtGw7dSMgT9tKg9VzA5 zAkQ#-FqpzBWqoAtj8Oz+-R-P%B=kK>E=VCUCG`xOzH54@s*K-k^m#rrQsin;;<<4q z;i+_Jbs+fMcy<0*#7qrk`Me#!A}G(r3+!~{`&yhoC&(uFj!&E34-O4Ii`{WMcewE5 z1baq?_3^t#F1Omd9mWp3IWRBbX5v`BBg1D(U7jhIih?UOBKR zv}TG2hcc?~i1zX8=I+|=drC$I&neT`GyfRym#A~ebIlt)c2;$r?0d{`t#+T+fiu0t z$YZa*$s?;DR$5h-13PIQ-Eb9Es)VF%AZ~NxV=Sj^vcd@oa7fc%QF$j;P94IVH=2}x z3*x})Wrx6_%r;oS2nd&JX(G6Ac@}YXaR+kp;xJIULGn$7KwLX=V{4%5*Db?f8p0un z%6x#u-eUcA@UWQ4;G)#lEpA13sM8J7LQH;w4MS0fx}V|x}kdJZqV?HJ$RF~sAx zWu?OWQdsWBMYeRpt7DK#N@uDe@ue>?BudM`v}-mK&J(&l3e+cFwEBDqHa(X#aMdU$ zGjiN?fz*#7bO2?0TALK9^%pP7%@j6*UkPKP1+!K1zk(=*B1^2CwZFaSy)^(f#bsw@c=AF-Zd7YpAH3c66 zsU4_Dkaw{v?=OAA8D8nxXq!&9c88awNXQG!L*`!#tABkV)18g6&X;qy>LsQ4 z)oAUfT_5oSJvlf6)lVkLB-eFPp?7Bd4wN1>VtD#ox2)b&t)Bo@SU}Mm;7t4TpZGpg zjpNpwOM-HL(iJ0xOITrw%{-JGj0ofcJ-e_r6^H+-X-7PY-z@JCFuouF|7IM)#hfQ_ z+3#TdLe%?m$|5bJ4)H19=vut5l)A>B9n}yt2P+g3u{xVbltb2SQ>ggVn%q5V=FJ_u z|IDA*8GYlom(iWOv|0@J9*cashaYf)p~FEVH!H1Afi3>bSIkc-)GPvmrRh>$ROF(q%#RmCGSHPtI4H*# z#AMHBc2LZ^+|G69vaJ!%sE96cqya2ORa8*rLm43HKOunse@fQ6zIY-C3`m*%nQx^S zI6%N&6CEc(2=6nJRWF;h7=e(x#clNIeLW9_*z%pUgNNZYA#^}S3|*`F`EJz}=?MoF z!b#Wi`K9U&8JPd4Lni0T&%Yu?{UJ*R!Ns!$3Gl)N`wC0VJ!2{MwTPjo`QNO`qQ+hX zG4ty>cPvWN zOr^`3$yM7ZTd&o#*9xcH4RzFX6ob)92TKbyc8!ba3ib3ZFrGFUKf;ER@>X~gD5SK+ zyy@63BkTH89Yn=#_jn!6PV}LA$t-uApir47;IHpEFk;>>+LvV@>Oe9 zjt_TZm5}O>p@EFNo{~99y+1Ug#G`kPt{~%g!CkJD(7>MgTdxu=4@9s!_;8^17o2uD zzE?~&+efo>7~XF0eqLRr8uLE!8yYgUadJ8D54l?(UmH14s$T~aFwUw}{N@)3Z6+J!1n;_4YHMq#J(UdXeql!WU5R?2ns z*LTYhj-rIsrNFYV7UUKkgcgE}muux5G7r4SP?60J)YZwvg?RV5by_XN00R~637ef; zj-v=nLcJOw3x-RoZwHy)|cwf&P1atzrt15pS}qqH7E(I8*}mW)MMU>ZDz@ zC9JZ-F?K6*#xSy>o!6q6&k5e&4(5kkE4tI^$_7@w-##Zlt)jao*2Yc+`oF!2ML$@* zttRfjB2ehKN+g{&1jq_yB2J!qz5g*E;B9Nrd;7BoHIvUJNc`@4m(Kq(v0iIOWWIAd z$do z02V*oba60A-dXRm)KtJLELrW|VcB~3Z99x5fGT%<2i}>S_io;TUW(o{^=TF9O!+CA z3h}N!amLN1laio8gDLFhEZM5t5fp9Rz|FLE9q0Anve$?v2;E@3%J?`nc{-`zBY*q4od3PDv(y&X4<{c2DE8yL78Xj( zoPQto0+ma_m%BfGn9v;sw z=uKpLRu4y<9;BT{HMo4qSC%e?KWrTn?gk?_vEu|{+Vc_4%2OR{&g#uw)d+(g-fg_n z#OJfGuZGO7)5z}I==O=%Y7Y+?48U?Z=z)|R?ZOFBE_Edu!$yU#D{DVn)G5;Q^vj&w z;|nv9CQm$c(~rQSY`HRM?M;nZaO1VCFDAhu{`#Ej{LYu9Jgzl}D3ek7s78 zU$WcCh^y2_3(uChU8v6aZmyL|L%jLWCR^F9wfJ^N0vDl1Uh653ob#VL- zRu?CSyQG7&3W5WpT0~78>x05jXXEQ>8*2WlK+89dBUk+WQ>IN3PfEML4Qm3 z>kAiyCN;~^J774GT)De#6gTp=4THs0749EBN6BHZs`ax$mw2ZUScmj~tL@3Yl0aHi z6UCf6v!qq$YYdeu@a){v-lxsLH7}ZLDHyAB5KLD~yn@KfGgM*~LfVH~#D-TBjqiWu zd`XFVj&pZpdyK=ZoEI#4s&g##D$&%Gu>1)y6vRuqczxES+TtML@_1f_YB{w zFi&90IslL zQ;6!{#-7t_=3x#(N^nuMpX*Lcemv=^{|{qt0TfBIZi`|A0|Ue0?(Xh3z~JrbO8oxJlo0%)fj@a+BBNYKe$2h62M+;t7ZNOGfyvgtA zwwO3m2<^RAjOCTa-z}cJv+oR>Lj@^{d+Y30D_Np+Qcf0w;{1{f5;8KVfs5nmB_rQu zta!9T{e!u#Go^DYCg-ifkM4k)9Z)B%`m%sgTJuUFYss_9w)O-qa6yo|GFauU#*?>+qD%9sDX;HD3;yApcEpexC01ElDkdfu{G#6&OLkS{VlDa0S2A~w3m0D08p^(Pes?*L z{e8!n-J;q4(VMJoenp4Dk8PY|m!C(A_s~M25DA6)7h6E6rc!j^VrCNq*kETYE)d=a zl|Dbu+QTqR)XVqcb)3dNV4Ie$+7~M1#oCP>Z* z$EgQA6Y)cqMufwuyqW=Aq__53$L55K$(euqC$C_}`@?10qtI~I=b(G8AIZMti6nx* zjZ57&PTnb%?@zJlPpfw@?Dgo1Vqdy^2j+2soTiSukZ6OEwj`ntk#5h@Hj20{GDOWH zByh2y)4V|2jAtN^RmY>zaoRHkEIlsp9Dh;=xn%KdUzTtX4n_FN*XegbBF>2FX1X4J zb48}t)qR^GL?^!G+3?n_^{|J%R)i*G!MO3$iPqEQ@#C|+kSY%~ydN&^aAuUl-N1{c zB^)O&Rtj+a5YE)KANyIy{eb0Z?^oQyvRfQqCeHCV=5BgsLS&QcP}kh8H!QBpYA%Fj z+#DP64^!{w!8Ti07b{+B#9)(MD&!+{e*}kAj7DmIqc1s8$8pi#jgg%>)u~9Z4rT2v{;uIP9^h4p-Wpw*3T66@TSoPF z=Y_&?W)x#RZdqMXO|NnbMtp+WqzY6&rSRV(qEZ{!IC9Sn!STTs`2E{BWXU~BeOP9@ z#B_$Uu7ef=My3pt`z-j7tbg0@y+%zl9@|V(Z;jmCi=VS|P-|9G(+{cV+4}a(5P?fY zjGN9rMJO%QuxonVH)YP=A+j^0+Q)ED4i;z4y49F?2+V3RlW!MlNRh2J z**BkW;w!8r!D%apXdD$z-24kPOv7p!Q-09le#S__WUarIFCvr zOA5$(jT?V$(YcZ{lc2OMp`(L87Eb_yxYX!#k<{t=bk8F>yRyu_P;94d{37a5 zRH1d1KTuhgh&wDpy@<4^sn+m{#u2ZtXCroO+bV|&vjj{UbU+z&+KC_pcv1Z?x@x1N|3?*8hA@E;^tk^4l&9jOB?(A1wyUk(_s@Pn_MRdiZeGRI@ zss92#AQ?BttgnhZrF%VX_PPN7fP$Gb2MCleD$;%Lj=@mER6} zz|j=c;!UCu+r-!2sc5Pd{P}d=Fk9&T%Xt{CM4=`^q;MnYIvI7}0=~&+LHU(|>>Xu& zwU1g1B99<*MiN)@!-eu1ezEZ>BvNC6-H zXT(vwuF4=ocpag^a5)R0T})#6WYsF6_IqR6bOrFF|(B0{9qBZRQN&ipZKhX)(2 zwq;r1iWShG;zehgd2`shppF>^7mE~9@%+i8m0qeW{ZEmbGxYC>|IPhG3Xk{m^N^Xs z=cdlXa)b$-Vg>rEsINu)`+YJg#9!GoQm~UQ3Rqtc5taa!|AuM*>n?1JB$q6;2saoQ zdpTJ{6XMT3Jo`RsQ`f*_DpmtjGDU17oB%7fToY4<(-yr)2uORZ+ zDZeGeZ&uo@;t;+y;PR|sV3xP(`92VzkJl$1hg}G#_`8H&H1q*PU6LFWF))cj8;8GL!0qIvmSnyJlWj!g(9*ikZ*AI5}4` z#|;LC2UaF$f|q;^srQ;M*GVrWZJBGr4xQGI$g;|AuiXO;$6lSJ6}N#%^#(C9S@BJE152W>t6Gr#^UdMcn{>MQCpR+OmRaQ|=~I!b(9HS}e|a*V(Pz-9noE(WcCCQwvd+gPC-u`x zca@{_HUNfFEIm^a0i?TmmqwD()NfVq1*K>Xal-VLUxo?7;eE|M$+v%5_S1D{>2o%ni))ifx(aen<>Kmhbfx;jJw3@x*E)X z7QG(|&=->XCOuDuY$J}2!S<>5x|VdzNQ$=76#_{UT=+ii_7}06UHZP@QqvRK!gQR7 z3u?eaW4c#%ne1ol>|Z>OBYmGf`u5wpQ&~@m`KZ~YDBM#RDu6&e+OWLH$^OeFfZ%#x zDwdB6V#}QWf8}CqF}^1j{WG8cFC*mP&;BIxJf8~Q`L5n>1dmOL9e#Qj`D`Y4!fu0E zQ5|h!gu?!QcpO@G;a(j3y_?N4gN+PUGqiiZ*M%6V2qg~A@+9GR;#s7*^1wP&8iRLp z)oTswA9w=b%FUutf{V%=U2f3t>qJHJkU|!p+vx>ZWsOl=1P8tNE_L zl1~}2`NB$sejTbeSB7LuH~j-|!C$^ak&=j6&q`~mM;29Fy4?;t9kZ7_;l`OpbLZ`@ zE0KCUU!uX;j%F%VOBCgk+8?|(8Kq}SVMI6QUsN)UluIqu93_4qou$)4>X>>I`g}~w zYPDzi?_*V-Vi%cSs7P`TKOUXf;bQKvB>)_MVJv5}1bxAx4O{&^$B+U0uXYCdFg~xB}!g=y5D+UGx7?%*jOsFzqbx)_4%o=p|k$& zA_~p<&ZmCnhHiRVCP?w=b=i?X1;Z)M{^BMXuxMYxGSrq%^W2>@08_O91HF7IFh(sJ=T zG365aS|<&yy*i5s8ez7tnBXKnl|b}^otaVQigaFeSCHZ#c_-(Uh#usyo99lG%mv!j zi!*^~Jsa_r&p?5#^2UzCz?*!*FB&`1mQNZeLMxIGbS$V6)u^dub%S7Lf828?yvU9z)yM z63ltns%oE6mL}x^ZONjtblcV;0$gk|ylAFMKq*VaP*Ph~U~B5#tu)qLRmpL=TlaLk zq`)jf6(VH5=&$nVG##1rI?P-zF@*)arr{QJ+P;a`GskSJ`kWnn-Rd`qF=!G>RzFo}&U3xE}V=Nb(Y2kE+=fw4lP z&t97dL}mS)J)}$HQq8ZHt@!p1@k*SieVASyKDDSikUWcAr>>|T;~vow zM4}(%iqNe*E8}earQwlq-J5E<6)5U-nZF3KVNZ6IF8DV(d-gxU*7=cHG&p(k&GYE5 zyL$X34jR1d+>mhNY4_T_HDcYT(D}^q4c%o7SuDY>#L*IqHm94qrcWS}t zKItdQRwY3S3e5u~(&GzN<|CIE*gXCM*m(-liELWG1tJ99Q@xUfUBD#N2m=dqb_s#` zU5-brIiR&~1;Ler@uJB*ReUXOF>Mp85Bd1*k6TMU}MTIh*g4mmcM zp1wCwE-A6QcEXMl!V-1x$u(0+4fw(>)!y(!`#y2@DM2W>r~dB+dQO^VIwFE@E& zDpnRsZ`hO z!ztrZn81XN7QHvExOan`p(7`Aj)DrTX2N;DY^$|bS0a;#Wh=J%el@| z`NvdqSFbtMy#jElKFQenYX;fC{!GvFHh*8$7l!?2LY!7NE#2GGS~SyRO^C^u;mc;| zD{H`~(~kX^OW!t7dqGxb{}&Z3fz6y=s>v?6j!zLCawUho1Flo*^kJ)SZJt%DJfkI2( z%)a_aC~3}C%18c_@JQT|3aeSn6iLH;*L2W&{-b>LdDEl%bIaD(GAwVmtQ^kF-<4J! zm(cRUTjg8Iki2m=MI1I8t>rq}&}E+R)#M1tygEey#W*Mh%K+$vm-k(=&9EfEESq)% zwBpuKEJj_Dm(%CK823lQcb3t5A}V+O8Ag_bXi<%NURrb>#MvERME; zK^W+$tgWIlpFSEFJ2PSaD&^Bk2c<#sUJ<1+0|mZ$1FsJZF$wv59DK(86Sj%NI}!n% z*IH+&LM@b}Q~e5WE0;!AZs4N1p`$|pIu75j;NG#33c!SI7NP}}z>m=;6xMW}8q_F6 z(6R{4n{B{x{IrtQs-%t7M;J2@d#9LW`$$M6MFgvTP?2I}yYgY5|7yN3Mh-lO<3&E& zA1m{>8_x=y5(iNtG6>2;VeOaOc?m;r^c%$usFr26rw{LFojyUIA^7?cJ`+S$q{>~z zJBxm99=u`Ah+bHb!W*h|9&5|Nk>IUAr||QLuZ4?KBT{v8K;l=9Tt4o`kXA&v$fPGt z@mh=#qZP9R_`^BG-scmZ163e&KwAhR#*J}K`#9|Vq39tT6*>m~P~0Sd`c>L#L`Dc4 zY^k8&GvRL2#UHl+b0yreLKX(Lbd2!18D>hk!g6D#lomAwmt#cm|3Bl1|6eQT|M@%a zp2Dv!(Q-)n{O4`DZwL4|0_n01-bkjO@l|lxSXX}UZx1gOdK0!HcLrDQq1X$kL3A!J z&rd~rGyC^*i;h0OS9iAfb@1d3FhSaTRU*30OF`LgnHAyE3af|}I#4lG6xt(Tzt#RD z&=YJT4>ja8zupdgfqNP|!)6C7?ac z+Ju3-ZP?O{{QD>W-<#VIaeT{JMLWN`E1c~7!ho?ef7V;R#6_Vzaq zlZ&-??lHEF1{R0&`M?-iqEWdvS8HdpXX>Okn1p!~I+i@@tBS35ppoqLqrnE^ z={GaWg4>d5WumroYv_gvi3!>X}dcrJrtRR(!id_|*m@x0Ce2 zCkOBC`?-`V2ojX3WTCj?@3PhJT^21f9QHVJ{elNW6lxvx38S+t923VNWt$ZV77R!U zdmq4vjRGex$n;CpVHtTZm#a!N2`y@sH*;m*33i&KfK85%N`&QM zEe?34$%We5(8KYN0kI^vmpbpm7{FO8%^K^MtsONFT>bs@k{oH0mwRaz#(6G=eK(KnZF_zjr*37p4w~Wi-H?jwi}i~N zKt+5+>TIxdrZ-Fy;OwD+?1VvTenxqKX;~=nyQe(Eiq0eZy>j{wHZ1NRQ5o%uV~L~5 z;jXghji2eQvf3}qfYKBOHGbS$UUZ~iVq6Xl_wEg44Bd_yT{X-}uII8>ip?1`2iHnU zPukl%x7Ss7c0$>`OjjHQRiJ}ExiYKhYelV(<<+xg$(`yokJ|n;hoKaa!6^TZ(CW7{A*VILounY2vKL-F z$kPR6>@45HOeT*WQUpNZtlKsJqRyO5k&${0x7tb_{`+ot35A?}CUTB4GoT?IZGs^iwhV<2mJVQfr@ ze%nPsH4C(lEqG;&vhWK$|1KS)NLhEKpRE3)=6y8x|#?Hs7p2@cq!$ zVW!SCC!6Z=D0tT^ks+8j{Vjdx(4V}bvpKsBs>bElBWd+ylta=Cz8qxM3)A6}q6w%J2Ufx_tHmU^cu*e-c78!p4 zA;s>`uq3(!Vv$mLQ?t-RCm_-VnKnv;uM4oz5v5PKlQ18EXDD2MgFSrFU4^hS$wtw% zByU>AFYnl{bTC$HfE^7z`$*&~caa~Uky_}5)RF%B!WS(aYofd8V>fz5U)@@CNft5g z(B8Rx$@fmK5lHSX0UkX~i}~21)fHLVgaPgE*?|o#WY!--J*_jCLP(YcK6a2i&vQMlu?Y9)=bs_>x}BBVDl=(igur9-Zgpa)MDLRN&foIa3@BL_@G? z!T81A6MdeL%?EqJ#)W>gWvy;!mdZH#Y}nK|bniP+vR*|0h9MfPk~2~4Pxy}9 zf+qSuS8jB7tymtiA%fB&oyuv+5zFg%kcA{!3#zoqSj!>8%1{d%gB*)#lC&$I3N@}j z_cnT2VU&K+{+hq+4Nnw4(OyjZCN{B0bCNuH==TUU;B~B^B<#BS_in*ig>lb&&6I21 z&1I{AS8OcxZ%Y+UxaG;Z)4Tln3_e=AvU^|1bKE;;Ry=*VTqSUHlf%b4i;mv28tISr z&Y`{nf|`orHWuE5%iGm)2BvhK@R`4mb2_u)ivleyHy`>*5wBL}512{Q??4(sRcZ_d z)?}5s%9kt+DnMF6=Fiu((8yAojZy*pDA5U<3-Ar*;f3Z=D>}*BC;2I&suhZdYhxDc z*~WqxjK#PpnY4?CqI2I_@mC*HGl9?}!2 zK8b8r57GA$hwT)84t~a~fmW^&OIyavILCC89ub=7KR01GVCzz?&JJ(1-MYo&B`IdE z$>cFwIdH*6wP#B@k?I}|83*H8%8Id3qTcz6Aax@pfdg%~Zi7}71Djp5dB3af{TWwP zLz;xs22;dFA2QTMeO)AEB+Qlp*)_!QmNMH0OJf8dF745i(BerTN(h(MH8WYzEO5-= zr%gav13x8W4DM&7NBya_#~FC+Wyd(PuQ+BRgdU|F0UCpu^`@wEBD7JdZrz$wlA`F2 z*HeC-l?V@#W;1W91;xqy*(@ti@mxv*uXl^9pmC-m3 zR~anT2jvloRgrY8q4;`V7TVZetDFCmF92t>5sl5yt81x}GM!TIIda{KfEpXC41?@$q~i7vZR$m*H`Ng&_gxC>-vL?SQe)<*qP-P0feXr2R?*=k=jirL4g5 z!8c{tNP3f7b?D=~zOe=rX`BJj_>eqAW+w|)Pf5Xyh{6+~{6ohZ^qP%(wQocDCv|b% zB01NaE+`IrFa9S1=N9kCBtyxV!Gly13ITppCGNs*|6*D2d@7(dn9Dv)cE^dsZD4Z}68s=pS5IeC&XFhbcg#IT2o#$@Fq&(E6+~SJH^{P58Y+l?%l> z9Uy`Y8vPibDb7viTQ6)e7T@$bX3M$A8dIyelKm?ae-&z`pyJ^%k6#@!5DE2PlFCzS37`^Hbxq?*G)EN^uYk^QR$Z!DaEA=j9F~;BLz1!~ z5}qUR4|nyjH{G-fjr;Hlg1<_GEUjT27Xq!ES}%Y4{i^+xo_b)W56D~9vm|Au8H@3( zOVm6dVkv5B=!H*qqybE2Fg}0VP@V_B<>5MWtf6jZjh;&B(XPUJB0{5FOnr}Z{t${K zkR>%2MbcnfIddE)FZ(|8D?5`eu=2u^=nJ^jU7-!i=IBvtgir)hN!TNN6(sv=Sowt# z9GLHh-5+AG2JT--U|I$1tbt&!xVvEg&13q1!C0C4ivRd=|NmL`gF9-sY<|P5RURvW z5=?XZjjD95DdLPr9mDB?kIO~Lpl9I^YbJy!oi%W1kr>=g(7fE~g>u(J&PTT7#af9d zjKF-!;mbJBbd|m&{(rsZ5uM2?!MN8f%hAu%fCh0l5}SrYq!E<-`8!ooDPgW!tx;<5PU&3}U%-Cq#z@yP}q ztQwPkDdfMt^@SR1#8RHTJ#JjI4~iiXnsiKlriOwY$@6! zFF(2ObroSRKfu4(;=V6sxdpjg0LG6f3EZM|eE(!vaRV>jTLli*`S^Z(CxZa9`&t0U zTEuKXI4ig+d(q&Yz?I_gQ}CyDqGow5WE9YVMu;5d_0&PB6{>js{-^mmX{ddmDkI4R-fnG- z@=lYknzlxzqH#lb6n}6uMjKv_;2U*{cxoI&0crhl8He``eJiYa>>d&KYgXF^$^pzX zJ_>>D@T-S$8R_Vz(cOA~6B|4+K8vLyZ*epyHDl5*gbI-oo5aICxyVf@JT!jKBKQF$ z3}Eu8^9}Ftfvk~5s?)>tXmNSFw-5cILquKJ!KOn+3t{r6;>_mqm`Uqdms-+=`!L=h zPSvmW*dWOb*}^x4N`hm3$*_L?*mT7*nQ(2&Gpp3~?bcKOi&j6I(@5aeYty}Rxe8Pu z$5UDp2G3h;n|lIygtjbPN9w}a=x*v=DHdkJ@OhYAQAI@8ygie*`N6R#^^Z;lF?*?t zXxy7t7%g*;^0$u!frtJbi+WYyi}ztMj+57`&1s1BYDd-X&fIReF|!9M>$d>n znt2J4XUu411@Da5w(R$|{#-BWGLt>S&&t==Aa$_{B*@t)kDKea>xJhBHR%T|>txox z!QTyJG>2irE=AVt>pxyVkp(lV);jOhO6@jztv0$P!-Hz0_0QK|07{F>nE+&$Q3Qi; zFsbS~tz|8zj?=;CJp{iNEbC_!Nz{MA`GsJpNv+M%HCT(?^)D5??5{juqw!Sr(JduC z>BIq)#Z?A-i7F@ouCAamZ9&}S*S1xvfJ)Tsouh^M-6xN`5*vM;h@RfrL~*fheY`pF zt+eW=%;%nAo(>$RS+@Gwl7Tjio!c$t6^)goB~>4`UH_u}?hIM}1N179?VQ*1XgDrB z48e_Cv2}*j*B<+XsBlj9C31E#A@=YYs5J$(lSD<=T!%LIN4c`;ezY(!8dy)z=L!KoC3*%#5 z1AX-7)375ygv>-1XAY#{^-5e+`0Dgy|M1N-2bD!wAq-4}ZVGq$)Hei-pvh0EB_kT_ zr&!ZqK&Gf=>u(Bob zXs6G-&B}-RTi39tw|&0@Zq?Rmzc{fLc6en2+x`Weh)9!|^X0ysf^#dCwKWhVmbDWg z!G&I`W!ww^X**2>uRc?)I27RD))^p9-WG8`1=lrBpQD|LlsVap&2Umxodp5(6x) zdJ9BqIWz1VnJgEz{o>BH%n>z^WO(^=#F!lo>Ji(V7 zBbX3UW;&OVy1Zu#>?Kwm^zly}vNtO{YAavN-=z3OB@Y*Q~Vdag02 zVG&hlbvnRD40)y4Uvjb6pD?2P`>eY7krJsjS6LE6W#g`9Q2{0MD7SKyH;Z_OUK7X# zI=dae1g>M!jc#Znok(yBXZq>ZE%8;K=}jyMgkUQ#kFeb?l*+Luhrr+ZUw9tuXwjrE zk0lz(loMwWd#Lqgz+8`&)0rflO^mRo(^ZJq5wrYg99~bKuX%E{k{*yX-ijWgq7pCQ zr{6VvCZD1y%6%{4U|Eo=C+_ufI#Q|aqb;Ivr!jq+I^ryUa*f0Wjch0(0W{6_M{%ceMRSHm9^*3-t&A#Y&)FHu z(9WLt>EK{8uw7t5b!YfRYSlxFiwAMIzKC`*gXV!&`k0vBBuZ^gg7JkEBj4&t7T$YY z;fF1kSL#f~P3{sx3CmR0HAPLwlLqx+#F7hP_;sRe5GO1yfYE4pbHCpRo8`OSxizm3 z$8UG2TZ&yf5s77G0&}hJQ>;Zc$7z4cVsZt>(UqX&*0VBwcmS&n)#V%$D-t7qdsI(W zmMscjXYFD2HsS9A9|Bk*0j>|mW)9bNxLG<+g6MROTd8!!t3N+b6XNXH(Bic!jvRUx zIS%+Xi--dGZ^o!e1d>k*>TY-5L&=b1$Ps%}sfs?5bH809>pDkyZ(C;{T4Tj3ZZdqt zFZ!@Q(Z(pp3Lp#kxY*pE@>i{H9~4|~x;{YglSHXHR1xGG5~tt5O&><>R8aZM>5C=5p)Yf^e+e`GcaCtk;NGQ5cn0PCq4T~iMn|xA0aYml2Ae^Q+XYzB zeqKlxIHs?6{WcV3ar0BSH#}L-w^mxOlr>+!!^il;MqTdP989@{tidyA(mqFY-*!K* zm}b6j1`|tX^!PSZjtOjsD-}*$u3-JW@ls$RrVWY$m;GF~)l46*;*A0^o(ma^74+Y) zoJZ_^Tsk6YDA~B{Y(^`b#GvC$t;g>lKOui$#{lb;qj&cCNQ3&*jrD60 zOk@N}KPTQpN;OE7;&kFc9m>5KuM&S-g`}|4rTT`+iBJkHI7NzD?|u3#r8=&3!5)!-Y&68)p%5>LGnFe?r``O!PJ~w!IS@aOeFPb|dBQ z9c@Q7|JeGXq>VdXGk@Hyk!t5v=AOkFXY0kLJI>@h!jaA}c9GbzX}%UuU)5moalj?3 z`xy3NIc15!5Z1s`du@Mp8L^ii2U4+6hwsQlf*7r_t}gh^ow)$y*}>=i&7Pl6{w49m zTVa&jD2|WM;;8&58(dUbIH1XC$$M^u^MiNa5^TFP_=zgy1~2E={uY zk2Adw7J1vDTO)-UBuoX6KB$972m&vGR0*LjA(JD?NY6+;sm$nk8i#rwX&M>J^Ryw; zRV*Mo-eXs#Rbo9RvGqk$$?$aF$Eb)SmyOv<2m*v}Rgr1CFrobeFx!|&YXvwxtKbe& zqb|f5m9s~!Gura3xjJgEH^GL2i=s@n)Zu8iKM=6*ay1-ic=)vw^VsyaH4z<8}z&RN?m;Nb&^gr7aLe^>5|9skiJ;SZv zvrA3A95YZqxP&cB81dh64kwIy0#{v}TG-dH*lboh5}I zkeYoE{$RDSNNjD)9!OmqCbQw?hdg5*{5@-@cbBQ(OLO_R}T8$=HkEX5TYBAw)(gdK*mr@ z_cF@E5oY4Ap(D@!lJLFlwz4<3^djz+MhoHeRvbP#W8uB|;+fk;RsM zjSR7=b(oz@^S1Uc__L_0ns6H1LCvr_UweZ-pe6ciLhR|SJs&r$+*_MG0-4e>(q002 zOz{ueUuU?G*M6aYAx)??g|T{>sb8G2m5cmt{^vTBXq@%vj8VV`RNu(|o=oJpb;fnK z;GKXj4pk&qV(bqS99*z4+(Fzd+5s}1mQlYi$=9DTK^-#Q=wB3apC20|nM z`Jp0noinpaqZJ?ZBWXBQ<>mX1V(cmkS{3hIdjU6db){Wt9IW#XRHY@s%7KEg9!sj#LQO{W;OOULK>BO1FQ5o2e%jwN{YX=jef9dqCg@z{%|&#? z@;EZunj-%Sr*P^eIm|}T`JPdW5B5}C5K7c3*xq9|Kbv1h&lZtkg1Y^!dc}9Zj6a)E zB^YpUxNL1}!%6`u3z^9`-jk-31|nz&*~Z#fD5X83PKTFa2eum;)GY!o6|Kxyg|j3& zb-dWA_F95L4FVMgeK>?JZ;2l!pn?7U z?Z(qk*;(nqtmSN6dbATRd@iC7vk2*vaTc?+#b~Ug?6fxGVH>n!k3ZGYzBDPE8#gdz zx!j246)Nv+k$V>?lIoUtaqkWnm=)6ZY~_645n?~s?>43_QM+r0YwbWuXVuHK!m%A9{9zh%EKXf zH&59sG-LH{b&|Z`+o1-}?*k(gdoo))g+i)c>2-J8wU^^IMx~wLr*4BYivs8QwHLFQ zvaj4NQo3PRSXI1ly}#!7BIUyyK{Vy}>&kEU&SH@i%Z;7SMx>T`b7gmxKn?_(W1rV> z$5(TqpuXr%nKI2~^PEzx#6|WV4dGG^B51QRp^azW_WTXRVx>dVSsS2{)PCa|Z>YoU zb_MtTV4Qc&)L7J4eP&<)sW}9sJbI>U z%3JqGROkEXJOjq=lMwW&6ZliSl}d(0d^RFa92dE1t>-P#U8ij)& zTu-1vfrr2G4HTKVqu*|%L*j7OHM`Rt{2SbK%>R(oZevT5Zk_0mBuz8b-n7t%)6HS* zz`M-n3OlhavEpQDwQ!>H8Sk}N@jxsQR-jbV#WBqsr%t8T7tGR#*)w_KDOPm=5sgA% z0@{5&bdGlrvg~yUr{ut`G}&PR7Tb97FY@xcd0CkX;v>?%vZrkD2F1}Cl*-74M{I|; z&mq@~fWTHM$q@*{qBDIR_$DmkkU+5AdhxXd_GGNh;|tHj4$;lQok;fs18y8SxHt)R zLF8}YiL`0%2mlJk?WCCUWy4J^qPaYFt=LU`vYuq8&MTSLzkv74uak`>ONR}0H&&7&_cxSRb&>T;WA8fbMmh%?**^){SfUbj zLi9y?ZW8@$9|VmQZ{?xm+6)diGe6B0NAc|np-Qe9ulRhGBxDopF$s?LZO4#wRn7W@Bbdks$H$IExrF(34m z9k|?V^&H@B&}Pf@uE?NY=Ap>btueQeANQ=f{CWME>wmEs)15`nYvUHm`zmC49rLc3 zxqL7}Ncps+xjWNT!ZZAUyvcH#m%&=4GTBzLW7E^dC9u~XZPytoGS=_q=QPVrD)Sio zpaD~%8joJtIH%KjitdJUI2x_&;5;l;ha9O(mGIq(T#mQ1`WbgIS z#6v(DhwX~sCD`QXABbNYHO>SlCOlJ?NN4TVE!wm`bH$lku_l8zYW-1J zbsV@)zZ>GlepS$paOt4lt14+ybMA#}={SOkR*{OXwvkTTpb{FGB5{&FP2ekqiWg?L z)V!6{`F^_ZRCylV72wWca%(QV^KHRBkgHDc0e8$DoXv{* zwd{5xR?*k>9I)}qOs~FdriV_)2gNAy@aPtP zIc}y=E_{;ESBk+J)W;{cJkcdQ)xXStED*jS$ zRX$j;;vHVIDx&7YKflg7Sa4xtg26&uQ5wI|80lHi=!j2Yc*8QT7h5c(6eWH_7BK^z z^FUwl&Joe1&KbS7V>IzuKMdsgg4X1-$W@NRIQhTS^^Tq`DtXy;fpctGcF?(2qz`dlm>l%U^2i ziJ0#5gqrIU-2dKhzUTu1t-L2)x$xgLp1^;#}c`S!8!Frz; z!l+x1aUPIPUesg4{5o!%KJ5HiH;#|mUbw(Om(4>;yR_dWL_3$il5Ea}5w?lLEMb&i zhanWsCI|?#|49d5yw#oRVjQ(lZefG{yUZHu!M$zKhv+Yb)`nE zM2Mn&#a_{RSCB=LYNrm|8Wr#+zdsrG=>qsP9E;oT;)9!)Z7lCGOyWAvl&vL5F#viP zH6>_qN4`4BRhz|lrEOfX#+0h?`w^jCPYi*eR zJ=v0$7TV&^S|KMrMH4G}>TCb-BXc%B%VSgQ|10e+!{S<&w&B4^AXsn>?(XhRaEIXT z7Tkin1b26Lm*5&~aJS$tgY%N-oPG8_@_greueW}z>F(*fS1p;EtMBfrS|A^)$Yv98 ztS&UIU7R*e@}wpdpX46(vmhf;f}O=t)Vypcxa;Dmnw(* z0ojkG=BpZ!U*+7Nl&yv3;XW}13RRhDzlH7g63^`^<1OgFY-_c~v*^U)q8C&@ocw7# zO#9s!(kjr-jyrg=Tvn-RwqCPp5ICJ_qnDG2Yo?Nk^yoPC{I*Qya+As0$1seJ(2^CW z4`scf+V$+&vnu{Mhj8pzh4hJCB|hgW=#*R;Cco1}|Eh3pULdK6CNBtHzY2;Yi-LyU z`D=}bS{UI^zg8!Q5~`)Q(2W$a#VTy35W1X>l`~oX?KAu=ZDL6Z``IdDOBkU(=ldPL z32cu&e8k)FR%A8@MG<^V$^!$iH%A8Ix&-C5d;1m&iw6xV_miPdqn!%es!aK)0&4a{ z8S9V1Sc^N=Dxk{BRJa)tIxr{N)+92J;2QBDlWYDJe!*EH2*I!;6&gmC3O(}UhePNI zquhgRHKA)5N*~w4q${2u!+j*3>Qt1>(H7Uk^CK>Xm}vWfU(;6VLslro&%z}<+P1k= zJpsIaj{Ye-=v5*!gN}yQ!r3u`^b0CI&_!;uB@#K*+o63Yb?>Hw_3axr%P#A3!gjJ4 ztugz+20Cft&jPq2i{v7ivHV%U7`xH;OwH4U8V1NMeAvo2Ke$IrwtlvGG1m8>BFq+PZ9E#V2?S2t`VGciDdJ%E+LKSe3V%uC<{bZ z{>1m9MY%h!+tVy}87SR44x4fQNhe}PdoQngFNxC7NN?qn4S2sNrxIoYV*2g2P{v9b zXL-tdgT5COq$COJyHYbp)XnwPv^J0!bf_Q_c|9VOW%K3{GEi2fIVTTSP^RYdNtNhX zjwV9&*LBO9MOzH0UpRhuVW?@fN+QqRQB?(K(^fY}Q0`lT<)2qbB7rP0BNi2OfPFa} zF=W5Ho?V}oZ}ck!8FQl7U-a_;g2y#uS~@SSnsL?l6FjYQ513&HBt6{+?4U{{+G7Gw zAC*B1#7~6#QA_6uGHnNR_~d$_hJY=z6^n}ukl8QIxRe-OW#wVoop!;_ zmWHQY)B4Ty+?jVYT{8?h95d?#t2OIhk1V{DQ(=5S|c{N>cI{lW)>hEH{@Q zwi+I`wY+;gEp>Zb`8B7tL^yHTY{!Q+=SAV9r(mUs^Zi?IXPX6f{LD~-)Xro`36EEN z3}JOTf!kG2r(8B@jTvmYagDw;YX^biWA1RiI_O*Az_VqU${LO8z<8|xA=kQmfp;nC#E~8W-SS{srl{Y zniR$9*+=F8s+@N=i92!8ZI2vgYY3c%KI#)b@@OO$OLk0;l$^oTkiiTY<)2wTmzhdb zn5mo`gt|=VvZCmPA^?%bMYdWIOM!TD<4uX?S}#rU5u{PiysV3{qe{iHt#K zs|5?}muGha-QzOHU*GYQp~&XfO3`ITFa$3lv#stBh;X7M_jkF?SM$htVtW_}vq<~D z+mGzZQ-!>-ZCZdalV7MIJR%{=d`;c&5!V>W=@GDuq%^LRlptMy7_87@iI}Anu>4hF zKCE872R)^vj3GhoBZTa$eD&rG0|1~5brJ8)F*B4PEI|TdcrXo1&(5|4Ub{u(p(V07 ze!w!s*qmetH!=Q&Q~Uo@q-gGnZZl7%_%HO_|2C8_3B#ux?@;$i-N)<)l>e>QzqAWD zo=>hPuSmS1vD}g-!5ex-9Ur`~I zqBvL?7_8%JhRFIZ9-RaqToH|uKGY8wTxyF}0Zig6oOljy<+oa2YC5XxXj{v;*~{Zz z-m7yl?P6X(^X$6HNI?Vt#ABkXG0tjl^Zx*uZ7)}Pr=tjlRKXhl`5bEVkS}NP3%UBSA=El*G$}K3T=)M&3$e%Qv}?3 zItn{IVYug3HE3sz2)fJbw7+bH8AlTEG(S|Ydvu<;5vV}I8t;ZHCC!$fuo~E*` zt0-VD6v1K2quGx^KTSL+sf)J#j_Cd^57&8?Y@-z4p_{8_05-D|Ul zhg~^ZdtDVXEKzt46OY5p;hSLIbxk%g{5^krP0NRB%Z)VF*NaOP(B_Jc^umXD!=H;b z_-Z0CqMfv|=$*hHo=ew7t}L2cL(Eee$W`XFWo+ZUwnVjZ=yNL z7%NA)6{zA=8p{#>ysuIXSKn}Pa`rnfxkDan8ONZv@v<~O;b@F+z@{}enbV5m`D!CJ zNUy4wO&>bG(V?V7_jp0q^Z0q?!;!a-J=J0jk0Bi~y(R+3{0I(6^U1xW&fP=sNXiq) zNUy<{a@BvE8cXv%p}7VXfe+VI=-VwbAD+ z7f~4B*{!(wnYna#SoH4}`k=YfSvhu^f*>K-XTCU1>V_DFb_{p;u>YKVXrP~4a>+WW zTZzGCrSN4=N?3bxFSXUET~wjucU+U&d_UV)nl9Ai;gGYWQna}8c&z#OFgvQrUWU-y z!W_k5GGO3me7)MZm|`yAVp&0a+L1BmR>=6+XsB^HGJBM96J3DuojDjuto7Lon;e&% zxwnR_FHSOvwBYb+&VrRtB~QNr!N;Mg&f%;WSb9i-h5eHVUqW@03AS?ACWv|oFY&o| zXK``()B$?*y_+(O6G}-0+fF5TXNsTB9n&i1LZ~}ZQBK92ZKjP==1XVp*E|J%6iM{c zcp1-t1IY=M+tg#$sm{#QIF1$Nj|IwNi}eS72T~0=H$M;)m!v_6uAu_UjeESO686eM zC8&z|Gjym+$KzSjR6!@wlS`4Y^P+<;Rp~^5$}_X+5&YlP92-iv4+D~5+wDts$-xtUnA$(O2PsY#_=VnKRMkYkZXruNd7( zI+zyADx1J|>q$D7_2-!#w>YHryNmu3Rr{)DveL*xzDK(bujgM`4VD<{G6;FSNqTyq zUkyiVV|~%+MRr9|_uC4(kB@7pPkv=zS3MtpY3`l&)+IX2Bjnu&CyV-DUH&rd#PmG# zF!Z`|J$I7A_-sd>yS~~ce)QaQRzIJa?wnv)Wyb?GtSuR0&9t#5Gf(yfHI4eCcmGY^ zPfXG&HCx?{*!K>7jGGMrakmf%m}L zZEaAns#-s#`YqhWfUXY`N=3t}ZhJ|d zG~)>LO%Xagr5}8_*6ktnQ?%f0jDK#-G6rAemF~r_U-&mD-?DJ4+tI$2pD>3cP1%}q z&+0QMc}j+mvZpV2%3YtrJ2pOA-Db*V;xEjWF6(F@PNN`GGE5hP;xb~MjUQ^&xd zMS#9ldPLsu@uRF@vW*+YBC@{acCoOLj$h-b{AIIw?q~X`Fj25J4d;PN?|LjZUgK~s zET?D)A&MvYFvyG6b>Z>oaNFIeFLn8e2@6L#QgGZETa&=8d2O-z-mu~*#*SFZ3& z7frCXC#N+vfnqZ9GTi8DC(ifXt2>l@reX7?lwm|!&D_+rO~v^~%BW42)QW*ecJ?I~ zZ};gmy#(jiq&*`sPE19z7~}WUW5I^62PIS~lA|e6IuTRlOIQ|Se9E$}E=SEBOBx;y z8b_%ffuwN5O)$ng#ezMdzzTkKlx5v$)^2W=PxZWG*smw5W27V3fo#Ksa#7^|#b8^* zTn%@0Y;e5FjoXKB)HgjBL8hg-b&`F()NO*1^4_Q3DL>q@(gFF%b6BHvEmBdVcBXD* zLiDYr@OVmRJSHn;=g0EYc5JbQlGP70AzMK(PD&qxxD;y2`yZt<5)jv>uXtkGdSi-K zR=(q&)m?>dLvS{vMhM9fBcyzRDr|3yt+lSeA>g&vomDBY*tG^3Vv%9#Ul=Ph(2~zZ z;2kXIM9lTMK)k1^#(m6-bEQ`#If%|*DF7SQ`EGk`9Xi zI#E4p2ac;tM+L$b3K4@3wJIgv2e@}E0vF+7cI--GlymgRQZOnW>de?9kbs~mW44p42%oB1JdDYq9gxw7Gi(*1RrSNvJ z7E~;9`eLr@-m$E|t)Jjg{i%5Uv#0scNdA*J%{%Kgw!+ojSXyVFfMa#mrhQ1v&}SOV zgH)>uxH@z*DB;G}h!rF4qpd{DF+HEN{#vAYev1wR^$UU!!^dKglIhRD+h1U_$Vy|{Q3iTYw~0u6^Oj!zecMw@j=|P zA#K7`Ctx&^=<~rrhi5Qe7RS&8M$9zwmYP8l>{W99bi`%^AnNhZB-=cPA3P&dMQR9G- z{WtjrNs*&iqBvQ2HB!gL(uprAQg?+-_sUzyjS{|o4*Iu6<<{$yHvlximMs+R{3c@m zxR_^stO{@w7|798oae8m?L^_Hq+-wOJyoCAAY9-SzD?N9iv8+^kEI-Mtu9_b&6!Ln zyLzRlW8S^Mb zWzCp(%+NCIv&@RQWdVv!g%t*iOFAljKkZrnkIh$Hu9$06nBd#huw~o#*>($CqWPv- z_3zF?4+|SJ`)R*WWeh0SfSEvtKC3MgD_gK_=2GQ=Ab0a^SC7jL2l&@?)`Yd+lOZj^ zl|B<^v@mvwXM>43Xd_a; zEKhd}djTS*@(&`?Tgn~{rO-X{Ob$Js!%r#qj(_e87ToB4Bfc#2Bbs8u>*`XPj| z8sOw?1y>tXk(`v(h2a<$++x)MA!3RHE!5<&n@_Uk{m-`jn7g#+Uo;XZp#sgILfx-M z>95i_SQpm_Md#p+WfTad==s8v-_^D@nhkjkMOfJE2PypMOLOV(a@ijk*xp)LTE*7- zmbSdHI?z#@i!;!o>3U{{w*ERG@=wMZ~iofXJ1ygMfkXJlWaX?MUTjXB$Cd+J(|8nL#Og1Cqqus{E# zIOW~%V%Z?`9U(~)N$5pP*E+1E-i5(Z8NNpH)mLq~ViYJBq-zxAqd3eISImL=rr`jC z4Co7vR77{apB5~Iaey2A?W>Xv^mNy3r(F|A0C1ZDv4yln-U@mk0$&bq!8!a-elE!W z!K3A0X50T%?M8b4-!e@6Q~$S$zyQsse~!8l7ZdWYo&NW_dog^}z0b$olgv6C0`|9l ze@yL3|2DM;`-8C{{@c_ZuEORmzT?N^zfbMSe*4la+oEcC!<^fy&Ek&88;8}7UVmz> z7C)&(hR2KK{n^ZJVvrm;CxkE-#h7g-25kUzCaPDg-z2<*1`8*T$wuZLv3N^av_P0z zM1d$#S9LWc;U>Wr?KZp~6U?)hu5!WvR#y7>7)x($nAVy;dZrDRjeEa`!Uqk1 zbLshnH@c-lxTFX1N|#IHz5 z3E4vE5(i3q`w;3_wk$%WBegS$e11Y7!+AS$)cRy$ks-Qj8Jr`Ywcx zk!Pb%rVmc=y45EIzt~{cJ3-CQtWMzx|5P4Q%WLyZJ4&c~{8jw#1bc3bA^8HTC|=!) z0pj72RtjxgIF~*0h;{w~-Ye{+%)(Gb@PuMJNh)<0Rp2JLTF5u?&xhlK2ew6d_MWSI zBer<{mZf7vWf65DcC|2-JxCA9&j$?y{a_ndRMAGOdWZ(qw!|IRq0=xAvjW3A3Ay;W zZCRE2*aww_OCz{w&9Y!(uk6YJz@>r5L$dmqtX@P9>=Utnn4G|`%Bac z_1f%kgZf6d?^#1}L~!tp6M*kT>2O+XZwWM4g94^THT9FUAWLJTyXeu@>iQl_aZ>1{nVV{H-{SX%p_ZQRc zTfNP9=Hef6cUqs{ct?WSM8>anAbWiaqfNer{b-B$dk+%F#27cCRG)He8U$wX=+yEh zoM#TwUbU+RQzDI*EeMZ_+o64q$eO86`IA%LiZ0h1R26)Wavf#kGJosKwJTP6PfoW! z$s;B{an#7|IZ8|V16uv4s=b-R2O*O)1CQ5M)8)L{!{mYG^yDI?;KD&#ZX790Dt+fx zr_L^iIS<6Q*Bopk|#wi}jly|scK0KOh513o8vW-HyW@vX)-R_gS zr(D)nNz7wpk*VzIC1u0_oDLX5( z1A5h!|61&&Dv=}a>UL6wc(E4o+BG3MUt{s!B%Q*nb?V4rI#qv{sX1kDuWCJ^WEAH~ z9GHCYJpVatwehn8^~MHDnDa)O?Quoy?ZJ0uMPdTlm%T%hMp|B7PHM;S2O*F+?cr_z zJFRGWGNt4yJlSp22cMu~hcY?#@v*PG>5OA!Q>r7ulQe-1b}|UizJwkytiI-4uo13z zmMFCs7uJUOWlcvPHRPnluG$T)p7Jh&9t?8ulAMp~t*vmQ&=&~3N%(aio z1plzbztQ)kSQ(Ev1N1anrw{Z|SvXoq7L4F$Xm05BorHhB>DLJ>VOPP_S~){x_~6N0 zh}ds>D#5QsW{>zZwJcqo@df&)=pahz(cz4^>0aJaUx6iYZrshj{K{z%PY^GNEY0>X z%={Knh$FlU0zbOhqB@@KOEnw$G;kyXFpG01Q11Zvri7qevRsrHSvo)|dmukbNzQY} zSj-kxO7kSY`!I>cO;qLBRVK)}f=-HU|?k!YVZA)Qc#UH5KH zK-BE{mX)1Yq%O@q*qMX7;Z>zYULarcERkjD+QO=&w^BpOXm|$xCi721L@7;#Y~a9dzM_8$$G61YuSLjvNzGzMiSM z-q$;))Tc^f#INV(E1gISGt(z0;z1D^h%H>s>Rz_B=$l?(>-uq?;ae`zoAE7sU6VqB z#E70yvtB1Hd9}dzC&Kbmvew}9lZgZ3JcYTB=8r#%hr1Dh>((_{Y_a*4%fVHnay}J# zO8FYLPNF)l1>t>W;_sJk)){#3;+j>zF4<$TW%->}hZ#}dAHv3A|)>EG?_w8N8vOwA1^pD&+BdtXC*3~JY7rHLep?`_*zl+?Wx5R^}lGiRi8 zjYjT65n|dulUmq!l$rxEkZm%Nz!US9#3Xm4ott1~P{W0A`y*lDV7Ti@9D+^H)AGy* zRSHv{u|hIC4daGan$G_xo)yHt|ERnNYxI%l*b**_bw7Z^0{=^XGPl}8iaRGT< zJgl36?8z>h!gB+<(#khC<4ZN6!Z}-_~0vapkhR4hHh%)dMhzU9&Ug@*z z{4xmw$;r8<G;v50|unm)0@pyoKtbz0mwFBi%FRmCMnqum{Pii)rH;}XQQ zH2t0n0YS6hal{-~;uwN3SFp(JsRyd!V)gh(3(*bJ(i`Ayz*tM?TQ-{-7BI*Z&HDSq zQbzm|GI#bhbGZ<&i9Mq-!~Fb-n9r9H*ePP@VdYw{;b zI~j(w%gyo@W+!T0fC3v8INdkGNIHvQ>{15!!>~7YDGJ&Aagq$@&)I48orG83A)s$d zy`w^RQAO@JJhFNd5r>fl$i#8)2KO)Z8GBi1ZX&w<;S!1+^vBSn#y$x_-mid7IWTh^ zdDBDH(KNm!^$U-H1U^8{WqLX2c)B`29C~S}ICxB6!HdJD@GiB5F>XokR08 zU2R#UINL-+rdc8I#fh`;cVm$#em(I$0pQXLQd)ZEC9|I^=F!PkC~kQ`5#GqFC_?Ny zR~UfeC0YE2*LH8_9pO*zK@uF6>gZO>FavaRSG>&%=W^nh#*u>76`UIp!`+8i%7}7w zIFU>tmqmw&oSA|r2&FQ;)Q2A`Wp-GIE{e{PR;K;F7jtgxHK5tFShO6?qBug6qI|y- z+{me|{p7IlT;j~L3zU_j@mf6pAfk5Fgz))S#95hlJ1K)g8$2Q&CKp5dtxC4$_UZXI z2u?2ltrq?_7|Re6myo7Ka07aE6-zkedcPRl6CnY$p| zED^`J8lH{>&3u&0F~ROWLujZ z-`JT+k*N$pb5#`QPVR_3d@=)~oYlQB{pX?nYTA)n8y>bre@qQoAd;MzBGfn7e&5hQ zMO*tJ8l+5-6P*06-kh9U%oisp(qw2gKal1qdmMN~Zf5B7;5QBJ-A1nX99$ft)Sz=k z+q=v`+%s{xAUZr-(c^tEu}n+oEu?df=RhCob+wlC=*V+;`)yw9bJ?)8i#wKopbFL&#o&`q^H1uTV;uQYTky5s{2h353 zM(+g+@k98AM2oixnHHatBZ27-$4ahdsuxCvM9Bq<*sMJ_T4_mS31qBos;mYTqkSQ* zFt4iZD9HPnQ6cyNQOY7bK;e0o@S5QGt_2@BSUoOSN~}b%ORDj>uzp9juIWAc<<<$i zcN5HF`z*9C=@kte^=TMZrDK|5(iXUT&HHnnIYwtGTFND#jQ`yn+&N~ricNs5n}Z{5 zFo}kAiMV&bqiYT2TadMRxo!DyrMP8525_}j#m;6Zr6wWzScFTZO0>N%epISAGLP!X z1yZTr=fmJU2)`Ado_Uu&yYVw{0^iz${nU-dzb#n4)3Lz|r7Wv~+fiIi2;o}cC)#AN zhXtiLx8nfh+j(>s*)SNRZtLN%Y32*4+e?9H17SXX``^swAz(}xk~O(|HyU%Si0dzG zTcA+SHlRgtN)dbjn6Ub-EnQS1ipZ4_CAaC#JM_`|zc3#Q&4?v;I*ABoh<)-ryhhe2 zI;9?EWbDF&P9tolxkCXBDK63;66#EjI}w zjb8Gku!q4VbC9>MzMKvmQT}@8PKwRgx`j&va)3J5TD0rC@&u+J6-(DOp;ck=e{x>l zVBk^OD*~q{{z}`Sq!LoI8YC9&c2JyV8Fe?)A$jb{o;eV3i!r~Me1PwaPtUp=jE&I@ z)$rrqW{$&4p-YFAmu@QCriw?5Y^(7`)_Xyb|Hgn2z8%%kk#F?VNQQ$Xw4~aD_26=2 zofI#x@Eod@hY~tzU0#jpkeS8THtRg;g2-1l1WRXs*?po;8?qjVP((&O4$^<8!v3k{ zkjksdYws28d@KKFK$e60U)VwNxAJdp^G|;BJ-`S6z-e_{eQQPdJ3C0>x@4&L)&&{> z#ligi7M>}lV#@`MLeftZZ>QB6$uE?8b?8*BC#Jk6i@ki)2qzu;;A zGyXPV`}Z!XKlG>j6F(WmuKgE0{eQ;eKrlT11<&v&o(6g$_AmI~tm=Qbe<1MSqrc#p z{=_?3=*#~F|2sj>f52nMEC1$#|InZ1Pkj1%*~h=&S^v)N{=SaiLi#s$w;Nwm7yy8T z`}^}_`_1l-+iWXiLT~t6Lj8MQWFysk}Qe@W(_y?#vv2*JULdmd7SgDVL zhr;QFH-8Wy9!Ch}-f*s-kxf~UEa}USirbT1VY7+Pn!n$2Jl^4eWIMJ*7Er=A5m)pL zBB388PJm!BO8GO<$^va5tX>7gZ!Wy)*9YWo3&xTEQS;vpW`7qdcT9h*TaGkah}f3tBD*X($hWwMIhoYn@c{r5jPN$ zd2ayw$-!OEG?2yNi~(}LgK59%h^I)P4Gp+^%R;=9gQOP-@#ZE%4idhjOJ8kEjWrfx zG{7q;0`+7x^#NF2di-rIgn``o5arBBU@Y*W|1-j058ai+VFn~nxARw)FG=Ar*lQob z%CE)m1Ysvx7PE>{_m2XEqvcDUs=85ji7Q{7N01_55U0F+8w`e^<=TR7mT2V zX_R7YPY$xKBo4py`~j}7MG{VYm`}?eWSsctR>TVKk6-}Hd?H_*L@_P}dU=o_N7yXj zo%uN$cJZ*1p@x8j<#>^c*8z$uh>c4FbI$Q^dLC1@jp#MB5&c7Jy-}k)nmF+G5emI( zsnkNrWDzuQ>9PnZY?v7{Wt(CZF~z16)Lr}Iy8e#l3gxeT@C z$CmL07uoFmVQ$}5Ng(tU;QEbTIHJmyk|iK@(8W>_3^_ved0vUI=fGc10?B(h_(Mh0 z6OKMqP+qgpk>*fEUb&c%ufIC!II}zTLa_h%)z>4B5vnR zygVH~4T206bf(t@?6qy$Kjf{6$6Y)vKC90KPWvJmgw&*yF_P&sAi$s;J);V_6%>>(=2%u#@91&7pISTq1&!}(;GtOWQS`d_- zGYQ7<*7n;7k^IegC~@J2z8Q}{(l>GZHXfrkI4Za>8*x~Uc3U#M?;IG5Z6cKe;-xg4 zz;cB|OO`}2K213se5^j`EL8?aD+NM%fyHc~xq>yeV>pvxaEFFx+%XyYWSJiJNqXIn zKY9JM=NTkqkXGyMrGVl%arvL$_8)4?OQl7@LI9e}c`U1>!JwtK@CduJ%ZVX4l*^1$ z{*jjIkKVsOeJ_{xE5@0V*u=fB=A_g7by(x_Ecg|K?vpm}3J z_q}t6@&~|d0>|20e1&Y8FygZ4sH(SjV1yC`J)<(4#Z;EeF{f<1U zknKqJF|5f*8tn@s2s8cY*~f@sqo(LR^xz8h>(-3n6)H2u#L`UH^y%!tkAwZE4JRhQ zlwazF+=q=gt5cw(jm!*f&k6<4_Ff`*QK!urr%Gd~qEi;O?Q59!kMVuuXaxF!VrH%u z0bt8t-?GX7o7gElm(ZzMCLXhVjzd`q26n1h*rM|)IqSSdjCL@T#72K`4G&!umz!9t zc?)4baBQ2qsPv7*GwdUb2^Z(ZuW^GfT06um$FxvdY4&5aGxAO@GmA)U&_ribM5fiJzbU4?XnsGs{7fuDoA&x ztwcOlowmDO)>dx!aX2S-?QE}kKd$B3o^iFu*n8Gq&j^!g9Dg8v@vc{GYPk0?zdN`P zAAP+}At$sT!5q9j?Go}WxUz{x-RPTBU2wPUWm+e#_fxx&DxLY*c$9cg_q^ZH_O=%M zH}RD$Ffjwy6Ztr0Nz!gh5Jd{J0}y^QuGv-2VIuMSTQ9lNe*EPg*=lE=(RqD4b_$t2QFF!42b!3%q_s$>I%O$17EExxUxZ$nL P-(yRP%8FD9>G}O1LEYe~ diff --git a/chart-sdk/asp-net-mvc/chart/images/scaffold-template.png b/chart-sdk/asp-net-mvc/chart/images/scaffold-template.png deleted file mode 100644 index fff4481456853b4b46852123e04987e9659d21c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25857 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 diff --git a/chart-sdk/asp-net-mvc/chart/images/solution-explorer-mvc.png b/chart-sdk/asp-net-mvc/chart/images/solution-explorer-mvc.png deleted file mode 100644 index a6ee4245cf0431a793c072d94e8090f190d219fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16685 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 diff --git a/chart-sdk/asp-net-mvc/chart/images/ui-scaffolder.png b/chart-sdk/asp-net-mvc/chart/images/ui-scaffolder.png deleted file mode 100644 index d9551f23266514ee28d0b9ad9791df22593a06b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57487 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 diff --git a/chart-sdk/asp-net-mvc/chart/internationalization.md b/chart-sdk/asp-net-mvc/chart/internationalization.md deleted file mode 100644 index 563cf3bf0..000000000 --- a/chart-sdk/asp-net-mvc/chart/internationalization.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: post -title: Internationalization in ASP.NET MVC Chart Component -description: Learn here all about Internationalization in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Internationalization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Internationalization - -Chart provide supports for internationalization for below chart elements. - -* Datalabel. -* Axis label. -* Tooltip. - -For more information about number and date formatter you can refer [`internationalization`](http://ej2.syncfusion.com/documentation/base/intl.html). - - -**Globalization** - -Globalization is the process of designing and developing an component that works in different cultures/locales. Internationalization library is used to globalize number, date, time values in Chart component using `LabelFormat` property in axis. - -**Numeric Format** - -In the below example axis, point and tooltip labels are globalized to EUR. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/number-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Number-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/number-format/number-format.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/lastvaluelabel.md b/chart-sdk/asp-net-mvc/chart/lastvaluelabel.md deleted file mode 100644 index 3c330e8fe..000000000 --- a/chart-sdk/asp-net-mvc/chart/lastvaluelabel.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: post -title: Last Value Label in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about Data Labels in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Last value label -publishingplatform: chart-sdk -documentation: ug ---- - -# Last value label in ASP.NET MVC Chart Control - -The `lastValueLabel` in a chart allows you to easily display the value of the last data point in a series. This feature provides an intuitive way to highlight the most recent or last data value in a series on your chart. - -## Enable Last value label - -To show the last value label, make sure the `Enable` property inside the `LastValueLabel` settings is set to `true` within the series configuration. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/last-value-label/razor %} -{% endhighlight %} -{% highlight c# tabtitle="LastValueLabel.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/last-value-label/lastValueLabel.cs %} -{% endhighlight %} -{% endtabs %} - -## Customization - -The appearance of the last value label can be customized using style properties such as `Font`, `Background`, `Border`, `DashArray`, `LineWidth`, `LineColor`, `Rx`, and `Ry` in the lastValueLabel property of the chart series. These settings allow you to tailor the label’s look to align with your desired visual presentation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/last-value-label-customization/razor %} -{% endhighlight %} -{% highlight c# tabtitle="LastValueLabelCustomization.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/last-value-label-customization/lastValueLabelCustomization.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/legend.md b/chart-sdk/asp-net-mvc/chart/legend.md deleted file mode 100644 index 724f841df..000000000 --- a/chart-sdk/asp-net-mvc/chart/legend.md +++ /dev/null @@ -1,292 +0,0 @@ ---- -layout: post -title: Legend and Customization in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about Legend in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Legend -publishingplatform: chart-sdk -documentation: ug ---- - - -# Legend and in ASP.NET MVC Chart Component - -Legend provides information about the series rendered in the chart. - -## Enable Legend - -You can use legend for the chart by setting the [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Visible) property to true in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html) object. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/legend/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/legend/legend.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Position and Alignment - -By using the [`Position`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Position) property, you can position the legend at left, right, top or bottom of the chart. The legend is positioned at the bottom of the chart, by default. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/default/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Default.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/default/default.cs %} -{% endhighlight %} -{% endtabs %} - - - -Custom position helps you to position the legend anywhere in the chart using x, y coordinates. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Legend Reverse - -You can reverse the order of the legend items by using the [`Reverse`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Reverse) property. By default, legend for the first series in the collection will be placed first. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/reverse/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Reverse.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/reverse/reverse.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -**Legend Alignment** - - - -You can align the legend as `Center`, `Far` or `Near` to the chart using [`Alignment`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Alignment) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/alignment/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Alignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/alignment/alignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -To change the legend icon shape, you can use [`LegendShape`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_LegendShape) property in the [`Series`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html). By default legend icon shape is `SeriesType`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Legend Size - -By default, legend takes 20% - 25% of the chart's height horizontally, when it is placed on top or bottom position and 20% - 25% of the chart's width vertically, when placed on left or right position of the chart. You can change this default legend size by using the [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Width) and [`Height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Height) property of the `LegendSettings`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/size/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Legend Item Size - -You can customize the size of the legend items by using the [`ShapeHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ShapeHeight) and [`ShapeWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ShapeWidth) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/item-size/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Item-size.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/item-size/item-size.cs %} -{% endhighlight %} -{% endtabs %} - - -### Paging for Legend - -### Paging for Legend - -Paging will be enabled by default, when the legend items exceeds the legend bounds. You can view each legend items by navigating between the pages using navigation buttons. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/paging/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Paging.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/paging/paging.cs %} -{% endhighlight %} -{% endtabs %} - -### Legend Text Wrap - -When the legend text exceed the container, the text can be wrapped by using the [`textWrap`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_TextWrap) property. End user can also wrap the legend text based on the [`maximumLabelWidth`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_MaximumLabelWidth) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/text-wrap/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Textwrap.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/text-wrap/textwrap.cs %} -{% endhighlight %} -{% endtabs %} - -### Set the label color based on series color - -You can set the legend label color based on series color by using chart's [Loaded](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_Loaded) event. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/legend-label/razor %} -{% endhighlight %} -{% highlight c# tabtitle="legend-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/legend-label/legend-label.cs %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET MVC Chart Label Color](../images/legend-label.png) - -## Series Selection on Legend - -By default, legend click enables you to collapse the series visibility.  On other hand, if you need to select a series through legend click, disable the [`ToggleVisibility`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ToggleVisibility). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/selection/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/selection/selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Enable Animation - -You can customize the animation while clicking legend by setting enableAnimation as true or false using `EnableAnimation` property in chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/animation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Collapsing Legend Item - -By default, series name will be displayed as legend. To skip the legend for a particular series, you can give empty string to the series name. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/collapse/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Collapse.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/collapse/collapse.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Legend Title - -You can set title for legend using `Title` property in `LegendSettings`. You can also customize the `FontStyle`, `Size`, `FontWeight`, `Color`, `TextAlignment`, `FontFamily`, `Opacity` and `TextOverflow` of legend title. `TitlePosition` is used to set the legend position in `Top`, `Left` and `Right` position. `MaximumTitleWidth` is used to set the width of the legend title. By default, it will be `100px`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/title/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Arrow Page Navigation - -By default, the page number will be enabled while legend paging. Now, you can disable that page number and also you can get left and right arrows for page navigation. You have to set `false` value to `EnablePages` to get this support. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/arrow-page/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Arrow-page.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/arrow-page/arrow-page.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend Item Padding - -The [`ItemPadding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ItemPadding) property can be used to adjust the space between the legend items. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/itempadding/razor %} -{% endhighlight %} -{% highlight c# tabtitle="ItemPadding.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/itempadding/itempadding.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend layout - -The [`Layout`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Layout) property in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) allows you to display the legend either horizontally or vertically. By default, the [`Layout`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_Layout) is set to **Auto**. The [`MaximumColumns`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_MaximumColumns) property in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) defines the maximum number of columns that can be displayed within the available space when using the auto layout. Additionally, enabling the [`FixedWidth`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_FixedWidth) property in [`LegendSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) ensures that all legend items are displayed with equal widths. The width of each item is determined by the maximum width among the legend items. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/layout/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Layout.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/layout/layout.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend template - -Legend templates allow you to replace default legend icons and text with custom HTML for each series. This enables branded styles, richer content (icons, multi-line text, badges), improved readability, and localization. - -You can customize the legend items by using the [`template`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings) property of [`legendSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings). Legend interactions (click to toggle series) remain unless [`ToggleVisibility`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_LegendSettings#togglevisibility) is set to false. Templates work with all legend positions, alignments, and paging. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/legend/template/template.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/localization.md b/chart-sdk/asp-net-mvc/chart/localization.md deleted file mode 100644 index 0e26c3272..000000000 --- a/chart-sdk/asp-net-mvc/chart/localization.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: post -title: Localization in ASP.NET MVC Chart Component -description: Learn here all about Localization in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Localization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Localization - -Localization library allows to localize the default text content of Chart. In Chart component, it has the static text on some features(like zooming toolbars) and this can be changed to any other culture(Arabic, Deutsch, French, etc) by defining the locale value and translation object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Locale key wordsText to display
    ZoomZoom
    ZoomInZoomIn
    ZoomOutZoomOut
    ResetReset
    PanPan
    ResetZoomReset Zoom
    - -To load translation object in an application use load function of L10n class. - -For more information about localization, refer this [`localization`](https://ej2.syncfusion.com/aspnetcore/documentation/common/localization/) - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/localization/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Localization.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/localization/localization.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/logarithmic-axis.md b/chart-sdk/asp-net-mvc/chart/logarithmic-axis.md deleted file mode 100644 index e12478afd..000000000 --- a/chart-sdk/asp-net-mvc/chart/logarithmic-axis.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -layout: post -title: Logarithmic Axis in ASP.NET MVC Chart Component -description: Learn here all about Logarithmic Axis in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Logarithmic Axis -publishingplatform: chart-sdk -documentation: ug ---- - - -# Logarithmic Axis - - - -Logarithmic axis uses logarithmic scale and it is very useful in visualizing data, when it has numeric values in both lower order of magnitude (eg: 10-6) and higher order of magnitude (eg: 106). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/log/log/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Log.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/log/log/log.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -Range of an axis, will be calculated automatically based on the provided data, you can also customize the range of the axis using [`Minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/log/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/log/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic Base - -Logarithmic base can be customized by using the [`LogBase`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LogBase) property of the axis. For example when the logBase is 5, the axis values follows 5-2, 5-1, 50, 51, 52 etc. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/log/base/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Base.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/log/base/base.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic Interval - -Logarithmic axis interval can be customized by using the [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. When the logarithmic base is 10 and logarithmic interval is 2, then the axis labels are placed at an interval of 102. The default value of the interval is 1. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/log/interval/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/log/interval/interval.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/multiple-panes.md b/chart-sdk/asp-net-mvc/chart/multiple-panes.md deleted file mode 100644 index dcd049fe9..000000000 --- a/chart-sdk/asp-net-mvc/chart/multiple-panes.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -layout: post -title: Multiple Panes in ASP.NET MVC Chart Component -description: Learn here all about Multiple Panes in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Multiple Panes -publishingplatform: chart-sdk -documentation: ug ---- - - -# Multiple Panes - -Chart area can be divided into multiple panes using [`Rows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) and [`Columns`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html). - -## Rows - -To split the chart area vertically into number of rows, use [`Rows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) property of the chart. - -* You can allocate space for each row by using the [`Height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html#Syncfusion_EJ2_Charts_ChartRow_Height) property. The value can be either in percentage or in pixel. -* To associate a vertical axis to a particular row, specify its index to [`RowIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) property of the axis. -* To customize each row’s bottom line, use [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple-panes/row/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Row.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple-panes/row/row.cs %} -{% endhighlight %} -{% endtabs %} - - - -For spanning the vertical axis along multiple row, you can use [`Span`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartRow.html) property of an axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple-panes/row-span/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Row-span.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple-panes/row-span/row-span.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Columns - -To split the chart area horizontally into number of columns, use [`Columns`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html) property of the chart. - -* You can allocate space for each column by using the [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html#Syncfusion_EJ2_Charts_ChartColumn_Width) property. The given width can be either in percentage or in pixel. -* To associate a horizontal axis to a particular column, specify its index to [`ColumnIndex`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html) property of the axis. -* To customize each column’s bottom line, use [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html#Syncfusion_EJ2_Charts_ChartColumn_Border) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple-panes/column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple-panes/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - -For spanning the horizontal axis along multiple column, you can use [`Span`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartColumn.html) property of an axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple-panes/column-span/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column-span.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/multiple-panes/column-span/column-span.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/chart/numeric-axis.md b/chart-sdk/asp-net-mvc/chart/numeric-axis.md deleted file mode 100644 index 3bec08bfa..000000000 --- a/chart-sdk/asp-net-mvc/chart/numeric-axis.md +++ /dev/null @@ -1,234 +0,0 @@ ---- -layout: post -title: Numeric Axis in ASP.NET MVC Chart Component -description: Learn here all about Numeric Axis in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Numeric Axis -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Numeric Axis - -You can use numeric [`Axis`](https://ej2.syncfusion.com/aspnetcore/Chart/NumericAxis#/material) to represent numeric values of data in chart. By default, the `ValueType` of an axis is [`Double`](https://www.syncfusion.com/aspnet-core-ui-controls/charts/chart-axis). - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/double/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Double.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/double/double.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range - -Range for an axis, will be calculated automatically based on the provided data, you can also customize the range of the axis using [`Minimum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Minimum), [`Maximum`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Maximum) and [`Interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_Interval) property of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Range Padding - -Padding can be applied to the minimum and maximum extremes of the axis range by using the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) property. Numeric axis supports following types of padding. - -* None -* Round -* Additional -* Normal -* Auto - -**Numeric - None** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `None`, minimum and maximum of an axis is based on the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/none/razor %} -{% endhighlight %} -{% highlight c# tabtitle="None.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/none/none.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Round** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Round`, minimum and maximum will be rounded to the nearest possible value divisible by interval. For example, when the minimum is 3.5 and the interval is 1, then the minimum will be rounded to 3. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/round/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Round.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/round/round.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Additional** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Additional`, interval of an axis will be padded to the minimum and maximum of the axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/additional/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Additional.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/additional/additional.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Normal** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Normal`, padding is applied to the axis based on default range calculation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/normal/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Normal.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/normal/normal.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric - Auto** - -When the [`RangePadding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_RangePadding) is set to `Auto`,horizontal numeric axis takes None as padding calculation, while the vertical numeric axis takes Normal as padding calculation. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/auto/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Auto.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/auto/auto.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Label Format - -**Numeric Label Format** - -Numeric labels can be formatted by using the [`LabelFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_LabelFormat) property. Numeric labels supports all globalize format. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/label-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Label-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/label-format/label-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table describes the result of applying some commonly used label formats on numeric values. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Label ValueLabel Format property valueResult Description
    1000n11000.0The Number is rounded to 1 decimal place
    1000n21000.00The Number is rounded to 2 decimal place
    1000n31000.000The Number is rounded to 3 decimal place
    0.01p11.0%The Number is converted to percentage with 1 decimal place
    0.01p21.00%The Number is converted to percentage with 2 decimal place
    0.01p31.000%The Number is converted to percentage with 3 decimal place
    1000c1$1000.0The Currency symbol is appended to number and number is rounded to 1 decimal place
    1000c2$1000.00The Currency symbol is appended to number and number is rounded to 2 decimal place
    - -## GroupingSeparator - -To separate groups of thousands, use [`UseGroupingSeparator`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html) property in chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/group/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/group/group.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Custom Label Format - -Axis also supports custom label format using placeholder like {value}°C, in which the value represent the axis label e.g 20°C. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/double/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/overview.md b/chart-sdk/asp-net-mvc/chart/overview.md deleted file mode 100644 index d5694c991..000000000 --- a/chart-sdk/asp-net-mvc/chart/overview.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: post -title: Overview in ASP.NET MVC Chart Component -description: Learn here all about Overview in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Index -publishingplatform: chart-sdk -documentation: ug ---- - - -# Overview - -The Chart control is used to visualize the data with user interactivity and provides customizing options to configure the data visually. It can bind data from datasource such as array of JSON objects , OData web services or [`DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager.html). All chart elements are rendered using Scalable Vector Graphics (SVG). - -## Key Features - -* **Chart Types** - Supports 25 interactive chart types starting from line to financial chart. -* [**Data sources**](https://ej2.syncfusion.com/aspnetmvc/Chart/LocalData#/material) - Bind the Chart component with an array of JSON objects or DataManager. -* **Axis Types** - Supports multiple axes, and able to plot data with different data types such as numbers, datetime, logarithmic and string. -* [**Multiple Pane**](https://ej2.syncfusion.com/aspnetmvc/Chart/Candle#/material) - Provides the options to split the chart area into multiple pane. -* [**Multilevel Labels**](https://ej2.syncfusion.com/aspnetmvc/Chart/MultiLevelLabels#/material) - Organizes or groups data points in the chart based on different categories. -* [**Axis Crossing**](https://ej2.syncfusion.com/aspnetmvc/Chart/AxesCrossing#/material) - Provides the option to moves the origin of axis to any point within the chart area. -* [**Smart Labels**](https://ej2.syncfusion.com/aspnetmvc/Chart/SmartAxisLabels#/material) - Avoids overlapping of axis labels by trimming, wrapping, rotating, hiding, or placing them on multiple rows. -* [**Stripline**](https://ej2.syncfusion.com/aspnetmvc/Chart/StripLine#/material) - Provides options to highlight and annotate any region in chart. -* [**DataLabel**](https://ej2.syncfusion.com/aspnetmvc/Chart/DataLabelTemplate#/material) - Datalabel annotates data points with label to improve the readability of data. -* [**Technical Indicators**](https://ej2.syncfusion.com/aspnetmvc/Chart/AccumulationDistribution#/material) - Indicators allows to analyse the past and predict the future market trends based on historic price, volume, or open interest. -* [**Trendlines**](https://ej2.syncfusion.com/aspnetmvc/Chart/Trendlines#/material) - Predicts the future trends with predetermined data for any measurements. -* [**Error Bars**](https://ej2.syncfusion.com/aspnetmvc/Chart/ErrorBar#/material) - Provides options to handle any error or uncertainty in the measurements. -* [**Empty Points**](https://ej2.syncfusion.com/aspnetmvc/Chart/AreaEmptyPoints#/material) - Provides options to handle missed data for the series elegantly with empty points. -* **Annotation** - Provides support to mark any specific area of interest by adding custom element. -* [**Vertical Chart**](https://ej2.syncfusion.com/aspnetmvc/Chart/VerticalChart#/material) - Provides options to invert the chart. -* [**Zooming**](https://ej2.syncfusion.com/aspnetmvc/Chart/Zooming#/material) - Provides options to visualize the data points under any region using rectangular selection, pinch, or mouse wheel zooming. -* [**Crosshair & Trackball**](https://ej2.syncfusion.com/aspnetmvc/Chart/Crosshair#/material) - Provides options to track data points closer to the mouse position or touch action. -* [**Selection**](https://ej2.syncfusion.com/aspnetmvc/Chart/Selection#/material) - Allows you to select any data point or subset of points using selection feature. -* [**Export**](https://ej2.syncfusion.com/aspnetmvc/Chart/Export#/material) - Provides the options to Export the chart to PDF, SVG and CSV formats. -* [**RTL support**](https://ej2.syncfusion.com/aspnetmvc/Chart/InversedAxis#/material) - Provides a full-fledged right-to-left mode which aligns axis in the chart control from right to left. \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/render-methods.md b/chart-sdk/asp-net-mvc/chart/render-methods.md deleted file mode 100644 index 55cc25d57..000000000 --- a/chart-sdk/asp-net-mvc/chart/render-methods.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: post -title: Render Methods in ASP.NET MVC Chart Component -description: Learn here all about Render Methods in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Render Methods -publishingplatform: chart-sdk -documentation: ug ---- - - - -# Rendering Types - -Chart uses following two rendering methods. - -* SVG -* Canvas - -## SVG - -SVG is used to render Chart by default for all browsers expect IE8 and old versions. - -## Canvas - -You can switch between SVG and Canvas rendering by using the `EnableCanvas` option. The canvas mode rendering is used in the following scenarios, - -* Plotting large number of data points. -* Performing high frequency live updates. - -**Limitations** - -* Animation is not supported. \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/scaffolding.md b/chart-sdk/asp-net-mvc/chart/scaffolding.md deleted file mode 100644 index edad39e41..000000000 --- a/chart-sdk/asp-net-mvc/chart/scaffolding.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -layout: post -title: Scaffolding in ASP.NET MVC Chart Component | Syncfusion -description: Learn here all about Scaffolding in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Scaffolding -publishingplatform: chart-sdk -documentation: ug ---- - - -# ASP.NET MVC Scaffolding - -Syncfusion® includes an extension for **Visual Studio Scaffolding** for the Syncfusion® ASP.NET MVC platform to quickly add code that interacts with data models and reduce the amount of time to develop with data operation in your project. Scaffolding provides an easier way to create Views and Controller action methods for Syncfusion® ASP.NET MVC Chart controls. - -N> The Syncfusion® ASP.NET MVC UI Scaffolder is available from **v16.4.0.40**. - -## Getting Started - -Let's start with the steps on how to scaffold the ASP.NET MVC Chart into your web application. - -* Create an ASP.NET MVC application and add an Entity Framework data model referring from the [documentation](https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/database-first-development/creating-the-web-application#generate-the-models) with Scheduler related fields such as Id, Subject, Location, Start Date, End Date and All-day. Once the model file is added, ensure the required DBContext and all its related properties are added. - -* Refer the [Getting Started documentation](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/visual-studio-2017/#configure-essential-js-2-in-the-application) to know about how to configure the Syncfusion® Essential® JS2 for ASP.NET MVC in your web application. - -## Add a Scaffolded Item - -The following steps direct you to add a Scaffolded item to your ASP.NET MVC Web Application. - -* Right-click on Controller folder in the Solution Explorer and select **Add → New Scaffolded Item.** - -![Solution explorer showing New Scaffold option](images/default-template-mvc.png) - -* You will see the Add Scaffold dialog. Select **Syncfusion® ASP.NET MVC UI Scaffolder** and click ‘Add’ button, which will display the Syncfusion® UI Scaffolding dialog. - -![Syncfusion ASPNET MVC UI scaffolder](images/ui-scaffolder.png) - -* Select the Chart control to perform Scaffolding and click**Next**. - -![Syncfusion UI scaffolding dialog showing control selection](images/control-template.png) - -* Syncfusion® UI Scaffolding for the selected control dialog will be opened. Enter the **Controller and View** names as per the application requirement. Also, select the required **Model Class** of the active project and its relevant **Data Context Class** and then Click **Next**. - -![Syncfusion UI scaffolding dialog showing model and data context options](images/scaffold-template.png) - -* Syncfusion® UI Scaffolding for the Chart control feature dialog will be opened. Select the required features and Click **Add**. Use the **back arrow** if you want to modify the already provided Controller or View name, and to change the **selected Model Class and Data Context Class**. - -![Syncfusion UI scaffolding dialog showing chart features](images/feature.png) - -select the corresponding Chart **X-axis and Y-axis** from option. - -* The **Controller** and the corresponding **View** files are now generated with the selected features code snippet. - -![Solution explorer displaying the newly created Controller and View files](images/solution-explorer-mvc.png) - -N> Ensure that at least one Entity Framework model exists in your project and the application gets compiled once. If no Entity Framework model exists in your application, refer to the [`documentation`](https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/database-first-development/creating-the-web-application#generate-the-models) to generate the Entity Framework model. Once model file added, ensure required DBContext and properties are added. Now, build the application and try scaffolding. If any changes done in model properties later, compile the application once before perform scaffolding. - -## How to render Syncfusion® Control'?' - -Refer to the following UG links to render Syncfusion® control after performed scaffolding. - -**MVC5:** [`Configure Essential® JS 2 using Syncfusion.EJ2.MVC5 package`](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/visual-studio-2017/#configure-essential-js-2-in-the-application) diff --git a/chart-sdk/asp-net-mvc/chart/selection.md b/chart-sdk/asp-net-mvc/chart/selection.md deleted file mode 100644 index 04173ed4d..000000000 --- a/chart-sdk/asp-net-mvc/chart/selection.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -layout: post -title: Selection in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about Selection in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Selection -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Selection in ASP.NET MVC Chart Component - -Chart provides selection support for the series and its data points on mouse click. - -N>When Mouse is clicked on the data points, the corresponding series legend will also be selected. - -We have different type of selection mode for selecting the data. They are, - -* None -* Point -* Series -* Cluster -* DragXY -* DragX -* DragY - -## Point - - You can select a point, by setting `SelectionMode` to point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/point-selection/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Point-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/point-selection/point-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series - - You can select a series, by setting `SelectionMode` to series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/series-selection/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/series-selection/series-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Cluster - -You can select the points that corresponds to the same index in all the series, by setting `SelectionMode` to cluster. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/cluster-selection/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Cluster-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/cluster-selection/cluster-selection.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Rectangular selection - -**DragXY, DragX and DragY** - -To fetch the collection of data under a particular region, you have to set `SelectionMode` as `DragXY`. - -* DragXY - Allows us to select data with respect to horizontal and vertical axis. -* DragX - Allows us to select data with respect to horizontal axis. -* DragY - Allows us to select data with respect to vertical axis. - -The selected data’s are returned as an array collection in the [`DragComplete`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_DragComplete) event. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/drag/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Drag.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/drag/drag.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection type - -You can select multiple points or series, by enabling the [`IsMultiSelect`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_IsMultiSelect) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/selection-type/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Selection-type.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/selection-type/selection-type.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection on load - -You can able to select a point or series programmatically on a chart using [`SelectedDataIndexes`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SelectedDataIndexes) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/onload/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Onload.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/onload/onload.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection through on legend - -You can able to select a point or series through on legend using [`ToggleVisibility`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_ToggleVisibility) property. Also, use [`EnableHighlight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartLegendSettings.html#Syncfusion_EJ2_Charts_ChartLegendSettings_EnableHighlight) property for highlighting the series through legend. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/selection-legend/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Selection-legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/selection-legend/selection-legend.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization for selection - -You can apply custom style to selected points or series with [`SelectionStyle`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_SelectionStyle) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/custom-selection/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/selection/custom-selection/custom-selection.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/series-label.md b/chart-sdk/asp-net-mvc/chart/series-label.md deleted file mode 100644 index 295f8e1fd..000000000 --- a/chart-sdk/asp-net-mvc/chart/series-label.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: post -title: Series label in Syncfusion ASP.NET Core Chart Component -description: Learn here all about Series label in Syncfusion ASP.NET Core Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Series label -documentation: ug ---- - -# Series label in ASP.NET Core Chart component - -The series label displays the name of each series inline, positioned near the end of the series path or the last visible data point. This helps identify each series without referring to the legend. - -## Overview - -Enable series labels using the [`LabelSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_LabelSettings) property within the series configuration. Set the [`Visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Visible) property to **true** to display the label. - -{% tabs %} - -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/series-label/tagHelper %} -{% endhighlight %} - -{% highlight c# tabtitle="Series-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/series-label/series-label.cs %} -{% endhighlight %} - -{% endtabs %} - -## Customization - -Customize the appearance of series labels using the following properties: - -* [`Text`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Text) -* [`Font`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Font) -* [`Background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Background) -* [`Border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Border) -* [`Opacity`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_Opacity) -* [`ShowOverlapText`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.SeriesLabelSettings.html#Syncfusion_EJ2_Charts_SeriesLabelSettings_ShowOverlapText) - -{% tabs %} - -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/series-label-customization/tagHelper %} -{% endhighlight %} - -{% highlight c# tabtitle="Series-label-customization.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/series/series-label-customization/series-label-customization.cs %} -{% endhighlight %} - -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/strip-line.md b/chart-sdk/asp-net-mvc/chart/strip-line.md deleted file mode 100644 index 2482a4c08..000000000 --- a/chart-sdk/asp-net-mvc/chart/strip-line.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -layout: post -title: Strip Line in ASP.NET MVC Chart Component -description: Learn here all about Strip Line in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Strip Line -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Strip lines - - - -EJ2 chart supports horizontal and vertical strip lines and customization of stripline in both orientation. - -## Horizontal Strip lines - -You can create Horizontal stripline by adding the `Stripline` in the vertical axis and set `Visible` option to true. Striplines are rendered in the specified start to end range and you can add more than one stripline for an axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/horizontal/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Horizontal.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/horizontal/horizontal.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Vertical Striplines - -You can create vertical stripline by adding the `Stripline` in the horizontal axis and set `Visible` option to true. Striplines are rendered in the specified start to end range and you can add more than one stripline for an axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/vertical/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Vertical.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/vertical/vertical.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customize the strip line - -Starting value in specific strip line can be customized by `Start` property in strip line. Similarly, ending value is customized by `End`. It can be also set for starting from the corresponding origin of the axis by `StartFromOrigin`. Size of the strip line is customized by `Size`. Border for the stripline is customized by `Border`. Order of the strip line such that whether it should be rendered in behind or over the series elements is customized by `ZIndex`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/custom-stripline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-stripline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/custom-stripline/custom-stripline.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customize the stripline text - -You can customize the text rendered in stripline by `TextStyle` property. Rotation of the strip line text can be changed by `Rotation` property. Horizontal and Vertical alignment of stripline text can be changed by `HorizontalAlignment` and `VerticalAlignment` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/custom-striptext/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-striptext.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/custom-striptext/custom-striptext.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Dash Array - -You can create dash array stripline by using `DashArray` property. The Striplines are rendered with specified dash array values. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/dasarray/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dash.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/dasarray/dash.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Recurrence Stripline - - The strip lines to be drawn repeatedly at the regular intervals – this will be useful when you want to mark an event that occurs recursively along the timeline of the chart. Following properties are used to configure this feature. - -* `IsRepeat` - It is used for enable / disable the recurrence strip line. -* `RepeatEvery` - It is used for mention the stripline interval. -* `RepeatUntil` - It specifies the end value at which point strip line has to stop repeating. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/recurrence/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Recurrence.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/recurrence/recurrence.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Size Type - -The `SizeType` property refers the size of the stripline. They are, - -* `Auto` -* `Pixel` -* `Years` -* `Months` -* `Days` -* `Hours` -* `Minutes` -* `Seconds` - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/size-type/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Size-type.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/size-type/size-type.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Segment Stripline - -You can create stripline in a particular region with respect to segment. You can enable the segment stripline using `IsSegmented` property. The start and end value of this type of stripline can be defined using `SegmentStart` and `SegmentEnd` properties. - -* `IsSegmented` - It is used for enable the segment stripline. -* `SegmentStart` - Used to change the segment start value. Value correspond to associated axis. -* `SegmentEnd` - Used to change the segment end value. Value correspond to associated axis. -* `SegmentAxisName` - Used to specify the name of the associated axis. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/segment/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Segment.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/strip-line/segment/segment.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/synchronized-chart.md b/chart-sdk/asp-net-mvc/chart/synchronized-chart.md deleted file mode 100644 index 5b30a616c..000000000 --- a/chart-sdk/asp-net-mvc/chart/synchronized-chart.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -layout: post -title: Synchronized Charts in ASP.NET MVC Chart Component -description: Learn here all about Synchronized Charts in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Synchronized charts -publishingplatform: chart-sdk -documentation: ug ---- - - -# Synchronized charts in ASP.NET MVC Chart Component - -## Tooltip synchronization - -The tooltip can be synchronized across multiple charts using the `ShowTooltip` and `HideTooltip` methods. When we hover over a data point in one chart, we call the `ShowTooltip` method for the other charts to display related information in other connected charts simultaneously. - -In the `ShowTooltip` method, specify the following parameters programmatically to enable tooltip for a particular chart: - -* `X` - Data point x-value or x-coordinate value. -* `Y` - Data point y-value or y-coordinate value. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/synchronization/tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/synchronization/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Crosshair synchronization - -The crosshair can be synchronized across multiple charts using the `ShowCrosshair` and `HideCrosshair` methods. When we hover over one chart, we call the `ShowCrosshair` method for the other charts to align with data points in other connected charts, simplifying data comparison and analysis. - -In the `ShowCrosshair` method, specify the following parameters programmatically to enable crosshair for a particular chart: - -* `X` - Specifies the x-value of the point or x-coordinate. -* `Y` - Specifies the y-value of the point or y-coordinate. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/synchronization/crosshair/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Crosshair.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/synchronization/crosshair/crosshair.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Zooming synchronization - -You can maintain constant zoom levels across multiple charts using the [`ZoomComplete`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_ZoomComplete) event. In the `ZoomComplete` event, obtain the [`ZoomFactor`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_ZoomFactor) and [`ZoomPosition`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartAxis.html#Syncfusion_EJ2_Charts_ChartAxis_ZoomPosition) values of the particular chart, and then apply those values to the other charts. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/synchronization/zooming/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Zooming.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/synchronization/zooming/zooming.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Selection synchronization - -You can select the data across multiple charts using the [`SelectionComplete`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_SelectionComplete) event. In the `SelectionComplete` event, obtain the selected values of the particular chart, and then apply those values to the other charts. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/synchronization/selection/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Selection.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/synchronization/selection/selection.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/chart/technical-indicators.md b/chart-sdk/asp-net-mvc/chart/technical-indicators.md deleted file mode 100644 index 6ceeacf7e..000000000 --- a/chart-sdk/asp-net-mvc/chart/technical-indicators.md +++ /dev/null @@ -1,260 +0,0 @@ ---- -layout: post -title: Technical Indicators in ASP.NET MVC Chart Component -description: Learn here all about Technical Indicators in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Technical Indicators -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Technical Indicators - -A [`Technical indicator`](https://www.syncfusion.com/aspnet-core-ui-controls/charts/technical-indicators) is a mathematical calculation based on historic price, volume or open interest information that aims to forecast financial market direction. - -Chart supports 10 types of technical indicators. - -## Accumulation Distribution - -Accumulation Distribution combines price and volume to show how money may be flowing into or out of stock. To render a [`Accumulation Distribution Indicator`](https://ej2.syncfusion.com/aspnetcore/Chart/ADIChart#/material), use indicator [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `AccumulationDistribution`. To calculate the signal line [`Volume`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Volume) field is additionally added with `dataSource`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/ad/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Ad.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/ad/ad.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Average True Range (ATR) - -ATR measures the stock volatility by comparing the current value with the previous value. To render a Average True Range (ATR) Indicator, use indicator [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Atr`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/atr/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Atr.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/atr/atr.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Bollinger Band - -A chart overlay that shows the upper and lower limits of normal price movements based on the standard deviation of prices. To render a Bollinger Band, use indicator [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `BollingerBand`. Bollinger band will be represented by three lines (upperLine, lowerLine, signalLine).Bollinger Band default values of the [`Period`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Period) is 14 and [`StandardDeviations`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_StandardDeviation) is 2. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/bollinger/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Bollinger.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/bollinger/bollinger.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of BollingerBand** - -`stroke`, `stroke-width`, and `color` of upperLine can be customized by using,[`UpperLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_UpperLine), and the lowerLine can be customized by using [`LowerLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_LowerLine) properties of indicator. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/custom-bollinger/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-bollinger.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/getting-started/custom-bollinger/custom-bollinger.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Exponential Moving Average (EMA) - -Moving average Indicators are used to define the direction of the trend. To render a EMA Indicator, use indicator [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Ema`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/ema/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Ema.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/ema/ema.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Momentum - -Momentum shows the speed at which the price of the stock is changing. To render a Momentum indicator, use indicator [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Momentum`. Momentum indicator will be represented by two lines (upperLine, signalLine).In momentum indicator the upperBand value is always render at the value 100. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/momentum/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Momentum.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/momentum/momentum.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of MomentumIndicator** - -`stroke`, `stroke-width`, and `color` of upperLine can be customized by using,[`UpperLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_UpperLine), property of indicator. - - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/custom-momentum/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-momentum.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/custom-momentum/custom-momentum.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Moving Average Convergence Divergence (MACD) - -MACD is based on the difference between two EMA's. To render a MACD Indicator, use indicator [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `MACD`.MACD indicator will be represented by MACD line,signal line, MACD histogram. MACD histogram is used to differentiate MACD line and signal line. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/macd/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Macd.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/macd/macd.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of MACD** - -`stroke`, `stroke-width`, and `color`of macdLine can be customized by using,[`MacdLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_MacdLine), property of indicator. The positive and negative changes of histogram can be customized by [`MacdPositiveColor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_MacdPositiveColor) and [`MacdNegativeColor`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_MacdNegativeColor) properties. The [`MacdType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_MacdType) is used to define the type of MACD indicator. To customize the MACD period using [`SlowPeriod`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_SlowPeriod) and [`FastPeriod`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_FastPeriod) properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/custom-macd/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-macd.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/custom-macd/custom-macd.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Relative Strength Index (RSI) - -RSI shows how strongly a stock is moving in its current direction. To render a RSI Indicator, use indicator [`Type`](./https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Rsi`.RSI indicator will be represented by three lines (upperBand, lowerBand, signalLine). The upperBand and lowerBand values are customized by [`OverBought`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_OverBought) and [`OverSold`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_OverSold) properties of indicator and the signalLine is calculated by RSI formula. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/rsi/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rsi.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/rsi/rsi.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Simple Moving Average (SMA) - -Moving average Indicators are used to define the direction of the trend. To render a SMA Indicator, use indicator [`Type`](./https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Sma`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/sma/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Sma.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/sma/sma.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Stochastic - -It shows how a stock is, when compared to previous state. To render a Stochastic indicator, use indicator [`Type`](./https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `Stochastic`. stochastic indicator will be represented by four lines (upperLine, lowerLine, periodLine, signalLine). In stochastic indicator the upperBand value and lowerBand value is customized by [`OverBought`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_OverBought) and [`OverBought`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_OverBought)properties of indicators and the periodLine and signalLine is render based on stochastic formula. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/stochastic/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Stochastic.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/stochastic/stochastic.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of StochasticIndicator** - -`stroke`, `stroke-width`, and `color` of upperLine can be customized by using, [`UpperLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_UpperLine), the lowerLine can be customized by using [`LowerLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_LowerLine) and the periodLine can be customized by using [`PeriodLine`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_PeriodLine) properties of indicator. To customize the period to find the average price using [`KPeriod`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_KPeriod) and [`DPeriod`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_DPeriod) properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/custom-stochastic/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-stochastic.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/custom-stochastic/custom-stochastic.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Triangular Moving Average (TMA) - -Moving average indicators are used to define the direction of the trend. To render a TMA Indicator, use indicator [`Type`](./https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Type) as `TMA`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/tma/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tma.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/tma/tma.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of Technical Indicators** - -`stroke`, `stroke-width`, and `color` of signalLine can be customized by using,[`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Fill), [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Width) and [`DashArray`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_DashArray) properties and the [`Period`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Period) property is used to predict the data forecast calculations. The [`Field`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_Field) value is used to the compare the current price with previous price. It is applicable to Bollinger bands and moving averages. The [`ShowZones`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_ShowZones) property is used to shows/Hides the overBought and overSold regions. It is applicable for RSI and stochastic indicators. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/custom-tma/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-tma.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/custom-tma/custom-tma.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Data Source** - -Usually technical indicators are added along with a financial series. The [`SeriesName`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_SeriesName) represents the series, the data of which has to be analysed through indicators. - -Technical indicators can also be added without series using [`DataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartIndicator.html#Syncfusion_EJ2_Charts_ChartIndicator_DataSource) property of indicator. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/datasource/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Datasource.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/technical-indicators/datasource/datasource.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/chart/tool-tip.md b/chart-sdk/asp-net-mvc/chart/tool-tip.md deleted file mode 100644 index d083b7df1..000000000 --- a/chart-sdk/asp-net-mvc/chart/tool-tip.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -layout: post -title: Tooltip in Syncfusion ASP.NET MVC Chart Component -description: Learn here all about Tooltip in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Tooltip -publishingplatform: chart-sdk -documentation: ug ---- - - -# Tooltip in ASP.NET MVC Chart Component - - - -Chart will display details about the points through tooltip, when the mouse is moved over the point. - -## Enable tooltip - -The tooltip is useful when you cannot display information by using the data labels due to space constraints. You can enable the tooltip by setting [`Enable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Enable) property as true in [`Tooltip`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html) object. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/default/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Default.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/default/default.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Fixed tooltip - -By default, tooltip track the mouse movement, but you can set a fixed position for the tooltip by using the [`Location`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Location) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/fixed/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Fixed.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/fixed/fixed.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Format the tooltip - - - -By default, tooltip shows information of x and y value in points. In addition to that, you can show more information in tooltip. For example the format `${series.name} ${point.x}` shows series name and point x value. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Inline tooltip formatting - -The tooltip content can be formatted directly within the [`Format`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Format) property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. - -A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. - -For example: - -```cshtml - .Tooltip(tooltip => tooltip - .Enable(true) - .Format("${point.x:MMM yyyy} : ${point.y:p0}") - ) -``` - -In the above example, `point.x` is displayed in month-year format, and `point.y` is displayed as a percentage without decimal places. - -Inline formatting can be applied to the following tooltip tokens: - -- `point.x` – Specifies the x-value of the data point, such as DateTime or category values. -- `point.y` – Specifies the numeric y-value of the data point. -- `point.size` – Specifies the size value of the data point, commonly used in bubble series. -- `point.high` and `point.low` – Specify the high and low values, commonly used in range and financial series. -- `point.open` and `point.close` – Specify the open and close values, commonly used in financial series. -- `point.volume` – Specifies the volume value, commonly used in financial series. -- `point.minimum` – Specifies the minimum value, commonly used in box and whisker series. -- `point.maximum` – Specifies the maximum value, commonly used in box and whisker series. -- `point.median` – Specifies the median value, commonly used in box and whisker series. -- `point.lowerQuartile` – Specifies the lower quartile value, commonly used in box and whisker series. -- `point.upperQuartile` – Specifies the upper quartile value, commonly used in box and whisker series. -- `point.outliers` – Specifies the outlier values, commonly used in box and whisker series. -- `series.name` – Specifies the name assigned to the series. -- `series.type` – Specifies the rendering type of the series, such as `Line`, `Spline`, or `Column`. -- `series.opacity` – Specifies the opacity value applied to the series. This value controls the visual transparency of the series and can be customized in the series configuration. - -**Important:** The availability of point-specific tokens depends on the series type and the values configured in the data source. For example, `point.size` is applicable to bubble series, while `point.median`, `point.lowerQuartile`, and `point.upperQuartile` are applicable to box and whisker series. The `series.name` and `series.type` tokens return string values, so DateTime or number formatting is not applied to these tokens. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimals - - `c2` – currency format - - `p1` – percentage format - - `e1` – exponential notation - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/inline-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Inline-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/inline-format/inline-format.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Tooltip template - -Any HTML elements can be displayed in the tooltip by using the [`Template`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Template) property of the tooltip. You can use the ${x} and ${y} as place holders in the HTML element to display the x and y values of the corresponding data point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customize the appearance of tooltip - -The [`Fill`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Fill) and [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_Border) properties are used to customize the background color and border of the tooltip respectively. The [`TextStyle`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_TextStyle) property in the tooltip is used to customize the font of the tooltip text. The [`HighlightColor`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.Chart.html#Syncfusion_EJ2_Charts_Chart_HighlightColor) property is used to customize the point color while hovering for tooltip. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/custom-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/custom-tooltip/custom-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Tooltip mapping name - -By default, tooltip shows information of x and y value in points. You can show more information from data source in tooltip by using the [`TooltipMappingName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_TooltipMappingName) property of the tooltip. You can use the `${point.tooltip}` as place holders to display the specified tooltip content. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/tooltip-mapping/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/tooltip-mapping/tooltip-mapping.cs %} -{% endhighlight %} -{% endtabs %} - -## Split tooltip - -The split tooltip displays a separate tooltip for each series at the same data point, making it easier to compare values across multiple series. - -Enable this feature by setting the `split` property to **true**: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/split-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Split-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/split-tooltip/split-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Follow pointer - -The follow pointer feature enables the tooltip to follow the mouse cursor or touch pointer as users interact with the chart. This provides a more dynamic and intuitive experience by keeping the tooltip close to the user's point of interaction. - -Enable this feature by setting the `followPointer` property to **true**: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/follow-pointer/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Follow-pointer.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/follow-pointer/follow-pointer.cs %} -{% endhighlight %} -{% endtabs %} - -## Tooltip distance - -The tooltip distance property controls the spacing between the tooltip and the mouse pointer or target data point. This prevents the tooltip from overlapping with the cursor or nearby chart elements, improving readability. - -Set the `distance` property to specify the gap in pixels: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip-distance/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-distance.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip-distance/tooltip-distance.cs %} -{% endhighlight %} -{% endtabs %} - -## Enable highlight - -By setting the [`EnableHighlight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_EnableHighlight) property to **true**, you can highlight all points in the hovered series while dimming points in other series, enhancing focus and clarity. - -{% tabs %} -{% highlight c# tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/tooltip-enable/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="CSHTML.cs" %} -... -public class GroupingChartData -{ - public string xValue; - public double yValue; - public string text; -} -{% endhighlight %} -{% endtabs %} - - - -## Closest tooltip - -The [`ShowNearestTooltip`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartTooltipSettings.html#Syncfusion_EJ2_Charts_ChartTooltipSettings_ShowNearestTooltip) property in the chart tooltip displays tooltips based on the data points closest to the cursor. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/nearest-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Nearest-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/tooltip/nearest-tooltip/nearest-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/chart/trend-lines.md b/chart-sdk/asp-net-mvc/chart/trend-lines.md deleted file mode 100644 index e73a69b8b..000000000 --- a/chart-sdk/asp-net-mvc/chart/trend-lines.md +++ /dev/null @@ -1,192 +0,0 @@ ---- -layout: post -title: Trend Lines in ASP.NET MVC Chart Component -description: Learn here all about Trend Lines in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Trend Lines -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Trend Lines in ASP.NET MVC Chart Component - -Trendlines are used to show the direction and speed of price. - -Trendlines can be generated for Cartesian type series (Line, Column, Scatter, Area, Candle, Hilo etc.) except bar type series. You can add more than one trendline to a series. - -Chart supports 6 types of trendlines. - -## Linear - -A linear trendline is a best fit straight line that is used with simpler data sets. To render a linear trendline, use trendline [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Linear`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/linear/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Linear.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/linear/linear.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Exponential - -An exponential trendline is a curved line that is most useful when data values rise or fall at increasingly higher rates. You cannot create an exponential trendline, if your data contains zero or negative values. - -To render a exponential trendline, use trendline [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Exponential`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/exponential/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Exponential.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/exponential/exponential.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Logarithmic - -A logarithmic trendline is a best-fit curved line that is most useful when the rate of change in the data increases or decreases quickly and then levels out. - -A logarithmic trendline can use negative and/or positive values. - -To render a logarithmic trendline, use trendline [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Logarithmic`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/logarithmic/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Logarithmic.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/logarithmic/logarithmic.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Polynomial - -A polynomial trendline is a curved line that is used when data fluctuates. - -To render a polynomial trendline, use trendline [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Polynomial`. - -`PolynomialOrder` used to define the polynomial value. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/polynomial/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Polynomial.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/polynomial/polynomial.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Power - -A power trendline is a curved line that is best used with data sets that compare measurements that increase at a specific rate. - -To render a power trendline, use trendline [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `Power`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/power/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Power.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/power/power.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Moving Average - -A moving average trendline smoothen out fluctuations in data to show a pattern or trend more clearly. - -To render a moving average trendline, use trendline [`Type`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html) as `MovingAverage`. - -`Period` property defines the period to find the moving average. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/movingaverage/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Movingaverage.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/movingaverage/movingaverage.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Customization of Trendlines** - -The [`Fill`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html#Syncfusion_EJ2_Charts_ChartTrendline_Fill) and [`Width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartTrendline.html#Syncfusion_EJ2_Charts_ChartTrendline_Width) properties are used to customize the appearance of the trendline. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/custom-trendline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-trendline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/custom-trendline/custom-trendline.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Forecasting - -Trendlines forecasting is the prediction of future/past situations. - -Forecasting can be classified into two types as follows - -* Forward Forecasting -* Backward Forecasting - -**Forward Forecasting** - -The value set for forwardForecast is used to determine the distance moving towards the future trend. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/forward-forecast/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Forward-forecast.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/forward-forecast/forward-forecast.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Backward Forecasting** - -The value set for the backwardForecast is used to determine the past trends. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/backward-forecast/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Backward-forecast.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/backward-forecast/backward-forecast.cs %} -{% endhighlight %} -{% endtabs %} - - -## Show or hide a trendline - -You can show or hide the trendline by setting trendline `visible` property. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/hide/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Hide.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/trendlines/hide/hide.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-mvc/chart/working-with-data.md b/chart-sdk/asp-net-mvc/chart/working-with-data.md deleted file mode 100644 index 78e3c7201..000000000 --- a/chart-sdk/asp-net-mvc/chart/working-with-data.md +++ /dev/null @@ -1,204 +0,0 @@ ---- -layout: post -title: Working with data in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about Working with data in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Working with data -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Working with data in ASP.NET MVC Chart Component - -Chart can visualize data bound from local or remote data. - -## Local data - -You can bind a simple JSON data to the chart using [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource) property in series. Now map the fields in JSON to [`XName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_XName) and [`YName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_YName) properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/local-data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Local-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/local-data/local-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Common datasource - -You can also bind a JSON data common to all series using [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource) property in chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/common-data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Common-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/common-data/common-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Remote data - -You can also bind remote data to the chart using `DataManager`. The DataManager requires minimal information like webservice URL, adaptor and crossDomain to interact with service endpoint properly. Assign the instance of DataManager to the [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_DataSource) property in series and map the fields of data to [`XName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_XName) and [`YName`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_YName) properties. You can also use the [`Query`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartSeries.html#Syncfusion_EJ2_Charts_ChartSeries_Query) property of the series to filter the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/remote-data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Remote-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/remote-data/remote-data.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Binding data using ODataAdaptor - -[`OData`](http://www.odata.org/documentation/odata-version-3-0/) is a standardized protocol for creating and consuming data. You can retrieve data from an OData service using the DataManager. Refer to the following code example for remote data binding using an OData service. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/odata-adaptor/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Odata-adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/odata-adaptor/odata-adaptor.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Binding data using ODataV4Adaptor - -ODataV4 is an improved version of the OData protocols, and the `DataManager` can also retrieve and consume ODataV4 services. For more details on ODataV4 services, refer to the [`odata documentation`](http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html#_Toc453752197). To bind an ODataV4 service, use the **ODataV4Adaptor**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/odatav4-adaptor/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Odatav4-adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/odatav4-adaptor/odatav4-adaptor.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Web API adaptor - -You can use the **WebApiAdaptor** to bind the chart with a Web API created using an OData endpoint. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/web-adaptor/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Web-adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/web-adaptor/web-adaptor.cs %} -{% endhighlight %} -{% endtabs %} - -The response object should contain the properties **Items** and **Count**, where **Items** represents a collection of entities, and **Count** represents the total number of entities. - -The sample response object should appear as follows: - -``` -{ - Items: [{..}, {..}, {..}, ...], - Count: 830 -} -``` - - - -## Custom adaptor - -You can create your own adaptor by extending the built-in adaptors. The following demonstrates the custom adaptor approach and how to add a serial number to the records by overriding the built-in response processing using the **processResponse** method of the **ODataAdaptor**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/custom-adaptor/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-adaptor.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/custom-adaptor/custom-adaptor.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Offline mode - -When using remote data binding, all chart actions will be processed on the server-side. To avoid postback for every action, configure the chart to load all data upon initialization and handle actions on the client-side. To enable this behavior, utilize the **offline** property of the `DataManager`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/offline-mode/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Offline-mode.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/offline-mode/offline-mode.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Empty points - -The Data points that uses the `null` or `undefined` as value are considered as empty points. Empty data points are ignored and not plotted in the Chart. When the data is provided by using the points property, By using `EmptyPointSettings` property in series, you can customize the empty point. Default `Mode` of the empty point is `Gap`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/empty-points/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-points.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/empty-points/empty-points.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Lazy loading - -Lazy loading allows you to load data for chart on demand. Chart will fire the scrollEnd event, in that we can get the minimum and maximum range of the axis, based on this, we can upload the data to chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/lazy-loading/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Local-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/lazy-loading/local-data.cs %} -{% endhighlight %} -{% endtabs %} - - -**Customizing empty point** - -Specific color for empty point can be set by `Fill` property in `EmptyPointSettings`. Border for a empty point can be set by `Border` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/custom-emptypoint/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-emptypoint.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/custom-emptypoint/custom-emptypoint.cs %} -{% endhighlight %} -{% endtabs %} - -## Handling No Data - -When no data is available to render in the chart, the `NoDataTemplate` property can be used to display a custom layout within the chart area. This layout may include a message indicating the absence of data, a relevant image, or a button to initiate data loading. Styled text, images, or interactive elements can be incorporated to maintain design consistency and improve user guidance. Once data becomes available, the chart automatically updates to display the appropriate visualization. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/no-data-template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="No-data-template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/axis/working-data/no-data-template/no-data-template.cs %} -{% endhighlight %} -{% endtabs %} - -![ASP.NET MVC Chart Control](images/nodatatemplate-chart.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/chart/zooming.md b/chart-sdk/asp-net-mvc/chart/zooming.md deleted file mode 100644 index 49a71e448..000000000 --- a/chart-sdk/asp-net-mvc/chart/zooming.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -layout: post -title: Zooming in ASP.NET MVC Syncfusion Chart Component -description: Learn here all about Zooming in Syncfusion ASP.NET MVC Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Zooming -publishingplatform: chart-sdk -documentation: ug ---- - - -# Zooming and Panning in ASP.NET MVC Chart Component - -## Enable zooming - -Chart can be zoomed in three ways. - -* Selection - By setting [`EnableSelectionZooming`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html) property to true in `ZoomSettings`, you can zoom the chart by using the rubber band selection. -* Mousewheel - By setting [`EnableMouseWheelZooming`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html) property to true in `ZoomSettings`, you can zoomin and zoomout the chart by scrolling the mouse wheel. -* Pinch - By setting [`EnablePinchZooming`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html) property to true in `ZoomSettings`, you can zoom the chart through pinch gesture in touch enabled devices. - -N> Pinch zooming is supported only in browsers that support multi-touch gestures. Currently IE11, Chrome and Opera browsers support multi-touch in desktop devices. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/default/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Default.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/default/default.cs %} -{% endhighlight %} -{% endtabs %} - - - -After zooming the chart, a zooming toolbar will appear with `zoom`,`zoomin`, `zoomout`, `pan` and `reset` buttons. Selecting the Pan option will allow to pan the chart and selecting the Reset option will reset the zoomed chart. - -## Modes - -The [`Mode`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ZoomMode.html) property in zoomSettings specifies whether the chart is allowed to scale along the horizontal axis or vertical axis. The default value of the mode is XY (both axis). - -There are three types of mode. - -* X - Allows us to zoom the chart horizontally. -* Y - Allows us to zoom the chart vertically. -* XY - Allows us to zoom the chart both vertically and horizontally. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/mode/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Mode.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/mode/mode.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Toolbar - -By default, zoomin, zoomout, pan and reset buttons will be displayed for zoomed chart. You can customize to show the desired options in the toolbar using the [`ToolbarItems`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_zoomsettings_ToolbarItems) property. Also using the [`ShowToolbar`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_zoomsettings_ShowToolbar) property, you can show toolkit for zooming and panning the chart during initial rendering itself. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/toolbar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Toolbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/toolbar/toolbar.cs %} -{% endhighlight %} -{% endtabs %} - -### Toolbar customization - -The zoom toolbar in the chart can be repositioned using the [`ToolbarPosition`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_ChartZoomSettings_ToolbarPosition) property, allowing flexible alignment and placement. It supports horizontal alignments (**Near**, **Center**, and **Far**) and vertical alignments (**Top**, **Middle**, and **Bottom**), with default values set to **Far** and **Top**, respectively. For precise placement, the [`X`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartToolbarPosition.html#Syncfusion_EJ2_Charts_ChartToolbarPosition_X) and [`Y`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartToolbarPosition.html#Syncfusion_EJ2_Charts_ChartToolbarPosition_Y) properties can be used to adjust the toolbar's position within the chart area. Additionally, enabling the [`Draggable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartToolbarPosition.html#Syncfusion_EJ2_Charts_ChartToolbarPosition_Draggable) property allows users to freely move the toolbar within the chart area, ensuring optimal usability. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/toolbar-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Toolbar-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/toolbar-custom/toolbar-custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Enable pan - -Using [`EnablePan`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html) property you can able to pan the zoomed chart without help of toolbar items. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/pan/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Pan.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/pan/pan.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Enable scrollbar - -Using the [`EnableScrollbar`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_ChartZoomSettings_EnableScrollbar) property, you can add a scrollbar to a zoomed chart. This scrollbar allows you to zoom or pan the chart. The appearance of the scrollbar can be customized using properties in [`ScrollbarSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html). For example, you can use [`TrackColor`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_TrackColor) and [`TrackRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_TrackRadius) properties to customize the track of the scrollbar, and [`ScrollbarRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_ScrollbarRadius) and [`ScrollbarColor`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_ScrollbarColor) properties to customize the scroller. The ability to zoom through the scrollbar can be enabled or disabled using the [`EnableZoom`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_EnableZoom) property in [`ScrollbarSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html). Additionally, you can change the color of the grip and height of the scrollbar using the [`GripColor`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_GripColor) and [`Height`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_Height) properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/scrollbar/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Scrollbar.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/scrollbar/scrollbar.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Position - -The [`Position`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartScrollbarSettings.html#Syncfusion_EJ2_Charts_ChartScrollbarSettings_Position) property allows users to specify their preferred scrollbar location. By default, both vertical and horizontal scrollbars are rendered near their respective axes. Using the customization options below, you can position the scrollbar as desired: - -* Default: `placeNextToAxisLine`. -* Horizontal scrollbar: Available positions are `Top` and `Bottom`. -* Vertical scrollbar: Available positions are `Left` and `Right`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Enable animation - -Enable the [`EnableAnimation`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.ChartZoomSettings.html#Syncfusion_EJ2_Charts_ChartZoomSettings_EnableAnimation) property to experience smooth transitions when zooming in on the chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/animation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Auto interval on zooming - -By using [`EnableAutoIntervalOnZooming`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Charts.ChartAxis.html) property, the axis interval will get calculated automatically with respect to the zoomed range. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/auto-interval/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Auto-interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/charts/user-interaction/zoom/auto-interval/auto-interval.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/charts/getting-started.md b/chart-sdk/asp-net-mvc/charts/getting-started.md index b2a6cc872..5485711bb 100644 --- a/chart-sdk/asp-net-mvc/charts/getting-started.md +++ b/chart-sdk/asp-net-mvc/charts/getting-started.md @@ -1,7 +1,7 @@ --- layout: post title: Getting Started with ASP.NET MVC Chart Control | Syncfusion -description: Checkout and learn about getting started with ASP.NET MVC Chart control of Syncfusion Essential JS 2 and more details. +description: Check out and learn about getting started with ASP.NET MVC Chart control of Syncfusion Essential JS 2 and more details. platform: chart-sdk control: Getting Started publishingplatform: chart-sdk @@ -12,14 +12,12 @@ documentation: ug # Getting Started with the ASP.NET MVC Chart Control This section briefly explains how to add the Syncfusion® [ASP.NET MVC Chart](https://www.syncfusion.com/aspnet-mvc-ui-controls/charts) control to your ASP.NET MVC application using Visual Studio. -> **Ready to streamline your Syncfusion® ASP.NET MVC development?** Discover the full potential of Syncfusion® ASP.NET MVC controls with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like Visual Studio, Visual Studio Code, Cursor, Syncfusion®, CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/aspnetmvc/documentation/ai-coding-assistant/overview) - ## Prerequisites Refer to the [System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) before creating the application. -## Create an ASP.NET MVC Application with HTML Helper +## Create an ASP.NET MVC application with HTML helper You can create an ASP.NET MVC application using either of the following options: @@ -27,7 +25,7 @@ You can create an ASP.NET MVC application using either of the following options: * [Create a project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) -## Install the ASP.NET MVC NuGet Package +## Install the ASP.NET MVC NuGet package To add Syncfusion® **ASP.NET MVC** controls in the application, open the NuGet Package Manager in Visual Studio by selecting (Tools → NuGet Package Manager → Manage NuGet Packages for Solution). Search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and install it. @@ -44,7 +42,7 @@ Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} N> Syncfusion® ASP.NET MVC controls are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). Refer to the [NuGet packages](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) topic to learn more about installing NuGet packages in various operating system environments. The Syncfusion.EJ2.MVC5 NuGet package depends on [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating the Syncfusion® license key. -## Add the Namespace +## Add the namespace Add the **Syncfusion.EJ2** namespace reference in the `Web.config` file available in the `Views` folder. @@ -53,13 +51,12 @@ Add the **Syncfusion.EJ2** namespace reference in the `Web.config` file availabl - {% endhighlight %} {% endtabs %} -## Add Script Resources +## Add script resources Add the script reference inside the `` element of the `~/Views/Shared/_Layout.cshtml` file as follows. @@ -93,7 +90,11 @@ Register the script manager `EJS().ScriptManager()` at the end of the `` e {% endhighlight %} {% endtabs %} -## Add the ASP.NET MVC Chart Control +## Build the Chart + +This section walks through adding the Chart control to `~/Views/Home/Index.cshtml` and progressively binding data to it. + +### Step 1: Add the chart control Add the Syncfusion® ASP.NET MVC Chart control to the `~/Views/Home/Index.cshtml` page. @@ -109,9 +110,9 @@ Press Ctrl + F5 on Windows or + F5 Explore the sample on [GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/Chart/ASP.NET%20MVC%20Razor%20Examples) to understand how this getting started example works. -## See Also +## Troubleshooting + +If the Chart control does not render as expected, review the following common issues and their resolutions. + +* **"Unlicensed" watermark appears on the page** — The `Syncfusion.Licensing` package is installed but the license key has not been registered. Register the license key in `~/App_Start/FilterConfig.cs` (or `Program.cs`) and rebuild. See [Registering the Syncfusion license key](https://ej2.syncfusion.com/aspnetmvc/documentation/licensing/how-to-register-in-an-application). + +* **"Script Manager is not defined" or scripts run twice** — `@Html.EJS().ScriptManager()` was not added, or was added more than once. Ensure `ScriptManager` is registered exactly once at the end of `` in `_Layout.cshtml`. + +* **"Could not load file or assembly 'Syncfusion.EJ2'"** — The NuGet package was not restored. Run `Update-Package -reinstall` in the Package Manager Console, or restore via Visual Studio (right-click solution → Restore NuGet Packages). + +* **Chart renders but no data points appear** — `XName` / `YName` do not match the property names in the data source. Property names are case-sensitive; verify they match the anonymous-type property names exactly (e.g., `Month`, `Sales`). + +* **`Newtonsoft.Json` reference error after upgrade** — `Syncfusion.EJ2.MVC5` requires a specific `Newtonsoft.Json` version. Install a compatible `Newtonsoft.Json` version (≥ 12.0.2) via NuGet. + +## See also + +* [Chart Types in ASP.NET MVC ](https://ej2.syncfusion.com/aspnetmvc/documentation/chart/chart-types) +* [Data Binding in ASP.NET MVC Chart ](https://ej2.syncfusion.com/aspnetmvc/documentation/chart/working-with-data) +* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-core-mvc-taghelper) -* [Getting Started with Syncfusion® ASP.NET MVC using HTML Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-mvc-htmlhelper) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file +> **Ready to streamline your Syncfusion® ASP.NET MVC development?** Discover the full potential of Syncfusion® ASP.NET MVC controls with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/aspnetmvc/documentation/ai-coding-assistant/overview) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/circular-chart-3d/data-label.md b/chart-sdk/asp-net-mvc/circular-chart-3d/data-label.md deleted file mode 100644 index 767c986f4..000000000 --- a/chart-sdk/asp-net-mvc/circular-chart-3d/data-label.md +++ /dev/null @@ -1,188 +0,0 @@ ---- -layout: post -title: Data Label in Syncfusion ASP.NET MVC 3D Circular Chart Component -description: Learn here all about data label in Syncfusion ASP.NET MVC 3D Circular Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Label -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Label in ASP.NET MVC 3D Circular Chart Component - -A data label refers to a label associated with specific data points. It can be added to a 3D Circular Chart series by enabling the `Visible` option in the `DataLabel` property. By default, the labels will arrange themselves smartly to avoid overlapping. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/datalabel/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Datalabel.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/datalabel/datalabel.cs %} -{% endhighlight %} -{% endtabs %} - -## Positioning - -Using the `Position` property, we can place the data label either `Inside` or `Outside` the 3D Circular Chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/position/position.cs %} -{% endhighlight %} -{% endtabs %} - -## Data label template - -The label content can be formatted using the template option. Inside the template, placeholder text `${point.x}` and `${point.y` can be added to display the corresponding data point's x & y value. The data label template can be set using the `Template` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/template/template.cs %} -{% endhighlight %} -{% endtabs %} - -## Connector line - -The connector line will be visible when the data label is placed `Outside` the chart. It can be customized using properties such as `Color`, `Width`, `Length`, and `DashArray` within the `ConnectorStyle` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/connector-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Connector-line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/connector-line/connector-line.cs %} -{% endhighlight %} -{% endtabs %} - - -## Text mapping - -Text from the data source can be mapped using the `Name` property within the data label. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/text-mapping/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Text-mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/text-mapping/text-mapping.cs %} -{% endhighlight %} -{% endtabs %} - - -## Format - -The data label for the 3D Circular Chart can be formatted using the `Format` property. You can utilize global formatting options such as 'n', 'p', and 'c'. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ValueFormatResultant ValueDescription
    1000n11000.0The number is rounded to 1 decimal place.
    1000n21000.00The number is rounded to 2 decimal places.
    1000n31000.000The number is rounded to 3 decimal place.
    0.01p11.0%The number is converted to percentage with 1 decimal place.
    0.01p21.00%The number is converted to percentage with 2 decimal place.
    0.01p31.000%The number is converted to percentage with 3 decimal place.
    1000c1$1000.0The currency symbol is appended to number and number is rounded to 1 decimal place.
    1000c2$1000.00The currency symbol is appended to number and number is rounded to 2 decimal place.
    - -## Customization - -Individual text for the data points in the 3D Circular Chart can be customized using the `TextRender` event. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Using textRender event - -You can customize the data label of a pie chart using the `TextRender` event as follows to show the percentage. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/text-render/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Text-render.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/text-render/text-render.cs %} -{% endhighlight %} -{% endtabs %} - -## Using template - -You can display the percentage values in the data label of a pie chart using the `Template` option. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/percentage/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/datalabel/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/circular-chart-3d/empty-points.md b/chart-sdk/asp-net-mvc/circular-chart-3d/empty-points.md deleted file mode 100644 index b7343f5d3..000000000 --- a/chart-sdk/asp-net-mvc/circular-chart-3d/empty-points.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: post -title: Empty points in ASP.NET MVC Syncfusion 3D Circular Chart Component -description: Learn here all about empty points in Syncfusion ASP.NET MVC 3D Circular Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Empty points -publishingplatform: chart-sdk -documentation: ug ---- - - -# Empty points in ASP.NET MVC 3D Circular Chart Component - -Data points containing `null` or `undefined` values are considered empty points. These empty data points are ignored and not plotted in the 3D Circular Chart. You can customize the handling of empty points using the `EmptyPointSettings` property in the series. The default mode for empty points is `Gap`. Other supported modes include `Average`, `Drop`, and `Zero`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/pie-donut/empty-points/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-points.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/pie-donut/empty-points/empty-points.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -A specific color for an empty point can be set by using the `Fill` property in `EmptyPointSettings`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/pie-donut/empty-point-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Empty-point-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/pie-donut/empty-point-custom/empty-point-custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/circular-chart-3d/getting-started.md b/chart-sdk/asp-net-mvc/circular-chart-3d/getting-started.md deleted file mode 100644 index 7cbeafb92..000000000 --- a/chart-sdk/asp-net-mvc/circular-chart-3d/getting-started.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET MVC Circular Gauge | Syncfusion -description: Check out and learn about getting started with the ASP.NET MVC Circular Gauge control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - - -# Getting Started with the ASP.NET MVC Circular Gauge Control - -This section briefly explains how to add the Syncfusion® [ASP.NET MVC Circular Gauge](https://www.syncfusion.com/aspnet-mvc-ui-controls/circular-gauge) control to an ASP.NET MVC 5 (.NET Framework) application using Visual Studio. - -## Prerequisites - -Refer to the [System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) before creating the application. - -## Create an ASP.NET MVC application with HTML helper - -You can create an ASP.NET MVC application using either of the following options: - -* [Create a project using Microsoft templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) -* [Create a project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) - -## Install the ASP.NET MVC NuGet package - -To add Syncfusion® **ASP.NET MVC** controls in the application, open the NuGet Package Manager in Visual Studio by selecting **Tools → NuGet Package Manager → Manage NuGet Packages for Solution**. Search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and install it. - -Alternatively, you can use the Package Manager Console by navigating to **Tools → NuGet Package Manager → Package Manager Console**, and then run the following command: - -{% tabs %} -{% highlight bash tabtitle="Package Manager Console" %} - -Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET MVC controls are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). Refer to the [NuGet packages](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) topic to learn more about installing NuGet packages in various operating system environments. The `Syncfusion.EJ2.MVC5` NuGet package depends on [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) (≥ 12.0.2) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating the Syncfusion® license key. - -## Add the namespace - -Add the **Syncfusion.EJ2** namespace reference inside the `` → `` → `` element of the `~/Views/Web.config` file. - -{% tabs %} -{% highlight xml tabtitle="~/Views/Web.config" %} - - - - - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Add the script reference inside the `` element of the `~/Views/Shared/_Layout.cshtml` file as follows. The reference loads the base `ej2.min.js` bundle, which contains the Syncfusion® ASP.NET MVC helper scripts. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Refer to the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in an ASP.NET MVC application. - -## Register the Syncfusion® Script Manager - -Register the script manager `EJS().ScriptManager()` at the end of the `` element in the `~/Views/Shared/_Layout.cshtml` file as follows. The Script Manager resolves and loads control-specific scripts automatically. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - @Html.EJS().ScriptManager() - - -{% endhighlight %} -{% endtabs %} - -## Build the Circular Gauge - -This section walks through adding the Circular Gauge control to `~/Views/Home/Index.cshtml` and configuring its title and axis. - -### Step 1: Add the Circular Gauge control - -Add the Syncfusion® ASP.NET MVC Circular Gauge control to the `~/Views/Home/Index.cshtml` page. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - -@Html.EJS().CircularGauge("container").Render() - -{% endhighlight %} -{% endtabs %} - -Press Ctrl + F5 on Windows or + F5 on macOS to run the application. The Circular Gauge control will be rendered as an empty placeholder in the default web browser. - -![ASP.NET MVC Circular Gauge Control](images/circulargauge-control.png) - -### Step 2: Add a title - -Use the [Title](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGauge.html#Syncfusion_EJ2_CircularGauge_CircularGauge_Title) property to add a heading that provides quick information to the user. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - -@Html.EJS().CircularGauge("container").Title("Speed").Render() - -{% endhighlight %} -{% endtabs %} - -### Step 3: Configure the axis - -Use the [Minimum](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_Minimum) and [Maximum](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_Maximum) properties of the axis to set the value range. The [StartAngle](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_StartAngle) and [EndAngle](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_EndAngle) properties (in degrees) define the arc, and [Radius](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.CircularGauge.CircularGaugeAxis.html#Syncfusion_EJ2_CircularGauge_CircularGaugeAxis_Radius) (as a percentage) controls the gauge size. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - -@Html.EJS().CircularGauge("container").Title("Speed").Axes(axes => -axes.EndAngle(120).StartAngle(240).Radius("90%").Minimum(0).Maximum(120).Add()).Render(); - -{% endhighlight %} -{% endtabs %} - -![ASP.NET MVC CircularGauge with Title and Axis](images/circulargauge-with-axis.png) - -N> Explore the [ASP.NET MVC Circular Gauge sample on GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/CircularGauge/ASP.NET%20MVC%20Razor%20Examples) to understand how this getting started example works. - - -## Troubleshooting - -If the Circular Gauge control does not render as expected, review the following common issues and their resolutions. - -* **"Script Manager is not defined" or scripts run twice** — `@Html.EJS().ScriptManager()` was not added, or was added more than once. Ensure `ScriptManager` is registered exactly once at the end of `` in `_Layout.cshtml`. - -* **Gauge is empty (no value indicator visible)** — A `Pointers(...)` block was not added. The axis range alone only draws the arc; add a pointer with `.Value()` to show the value. - -* **`Newtonsoft.Json` reference error after upgrade** — `Syncfusion.EJ2.MVC5` requires `Newtonsoft.Json` ≥ 12.0.2. Install a compatible version via NuGet. - -## See also - -* [Pointers in ASP.NET MVC Circular Gauge](https://ej2.syncfusion.com/aspnetmvc/documentation/circular-gauge/gauge-pointers) -* [Ranges in ASP.NET MVC Circular Gauge](https://ej2.syncfusion.com/aspnetmvc/documentation/circular-gauge/gauge-ranges) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/circular-chart-3d/images/circular-chart-3d.png b/chart-sdk/asp-net-mvc/circular-chart-3d/images/circular-chart-3d.png deleted file mode 100644 index ed059cd15df3a89986aa20164a6b8be1be1d7bde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39087 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

    Tgi94)jyi-q}L3 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
    vhco_xwU#h_^P%#Ms&LCFVU1rV^uW|958kq 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 tooltip.Enable(true).Format("${point.x:MMM yyyy} : ${point.y:n2}%")) -``` - -In the above example, `point.x` is displayed in month-year format and `point.y` is displayed with two decimal places. - -Inline formatting can be applied to the following tooltip tokens: - -- `point.x` – Specifies the x-value or category value of the 3D circular chart point. -- `point.y` – Specifies the numeric y-value of the 3D circular chart point. -- `point.percentage` – Specifies the percentage contribution of the point value in the 3D circular chart. -- `point.text` – Specifies the text value mapped to the point, when text mapping is configured. -- `point.tooltip` – Specifies the tooltip value mapped from the data source, when tooltip mapping is configured. -- `point.index` – Specifies the index position of the point in the 3D circular chart. -- `point.color` – Specifies the fill color applied to the point. -- `point.visible` – Specifies the visibility state of the point. -- `series.name` – Specifies the name assigned to the 3D circular chart series. -- `series.opacity` – Specifies the opacity value applied to the 3D circular chart series. - -**Important:** The availability of point-specific tokens depends on the values configured in the data source and the 3D circular chart series. For example, `point.percentage` is useful for pie and doughnut charts, while `point.text` and `point.tooltip` depend on the corresponding field mappings. String tokens such as `series.name`, `point.text`, `point.tooltip`, `point.color`, and `point.visible` return string values, so DateTime or number formatting is not applied to these tokens. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimals - - `c2` – currency format - - `p1` – percentage format - - `e1` – exponential notation - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/inline-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Inline-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/inline-format/inline-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Tooltip template - -Any HTML elements can be displayed in the tooltip by using the `Template` property in the tooltip. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/template/template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Fixed tooltip - -By default, the tooltip tracks the mouse movement, but it can be set to a fixed position using the `Location` property in `Tooltip`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/fixed-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Fixed-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/fixed-tooltip/fixed-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -The `Fill` and `Border` properties are used to customize the background color and border of the tooltip, respectively. The `TextStyle` property in the tooltip is used to customize the font of the tooltip text. Additionally, the `HighlightColor` property can be used to change the color of the data point when hovering. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/tooltip-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/tooltip-custom/tooltip-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization of individual tooltip - -Using the `TooltipRender` event, you can customize tooltip values for a particular point. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/tooltip-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/3d-circular-charts/user-interaction/tooltip-event/tooltip-event.cs %} -{% endhighlight %} -{% endtabs %} - - diff --git a/chart-sdk/asp-net-mvc/heatmap-chart/images/default-template.png b/chart-sdk/asp-net-mvc/heatmap-chart/images/default-template.png deleted file mode 100644 index 34fc6a83c8ee792472f32c7e7e27e362bc031311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33800 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

    `senD1+oT8qNYGWR4Qk?0grS92vRxy$s$-#zZC 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 | -| Screen Reader Support | Yes | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Yes | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | - - -

    - -
    Intermediate - Some features of the component do not meet the requirement.
    - -
    No - The component does not meet the requirement.
    - - -## WAI-ARIA attributes - -The Range navigator component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Range navigator component: - -* region (role) -* aria-label (attribute) - -## Keyboard interaction - -The Range navigator component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Range navigator component. - -| **Press** | **To do this** | -| --- | --- | -| Tab | Moves the focus to the Range navigator element. | -| Ctrl + P | Prints the Range navigator. | - -## Ensuring accessibility - -The Range navigator component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Range navigator component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/range-navigator.html) in a new window to evaluate the accessibility of the Range navigator component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/range-navigator.html" %} - -## See also - -* [Accessibility in Syncfusion® ASP.NET MVC components](../common/accessibility) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/custom.md b/chart-sdk/asp-net-mvc/range-selector/custom.md deleted file mode 100644 index b0894afe4..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/custom.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -layout: post -title: Custom in ASP.NET MVC Range Navigator Component -description: Learn here all about Custom in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Custom -publishingplatform: chart-sdk -documentation: ug ---- - - -# Customization - -## Navigator appearance - -The Range Selector can be customized by using the `navigatorStyleSettings`. The `selectedRegionColor` property is used to specify the color for the selected region, whereas the `unselectedRegionColor` property is used to specify the color for the unselected region. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/appearance/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Appearance.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/appearance/appearance.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Range Selector appearance](images/custom/appearance.png) - -## Thumb - -The thumb property allows to customize the border, fill color, size, and type of thumb. Thumbs can be of two shapes: **Circle** and **Rectangle**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/thumb/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Thumb.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/thumb/thumb.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Thumb](images/custom/thumb.png) - -## Border customization - -Using the `navigatorBorder`, the `width` and `color` of the Range Selector border can be customized. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/border/border.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Range Selector Border](images/custom/border.png) - -## Deferred update - -If the `enableDeferredUpdate` property is set to **true**, then the changed event will be triggered after dragging the slider. If the `enableDeferredUpdate` is **false**, then the changed event will be triggered when dragging the slider. By default, the `enableDeferredUpdate` is set to **false**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/defer/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Snap.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/defer/snap.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Allow snapping - -The `allowSnapping` property toggles the placement of the slider exactly to the left or on the nearest interval. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/snap/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Snap.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/snap/snap.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Animation - -The speed of the animation can be controlled using the `animationDuration` property. The default value of the `animationDuration` property is **500** milliseconds. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/animation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Animation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/custom/animation/animation.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See Also - -* [Grid and Tick Lines](./grid-tick/) -* [Labels](./labels/) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/data.md b/chart-sdk/asp-net-mvc/range-selector/data.md deleted file mode 100644 index 99913e09d..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/data.md +++ /dev/null @@ -1,298 +0,0 @@ ---- -layout: post -title: Data in ASP.NET MVC Range Navigator Component -description: Learn here all about Data in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Types of data - -## Numeric - -The numeric scale is used to represent the numeric values of data in a Range Selector. By default, the `valueType` of a Range Selector is **Double**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/double/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Double.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/double/double.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Numeric](images/data/double.png) - -### Range - -The minimum and the maximum of the scale will be calculated automatically based on the provided data. It can be customized by using the `minimum`, `maximum`, and `interval` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Numeric range](images/data/numeric-range.png) - -### Label Format - -The numeric labels can be formatted using the `labelFormat` property and it supports all the globalized formats. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Numeric label format](images/data/format.png) - -The following table describes the result of applying some commonly used label formats on numeric values. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Label ValueLabel Format property valueResult Description
    1000n11000.0The Number is rounded to 1 decimal place
    1000n21000.00The Number is rounded to 2 decimal place
    1000n31000.000The Number is rounded to 3 decimal place
    0.01p11.0%The Number is converted to percentage with 1 decimal place
    0.01p21.00%The Number is converted to percentage with 2 decimal place
    0.01p31.000%The Number is converted to percentage with 3 decimal place
    1000c1$1,000.0The Currency symbol is appended to number and number is rounded to 1 decimal place
    1000c2$1,000.00The Currency symbol is appended to number and number is rounded to 2 decimal place
    - -### Custom Label Format - -The Range Selector also supports the Custom Label formats using the placeholders such as **{value}$**, in which the value represents the axis label, e.g. 20$. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/format/format.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Custom label format](images/data/custom-format.png) - -## Logarithmic Axis - - - -The Logarithmic supports the logarithmic scale, and it is used to visualize the data when the Range Selector has numerical values in both the lower (e.g.: 10-6) and the higher (e.g.: 106) orders of the magnitude. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/log/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Log.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/log/log.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Logarithmic](images/data/log.png) - -### Range - -The minimum and the maximum of the Range Selector will be calculated automatically based on the provided data. It can be customized by using the `minimum`, `maximum`, and `interval` properties. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/log-range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Log-range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/log-range/log-range.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Logarithmic range](images/data/log-range.png) - -### Logarithmic Base - -The Logarithmic Base can be customized using the `logBase` property. The default value of this property is **10**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/log-base/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Log-base.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/log-base/log-base.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Logarithmic base](images/data/log-base.png) - -## Date-time - -The Range Selector supports the DateTime scale and displays the DateTime values as labels in the specified format. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/date-time/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Date-time.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/date-time/date-time.cs %} -{% endhighlight %} -{% endtabs %} - - - -![DateTime](images/data/datetime.png) - -N>Date-time Range navigator supports date-time scale and displays date-time values as a labels in the specified format. - -### Interval Customization - -The DateTime intervals can be customized using the `interval` and the `intervalType` properties of the Range Selector. For example, if the `interval` is set to 2 and the `intervalType` is set to years, the interval will be considered to be 2 years. - -DateTime supports the following interval types: -* Auto -* Years -* Quarter -* Months -* Weeks -* Days -* Hours -* Minutes - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/date-time-interval/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Date-time-interval.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/date-time-interval/date-time-interval.cs %} -{% endhighlight %} -{% endtabs %} - - - -![DateTime interval type](images/data/datetime-interval.png) - -### Label Format - -The `labelFormat` property is used to format and parse the date to all globalize format. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/date-time-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Date-time-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/data/date-time-format/date-time-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -The following table shows the results of applying some common DateTime formats to the `labelFormat` property. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Label ValueLabel Format Property ValueResult Description
    new Date(2000, 03, 10)EEEEMondayThe Date is displayed in day format
    new Date(2000, 03, 10)yMd04/10/2000The Date is displayed in month/date/year format
    new Date(2000, 03, 10) MMM AprThe Shorthand month for the date is displayed
    new Date(2000, 03, 10)hm12:00 AMTime of the date value is displayed as label
    new Date(2000, 03, 10)hms12:00:00 AMThe Label is displayed in hours:minutes:seconds format
    \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/ej1-api-migration.md b/chart-sdk/asp-net-mvc/range-selector/ej1-api-migration.md deleted file mode 100644 index fee400024..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/ej1-api-migration.md +++ /dev/null @@ -1,1638 +0,0 @@ ---- -layout: post -title: Ej1 Api Migration in ASP.NET MVC Range Navigator Component -description: Learn here all about Ej1 Api Migration in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Ej1 Api Migration -publishingplatform: chart-sdk -documentation: ug ---- - - -# Migration from Essential® JS 1 - -This article describes the API migration process of Range navigator component from Essential® JS 1 to Essential® JS 2. - -## RangeNavigator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Allow snapping -Property:AllowSnapping -
    -
    - -@(Html.EJ().RangeNavigator("container") -.AllowSnapping(true) -) - -
    -Property:AllowSnapping -
    -
    - -@(Html.EJS().RangeNavigator("container") -.AllowSnapping(true) -) -
    Animation duration -Not Applicable - -Property:AnimationDuration -
    -
    - -@(Html.EJS().RangeNavigator("container") -.AnimationDuration("3000") -) -
    Border for range navigator -Property:Border -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Border(b => b.Color("red").Width("2")) -) - -
    -Property:NavigatorBorder -
    -
    - -@(Html.EJS().RangeNavigator("container") -.NavigatorBorder(b => b.Color("red").Width("2")) -) -
    dataSource for range navigator -Property:DataSource -
    -
    - -@(Html.EJ().RangeNavigator("container") -.DataSource() -) - -
    -Property:DataSource -
    -
    - -@(Html.EJS().RangeNavigator("container") -.DataSource(ViewBag.dataSource) -) -
    enabling deffered update for range navigator -Property:EnableDeferedUpdate -
    -
    - -@(Html.EJ().RangeNavigator("container") -.EnableDeferedUpdate(true) -) - -
    -Property:EnableDeferredUpdate -
    -
    - -@(Html.EJS().RangeNavigator("container") -.EnableDeferedUpdate(true) -) -
    multilevel level labels -Property:LabelSettings.HigherLevelLabels -
    -
    - -@(Html.EJ().RangeNavigator("container") -.LabelSettings(l => l.HigherLevelLabels()) -) - -
    -Property:EnableGrouping -
    -
    - -@(Html.EJS().RangeNavigator("container") -.EnableGrouping(false) -) -
    enabling scroll bar -Property:EnableScrollBar -
    -
    - -@(Html.EJ().RangeNavigator("container") -.EnableScrollBar(true) -) - -
    -Not Applicable -
    enabling auto resizing -Property:EnableAutoResize -
    -
    - -@(Html.EJ().RangeNavigator("container") -.EnableAutoResize(true) -) - -
    -Not Applicable -
    responsive of range navigator -Property:IsResponsive -
    -
    - -@(Html.EJ().RangeNavigator("container") -.IsResponsive(true) -) - -
    -Not Applicable -
    enabling RTL for range navigator -Property:EnableRtl -
    -
    - -@(Html.EJ().RangeNavigator("container") -.EnableRtl(true) -) - -
    -Property:EnableRtl -
    -
    - -@(Html.EJS().RangeNavigator("container") -.EnableRtl(true) -) -
    interval for range navigator -Property:ValueAxisSettings.Range.Interval -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ValueAxisSettings(v => v.Range(r => r.Interval("1"))) -) - -
    -Property:Interval -
    -
    - - -@(Html.EJS().RangeNavigator("container") -.Interval("1") -) -
    intervaltype for range navigator -Property:ValueAxisSettings.Range.IntervalType -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ValueAxisSettings(v => v.Range(r => r.IntervalType("Years"))) -) - -
    -Property:IntervalType -
    -
    - -@(Html.EJS().RangeNavigator("container") -.IntervalType(Syncfusion.EJ2.Charts.RangeIntervalType.Years) -) -
    labelformat for range navigator -Not applicable - -Property:LabelFormat -
    -
    - -@(Html.EJS().RangeNavigator("container") -.LabelFormat(yMd") -) -
    label intersect action for range navigator -Not applicable - -Property:LabelIntersectAction -
    -
    - -@(Html.EJS().RangeNavigator("container") -.LabelIntersectAction(Syncfusion.EJ2.Charts.RangeLabelIntersectAction.Hide) -) -
    labelStyle range navigator -Property:ValueAxisSettings.Font -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ValueAxisSettings(v => v.Font()) -) - -
    -Property:LabelStyle -
    -
    - -@(Html.EJS().RangeNavigator("container") -.LabelStyle() -) -
    locale of range navigator -Property:Locale -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Locale("en-US") -) - -
    -Property:Locale -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Locale("en-US") -) -
    major grid lines of range navigator -Property:ValueAxisSettings.MajorGridLines -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ValueAxisSettings(v => v.MajorGridLines(m => m.Width("2").Color("red"))) -) - -
    -Property:MajorGridLines -
    -
    - -@(Html.EJS().RangeNavigator("container") -.MajorGridLines(mg => mg.Color("blue").Width(2).DashArray("5,5")) -) -
    margin of range navigator -Not Applicable - -Property:Margin -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Margin() -) -
    maximum value of range navigator -Property:ValueAxisSettings.Range.Max -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ValueAxisSettings(v => v.Range(r => r.Max("34"))) -) - -
    -Property:Maximum -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Maximum("34") -) -
    minimum value of range navigator -Property:ValueAxisSettings.Range.Min -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ValueAxisSettings(v => v.Range(r => r.Min("10"))) -) - -
    -Property:Minimum -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Minimum("10") -) -
    query for data source of range navigator -Not Applicable - -Property:Query -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Query() -) -
    Secondary label alignment of range navigator -Not Applicable - -Property:SecondaryLabelAlignment -
    -
    - -@(Html.EJS().RangeNavigator("container") -.SecondaryLabelAlignmen("Far") -) -
    Skeleton of range navigator axis -Not Applicable - -Property:Skeleton -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Skeleton() -) -
    skeletontype of range navigator axis -Not Applicable - -Property:SkeletonType -
    -
    - -@(Html.EJS().RangeNavigator("container") -.SkeletonType() -) -
    Theme of range navigator -Property:Theme -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Theme() -) - -
    -Property:Theme -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Theme() -) -
    Default selector value range navigator -Property:SelectedRangeSettings -
    -
    - -@(Html.EJ().RangeNavigator("container") -.SelectedRangeSettings(s => s.Start("2").End("20")) -) - -
    -Property:Value -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Value("2,10") -) -
    Value type of range navigator -Property:ValueType -
    -
    - -$@(Html.EJS().RangeNavigator("container") -.ValueType("DateTime") -) - -
    -Property:valueType -
    -
    - -@(Html.EJS().RangeNavigator("container") -.ValueType(Syncfusion.EJ2.Charts.RangeValueType.DateTime) -
    Width of range navigator -Property:Size.Width -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Size(s => s.Width("400")) -) - -
    -Property:Width -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Width("400") -) -
    Height of range navigator -Property:Size.Height -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Size(s => s.Height("400")) -) - -
    -Property:Height -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Height("400") -) -
    Series settings for range navigator -Property:SeriesSettings -
    -
    - -@(Html.EJ().RangeNavigator("container") -.SeriesSettings() -) - -
    -Not Applicable -
    Range settings for range navigator -Property:RangeSettings -
    -
    - -@(Html.EJ().RangeNavigator("container") -.RangeSettings(r => r.Start("20").End("30")) -) - -
    -Not Applicable -
    Scroll range settings for range navigator -Property:ScrollRangeSettings -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ScrollRangeSettings(r => r.Start("20").End("30")) -) - -
    -Not Applicable -
    - -## Series - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    animation -Property:EnableAnimation -
    -
    - -@(Html.EJ().RangeNavigator("container") -.EnableAnimation(true) - -
    -Property:Animation -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Animation(a => a.Enable(true).Duration("3000")) -) -
    Border for range navigator series -Not Applicable - -Property:Border -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Border(b => b.Color("red").Width("2")) -) -
    dataSource for range navigator -Property:Series.DataSource -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Series(s => s.DataSource()) -) - -
    -Property:Series.DataSource -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Series(s => s.DataSource()) -) -
    query for data source of range navigator -Not Applicable - -Property:Query -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Series(s => s.Query()) -) -
    series type for range navigator -Property:Series.Type -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Series(s => s.Type(SeriesType.Line)) -) - -
    -Property:Series.Type -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Type(Syncfusion.EJ2.Charts.RangeNavigatorType.Line) -) -
    series xName for range navigator -Property:Series.XName -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Series(s => s.XName()) -) - -
    -Property:Series.XName -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Series(s => s.XName()) -) -
    series yName for range navigator -Property:Series.YName -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Series(s => s.YName()) -) - -
    -Property:Series.YName -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Series(s => s.YName()) -) -
    series fill color for range navigator -Property:Series.Fill -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Series(s => s.Fill("red")) -) - -
    -Property:Series.Fill -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Series(s => s.Fill("red")) -) -
    series width for range navigator -Property:Series.Width -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Series(s => s.Width("")) -) - -
    -Property:Series.Width -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Series(s => s.Width("")) -) -
    series dashArray for range navigator -Not Applicable - -Property:Series.DashArray -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Series(s => s.DashArray("10,5")) -) -
    - -## StyleSettings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Style settings of range navigator -Property:NavigatorStyleSettings -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings() -) - -
    -Property:StyleSettings -
    -
    - -@(Html.EJS().RangeNavigator("container") -.StyleSettings() -) -
    Selected region color of range navigator -Property:SelectedRegionColor -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.SelectedRegionColor("red")) -) - -
    -Property:SelectedRegionColor -
    -
    -@(Html.EJS().RangeNavigator("container") -.StyleSettings(s => s.SelectedRegionColor("red")) -) -
    UnSeleted region color of range navigator -Property:UnselectedRegionColor -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.UnSelectedRegionColor("red")) -) - -
    -Property:UnselectedRegionColor -
    -
    - -@(Html.EJS().RangeNavigator("container") -.StyleSettings(s => s.UnSelectedRegionColor("red")) -) -
    Thumb color of range navigator -Property:ThumColor -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.ThumColor("red")) -) - -
    -Property:ThumbSettings -
    -
    -@(Html.EJS().RangeNavigator("container") -.StyleSettings(s => s.ThumbSettings("red")) -) -
    Selected region opacity of range navigator -Property:SelectedRegionOpacity -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.SelectedRegionOpacity("0.4")) -) - -
    -Not Applicable -
    Unselected region opacity of range navigator -Property:UnselectedRegionOpacity -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.UnSelectedRegionOpacity("0.4")) -) - -
    -Not Applicable -
    Background for thumb -Property:Background -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.Background("red")) -) - -
    -Not Applicable -
    border for thumb -Property:Border -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.Border(b => b.Color("red").Width("2"))) -) - -
    -Not Applicable -
    Highlightsettings for range navigator -Property:HighlightSettings -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.HighlightSettings()) -) - -
    -Not Applicable -
    Selected style settings for range navigator -Property:SelectionSettings -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.SelectionSettings()) -) - -
    -Not Applicable -
    Left thumb template for range navigator -Property:LeftThumbTemplate -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.LeftThumbTemplate()) -) - -
    -Not Applicable -
    Right thumb template for range navigator -Property:RightThumbTemplate -
    -
    - -@(Html.EJ().RangeNavigator("container") -.NavigatorStyleSettings(n => n.RightThumbTemplate()) -) - -
    -Not Applicable -
    - -## Tooltip - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    tooltip -Property:Visible -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Tooltip(t => t.Visible(true)) -) - -
    -Property:Enable -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Tooltip(t => t.Enable(true)) -) -
    background color of tooltip -Property:BackgroundColor -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Tooltip(t => t.BackgroundColor("red")) -) - -
    -Property:Fill -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Tooltip(t => t.Fill("red")) -) -
    Font style of tooltip -Property:Font -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Tooltip(t => t.Font()) -) - -
    -Property:TextStyle -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Tooltip(t => t.TextStyle()) -) -
    Label format of tooltip -Property:LabelFormat -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Tooltip(t => t.LabelFormat("yMd")) -) - -
    -Property:Format -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Tooltip(t => t.Format("yMd")) -) -
    Display mode of tooltip -Property:TooltipDisplayMode -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Tooltip(t => t.TooltipDisplayMode("always")) -) - -
    -Property:displayMode -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Tooltip(t => t.DisplayMode("always")) -) -
    Template of tooltip -Not Applicable - -Property:Template -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Tooltip(t => t.Template("")) -) -
    Border of tooltip -Not Applicable - -Property:Border -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Tooltip(t => t.Border(b => b.Color("red").Width("2"))) -) -
    Opacity of tooltip -Not Applicable - -Property:Opacity -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Tooltip(t => t.Opacity("0.5"))) -) -
    - -## Period Selector - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    period selector -Not Applicable - -Property:PeriodSelector -
    -
    - -(Html.EJS().RangeNavigator("container") -.PeriodSelector(p => p.Periods(pr => pr.Interval("1").IntervalType("Months").Text("1M")))) -
    - -## Methods - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Print -Not Applicable - -Property:Print() -
    -
    - -@(Html.EJS().RangeNavigator("container") -RangeNavigator.Print()) - -
    Export -Not Applicable - -Property:export() -
    -
    - -@(Html.EJS().RangeNavigator("container") -RangeNavigator.Export()) - -
    - -## Events - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BehaviourAPI in Essential® JS 1API in Essential® JS 2
    Fires before loading the RangeNavigator. -Property:Load -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Load() -) - -
    -Property:Load -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Load() -) - -
    Fires before loading the RangeNavigator. -Property:Loaded -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Loaded() -) - -
    -Property:Loaded -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Loaded() -) - -
    Fires when the value changes in range navigator. -Property:RangeChanged -
    -
    - -@(Html.EJ().RangeNavigator("container") -.RangeChanged() -) - -
    -Property:Changed -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Changed() -) - -
    Fires before after resize the RangeNavigator. -Not Applicable - -Property:Resized -
    -
    - -@(Html.EJS().RangeNavigator("container") -.Resized() -) - -
    Fires before tooltip the RangeNavigator. -Not Applicable - -Property:TooltipRender -
    -
    - -@(Html.EJS().RangeNavigator("container") -.TooltipRender() -) - -
    Fires before period render in the RangeNavigator. -Not Applicable - -Property:SelectorRender -
    -
    - -@(Html.EJS().RangeNavigator("container") -.SelectorRender() -) - -
    Fires when scrollStart the RangeNavigator. -Property:ScrollStart -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ScrollStart() -) - -
    -Not Applicable -
    Fires when scrollEnd the RangeNavigator. -Property:ScrollEnd -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ScrollEnd() -) - -
    -Not Applicable -
    Fires when selected range Start the RangeNavigator. -Property:SelectedRangeStart -
    -
    - -@(Html.EJ().RangeNavigator("container") -.SelectedRangeStart() -) - -
    -Not Applicable -
    Fires when selected range ends the RangeNavigator. -Property:SelectedRangeEnd -
    -
    - -@(Html.EJ().RangeNavigator("container") -.SelectedRangeEnd() -) - -
    -Not Applicable -
    Fires when scroll range changed in the RangeNavigator. -Property:ScrollChanged -
    -
    - -@(Html.EJ().RangeNavigator("container") -.ScrollChanged() -) - -
    -Not Applicable -
    Fires when click in the RangeNavigator. -Property:Click -
    -
    - -@(Html.EJ().RangeNavigator("container") -.Click() -) - -
    -Not Applicable -
    Fires when right click in the RangeNavigator. -Property:RightClick -
    -
    - -@(Html.EJ().RangeNavigator("container") -.RightClick() -) - -
    -Not Applicable -
    Fires when double click in the RangeNavigator. -Property:DoubleClick -
    -
    - -@(Html.EJ().RangeNavigator("container") -.DoubleClick() -) - -
    -Not Applicable -
    \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/export.md b/chart-sdk/asp-net-mvc/range-selector/export.md deleted file mode 100644 index b09a77d20..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/export.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -layout: post -title: Export in ASP.NET MVC Range Navigator Component -description: Learn here all about Export in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Export -publishingplatform: chart-sdk -documentation: ug ---- - - -# Export and print - -## Export - -The rendered Range Selector can be exported to **JPEG**, **PNG**, **SVG**, or **PDF** format by using the `export` method in the Range Selector. This method contains the following parameters: - -* **Type** - To specify the export type. The component can be exported to **JPEG**, **PNG**, **SVG**, or **PDF** format. -* **File name** - To specify the file name to export. -* **Orientation** - To specify the orientation type. This is applicable only for PDF export type. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/print/export/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/print/export/export.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Print - -The rendered Range Selector can be printed directly from the browser by calling the public method `print`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/print/print/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/print/print/print.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/range-selector/getting-started.md b/chart-sdk/asp-net-mvc/range-selector/getting-started.md deleted file mode 100644 index bc2200885..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/getting-started.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET MVC Range Navigator | Syncfusion -description: Checkout and learn about getting started with ASP.NET MVC Range Navigator control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - - -# Getting Started with ASP.NET MVC Range Navigator Control - -This section briefly explains about how to include [ASP.NET MVC Range Navigator](https://www.syncfusion.com/aspnet-mvc-ui-controls/range-selector) control in your ASP.NET MVC application using Visual Studio. - -## Prerequisites - -[System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) - -## Create ASP.NET MVC application with HTML helper - -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) - -* [Create a Project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) - -## Install ASP.NET MVC package in the application - -To add `ASP.NET MVC` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and then install it. - -{% tabs %} -{% highlight C# tabtitle="Package Manager" %} - -Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET MVC controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.MVC5 NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. - -## Add namespace - -Add **Syncfusion.EJ2** namespace reference in `Web.config` under `Views` folder. - -``` - - - -``` - -## Add script resources - -Here, the script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. - -## Register Syncfusion® script manager - -Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Pages/Shared/_Layout.cshtml` file as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - -... - - @Html.EJS().ScriptManager() - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET MVC Range Navigator control - -Now, add the Syncfusion® ASP.NET MVC Range Navigator control in `~/Views/Home/Index.cshtml` page. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - -@(Html.EJS().RangeNavigator("container").Render()) - -{% endhighlight %} -{% endtabs %} - -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET MVC Range Navigator control will be rendered in the default web browser. - -![ASP.NET MVC Range Navigator Control](images/rangenavigator-control.png) - -## Populate range navigator with data - -Now, we are going to provide data to the range navigator. Add a series object to the range navigator by using series property. Now map the field names x and y in the JSON data to the [xName](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.RangeNavigator.html#Syncfusion_EJ2_Charts_RangeNavigator_XName) and [yName](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.RangeNavigator.html#Syncfusion_EJ2_Charts_RangeNavigator_YName) properties of the [series](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.RangeNavigator.html#Syncfusion_EJ2_Charts_RangeNavigator_Series), then set the JSON data to dataSource property. Since the JSON contains Datetime data, set the [valueType](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Charts.RangeNavigator.html#Syncfusion_EJ2_Charts_RangeNavigator_ValueType) as `DateTime`. By default, the axis valueType is Numeric. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/getting-started/data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="HomeController.cs" %} -public class HomeController : Controller -{ - public ActionResult Index() - { - List dataSource = new List - { - new data { x = new DateTime(2005, 01, 01), y = 21, y1 = 28 }, - new data { x = new DateTime(2006, 01, 01), y = 24, y1 = 44 }, - new data { x = new DateTime(2007, 01, 01), y = 36, y1 = 48 }, - new data { x = new DateTime(2008, 01, 01), y = 38, y1 = 50 }, - new data { x = new DateTime(2009, 01, 01), y = 54, y1 = 66 }, - new data { x = new DateTime(2010, 01, 01), y = 57, y1 = 78 }, - new data { x = new DateTime(2011, 01, 01), y = 70, y1 = 84 }, - }; - return View(dataSource); - } -} -public class data -{ - public DateTime x; - public double y; - public double y1; -} -{% endhighlight %} -{% endtabs %} - -![ASP.NET MVC Range Navigator Control](images/rn.png) - -N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/RangeNavigator/ASP.NET%20MVC%20Razor%20Examples). \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/grid-tick.md b/chart-sdk/asp-net-mvc/range-selector/grid-tick.md deleted file mode 100644 index 708f4c97e..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/grid-tick.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: post -title: Grid Tick in ASP.NET MVC Range Navigator Component -description: Learn here all about Grid Tick in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Grid Tick -publishingplatform: chart-sdk -documentation: ug ---- - - -# Grid and Tick Lines - -## Grid line customization - -The gridlines indicate axis divisions by drawing the chart plot. Gridlines include helpful cues to the user, particularly for large or complicated charts. The `width`, `color`, and `dashArray` of the major gridlines can be customized by using the `majorGridLines` setting. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/grid/grid/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Grid.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/grid/grid/grid.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Gridline customization](images/grid-tick/grid.png) - -## Tick line customization - -Ticklines are the small lines which is drawn on the axis line representing the axis labels. Ticklines will be drawn outside the axis by default. The `width`, `color`, and `dashArray` of the major ticklines can be customized by using the `majorTickLines` setting. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/grid/tick/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tick.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/grid/tick/tick.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Tickline customization](images/grid-tick/tick.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/images/custom/appearance.png b/chart-sdk/asp-net-mvc/range-selector/images/custom/appearance.png deleted file mode 100644 index f09d6d2a6af8191228f9e869733813ac5b9a9f2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6891 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 uVp@*gZTkqU&%t^WgFhjS?a diff --git a/chart-sdk/asp-net-mvc/range-selector/images/data/custom-format.png b/chart-sdk/asp-net-mvc/range-selector/images/data/custom-format.png deleted file mode 100644 index dcfde6999d6a4a1359c159419804564b10bdbaff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8055 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 diff --git a/chart-sdk/asp-net-mvc/range-selector/images/data/datetime-format.png b/chart-sdk/asp-net-mvc/range-selector/images/data/datetime-format.png deleted file mode 100644 index d9dc7cbea5a98a35dbd2175f365a8ca11a09fbe6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12184 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 diff --git a/chart-sdk/asp-net-mvc/range-selector/images/data/datetime-interval.png b/chart-sdk/asp-net-mvc/range-selector/images/data/datetime-interval.png deleted file mode 100644 index fce102b65293c509a08e67ebdaee44d16a166fd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20358 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 bj;=$3;PTg%YF0)0Q#3X()5qvtzxV$EqK>IL diff --git a/chart-sdk/asp-net-mvc/range-selector/images/data/datetime.png b/chart-sdk/asp-net-mvc/range-selector/images/data/datetime.png deleted file mode 100644 index ef2276fe9430b362942963ab37a2b5d4047c1c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17262 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 G9{(?LMultu diff --git a/chart-sdk/asp-net-mvc/range-selector/images/data/double.png b/chart-sdk/asp-net-mvc/range-selector/images/data/double.png deleted file mode 100644 index c1903f593b97a8380e6a9dd18949fd9c9ba2a56e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8071 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 VzNyoh5a+_&w|Tl1Zw>zSzX2?d=-j3%-T$ugOV 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 VyUN;ySBj-SYH4?<%=}c`e*+de_k92W diff --git a/chart-sdk/asp-net-mvc/range-selector/images/data/log-base.png b/chart-sdk/asp-net-mvc/range-selector/images/data/log-base.png deleted file mode 100644 index 21d8aaacaeb2c4dbee6c228be470505d1e64bff3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17205 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
    x^_*xF116Y@Nq`c{s?_Tm}o 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 aE)v_pJde$+22SU5oisEvC_R4h#{U6Xjd(8r diff --git a/chart-sdk/asp-net-mvc/range-selector/images/data/numeric-range.png b/chart-sdk/asp-net-mvc/range-selector/images/data/numeric-range.png deleted file mode 100644 index 562e2d4baa3ff6e23e5a66bc2cf174fa69cfa5e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10440 zcmeHtd03KZ+qX0A*)nEo<<``cO{R>M8ZKCtIc92ZVTw?hr4o?hu4tR%l&RyGS#Aua z;?B4rVS>|?k|~M{lKUhIh+7J{px}3-Gd=UZ$9#W&-}gS>@f-);6m_3=}brxR3G7bk3>&?r79XTSl$-UdT zDXCyjZKP%ju)0Q@>0q>L^^eE#erxtj_xY>1EsIU|NhaD}*rvwTKaUxyV$J#c`ug%U z4BDba-0k(R*}e56jO}{54@S1XI2kqnTGm*1^~&;y{*2rn*W_=oS1kF_jsYFEi)Zm4 zu=ok9S6Mpg-6BY0KqTL0arPh7Mx^LzTjTYt@u1b~EP}pos;-lg)%B${BKc`>v`tR% zMqJKD9DVirA$H+m?Xt^Ykf-uSoaNQ_X|;&>~#hf^==kC{ClEQm^D-FP5N|0n2BOkwBg`!Z#`S?1BbHaB6TqBrs; z=&&qZ`lQ42q+m=XHHq{tbsM2omCyOx$Rlk+js=5e52)!JUUl2&P=gsK*oXqY+obE#qz$=CGC4giAjQul) z(f5(o0r!sAMHgbgrR(m~b&N*mA6krlCACnIMguP!H~?%p0L=YYj00E7ehK&C!l%1< zo&~c!KT(k1sAr&9&^GisRWEg*;gmq6W-OLXU}E**w3xgSD%-XutWzEo|}0hukWmY|x+dxMyTnEMcGJOIBSgPCQz)F#L%Fu-#@zo#K!T1svjSuY;o zAk?ko^FGvXOHFS8dvmr%ROYz(kS-d}-O`6K?S_F*5tvhDzbs)j3(0S2wCX_8c&{f5 znwAK|3N;DItQ!FM+b7hb#{%63&j;Kq%okOW$?hd3B|G(6@Sr3uunSBsK3iT><7pAI z^it~un`4GKvk6D#J4#s0cbjq2 zk?UtD_!tMlu{^qpbR#YlC={^M2pqRCkhqm!pPXu^yCwj<3ukURz&va%a z9wM}+BL&E=K3de=L;G~Y17jrv15s17AtAfCzM#cAyTV0&n zO*GmOb;kQEX*4yCew{h0afIlYeHbZdes-*$h>!8?%Icad;?ZTZy+ci)x+A1n0|SGJ zP5~9mzy3Qu^&Jpoim?4FlvCE1I^H_t`5W7mmUw6;m%CG1#3VL6<2_K;Fnp|O=l!wc ztV<@dY@#LG++35RX^P$%D;q}N>l@f(`jn0OK1f$G5xfl z7z0t8ue#D%npNX_j9eH!kpG7V$~q)R`z~;c;{Tj1c&<&|WiU<}JpJk8n`>JwF|T5m zV|MR#XGqNnhOa?0Kyr)D2t@xn{GjbP_Sp+Q_SiQMRQ28`K1UndqYlOfbR2YhJvB4Z z7pQ91oV+%4o3qy$;18a|2<8c~|M}5!&V;X2Rk_f?ho%jQemT!3#Td`YA{;=+NLvfw z-WQfzLe>DAN{bQ{2RKrk@s?4c`DZg6UOSTWD5xnSofJ^x?gjlMQPz-oS>aix7Nu*P zPY*Ua3l_H$T6YjICzLngkjc6lx;V)pSk&0-!-Q5hF)N*$20=-S^tZ7ME+di1W10=u zquN-+eEsb;Jw*Pok;taq06v!yfQVvaVXtb<&|a+KI=qw~*})O;M~g0(DRTeIvOoD= zq8Z7~>bWSn`u88`r5L;#DOvrIsjYH@S0?gfhBS0x`i&jNr%`eaZxYQ`+aN=I=RInV zQqL?+W)b-y|23Yp7UDB%V;<6KmIt5)MVQ3T0Q}VrIN)k;a!anO*8)p~8*b!RCeV5<4p^MuzI2G2`DC~j?T>t1`+r$-VVNCan7v6)#{^L++e~nyaw)z)n zED#OM{N5so-ld>Y@B?P6L7aW3Mq<8_S zyj8H;rUbVHPwrb`{fTBy0+9&&vYjZmL4o0;#W`N$1wKAq^R@6{FT9k*f})~B;*1zu z0nk^(RuNb`vw<#;wktBp_`IXiva%;uQ0OjTL;F8Rm#(E)_OyFnSG<6b92etJQ);hy zVO@q71)TuA!&!YO36kdMY-ZY*9k zELpeO!o2w!=!$@5C@$ti&oKKmBBY6PZ^QPVHS4dB>5FkQje7M!6{27#0Xz1Iw-&>( z(x|6JU`qz2tibt~-o+u(^B|#*KEL%b4X#h94)}%yu zNbxhBDAZaIy!L6|ArmhkFOuU;Xv>lFi9>m(>p<{GK6@x{|FUasusAj$JxOL%JlmT# z()dE%9-wF-UA$dRQ=Ca6DskFsnGineR0onzfZ`J>`7H;=UUdHz9hq_+qWn-Tyy^jf zLjT!-1H5_&4&S&u0-6@g}#~*he*e=q_7w|LSdO1 zulfs`S%wq9`F2WUrsep9%kS?sR5!eAr~}}K;LaSSmNKQEy)Kz;v(;5o@Q2g+ycb$X zM-OESnU*zTIA4YZ0NxsZ04Oa00g^@FHX~|iqWNj=$kICwyUMWVoR`IUg^QFHWUHrB!Wgwe8t+T6nLwX#iZpM^zI8 z6D38wE)J&&`s;)=x(DBWd@jo(qN27UCyKcVd58Fp;6#2-A4Q!3@cS!iq_{CX`5}h` z{h826qb>Xq(@i1YaMGhC#>K^iv)5Pk>=IUk`U5U{$05-=i+&o0utTJS!Uda*_#hhD z72qX7+i-ivisFiR!IILN&76{Sh-ZkgGjt7>1ioVM37{A@0?lo!Y`@b~U3$e`lO<(C zWaWO|A*_StWB6Nwp5S%P%cLAr!L9l`z2>-)@F-#x8>ZGQmHRfai=j=+(7NWp0>!7j zl{clz%Z!04xk~?C20aAvK$J8*Hu=%)tYxbo5?LJGwgIJ%>3eBZnF8>lp&0F%?2cuFyxjIP_e2ilLx)S{bz>Y-dTfHLar&Y=WOYGR z0PX*_8WeTXxJ*1hcJ4MB+}qdJN0r{1?4w@w@!3zM_7(Tjaj%woF9+1%95S7lR*@Fs z2w5M@6c3a#YCMDt)H03zMO0zHOZZMZQbBJC(a?bsm~$fV`BH3foYS55Jl=isZ$OXa zbf11jMH=}wmurvnAs`+do_D8YvG3vU_H59NzJT5vGIFxDzJqhzG((cV;2RM^UAi|V zh0y$(`d@`L{YGS#>L_O;6GyU0Cjjy~q9x5O%H>M8emSMykT^umUI$&v-iMQs}i zMy;qEb?aD^zLe`cLywk}nFuWSF$vEUYwIZ17B{JQUxMP?KRP);`{s(kvgbCGYp=Sp zfUE~(CjftrtV&jem?Po@_rd!@nBb`~^w2Ir5&n0)NoKmC_hHivw!t;Pudaj(P|41( zj9dMnrsE}G}OZCKacTEXpVbsTt9X)VrG zw$H@tq-w)y0$f8 zRjm_hD&usD910pdvHOceZm6>%i%;Re5VhlP5n23S^om`eR zzKWd{P;d!bQ}1d_L{yzARvb<)HXo~zBK#hZKmAs~L?ITYOB<~5+fh4QHJ!aJS@|xq zw)L(cP^^GO2s&02JI0kpholjx)4@H_I~2_nWYiNIX^0PStn+(t5&OI6A3*o62XK~E zVK9$g&f@ElRopvxE)JBZG*OHB$U-sXBFc;nGtIFE{JcwgIEvl3DxsqAZ2<}}Enl8F zBhXa;SEfg^O`p4Wcy!{gp9mWMzPnD!FCvBYhi?Ylg%uQcA`9SHGfWXU`<356dW#k> z<++e{g#(@XOjm`JvHzu+=UO#sjH1Y-c*qyVU)5XXSi+Y&;#5EO4C3cqrZK`L(E~UHGDJ<#k?wrBGsy*jy>FWjcb?6)>MF}f zs7b0^iOB?(DNq~~GO8jbV}RN&po9r$ZTr{nPC?_E{RvY*XQ@GGbsd&zP{OwT>yT-> z3L5t}T{io#z74p0b&kf0Spcm8D#2&701EP_(7W0^e~wF=l|Bu)*8jsXEq?u%e7h>* zwnwb=+(6=~{3VN&|3i+&d{%{5wc+4_zxvkCYRo^x@Bito5e0;)mKX7gV*Ga}g1Wv0 zR3AX(`N3vIj{>Pjt|~@hQ98iR$ zSe9-*7+cnFutFrB=%Q2sedq5-PG3z|iBx)Sn%59;^f=YD43KJ$tmtSKfl)-jk*h9@ zwkZRza?>}t+|Tiuuu`KCDM-gviRZh~`PJ|PDBRVRDh(aZa9!0x0FiGs#(|C z`%}wEP5N&q_V2aai~6C_4&uiQM|3A0(1voyGY9e^Q$TZ@t$4zeDODq5fG1mk8VD## z^+I6)KXh3x8y}1@5q3yPKg*0T3231h z8REQ#0~;cUSz`z*Kfy-jg9#x9GWq(Y|XLMU(Bbd6k^O`Rh+Ro1z^M@dqfK3 z002n=El{+v?P`i0)OPC3BE2(aycDZNz$(eiK)PCz>lyA$rkL2ahu=Wv z<+nDDgY|cJWd&gX?( z1NW1XsWC?xxGZg@5e5>sd;5=%HXD5$((kChxOIs4hjwi3EICyvZEP=|{OUsUeR|__ zN^iPd`Hjl?yfiMV)hD=w`e2(+b2+d5I)67OL$fvc6(ie1?}>4GLH116F48)4O}V%n zusvcn>}dWDhIt;5aoLY+rb#}-e9VC965Vw(5t&Hs7IVE9t=d_hZ}b?jDUAQp^imf+ ziR*IE2Nkg7Fl@$X)=YOFoDfw4Obx8(w$!0gNB_7`F+>-Eev4WVOZ9W2!05 z=gp{84_Fqsns@D}%j}Cww^Hq{x2X!ScG}pQ3z?~oU7-hCyR8iu+bnEHIG~s>v-KkS zw&oa{wvX(3(+Mkjavo_IF>t;0fiE+S!Kqj%nybGGn?zeM3?whZwC;6F!e%OwGW*v3 zmXP&pgjJlH;6UDo>n4T!7uZ+Qu|NNGf(O`L#;tH!mNwL;e$?vlg;ldVs$|7fKDZ&` z4#p}u&}!UXQ0%1B_~6>ny*G5<)o%ls)a=t#)#mR5o-_NK7m(fK*XrzgjUb2(w#pxG z8c`gqy*J0E^au-EC_Lb5=*T?K@C%Yj)*2LN4PC;PDo1i*mmW1q^Npx?v_?;?7mZ%E$wsCQ?8%eni`qg~9m%w*-R$403H!!Bs}3#T#4xY0pj@VD~%-E+Re zi*eVjZX(fPur&T6)*Z zE$3jEd9f{%KISofVab(pY`j?meR#Lj^B{idk&`fZdG_${OY2{kO_xL0n6u+)>%%Js zFZt!9znz{Wf9hU3`rIs;ya!uKwPSvx*OM(j!GSq6&5KH@<BKqdHNkPWYr$1X5FXq1U%ZtOG1uq9DySDN0Y z5dv;;7ArVP2=UsEe2d9KY}%oBG!ERPP^$6QAthAK75=m<`&ubz z#kC~grN<0Q+4OYIc!c%fbL1qL;q;>QG#e)6pKow!(y5cqE6mL4m{ZODomJL&`}?hT zgRXi>-ofyIE%OrTiN$VCIKTYEUWFk)izyFXsJ1Bb9fyCn+kx zannUCSMDat`}pz*qjNkkMDreXj>0`S9;b7!{@Y{{8GcanL*Z{1Qlqr1vr?-XdLaCz zs+^8fc@4hOKp?`vtwth-Z-{73P#}4hL-J`(1~PVh44Z&srb$vEj&&KSU~Uop zPJ#!P4Czg5l2Qvt&DM)1r^3%qP&Y-rW?Xj8@WC*08(jFlwm?({IksnDohFfptFR|N z0l_y#J;N`tcpp!OZ@ZYfXT>xK;FtsGEEuwZt1Zk%G>h4I6 z;ut**iB-)Ud#r)mqMnP|HX0iJjB}+IY!~FUXqMEJa_zTw(MkTA>2^%|7B^u2(`~_t z3=>fV!T$<@6!}Z2@-c4Qt>;=w*^WcGATr5ed(I<4^l{zA3MH@gSQ?0WWJ{}W=#@iE zF?D1t=%`uP24WKCs62zq{FT?>sXkpO-`&-hL}NVlWilU8QW_cg4Ou?S(OpF0_2}kG z@--8~CQ+&mw7=nUi%c8;f){DRjnlnXe<&GseJNzTau^1r$MBGTRB~N=Gwg9k4@ahz zhx~R5e9+P`(n%K%|2{hG^{OrYa zIN#C;PoUpm8n^To99SH^i1l7{Ke{J<#3Q;b!ipmg?SswD?AijNaWb@tuB8hSY8T*G ze=SV+xS}KmmA_E9WDc;Jf#4 z?{mI$o%4rY^TfS+t@~c_5G*e%hK53j0tW|&CLu1Y2nUBi0tW|=hzt)0_sqM1EeQ7D znZ2Tz5M0^t+b!4yqN$*aARJs}B;Zyb33mPRi@3Ty92|Pb9NeNF53cjnt`b?&C7aGK}qP<^Zj9_lNgnv|KC}MDjA;D4125 zY1VrT?8Uz+k`6$5V-{H(XsBt8S0LhAYRRRgS^X{S>-mt9FAo)UcQ~AUX>dGP~)(w4J+B#RJlUKUxH77)^ z#WyTQ5MnmW6v@DXd_@ao-((yX_E;RBw3Lt^lbW(q?a9>!+aY8~I=5G$!Lg1fLmaKg z$G0;9_R7-QqkSn}#;p*&bS5^X=_S|3RU?&RsNN*oCo5`;GFhnrr>%-jGgH|q4L_5R z`)Ee$!Q3zJOq~iT4u+44b7u-5gC@}73@7@MAtMP~^%Wx`=QC23M4a5RU;VC*56_CN z)0wKOobF0=$M5i2HEyntE2X~pm0|wOOg2J=&hRvHUo09X z=s4A>L1z)HBbS;Jp_;B_s>+Ng*xggzz>QPI?7o#Q7QW8_e_YxtbJ35)D|=-k84O21 zS7L&9UJ`)i=Q?fT=`5U18YyFkBYZ$p+0`#CBulA{AbtgZ;Q8ePIn_^H*E-P`&;7%k z4pF^~842IP*6l45%p2te!EWhQxn?aG5qa%|z6!LpOj+=<81TFZrs`Vl3?js6Fdg%s)3Ymkq7zP6lwr*Ain7GO9%CEW9^YX4m z(PhiZSY>K=zZ>GP^@m6Ot}9Ks#N9_tH5Tf$ry)BeDzENe^9V7qbDH`q$gG%y5N;~CTj}- zOTEdxF~F2fa6$Z);O4g(+!xz{%ys-mX4ZsKsLRqb?nmQnypmcB<1Qi`2a6t$XQt|5K|OSTwP@maH%AH|}0e zON~66!VEa{%ihI9-q=<-vFWfRIG(0cxr*^&OA$amB!m+Rf|wy-}0hkn0dhlzQ5c)+T5K@^FmcF1V7X0oH(XdbaVfRKMB2tC|} zJHaj1Wq)l{>~_8(<;nzQB-8~ySz4*Wc(4^M`4ir8Z_eVpN&=6%!w*(nFqM=^e=52l zaLO=}Z)1Jd#pOJCv+zgi=AtFL`pv@?{?NpXsaM&Jg3-M2!tIr@&iv=^e$!qEG#oWk zSkveujZ`sHCdWpM(Nc*_=KXEMfSK5n#Ch$i{b<{-ax3~5VpOs5K^)u}j*(%h$R_X9 zb*o5Ss=9~l)7CVbw^5Sbu2LI?s}3eeCcTJsk^Ttv4&`QllMYD|na$OaCigt>4|Ah2 zs;a_z6=T}T<3t6Sk~6XJgWb#JQOD82|FB{4r-==j+tx|Z2`Q5O`(DB#$w#VH9kow` z2MHgE%4`;-%suBIA5OkXC6|^8qo+?^NkU+hy+VQ+6RLHUndlml*^o!BHcZ9e+6Aaf z!eL~((ZHUJ33c;g!<-Bj{APK0LN9M^tj8yQz*Yt%#5&GJ+!^7OX^ne)JKBgJxj$Fh zNw9egBCEtGjMVhCFj(*~SHq$TT`V%AJLfUyuuy~D6KXdaMeO6|c8%PW!F_kqHJ5Db ziCs_2pzbFK!-YjvBDHez3Eyb`bM`|YAug-6hqoHDcvqhMa$ig*DebkoBCBxo>7}sV_(dR&{59lh~#^y7%@ePNs6;Y2IWWk$j#gZ=xZf+)=4@U z$v?{bspXcxEL!!{vOD=avBVT$fJo8*2E2d5X4t$@^G=(H2PqJ>e^ME>hGV`d<2hdx4CbT)!k6U0?vx&QKFO1fQpF znEml;pwmHr;bhMopMep8mmpdQ$B?`h;Am1|xzM1ZG?OES%u3~=pRP=-qpe|hAPsr&P%4L%P$Y(t^l>{Ye+uU(GktS9w^L-nZqjb}mfd*4y5<|#euz2mQvZ^9*q+`HmhZInwmw(TA7v0_{@%=}pE3}i?! zB{f}!Y2xD+G{D8gN>pY}*&3VQ>QW$6VAU(1nvFLlXojrs@0sZD$mfd9fud%b`+>x` zQ(d@bPSg+w)FJCo-0#^bl`+{AuS3|Ldmsd`sLs zkun4P(UtPw7O$;+k!L4Z{XI4y8w_m1>H&+mxOXhOpNqPBi)PZZ8X_P5*cP3wjOc2$ zxVv0T8VmAN-n}ehYUE{PD7qZq{5pPqdv&6?KrcFlqM>4Aoy>WcN%HBvtrsDn>l2Yq!7qdAhNXE}Z>}U!lIqV#Pp6|=XX**u)rAUz! zOg^*ZukxqUb$*)5csu$!_~f-A0&llDbZ7E~NwKi@%_MBcx{)KJ304yu7|iCe@5ZCX zOO&L?-%=x)>J$qhg=dcETUA?Rpfbx|Q~#tY*8Jf2a%4eKimrjwIZ{pZ4B69%8OgQ4 z&YHCKo}K-b9{&^T5(8VKG&Z~02pQR9ROL(LHMLLW00#{scubVnh+Q<-OoO@V-=rm- z!W-Y87OAyW;g99~nq2|MXOuF^Xh@~(Vx~_ikWCi|sn?hc2vI7&LwtEu?cU4x8yx=? zNobu9LrePhwDnFRDD0;>5haG92m`r;2G0E~$Z_W=AlhY9eWYTFSp4scwoGu$bFB6M!KU(6qT|b7(@i}f7l2_L_ zXov-8;Dq9ii)FZ~cs@vKYoDwc-n2R|k2#<8rw`F*x~yBBMZj@^bA(3#I}>xN6t+j8 z_VQvMVc5!-hzEWG1&(olob>y8ZhYNksWbQHUL9buKureaN-?#R2TH!ZDGD2LaB=%= zI|`FnmfF+%_{;4e*_i0SXcOpk{c$#oC4tK4KC&hHH2e`9&J`7pzkTo$7T*sq9atP* zAfA=k-)}EzEiB4{_8BG*h=EsP^j8s%vpA9NmDJbkf_LqD#6Q{z5xKyDQz7hs%I}R) zaHmKgRrCaFhsGy>9r=-7hEl;S7&bk9H28Gji<<=l7MGeZpRZ>M==P4T7d=zREiU*1 z2N+kWf#E6cOHqp-QZ7Q!==zo{KSsJO)8%`|vDwgV?lL8EsO(;V$B_UQ7>|bA2LO0e z`UW7eJ_7)Z;Bj$#{m}tZBv&P zP>*YLe|}?|;vr9*rAGR?qC$X5Pv1xSkEy4KIU0Tx?l;%v^4Me( zXz%7liKRuj(HgA#8XR}b=mAnKlmJ#r7kwgbr`_}Z@C!bV-7Pnprsj6qSsZGs;QsJh zC5_!~Ns%-}Mu=fgP1J&$;h){0)80EM)7%gvR_M73(D-KMLx}gwl_7 zfRZYci}vAW$IY#GYk0BD`meQ~pNbr}kM&%lh4`EWDgFK-uA>IWfXToR_3|ZP$1U=n zh(RP)orpaKFX1XZLg={cMWT^9Y4!GdRq!!$>C~I1bzLcT{s_8Ou%vnQz{>+_m69{g zD@qk1lmX^LaVC!5)*s{V!@s0b)xN_iqP^-%lLRZ2zu>Pe;$LYHP^U`tQl&mhbgb*i zGIn%?2hbb9V1tSdi&t7R?jvHb?qy@kVmO)f?hh^FG{FAPPC3pdbycJ5lkrYcF0^^Kz{T3t#9 zOsTuK1>?@r<(f`VsN`rXax;w*)?N_f;#PjyD784<9Nm@e+=+42O`mQ+>}f+C+qvCXIc7D|)tIfa9ZdOWa{lx7gqH8{yR{~aYClZDCV z9@0&lXZcKrCQgJ{N3@AX#jWl~nz}FcSaOI~mE-_K(sP!wpcI!*K$e!gx1qqgPpGvxv$6_*Yd$&^D`mPq+$`CYxOMevyekmme8uFbPe5t*3=m0`Q)fU*hD|=YH7>#( zLQ6m^Ks>W~QGmv24)VFIa8py;80jzRw|)sTHpT;(v1M)3152|e503}R>&QnfU)W>^ zDfD^GpNwVued9llj+B;@o7>i5sro3NJGm2sWdvkARgGq3B)e8}@iONuI3!_cxQFC& zajMGl$^zb6O3XsCyzK3_$5~^jXa>?$ue|mnzy7+EHr2>i%+E#tJQY5HQz%+d@#|Vw z?epgK*$xD|OsoF;4dWqh2()~+$?m?rE49Ub;lwQgiM1q0R38_Z=nTkH9e_`sR6zL0 z?J7;t+)T3l-4bYDEHJ^2X!uq=e@-=v7?_5Wyy#aygvM7&(Ed!>Si_%8&-OBv2CTe& zlbZXnuXhG5R)!G4v99+HSm>nm;kz@S3mR@BWjTX+)QJ1JM`B^L*N@NCr2C4-jI?Tr zI9Ww%r5$U{6&@#wUJh#sKhp#!Xb~3(SB`bg#$84icu#!Ffj>>zm9+jV?qj32nqgBG zrHo8C^fJd4&_!5D-^&XT!&9H<+5I$Qaw&lNVa=wp;&l`(L^WuuDV)BN_R^JDgUS08 zWJQ`cp&Z#;8bNr+So#hVr?)cKc#jc#8ePP`mIrqR=ZSgp9zY4FL|ZcF&Zw8&b}|dK zuxzKST!=Q=x8dV4b+$R~uy3*f4p?!BoE-t{{#vl`#06UWsxRTpRATC`)fp_?_F;pl z;}e*nA7v56{}-i@Q%^>h_BV(6p9xd3{_2gxRo@b|Aw251y`>s!Zi4abZbPcx=p4A{ z17Cf%xz9`q5cm^+fA6Ab1(fhN1&oy#`wSL$F)-Z6%b(~(d0i?w^)Z{so7&Qzv{%_6 z^sRML6Nl7%B%}=0gaM2o%+prGHav2Qp2p}>vs=jt=rWe}rX;58rX&HB+vP02@w|9bkykDz@5;yE9U$p&C?yX9BA_e(B#Y4K`%Wwb4z`>BX9`iSX|m406_m)%j7%tb%6t1FVD{B|;Mp@AR%kq=&mQY*2MyP<3( zbvX#{^;G;$%qY>$M%Hi_EYfEi?<_7 zUv3Wt!8~fJalV22HXLE(ZTAe*jz0kg8mGDqi6PtEP2lDI-Iv;^=xi{M{pdR5N{o z_^Od_<}T+9lrZwTmvM2yRD2h?ozE5gFKmb@M z!?caBrk3M7SRBeD$9CB)bUzsjI*j#&45&|TzqPu`u7zdYJf7)NQ-gA7Rbq504cGF{ z$9=Cb4fMlNSWB3iTzz#bezU)8Ogm`eN8m~TqEDpFYHlgfY;<$|y zO-NbD%cVHY5s0O~@z*AS9G>=|y}2bHPs=D#N=eZ*o4B$URSK-hM=6(`iKo-xK&Yr- zeYB1r?fq~621a{WWL~0WcZ~{$o&EFt{(Zc~?L~Y%BK_+e3DH!WtFdz970|{s*?NFg zt*br<7eOs3t(LV0I%kWvf)L`;GVl`A1zuaYpl!9Ynyc%}Xb4m*Sqx#VgfogtZ?$Sj zg&@hwe{|JRlM=;C*!8X&v(|t1ljC0q9@7PJQ~kZUS~(>+{A)Eend_xSNjO0?~)+Q1;}1m<*)) zC*(rT^&4T;uA*VQ%b5cvhKq3c0N0JqhQu5$E!Tk_A|A_kmLnWC{fQsj-%_2am^f50Y zxl3)d)Rjv;o7<%4_(CSzv|>^XR;G(%o7i%$@Yd2D7qK z(OK*@E_Y~<8hnP*QIUs@=88_(EB_#i4nXqDvxt{-zbog#Lw)X-XFO7>R_Ra;7Oc>F zuZHs2)f~6hKFRH=?&=a@jy9`dN5(~cF4eOF64{WDn;(qSs#T(Aog+j9Johs;%Q!tX z{rkqiPoAx<5lagU27FW?zMo#3UPZf_aK))CAsk#U+J(E@EC?GB02gIJss`uX{?kv- zijg~yNAzm$nLN5HM(KE-sLou25-zD)meDDxnvJmYT8r4en-11UYh^>#;HPBZ7TZrI zrQgBS8P0cS(_WVyB>iPgHI$4DjR!8QlFA7S)Wn=`-Q?rcOsc|qh*DEMJY_%HV;WYUMY${CRqcqidyo`n z+|AEw>OWrAi*fu%KZ_-QE_}|#$XC1Wwb1ZJc_F5?|;0thjSF0GcGIns?~<#b#J-kZalQ#-7aJpd!I&Qd^D1Il;G7TDcN@b zoOC*l1O~@CEgaVn!95p!BjE(KFWvymH$ZR2yK8CcF z`?A+Zo_hmBn%)o2H~#D5+49d)fj_KP&zjNqrn1VNTr2wq$~B5AYektAhKu{DJE4J> zFLf(6wiPMN=;kFQ=CBLsaCT}Ll{5fBMxXrj;R_ha&&-x?rMhm3UARr%Q@T0<0F_vj zz_y(4T1sk>ssIi%j$NTI<4&H)Hs}j11;~i>2hL=y;`A5|(v6hvTis?1EWj_iBOULs z8?j-=4Di@o%LZoEHL0szz_P&R@jxXbm&BBue z#gsPhio~o1$v>fs+=-@@QpSGS6$WBX1px49U@4yEn^@Hdpw!E)g`J??A|kmX`m_90 z>y|5%BYCcc#Ugf4TFqmQ&`sk0rQgAMJc5XOIFsK-Y|LUhBM8C@I!rdraQPj8mpg9b zxta>`Sh`sh^Q^U)YgFYOb?w4on8gX`_tQ%rpm+BX)2ZArrYiqdzub>`FiX#>75sM74Phg;FrKEQigRZt`Cr_6ybQ5R3=6s0dBTE>RC&9*}6$XF%y z4Y!7>&Ro?Z7jSVLTkhdo~dnde7NS< zV)mGMb~^E>3TgCPSo!(=6|~P#EHcw|^%Sq=Fd&oXh=P;DYSzK&ciQw{c2(#TvjGVr zIyixA)1QgIJb&q46<$H3KYos67+%#|KB*|gb;gBt)1B$*m%F{(_PHw6^Bhzi@7y|xA>E)ibwkT&1mnld*mNX+iLPQC`K zmTC~)Wz``Dk1~U&?Yc$pI$JL`J(9v64K0ht2b`e#L`y zjhtG~1CIl@qNA^^Hw%#TIbJc%mq+>As2_ zzl@Y?!Xr0I6P9$zKXbyD87ZRM$9j5u5MWk($U?{AEcE30YKUe3O44 z$B=dsKrqhD0JUT#wf+k^Fgd^3BLpWrpIzw+rNFQw2(3G4xtVzLxx}&kbu=(PT&L+W zzT91;fodzaLbjQuX*;+^xJzi4;VcowDJQn=i{1)j2;g`8k?I@klJ9x1FkTQwbu z@|pNz5-0cWW3ZWaIc=?bt}fQ|G0fFhVmR*$!tq54Q!r2dawXhV4#@Eky?j#LzHBOM7NBY3#9^&@2geYwnPq}n`~1i3iK+W8{+s}?vI z7^O|C!M&v5$MEJe2`|~J$>=M4ma=jw#OJXCWR*UI4-~leW!E7XSGH)N9Y^@E+GHgg zA@gxdcLwDsqPx4BQn!lEFjmzh@O=q=-{vrFF&0 zOmOmk$XPJcI4&ZgNYKweZz$V6Y=mr_CWdq+^eGZ^Wfs}`)@f$(y$)NXHFD?#8KZ~@ zP!cH8z)Uko1UtFY=hAcob*y}!Md<`Z8x5;I^_b?8U-!fr5LC|DDs_sh6#Gt|={0n| zjz+KPz&D>FuKCJ~`;p8SI9KCt#p6wa2OwQRuBXur4BRUibK6Z zNE*L;g+e#z!}O|5cN!>R28SruU&j$0G_xudH}kl3XuUY2%;-_* zS-S!i*MenUn5Si8h-P-BSWTN&&+)dLzlN2Mvrx6Ee$C~v@#Byg7HLLgJQ4OE6f$=+ z1|{xhs8Ap9)zm2zC;1P>fVGmA%$UYBsjajh_lHgoi$P1)mjG@5G6?ff#?`!PX@0Mw%X+I#31Cps(sRWWbB>Pq&wEefxV5l)I z!dw!kn!@zGl+k`ta-lk%l%=Q4_k!#IF+Pdf!QZohIcXpf(KGD7EvSo}W*eur} zvC*mDx#>A@T{&%7pWDCw{f5NjY8%#b`ub75SD^1Hrc(Ky{Vaja0@PjpF8EY|1-)+U z0Klf03jB?%xLswjw(OSLYRzw;OX(hKopU?Z3$o@|w4=0GrJsjBF!Q(wr$La`pEyw$ zQOlJq*KNA(o?}3HbMY33TJYY(bm@C%<}PpL@6Gbi502dzIvJdfE;1)$HCAF%jHW|m z@J9_*_mff=gSuGMG%p@yOz@MPL1O-HUhpf2QvQP-N%L#>KlJ?6>DRk9{AZPkr$oyTR3Mt?+wln=DAo1i-IMh8XByDrEpLqg-YP4Rx%pu~ zA3b$gl7RY$RYpj6&;BfMhCN6$$tnj}q)dakJ)DM&ycyHY!VcD8=QQE4Y{OwFVv3I$ z_|)+}ua^Y31PDqi7TLzaU;rQj;+|>eOPpSTB9Z5#{s-uH#BwL(1SH=_rpGD%OzOa& z>WLB~#HRWU9eL7{ELGRs+;Z$ zm24n)-8)!o(<(Cz+hSr($364BJ^=nNe%vVBUsjil$w7KYQ=XXAm0|8SffCmrBYR(N z`6^9+n=R-rL@1WE5{@?;KDELgq5*^_*pYRG>4ru_l6mMvWf^g?-=n2y%&m&RM7hb$)7GKCGlM6A&=7HDfL*$z)aEIZMk# z1hlkkqrzM5Y;T9qb~>gi2ktzFniS+yNn@U+B61kiM7I=%gmq4+6i7T@fP*{k_ePYe ztyZGIc`Yie#-1{si$OKL`y6pyL`FDCJU&H`0GA=Q2KtLU2{DnvF$cRy3Bo)#TUx09 z9&Q01?s$+!s{>^nwHQ$#yG`UPj9zcOXK*M8u*6dy|Cmzk=6r7)8xF1$KTdB*7L2w} z9p$h>g!stVo9AR|GB+&g^-xf@gs;d$lsAEC5V@L`sjGoO|GY28y!(4@-XR0(EBDp7 zs|n_&oRBvhnJ+&U8Sm$@eFZk3j!E5I9C&Rcn>vtqM;m2fCiK22-~!+-QGpz+r{)O> zkrR%7CJ<)F&6^k>6oO*fWjKtb>iuQl;3VP7^kF1^Zh_GVH~S>{z&7Nm(t1l{ri9uq z_n`{jZ}b*Uv0FM}vnjkOlD>3Q_hv?hv24zD){8Mf*xVNtbiBnDPGAaEzG9H_>z$TO z!RJWGjA*+^aVETxGf(y&N5*5jp z6250H-L2k3iEnqJH^Exw+0`hFdeLRVf18_rmd(qd*b}TMj=-%k)l{xwidiFQC&6bS z$J94OpvH*#iwd|fQUp8(dnqm!_BY#!^(kG}J+E5=Q^#M&(Gpk3PhD#At*m_uMHy_7dF2@b%0Nf4w*LN*NM7>_bzcs<3SDR#a z4PT;&n7%?l9JZ@nWU{#!8c?ZOHqiZr4i}IWWb?9P`b(i?j?dMPcdy6M;d(h>0rFqo z@gLUqe{&?*tMbmUoO;Fm+{`r4ZNFZuS^axDC(PeycoqP_JUaxd=_UE>J;~S>{X3`O zKk$2lKSe973%{(M%uS~@5BI*u8XbNM!-Ab*jbw3iJ@gTp9={SeWq>Kh{Q-hqS^>y! zm&Z#Dr#n6m?3e5#(>4TJ2kJe0ud&Sd4iWI^iqoisb3A>ME|z3TU*ut4jpwUHiK{QFBF0l zYF>{dD-;ltUt5U2JUy(mgzEQ5f&u;n%5y)Q4k73H(Kw0Jg>2hxZWHCd#&eFex?mec*UhJolPRssJQHros)KR`y}MfxTWm?)_tC9HaCvPYWT1J^iy9Rm*d~zBj&z2zWt!sj$ybXRhmkML(rA+ z8#%tFl=N5So@(jT=Cwj@-4FAkOx-RcR&34k=;rxo2h$okRqLk2ld*2zZpPYy%AW$hIXRU9-^j^Fwdphrx*pa3}RPY_&kX9nrOf@@N`8}k2 z3xe?DM+M=eAUGl+MUgn?b`LchRi&1A)9dSg`s!t&CbXD9pEV^<*6M}#GlNIdZPo!v zx`Z9qB4n|tg>Pp8#Uy2DBNgtQ;NqT_DC|wZKG6w`n4~Ghfg_z(3-{H4`F{AnFF^&s zCAZT9y^8si$CF;EC{(FL1nyYU6q-^pU92K=@i~XDphzQc&gna42QC9tQbehF{O&zg z5zvA)1C%E^=lc0gsq)S)``$ERN)S4q9jOYZKPQ+Su2fVIeB9ee{5Aq7C<3HHU6caQ zH9kejO;nF33fBPlFOjk8QbaM#rf8qACScnLs}q{E3W7&ll@(IRUhGNwojo^IP%xM5 zpTo5r7{gX&ks&bu*@nN-DG~nVDvR5^7rnz_v~YUHf-X5ZNf6E&Ud!k#j%b6EV^ zF)ERu^{`#l@DeM&;kY05R4Cn~gc3@tKo2WqzVXdhYie)9@036^Mx7{BAf?0IiLUj5 zv&D^-Pf9Ma7pg%;%HYxH4hh9ZM`FQOqu48s=lHgtq|^n%o}i0_WnJ&-F^DFL6=J9H zkR&&BJ&nhvXnb2HuGo!rY>rn@+oS49Fj42KhcykRDX|DUSc6W572+t+2w9+js0BA0)1m+Zj+s0#9<~R=;;gT}ok5;p} zV@Z# z?-r}~^VM@HDs8vNDkH4fQl|*r(JlVq*q}h~vUNE5sw*c=}dHxF&~hl{EJJyoiHggg?)~|VFSuOen|W# zSQu?XTkQ|qPpKL~=HG!XTm66$S`6&!@E7eyglk-^Sf=zUzJgphFI_1C`W9`xy0|lW zpY1hX&qH40B5D6JkM=`b)?j->r88bR3C(l%HmSZOnL}5h1{aTai_@7W0NJ!}o{HMW zl~1a*MwHUw)L=x*wE$fmk?_jCl!*1XlWVz$&0|B-`#&y}y#z(&Zr99N=bUfq&d6zw zMT{2=i|dXxs>wb1$poRGujB3?+wHgp=k;}$*+s``?MVLnx;Od~(@$n72R6I8eYhu< zRD(7+tkuyb@ueHk+w0c3Nc>DCl#C74LET-OMr{>ZgTB*Pj>9u%fr-Pgz(WK{Q?yK_ z4>RRe2bV2mFIlZFqxS+jg?gVoe>U{bF`|n_#TGog!@5APc zLAh-XZBR&=QPFpCFlTiRqkrONny5eNKpbSR*O+1EdEy-E@62w9Wlg@fy*wr?X1FgD z|J6PrRDyBI^JXvZOJ(|)6jx~3%dNY=rF#j*a3!0x`*v9AK9)Lzf?7sgixr|l&4Vey z2HG1HBgr#qJsY}F1#6sj_bC}IT~FQZJbY)%=X zrUKK`;L|Qqh%3vQ_m?Qrh{-~>a!p5aHQr{kMjwrwk9oFOrF(NVQrF8qeglcj1&AVQ z$;FcknN6vLtq=Dva+fmsS~an1=j}poB1#Jud7mhGoE>Ak?>wibsI*?-n)TeX(9O|0 ziu$XH_*&h|JhW2Ths_tg=+g5K8zWv4jr9uj^3MM)gRL_%r^6rFuRIU^bRVuW`>nUN zUr#J2ww@Y;Zhc-TgFWx75BI3oC1>|RP+4bKth8G;m1UM+g$?rej18Fb-*C>}cTMOX zMlK0AKK7qTqLkBbClV_J#INdE4YY(ZU0MCj;d|HP&IKg$=|MY(M z!-&V_XOevX!y-A4?a8|rix2k~jo;+%_uVdFQM?ce>#{t4A{pQ~R(|*^CsILPqF(38 z&=3?0?;hMOAG{uzRKbrQOp?DT(@Nk*&F_=WR30$=!h)Sn2KpUORIDxLvBQNh=O`xCY~f4T zbT*|am&x^cuhrAPBUvtmBaq~(S4=jOkMS<#Y~r7Yz&&))a?w0-*|>CPJv+RYk;5pW zc}jJ<67Z}D$96Y@AG@duB$BXj=9ulLft2a;^87n{^LHA3Yi^84zKSl!ta1{2Xi}AQ ze2RNp7n?~XbL*ix8^l&}`-9GWejV78nEi87==inpbFk1$H?+mGx%M%3YSdwQ@^Gnx zqYy1QjrT}vL3OUbN@Ypk8PlXj(&NVw=`2s+rV(5HPJqQcC9wacrjUeYZ_eb{kG%%+ zEhiayKUVL@(Y+Ty_vN2$9Td0}D!R8Tcm)Loc}h|jPp&?8HZd^)`;5)=DpWUyPC@(( zHuonkHkK2>19Nmul$)ia17R@Cu*%CAwgkbxY|RY@%vjZDfQs>^q$?a+6|-q<+tI}2 z>3q$xDaX{~etRzbBwD=7a54-n-#0If270k@zGxb1wa)txPkeu?Bm_9Ih8$HCReaB$ zI^1WB@*giHhJQCXBpoPAmK3$DXQkT!8>Q%kS(EBaBdkO9?=3$Ruk|>-JcvoY!v6G+ z!ddsvf1LnA@o0l$HOqo-_8aA%`ZhpPu9nvmi3Z1hGP|L|wWIL6xruzLuZl4?K8j!D z4)v`z1p+HGw(r)m)YjC~kf^}A$#=n;F zb9!yv285Ppy6n(%mpj+ zlIr%a#~SL*Blte|N3=x{KF|ktQc)p35;oEUlDaC=x9hl_^F)xWVV5Wr6;2KsDJg-s z@}*xXcbl4V1B-svaB`Zs3zg<vRq z0{<#oR4J!#zuNuboL6FSH>v=ZUh9OY(%XAskk`I4FLN0Lc!5la9S!)4Ye@zrwCOM= z;0X-a>9nCK$!W>CXM*KwvtxW%9S8;ykdNx@Oe?n!J1J2c6ffS9UR)s-%95*<`Wy!CK=K-uR;`wiDRvE_+Op5G%tc zO)j@jQLT}joE4l*Ktf`uAQucVpvNODnwQi2X+R;tplLF_h@$rzaT;D7Mv@g21z6mu zW7=&lSQ4u{Vi+5zLHA+RG8Ygl!|DRX5EKign%DoN+L1}1U>&P z00^timK4|F#aItWc?#4;y~q;GDxF+ed6adCWu7t(_f zabOA4i*a_C1~^bkX_~(KD?@DHCw%%322Vdp9y6Co{Q5H_YAmvpQ&Bh^CLXMmRb!Ckwb>z?Yl&CftNB z?qlVcbDj|TO>$zrtf{pD@_S+hdRkJFn5tNEX!4rb&}+<))cyCFcM2&J-^Q@$8Do0< zmB}RRR^x#zCe;p&O2aQ)`m7ugTwIg!8Z#H(6hag%h++~H z9Jvw^`$5hUOnn3*I%_lH#=hJlGDj7+;)RnfSN$mq;Q;~N`3rHRFCM?+W}jPtO-wz9q~Z<`_-9Z;qNgl4$n0CQvEXTt z6Qw?LLTnml#&~m57Z>I9YC5Z3PLb<(j&$6=*7OKbm|IxhnO-nq-eq|{=nGBMhiJwk zagcF*D2iGiV4!zFlY4NARvJi}1THZVVOVUVuaj5SO1sJ21UWN3FU_OtMcvc83pzv7M>nG0$3hJ{;b6@D6 z-!ylWtl5v%Z-NK5BWnhn*BecsAWncB{`Fq2bzMI?ivNGa^8Yh~kCFbLr#Lhe@+G5f zux$bb8|%sUVMj2Om;V5U4?z59Q}Gdkf6{Hd3>fxj6%c7So>nPegB)+lR3HA}^{Dbe zb)9VHDj$xfM@E58AJz?-b@TW5(;Axgr}kh2(3-WkJvIbquC6|JS<-(42W`ou1)h*L zX+VQVL5T9n{9H_L9Bi7|?B;4|UUV+9dAC3?`EN8(1eScpV=@QX+O9|3eaz*uv&9%4 zg8hjH%>yq9EXZAKN8nhOCC}%|DbKAVxMj8tSKC_$MD?wE;{yUp zE8X28-Q7KOID}FXO1HFv0@5iZ(hVX#lynJ5!_eIzNQ3ZhK+pM}bMCqK+~4ng=MP}B z*Ix1Tde&z@gSqn|w-}0t?_2f*&xUb}Yk>SJb@JY#GU=<*@p}8Ck(C!&Iw#}{k(){T zr8A%3#lFXyd$lukPwt^{-2GcxGVxSWiA1+;8s4{^J1TH*Q?!qJHOHJDyKkm~V1Kp6p*96uiU&-2ie_RQ$h{!8Kr5`HOUT>vZ;69^IU zjDJHH%>?sVTwy*b@j2*UHP7))mXbC&how9y?zt1MxC8BD z;P9AA0gD(Yvau)Z{dLzm_?w>F)-mvk{9anUqs32@cFn{1A6x*10ZjT~OKtC*ki&-9 zOh*(x1Nt2|daRFDaciLs^8Vjc!y6d!KL=$tyA&#?gEmWfx36G({ThpD{ZD_Dv;DeE zFTK3Hz}%&!9LD;@@;53ztkQ=sZm4!<|!XN+ptjc{cwXZcg)z| zj?KF=#EH_~^MN?zuBSIZLS5tjKPiAju{fpwZx{9Hx4ft^tI6N$Q(kt#sCyt`+Tcuh zsCEbUC>K{wVaTpamVm(Ih#CEJ=wsvq_*>Pgbgncxin4j35p~ZhOG-0UHu}Lxf&1OC z8*MstRz^R$mgrau21zstAFTNOl1L=uD2oeTl#ZV6pzq{fbsP!#RhAc#%KcnX9dJ2k zechjE)kyB<;B3O|Q_DxMO`vSz_>$$&-MU?-1M2&e;A@zgjAB^XcXql#nx-RnYZ(L+ zBD{Fc`V|o>5;6vqJ4Ojw%TP&{o^W9J$P*=z+>3%Zl(LVjO6;92DiF4A*UkSn>K4x$^LZTBH#QCS zfB(cB?zR`EU`RJ9+CjRRx!3b=2E7plxHcW0O*Zh$IJde}z)}`B*<+I?ZGTOluN{MH zEo*B)KpzADY5k7OH|A2ovl3c&x*i3}!(|W*x{GH1@Dj)#|ChE=LD!l`x0L5}?v-h} zPCk+DfL3AUc}mVbq7LdQor>NaPxj1UzzPEo&*W(XrHEo51zBfn@L;v@t(1lGY#tHO z3V4?Ei&9f*g+_0it>(#ALULo5hvK*Fi)9;{E3Ad&jIOi}FUZ!4%>~iS`7t zC0*Ef$(f%cC|R90Uq85ssy;T^t?czw6BCkEzjrW}#vH@;q+QbD(v;gWJ$ zg|LhGZV0nS`u<)fK(z2zPmJn-Qi;rsxt+flhOJKSrj%iUt7hKYy)wJOZb>t^iFmUgM8Sy$(u+P5Z`qspTATEw z$X>}@SmOen=kbGgQ&y|45=k#BHy-T?38ayJG0igh*1A2qr$>IL^Su?^ zFe>Rw$wb*OSgz6HJqDCJw*QF{|H}1$jvxM!9TmETdwx`zzU`p@@zmy@4srhfTyClq z8%31aO!3~rI)Kf038W9q$AfEOy%Ugw6%uUWx-(L=?aA+A%AH#aE|2*7dBzeBBmf*> z%3AXXiHO`*P}*-wp=eLkt8;y=^ueUh>fruj7H%$m4GnG#lU5KGusUSK`}!MC0qtVFkWq_+2^OO z_bTd?~{U1rzG!`=$ayBy?m-qI?uSvh6E8%mPM+k=x{T-XZYqE zCT6HtX7pUHtBrB2DQM%gCBkbOzA!QNhxiWyX{NV8?h^5C-D-s`pxZ?NnH6Ke+yS@$ zdwOc=So4_MR&mZ{TfINaZ$2Iw+b$`ZG@N;5aN>B;Oo+9S00KWK1Q)TC1okuKEbQI0RrK0VmKZ ztXMhPPJ!=fzJr}?HH40@$VtILqY6J7F~lh)gEFL?LEC&_p8`fDvB08@7ZQz!F(t0N zDOlN3)IsM+_K`XtR;@PatXH7a-9uy>085#Ib_&)C@_{)!Z8U^(0HM?`k~JsRFXK#n z>SB??cHTbHgM-niE{~wtSyQGR=hF5-g}|B=@629=mm(T!%*v;eaiFiVOXq>fVBJnO zyPHf;iJhzY%iWtCd3yitYII3iBpm2VtF=~@wM-NaW2^@!d?BXI5hY4FiKmCPOm^*b z?3qS-rh(&(qW1H-dX@K25waVN`MTvs_aEqNyoQ8BqQ*Y(y^(zzlm{WCEwJU0Ty?gF z=bnikmNo_eU4Zh%K`J}yIkpk0QO0#OHz=53ECimkqI;Pb?@9#u{DP%Eq=l_>t2XUfB5 zS_!cP_h~@Ll$FUm<^?6#bo+z` zxh=#Mh>Ep*vItkm!$M2kd39Bq!}Y8khw+;tZD#+Sc4{bG-2X^PWzcZFpsbcT@F>b~ElDUbETvbc*(Oo==m<^fGNk!I8n z>26W}^j;#w=veg3h7(1a8lU-+k`U(NH<=`-RRytZB9Vo{WP_^qKdWedy?n09FT7=u zB4mo5@}py(hxlP$T*JvI%{SdZn%h(TqrFh{y>!G+1b~G)hQ>AW_t~UH<2BVAC_L!G zpB5sr4s-aSG=3>WTWSG5Q1W%P4jDFh{8DGDAZKTwHO4?cs_K;mOXfQ^)A_6XWXp26cRPlL%?+iUR{C3z;zhR( zq#ckN8X%0>Ivb1iep2ehi1Ip|oI4=DX;Yp80&7GN!IOVs@PBCO{#R!4f7jSgk~2+Y z@0Go}5LX_b(k@UkWarzhCH9ldDBWZ62XG7;;!o$EzypAvEWgG^p)VdQ=R1c3$Hb>; zeHD}SU#J8~H*|`tN}tvyUK`p~8GdaAVh2QVV-O?;-G&R_q}#CS_nyS!dfxA`{-DKb#`~ z_ECyKjg939x|47q#!vse6hE?m!7$;f1MsI?oEFL`fPHE{czK71D!eI8x>Ea$9k>hp z*A75!Mcw}?EAw{!rWF9)qU?L`_||+juj`>9a0#>`ZfxLst4m>P6wAf(*M^NRL4%_i zlpl9n>(!$up#V+`XdRCqQxo#zGI&)+zMNj261oZ4$L*_&#VbpRQ_~_ z7N7HHGDu3pe-`m3+p2qT6sWao1XPg)J~ru*-KZJB8sToP4v{mMZ+`o6OE}+@nFU4C z1(n?V1`Qz$;@_@q74m>25a+7e~b40?&H7(n~Bf3+{Uv$ON& z?a5isy@su^;;AOzrsoJXgKCEBddR_dCP6t-Vj5kMW%rb# z2QwF$WH8Oe9s2Avbkz>DurOh|wRG)XUQwEjukC>zhwwbcu9wdfSW!=$+HYQtIy>{2 z30{=d-E@2q{&cvXgkZuvw`CERDkXTRww#QfSrXN^g#wNATKst)r4Mlm>0U&AI+rE4 zCiF~6=9bm96ae392I95ji1)lZR0uxSp2&)p)0zi5@3{%{b{op~u%>;;kzU8m<26l* zHLA4MR`WwGg_%T82hw0Cxflk14J#Qj-^ZlmKVUsUG7_2z?zBlAG$j_8yOs{w4SU6CEE92{gQfWT3wR$VaOvetr@=L2Bjz{j$MM@3vc9G&#jS z3yP^T_6d(pAs#_da`cCR!K~ZKrF7ME*1{l=8W|u&;r=Z*tA?-5npzK$O0f*Uc@;j+ zH?iJ1W*vto7#Hd~K0y-|ugNJ&1_Ciq1C*ANFm}jfcJVhD5`@AGk(Eo)9K^Bt&oXcj zwdop+?O2c2Lmt$<7z`J?d4Ljlp!Ch}5okD|Ly_5PIa2pQevVN-&WI@JSK%@eS3vP* zkfVIhoqBu?db560)fq&g@>`{{{-#n2T+o|R!_^Ofpg>MuSX(wh9Dv`C40$F^7&Jig z$Ib@JYF~#tc4sao7NGr{f6Gyg+$*)}9~EjZX634En}v8F&rwZjqRdue@W$+T1QeCpGg7?QL~<*KC$(R=37DAG=eHS|M) z+2;62K%r=uOUGMMUio~zvw&R|*7xeNS*QsCNK>x(uNZKNjXr=KVMHavLpHs52k!3o zO_D>$T^yXU-yT&IO!SbGNd@F3GbNMeM&TVD+_3As^S!Wavp60LEi@#p*<_94u}0yB z%3}#|1=;wcqG6#zL`&};?Y8ubL8qr}8+?lx6dZlQW33oTOH`1AgAdEQEVfTmF@#_9 zs(v_zR8mjwytCMXhVfgmDqb8-JX>U~wrrc}#8jIz!ynn?1!FqNywg$+GT8OWIJ!8kl-#&--I1s=as|?9g4U3hDRqGQxsz5P8U7h7J-JCrX@x$yLBd~Rq6At z>9wy?HH}}SZ18=n9qsaVuJS50t|0qZYsL6d@&0EVGj}7mWtz~K=)v?Yql>7D0vsV7jGSH>6SJGxnsSadWK{9Xo^1l1>Fv?>#`op1%C|e> zpX%i~rsOABZ0;2eiy^%0`syLqi_rJ3&#E&DsWP0>Qn;-1lK|CF=KYmKljbHQGRc}w z{$iP-*RN90l0)(FAg3OA`w~PgnV)HE9{r4iU$XT0FobVY{4{(lym@0Z-kJ-GHb36e zU~r#*My~fWA7sQogvs_|zmkYM@(}%vE5N<;P2Hwf3oVEWO&+@{dpJXdeMDx9O zjr+NCr}Ov4P8TqJPq&_44+B-FYHNp*?u3Ud?B{AS@Gf>3pVZmde946>4=)8%Rn!Kaycj!7wmh z&|#&i%z4AzrI#1$3E`=G`_gQ>d4t8u=|*P;Bx^>7xX+Qw##7P=)~Zon7T;{28k<*( zTZB9^>{g&ECQyRJxK<=zQntpV!=l8lGCS>>ejUR|D*+sqel9?~`y1PJUS|jRzE>IU z3=(zA6&&#ubgVD<&ZOQ}yKL#eu6E|GSi`R4^=;1<=B|H4T&+iJ9kF%$Pdg3lU9UX7 zT;Wm``#F2km=JE+8_%j$qmmajd{t6a|sdR)f`7kRwUQ`85N!s@-Th1vl zYkl|mEWH8g6Qvrm;Vlbvf3du8u$*q(HI_fPAU@4a3vbsVAy7+ZYpSePtBzUk`p`%H z%~W7aZyZ)8T!M~I%#y6!f?SM0*8&0UOinvRC-?4l0FT*76rS?JggjN7^(1etV-}BQ zO}nH2gJ6Uo2n$cqhhUmCtZTL%I6vUwgTOWZu6B!Y(HUmtsYoUP)jCgtojN#~@E{ z+t9SIt=r)Zp&m#RQ>}anH~!55pBhTVDQI6>*U0(;U$RgafFaRrRbJQ0)?rDq z8a07G_R`OO25M3<8n6IT*wZPZs)v>ON#q0fcY0u!0Tm`JRuY@mH$0@5iZj09y1A~q z$p!XtP}kM6>Qz9>aZ4P*PV`SeS2QPijzS#f$*)g4t@29A1z^+TUfY8kzSnzpx$Lju z6$KC$_Es4*wHjUyHig?*V^iCVn-cwJs)BFu?Ec<#VXrg*14?D zh?u|m&-q^ea$WX4ToHqvjXbVXI#%^O@dhfqeW{zfzM9jB!=?wT8E#cP53eH_#0}%h zymtcl6eMxs3h2S+qpdRak?p1{G1`;wx;Z3kANb$Pz<_}1Sr;&Vbj%I8%@Xt!Luo6s z>VI?4?$SH?kHDV*i_@3As2%X$-LvpHz3=G;A)iMQi`^EFd}Z<>T~!A_Xt#B}MkdpnETphFR0;&Rh&U+stv@qQGgk$|574 zm9*|^)kDguLe^tPu;92$9xmpvrN+_%E9V=Uw1m=g;?emC+I+bKMBmktC_zR0R-I_B z!!l}(mQORT1ozC@Trxs%47-t+rfd1y6%O%D6+9U8ZyhDtD6#L{okswivG>K)Tu!>^ z#kLdY0d;8u*toMB+pgZ>U?g~n{s#J58yh*j+DNwp6dO`&2XN1A8${%;5*dZt7}HxN zcEo7=1NVz3zxR}{U5zJ~JZ;Q4dfzdW!Hgl;LL6|Bp6e9Mn$kkp)%>EksbiQl`g=|v z3v?^`@|&vXqR3V-*l>80Z70Myr0vyBAh&o@`4Eh7raMKacFQn(~=f;Wv7JRPzK3sVfh# zX}3=fxi(y^Sy6d?6&CBlMDN^NyQw5B?z;?*R~c^di7;|Guza*j^HSmmEHolM)ri!A z$#^fE>o7@lMk92JabcG(r{Un2TIf2H5MYwimwM4|11|VRz(zE!iR`66ln~{-D7`*v zn)#XN>9bYsv-O7jl455TsE?S;XE&BH^GC{@z2Nf6Z#0fq`f)>z-Br^CPe`5-#32FN zBS|-2l3^uR&hy;=dZgiJU)6UDeVVLHJ>j#|a9%z$&b&=F4lkCui#>_YoY z((BGisx0|!FjpmLUGRo0tDC}XCNsOWL4@Pkfq59lw_+L3lU)GCkkFqhlw0y1Ki>~; z2jh1Lcf956G6Q41UO9g%?0d!{X5}AD&Tp;`$Fw?TZ3l3Xxa)Pcj4qOBBErN^$@Q1M zj~8%SEi%_VvJFwe3e|3NM_K+5jD6mp#MDISxF@MmL)IrMTO zlUi3Gu&MCFa&V-bMSUmv;bkYbz{AqM^^#(~++)&}3tn@9TY;4)W!8%wbC57qx4ppGk8yCR8wxkrHOVWrg5-WLX{`j6TMG zKKNJ;+#guT9uF&Xw~Tm&M@yGE&r&YWObRJcJ#pF2J>ARqRa@I5%Q4KIe}3jsOJy-$ z0+Ec0V3ZDQ7#iF(DA6f|iTA8JuHzJbm@XUEH4z2X=Gc#y7^ni9y)Q&twUbtI%hR|= z3#PJMOGZfxs65S}9ftrKvYbFi5gIX0Ot|Gkq5*8i0p%X|D7mEPkDuC1V|z)<*Wo;y zMAfD9fmxywJCz!$E1Zb#xvgoW0Vy9sy2k&WOodS{**qM zSR4yFm-;Sh!#Yz{d)A%_*^u06p%P`kYyvSE-8y((*>v2=p$%JaL9446F4LG82McpA zVS5-;bJBd^y!i?aurrShO_9^}{vH?_eY^^>k}wALMCzX@Ti~=6p4I|#&p@~WOp$=Z zXqf{A=?e&OsCvRkZ5v+d9(k%nZXM-bWg=X6*uWv7&|##rH$#NUnnAx}kO*JzD+HgNvf zm3Cq@q(AJ(ag|&DOeT2Bium3WKVYjL4ea;P;Q4YECuH9c@o6oRF4^v(VS$+`WAmj^ zUl>Ws9CQe}43h$DubC;MM|*NA1vzYU(7J>Iv9~6^^gquz9d*yUaW}D(hQpldxWOGv#};&Gd-l{V^(1G#ud@lr@Bc zM$3Z@v>hBX2z*j}k%;-Sy5Yd#+UD329qj~*;x@(?e#1%U4>3X~I%C^mS7_ngGwcJH zN^8@fbo8Q8M_e7Pjpw|0YJcf0!F{R#`j$c%)V8pgMKhB~8pM6aKlp(0kfhY^^I$~r zC=;tQ6X8xtnF1ASu9=rGC=~P;3;4NW-P(n`|;#Uht8Mg#ToyumCU1Nwp~ zI{&@Xt9$@SHrBqWc}-xZ(4Y#X-2$s5@MGTOkH_15Fw-p3+8Wxr=97mrAP%6HKZL!p z)^A$y*`OH+Vk#p6YzLM|M{=cHR_r*^&lZ(g2)jcB+v|6`U=^)_@yyk{Sea$tGmC0Cp`{I+-CtJ72kHX}*l2g|?d3Xo7UT9)WY zTW`00&KBd(BJPYR-hK1q8raG+5Ol%cC?(ooa%O*RAg9Dt%{|GsKe&sRyxR|(vBc%l zujz$2+SRSSH2=pTqF&Nf95fc?u1-HE^YDA^L2{4sq$@@a+16^#yucy381f^7Irl?o zn_bqhE@JUN&O`1?Wk^Ye&qY81JB?y!j0uNkG9LFrfR6G|HAY>N7vet}0@glZ3(Bi* zia`EN=S3R6-TkGkEO;A;J@zb@e^Xu|dW1n^y4zOE-PXoJj5EF*N^Nfkz8>ON z^F{T{QTfjoNeMp3bcp)8bWJ}lq59QN8+s`5_m?yi#<_d3pTMi>+^z+M(6GUIm6Z*O z<>R^Lb8x*pkqjmOu^RUxcm-ANC;Zc>41{)79Ejno%88T2JR1`*|YQ|EgBZ=a+#%2J@mRo0GIm`Y7g=^CuNalLZ&R87#N+V=Xgc;&#$eUwN#a_?{E(T+LUOfAIuhzkIs_=c7+auG`A*w@Y1i)>3PA zG%zy{s7Xsd8ae?7jHfm3Ct7s~%RrpOhf_^DNE# zYK-1hc}u3QaJ*EL(4YsN;@#bnsi7I}>w%j1F7)&3`np}dyI*E?rLD%>JWk5J-qmFp zcGa$h&OO6;GVHY_m&^V9d}Y@ZfEm|0p1}r{#u*|r4o3^eOIS5dY3ClA)fJu{ui4F1 z*`6H_l+4P&;fw2>bN7=E;W}ZmVJSAAiO)RcGLyec%-Nd zAG9Hb8r$f-c9p-Xu=K3NsOc)5^kQ7}>4(yXKKoy@0f{wgv~NdJs8E`!BlDFKMe$nb zramF{x`^rPRZUyr-~QQDyW>QD*|9lh3ozGu%k)vs9#Q=2)*3O$I-4iH zIztam6FolkAK3K?6HZW>KYDJD*n4mx=Dm}t`t$y4yQeFjpLIl!nB*XJMk2(_PjJR& zpx!_or%t0rK%q8s*XDdqPqS5hkJ7GwCKy$8IvvhG3CY;K>TkY?FgQPu2=C5Y?o86X zK22B?Yf7y6_3XH;VVAiDa^ zMa}i<_m-Zlf&1^ZWK@5;KYTKv;?r z|E!OvxcA!mYBR2PylVCu%e)vUI3;FO{$lO8mE4IaW}@gLseTb+-hL?q zDZ;8#O+xjbj9P~~@`VuB`d77222oC$I?_PAZ1xY15_M1e3p5j2Ei|V+=dl`T9*AH4 znV!t$<)IA92Ouw5agF$ut)Z9EP2+Yu%_4H5^qPQ>vuyugc4I-RxiO zfGGqDyba+p^8kAZR3P}zOyy0$_g~o6146^TP~8r?WQi}FqNdT_3*0 zPwP;IV}m|!+F*2I`!Idd){N4K3Zi0$gwY7%B*&af&{j+rkcO?+JgZOv{r3LLT+kjO z6pH#n3EEGw_YuF!-$scXCWCRcM4DAw9NEGQAX(%a@`Mi7y8=hm0`PYpM%#AbB8_Fn zd(~nu6{yB^+XQgdwe9F}P_*P58!i9a>8#+b!L;31dV&d;5e}1(}IK zA0!_B+o{Ltw>$`L$zfkK-|hyUGpd!xzKFDAYFq- zjgtfWkw?X=`J&JWVv7p@&&HsyKmOv`a`x6YckA}Xa0tjwnf>?yasoLp3Mdoze|D8c zWY{-ac%B-sSSi~1QI=I69c}ZA#*1~ZZWgz^=y@Y-qmBv)brAsO0w^s;8C?o#u>#@E=RA0V#bxGZ>e&Yp-S0AM$xhkOuQX>R0x

    vPadZvr=m+luy=9r9LODrOAGNF}A!?#SAKUX+@q#MwY$Q^V7(29IbB=9{hVk1- zh4Xp1Q;7Uto}#mih4LOrH$7OOv}ZClZ}cVOkpo368!mMhL04LEln!djCT zZ@{t5onC4QW%U`EKg8SR7+k%yhD4M0cNL@z<-F9dV3VO~t*K1^%w+7P(H$G=x=}Hf zfq0CNZAL@7iDXN)sIX3&g?T3|N_BuC>mvPM$rhuW?hQ0)t5r)D4wOyNcLzQI-LM(> z$lo08-+ZiI|65eTt)~39K%al#N%yDBLL0-(TVN0frTt+>;dtFA7iS)!N?tQ-od!d3 zT%f!i6gzVLFz9fi%sJE+YAG?{#CHD%A>o&<(Y9XD^o+L5gs)hpmphmK)q9t7Qv134 zFfplhET9Dgd0?X}t$O%=fCAfL*`qg%bPC~-MZ-$=obt$EJkwTYTQwn6Vl+)SjT!Ww zMQ;bqK?wZ#m;3nn1Ua=ObgljRf~NPL=Vqnw-awnai_zA&uDp8fOz=%j(Q(FvSI9^d zTp_2=2?<2m2TKaYmb;p?IM63JK!YBQ*uS5w*s4&W7s&jj5v-@chki3(QO3hc=3qpu zrF$5(%E9@J^w12_rAqa;ntXZ90TK@ujxB{a1GEi%^+bspKMa9279{)GB~yHM+>7k2 znetj(up^jPl}YTgUf75h0sVpeJ`zegkJ3UYLj=y`zK0IdVv!-z2;R(<{Q=UA#Q{FC z#Q&cdsLgo+>H-;dGeZvbJ!KfiI&tA5l< zxOb~Aj}#vnJ_5&531P*ud;|A38UK(>Od1bg#!e4*cs}!9#|yca*CN^V;=vFRd3y@D zM%t*HT87qrN%T3jiwfOgj8APbR|i?+ZXQR1)1B{4fgx4-owS;wl}R5|p3W3)CeP&;OsbE5=b; zca|&L@qi_-wUWnk^A$N)wwo?5X?*Igec=hhiS|^!(99PnJN|m_pFn-CLj8!|S)dXZ z?+mGT1PQ=khI{6rCEJ<;t@mA!_I2hRKCW%(eBO{Zu?}HM#JfaVBCT(e zpw#{W8_5B#)2h&^A}d{0&%y4^Nv*QY@W*Gm!myyX(#YQJFCLB5InyIEnbtkHKB1Ay@x6z;Xm@kGWRI{*0+6h&G`p1y#2y zUSC9BQ;v9bt!+&ZJ7OgEgPil|ecK5D$_N-mq8noje1^=- zGVg$q%C}PUS9_U7G8lK=Cwigxc9)??MDHH4g)b?(o4esL8QWNn$(-D>PcdN4zILfM zu7}u@eR)RKK*9e=cbx~UpNbV_!AoG4)*BFks|~4K%26@VK}DJj?r$4}`H)UivLl;n zS7dG2LK=+S;JR08W9J-)9<5GwK7_LVt#HG(m^*_iMhW9Y1TASLEV?DVxn`)<<*;FRBaB5N2^063wdNE zW(*+eKtmZtgK?89!^ZBbnUeL`E<`owZ2`m5?qodn4yCAX7+2kAIC)9)<%M$gXe<^j zscESzV*^?_5aUh>qKT}uXNA5lKY~!Pz9_MxY%7k8T&bGRV$2Vs&!^rB%^O17tyW*Hn7-LCZ{+?Z#zmk$li(Qm8~ z=vl?T$i=?^X8*k({ToE^e>NBY7dm;{T}NiX61G9vUXv@mPFaa~vkw5VD>E=8vLWtd zGP7#g-`Hvp2oW@>?SHo}96#lZ!ainZIKHB}67VssVQ0%OPfN!(K2;0Yzi__6Nokcw zcH@QK^`!FG6G6%54fL9jClbPiIG0ZW%iK70Lt0DDHHy8r+H diff --git a/chart-sdk/asp-net-mvc/range-selector/images/grid-tick/grid.png b/chart-sdk/asp-net-mvc/range-selector/images/grid-tick/grid.png deleted file mode 100644 index 03249b6686e83725f1a3e9d9e428bd5f16826d9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10600 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

    Z#141LpAr8X3VaQ^s%xy1bLIA5{{m(G68-=H diff --git a/chart-sdk/asp-net-mvc/range-selector/images/nuget-demo.png b/chart-sdk/asp-net-mvc/range-selector/images/nuget-demo.png deleted file mode 100644 index 3fc06b162e6c40ae34e489ab50d170290875fb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70328 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 H+3SA;@~3m! diff --git a/chart-sdk/asp-net-mvc/range-selector/images/period-selector/height.png b/chart-sdk/asp-net-mvc/range-selector/images/period-selector/height.png deleted file mode 100644 index 1106b1feed4bb1cb5a26a90ef3ec9a4112b8e01f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22707 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 diff --git a/chart-sdk/asp-net-mvc/range-selector/images/period-selector/periods.png b/chart-sdk/asp-net-mvc/range-selector/images/period-selector/periods.png deleted file mode 100644 index b08bc7de52300f864779facb730c1288b69b33cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17375 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 p)HNpb|8(m5e-yIUuHJq8{{YNP=+*!L diff --git a/chart-sdk/asp-net-mvc/range-selector/images/range.png b/chart-sdk/asp-net-mvc/range-selector/images/range.png deleted file mode 100644 index 9f1c872a5e815d39182078347bd7d144490cf478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10840 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 diff --git a/chart-sdk/asp-net-mvc/range-selector/images/rangenavigator-control.png b/chart-sdk/asp-net-mvc/range-selector/images/rangenavigator-control.png deleted file mode 100644 index ec874c9d83b331f12933d3d86bc24dd9562e2b4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1801 zcma)6S6I`@9{mT*BE>=|K?&lnG#j`yDMA2)fzbQXWw|u3)F6=1Y!R|ZkjqCABv}Je zmJ(_(Kwtp@g^PX>k>VzxsDwaFBB6zn8}{Ko-G}=yznR~eGv{IEoWZ-hB9F+Olmh_Z zh@%6-69A+tBx|$7Qj%)5R2?9hKxj{-9nkz5wk&B5McKO80zhkl{B9Un(#s||_@e>f z=+MCcjmFpg0|0&?IwEYn(?YmRCSmfL+K3<|z@Qe{LBEaqF#htCaIreo1{ zN}2uhyp*2CYG^=*1YU@PDfe}0VTns~V~e8&ehpKR?Xx99ySzW%oik~vkr2>js(n}S z`=a%K(!DCub~d>Eias}rPu4xAg8%>)m9)hwV`ICsxA-5&OATVxFS|>dc!j5{13($4 zjL&sT*6uIgU}?N~=bVr6lmQmhkPqVB$V-^!(e1$a<90V1yZDbS0ALcP*=L0(M$AUG zw|?z}pP`a#y4d+tSpZ1LT^#DtWvFZk&h*Egy?*`%Hjfp3aL+kr))_tczImQsL$Qg% zOoX)Kg(0Cz4&#L%oNe#&9uiH(B^*S5oy?8pJxUM{s zXqc+pqH<>f4(-u|`pxeM9{|4T zB*A8^Gt2jcPEiJDmE~}DPZglgY7O7LHNK8lZ&3j~OIi1@z`Gtujp4^DwJhMbY7b<; z$d_7f*QXoKKiuK5DBJW<%VGj*KQr-gB`VZ@=gp5#dJ|+_L*AMlnsBH@A?^JyiJcO3 z=N}dsXQgw8^PrmWtPXIFb*4zTyNwRyFYoPa#AmHW(_-2KC_&W8)k(u8D)DB*9X}bzp&?`1*(GtBXWTS1!Bp5y`DFm|Tx)1$@ zae==uaBoY{Us^uFH|TuC)BZfze0cX!0H}EkllWF2LyYpT zNp1E$A8U8)8yOnl{mgfQ(=JIJ|`Vv{7J+r*Stkl=fPfR;P9(vrAGKhCW zr`vpckn;2W%n8!eG674dr9}^xslbd=6xty&}JIK@jBqP%(a!UCc2Z zo<#(_c3?U!#K4?qr{l;gW1Y2sI*H{sjVxqW(5XuP6N_6sW>l~;Ny*H9ziy&1d*P}2>?8tZ*+T^{|=Btx`In%o3>tpmadMV$J z>kg!?7qPiCja821tRUQU?+qhRO9Xx7Oin+^%lEM4USebta8GA83faRhuWqgJ%sDJ7 zC4Zl|c1sJJSoVHu%r7o(Y;~?q-WPd_>0x2q&VDUA z?23k~w(E;+`Au3DQ>X{m3{p{qB>h|pUZQzF*~RL}AALE|3tMd`4XA(Xa2a$_<=_&F zw400}%*i0*n162^cr_vCf7;d|82~(O{x66Bm%1=NH6@n&*KjV9@V!&=0RxWqu83y4 H>v#VHPDNRW diff --git a/chart-sdk/asp-net-mvc/range-selector/images/rn.png b/chart-sdk/asp-net-mvc/range-selector/images/rn.png deleted file mode 100644 index 4e97e5ab9a18b571e40148ac64df85616dfbfca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7791 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 T9HW_SU&l7kHPxwxT#fpFBKk`D diff --git a/chart-sdk/asp-net-mvc/range-selector/images/series-type/area.png b/chart-sdk/asp-net-mvc/range-selector/images/series-type/area.png deleted file mode 100644 index 3bc69947bbd8f5ddc1ea43f59f2f9e7ad6884bb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10157 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 diff --git a/chart-sdk/asp-net-mvc/range-selector/images/series-type/column.png b/chart-sdk/asp-net-mvc/range-selector/images/series-type/column.png deleted file mode 100644 index ae26135c46d5c8adbf8e59a91566aa796277aa50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11859 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 Gz5fAIj>eY& diff --git a/chart-sdk/asp-net-mvc/range-selector/images/series-type/spline.png b/chart-sdk/asp-net-mvc/range-selector/images/series-type/spline.png deleted file mode 100644 index 1533c71e776b19fcd5775a7986b9429a7b7e9009..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17096 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 diff --git a/chart-sdk/asp-net-mvc/range-selector/images/series-type/splinearea.png b/chart-sdk/asp-net-mvc/range-selector/images/series-type/splinearea.png deleted file mode 100644 index f296499e4d28bbfce59654b03e198abd8235966e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13780 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 z 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

    `senD1+oT8qNYGWR4Qk?0grS92vRxy$s$-#zZC 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 u&_*l~_E6cfl}dKm3CS`t_9eS8 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 diff --git a/chart-sdk/asp-net-mvc/range-selector/labels.md b/chart-sdk/asp-net-mvc/range-selector/labels.md deleted file mode 100644 index e629cec4a..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/labels.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -layout: post -title: Labels in ASP.NET MVC Range Navigator Component -description: Learn here all about Labels in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Labels - -## Multilevel labels - -The multi-level labels for the Range Selector can be enabled by setting the `enableGrouping` property to **true**. This is restricted to the DateTime axis alone. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/multi/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Multi.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/multi/multi.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Multilevel labels](images/labels/multi.png) - -## Grouping - -The multi-level labels can be grouped using the `groupBy` property with the following interval types: - -* Auto -* Years -* Quarter -* Months -* Weeks -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/group/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Group.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/group/group.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Grouping](images/labels/group.png) - -## Smart labels - -The `labelIntersectAction` property is used to avoid overlapping of labels. The following code sample shows the setting of `labelIntersectAction` property to **Hide**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/smart/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Smart.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/smart/smart.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Smart labels](images/labels/smart.png) - -## Label positioning - -By default, the labels can be placed outside the Range Selector. It can also be placed inside the Range Selector using the `labelPosition` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Label positioning](images/labels/position.png) - -## Labels customization - -The font size, color, family, etc. can be customized using the `labelStyle` setting. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/label/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Labels Customization](images/labels/custom.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/light-weight.md b/chart-sdk/asp-net-mvc/range-selector/light-weight.md deleted file mode 100644 index 05af35d06..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/light-weight.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: post -title: Light Weight in ASP.NET MVC Range Navigator Component -description: Learn here all about Light Weight in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Light Weight -publishingplatform: chart-sdk -documentation: ug ---- - - -# Lightweight range navigator - -By default, when the `dataSource` for `series` is empty, a lightweight Range Selector will be shown without Chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/light-weight/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Light-weight.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/light-weight/light-weight.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Lightweight Range Selector](images/light-weight.png) - -## See Also - -* [Period Selector](./period-selector/) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/overview.md b/chart-sdk/asp-net-mvc/range-selector/overview.md deleted file mode 100644 index a5dd16c15..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/overview.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: post -title: Overview in ASP.NET MVC Range Navigator Component -description: Learn here all about Overview in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Index -publishingplatform: chart-sdk -documentation: ug ---- - - -# Overview - -RangeNavigator is a data visualization control. It allows you to scroll and navigate through the data. This control easily combines with other controls such as Chart, Data Grid, etc., to create rich and powerful dashboards. - -## Key Features - -* **Data sources** - Supports local binding and remote data source. -* [**Tooltip**](https://ej2.syncfusion.com/aspnetmvc/RangeNavigator/Default#/material) - Supports interactive features such as tooltip and animation. -* [**Lightweight**](https://ej2.syncfusion.com/aspnetmvc/RangeNavigator/LightWeight#/material) - Supports light-weight Range navigator to load in mobile device. -* [**Period Selector**](https://ej2.syncfusion.com/aspnetmvc/RangeNavigator/pDefault#/material) - Provides options to select the data over the custom period. -* **Axis Types** - Supports multiple axis and series types to plot the data. \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/period-selector.md b/chart-sdk/asp-net-mvc/range-selector/period-selector.md deleted file mode 100644 index 56056e4fd..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/period-selector.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -layout: post -title: Period Selector in ASP.NET MVC Range Navigator Component -description: Learn here all about Period Selector in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Period Selector -publishingplatform: chart-sdk -documentation: ug ---- - - -# Period selector - -The period selector allows to select a range with specified periods. - -## Periods - -An array of objects that allows the users to specify pre-defined time intervals. The `interval` property specifies the count value of the button, and the `text` property specifies the text to be displayed on the button. The `intervaltype` property allows the users to customize the interval type, and it supports the following types: - -* Auto -* Years -* Quarter -* Months -* Weeks -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/period/periods/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Periods.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/period/periods/periods.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Periods](images/period-selector/periods.png) - -## Positioning period selector - -The `position` property allows the users to position the period selector at the **Top** or **Bottom**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/period/position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/period/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Positioning](images/period-selector/position.png) - -## Height - -The `height` property allows the users to specify the height of the period selector. The default value of the height property is **43px**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/period/height/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Height.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/period/height/height.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Height](images/period-selector/height.png) - -## Visibility of range navigator - -The `disableRangeSelector` property allows the users to display only the period selector and not the Range Selector. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/period/visible/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Visible.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/period/visible/visible.cs %} -{% endhighlight %} -{% endtabs %} - - - -## See Also - -* [LightWeight](./light-weight) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/r-t-l.md b/chart-sdk/asp-net-mvc/range-selector/r-t-l.md deleted file mode 100644 index faf8ff891..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/r-t-l.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: post -title: R T L in ASP.NET MVC Range Navigator Component -description: Learn here all about R T L in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: R T L -publishingplatform: chart-sdk -documentation: ug ---- - - -# RTL - -The Range Selector supports right-to-left (RTL), which can be enabled with the `enableRtl` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/rtl/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rtl.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/rtl/rtl.cs %} -{% endhighlight %} -{% endtabs %} - - - -![RTL](images/rtl.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/range.md b/chart-sdk/asp-net-mvc/range-selector/range.md deleted file mode 100644 index 08593b138..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/range.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: post -title: Range in ASP.NET MVC Range Navigator Component -description: Learn here all about Range in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range -publishingplatform: chart-sdk -documentation: ug ---- - - -# Selecting Range - -The Range Selector's left and right thumbs are used to indicate the selected range in the large collection of data. A range can be selected in the following ways: - -* By dragging the thumbs. -* By tapping on the labels. -* By setting the start and the end through the `value` property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Selecting range](images/range.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/series-type.md b/chart-sdk/asp-net-mvc/range-selector/series-type.md deleted file mode 100644 index a42bb7de0..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/series-type.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -layout: post -title: Syncfusion Series Type in ASP.NET MVC Range Navigator Component -description: Learn here all about Series Type in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Series Type -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Navigator Series Types - -To render the data, the Range Selector supports six types of series. - - - -## Line - - - -To render a line series, use series `type` as **Line**. By default, the line series is rendered in the Range Selector. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/line/line.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Line Chart](images/series-type/line.png) - -## Area - -To render an area series, use series `type` as **Area**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/area/area.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Area Chart](images/series-type/area.png) - -## StepLine - -To render a Step line series, use series `type` as **Step Line** - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/step/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Step.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/step/step.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Step Line Chart](images/series-type/stepline.png) - -## Spline - -To render a Spline series, use series `type` as **Spline** - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/spline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Spline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/spline/spline.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Spline chart](images/series-type/spline.png) - -## Spline Area - -To render a Spline area series, use series `type` as **SplineArea** - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/splinearea/razor %} -{% endhighlight %} -{% highlight c# tabtitle="SplineArea.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/splinearea/splinearea.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Spline area chart](images/series-type/splinearea.png) - -## Column - -To render a Column series, use series `type` as **Column** - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/series-type/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Column chart](images/series-type/column.png) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/range-selector/tool-tip.md b/chart-sdk/asp-net-mvc/range-selector/tool-tip.md deleted file mode 100644 index c5d6e6ee4..000000000 --- a/chart-sdk/asp-net-mvc/range-selector/tool-tip.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -layout: post -title: Tool Tip in ASP.NET MVC Range Navigator Component -description: Learn here all about Tool Tip in Syncfusion ASP.NET MVC Range Navigator component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Tool Tip -publishingplatform: chart-sdk -documentation: ug ---- - - -# Tooltip - - - -The tooltip for sliders are supported by the Range Selector. Sliders are used in the Range Selector to select data from a specific range. The tooltip displays the selected start and end values. - - - -## Enable Tooltip - -The tooltip can be used to display information about the selected data and it is enabled by setting the `enable` property to **true**. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/getting-started/tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/getting-started/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Enable tooltip](images/tooltip/tooltip.png) - -## Customization - -Tooltip can be customized using the following properties: - -* enable - Customizes the visibility of the tooltip. -* fill - Customizes the background color of the tooltip. -* opacity - Customizes the opacity of the tooltip. -* textStyle - Customizes the font size, color, family, style, weight, alignment, and overflow of the tooltip. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/tooltip/tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/tooltip/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Tooltip Customization](images/tooltip/tooltip-custom.png) - -## Label Format - -The `labelFormat` property in the tooltip is used to format and parse the date to all globalize formats. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/tooltip/format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/range-selector/tooltip/format/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -![Label Format](images/tooltip/tooltip-format.png) - -The following table shows the results of applying some common date and time formats to the `labelFormat` property. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Label ValueLabel Format Property ValueResult Description
    new Date(2000, 03, 10)EEEEMondayThe Date is displayed in day format
    new Date(2000, 03, 10)yMd04/10/2000The Date is displayed in month/date/year format
    new Date(2000, 03, 10) MMM AprThe Shorthand month for the date is displayed
    new Date(2000, 03, 10)hm12:00 AMTime of the date value is displayed as label
    new Date(2000, 03, 10)hms12:00:00 AMThe Label is displayed in hours:minutes:seconds format
    \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sankey-diagram/getting-started.md b/chart-sdk/asp-net-mvc/sankey-diagram/getting-started.md index 081042897..641d8ffd0 100644 --- a/chart-sdk/asp-net-mvc/sankey-diagram/getting-started.md +++ b/chart-sdk/asp-net-mvc/sankey-diagram/getting-started.md @@ -1,58 +1,64 @@ --- layout: post -title: Getting started with ASP.NET MVC Sankey Chart Component -description: Checkout and learn about Getting started with ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. +title: Getting started with ASP.NET MVC Sankey Chart | Syncfusion +description: Check out and learn about getting started with ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more details. platform: chart-sdk -control: Getting started +control: Getting Started publishingplatform: chart-sdk documentation: ug --- - -# Getting started with ASP.NET MVC Sankey Chart Control +# Getting Started with the ASP.NET MVC Sankey Chart Control -This section briefly explains about how to include ASP.NET MVC Sankey Chart control in your ASP.NET MVC application using Visual Studio. - -> **Ready to streamline your Syncfusion® ASP.NET MVC development?** Discover the full potential of Syncfusion® ASP.NET MVC controls with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like Visual Studio, Visual Studio Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/aspnetmvc/documentation/ai-coding-assistant/overview) +This section briefly explains how to add the Syncfusion® ASP.NET MVC Sankey Chart control to your ASP.NET MVC application using Visual Studio. ## Prerequisites -[System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) +Refer to the [System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) before creating the application. + +## Create an ASP.NET MVC application with HTML helper + +You can create an ASP.NET MVC application using either of the following options: -## Create ASP.NET MVC application with HTML helper +* [Create a project using Microsoft templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) +* [Create a project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) -* [Create a Project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) +## Install the ASP.NET MVC NuGet package -## Install ASP.NET MVC package in the application +To add Syncfusion® **ASP.NET MVC** controls in the application, open the NuGet Package Manager in Visual Studio by selecting (Tools → NuGet Package Manager → Manage NuGet Packages for Solution). Search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and install it. -To add `ASP.NET MVC` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and then install it. +Alternatively, you can use the Package Manager Console by navigating to: +Tools → NuGet Package Manager → Package Manager Console, and then run the following command: {% tabs %} -{% highlight C# tabtitle="Package Manager" %} +{% highlight bash tabtitle="Package Manager Console" %} Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} {% endhighlight %} {% endtabs %} -N> Syncfusion® ASP.NET MVC controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.MVC5 NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. +N> Syncfusion® ASP.NET MVC controls are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). Refer to the [NuGet packages](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) topic to learn more about installing NuGet packages in various operating system environments. The Syncfusion.EJ2.MVC5 NuGet package depends on [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating the Syncfusion® license key. -## Add namespace +## Add the namespace -Add **Syncfusion.EJ2** namespace reference in `Web.config` under `Views` folder. +Add the **Syncfusion.EJ2** namespace reference in the `Web.config` file available in the `Views` folder. + +{% tabs %} +{% highlight xml tabtitle="~/Views/Web.config" %} -``` - + -``` + +{% endhighlight %} +{% endtabs %} ## Add script resources -Here, the script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, +Add the script reference inside the `` element of the `~/Views/Shared/_Layout.cshtml` file as follows. {% tabs %} {% highlight cshtml tabtitle="~/_Layout.cshtml" %} @@ -66,17 +72,17 @@ Here, the script is referred using CDN inside the `` of `~/Pages/Shared/_L {% endhighlight %} {% endtabs %} -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. +N> Refer to the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. -## Register Syncfusion® script manager +## Register the Syncfusion® Script Manager -Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Pages/Shared/_Layout.cshtml` file as follows. +Register the script manager `EJS().ScriptManager()` at the end of the `` element in the `~/Views/Shared/_Layout.cshtml` file as follows. {% tabs %} {% highlight cshtml tabtitle="~/_Layout.cshtml" %} -... + ... @Html.EJS().ScriptManager() @@ -84,9 +90,13 @@ Also, register the script manager `EJS().ScriptManager()` at the end of `` {% endhighlight %} {% endtabs %} -## Add ASP.NET MVC Sankey Chart control +## Build the Sankey Chart control + +This section walks through adding the Sankey Chart control to `~/Views/Home/Index.cshtml` and progressively binding data to it. -Now, add the Syncfusion® ASP.NET MVC Sankey Chart control in `~/Home/Index.cshtml` page. +### Step 1: Add the Sankey Chart control + +Add the Syncfusion® ASP.NET MVC Sankey Chart control to the `~/Views/Home/Index.cshtml` page. {% tabs %} {% highlight razor tabtitle="CSHTML" %} @@ -97,9 +107,11 @@ Now, add the Syncfusion® ASP.NET MVC Sankey {% endhighlight %} {% endtabs %} -## Add data to Sankey Chart +Press Ctrl + F5 on Windows to run the application. The Syncfusion® ASP.NET MVC Sankey Chart control will be rendered in the default web browser. + +### Step 2: Bind data to the Sankey Chart -Now you can add data to the Sankey Chart component by defining nodes and links. Nodes represent the categories, and links represent the flow between them. +Sankey charts are built from two collections: a `Nodes` list (the categories at each end of a flow) and a `Links` list (the connections between them with an associated value). Use the following model classes for the data. {% tabs %} {% highlight razor tabtitle="CSHTML" %} @@ -110,4 +122,21 @@ Now you can add data to the Sankey Chart component by defining nodes and links. {% endhighlight %} {% endtabs %} -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET MVC Chart control will be rendered in the default web browser. +Press Ctrl + F5 on Windows to run the application. The Syncfusion® ASP.NET MVC Sankey Chart control will be rendered in the default web browser. + +## Troubleshooting + +If the Sankey Chart control does not render as expected, review the following common issues and their resolutions. + +* **"Script Manager is not defined" or scripts run twice** — `@Html.EJS().ScriptManager()` was not added, or was added more than once. Ensure `ScriptManager` is registered exactly once at the end of `` in `_Layout.cshtml`. + +* **"Could not load file or assembly 'Syncfusion.EJ2'"** — The NuGet package was not restored. Run `Update-Package -reinstall` in the Package Manager Console, or restore via Visual Studio (right-click solution → Restore NuGet Packages). + +* **Chart renders but no flows appear** — The `SourceId` and `TargetId` values in `SankeyLink` must match an `Id` defined in `SankeyNode`. Property names are case-sensitive; verify they match exactly. + +* **`Newtonsoft.Json` reference error after upgrade** — `Syncfusion.EJ2.MVC5` requires a specific `Newtonsoft.Json` version. Install a compatible `Newtonsoft.Json` version (≥ 12.0.2) via NuGet. + +## See also + +* [Data Label in ASP.NET MVC Sankey Chart](https://ej2.syncfusion.com/aspnetmvc/documentation/sankey/labels) +* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sankey/accessibility.md b/chart-sdk/asp-net-mvc/sankey/accessibility.md deleted file mode 100644 index 3d27421a1..000000000 --- a/chart-sdk/asp-net-mvc/sankey/accessibility.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -layout: post -title: Accessibility in ASP.NET MVC Sankey Chart Component -description: Learn here all about Accessibility in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility -publishingplatform: chart-sdk -documentation: ug ---- - -# Accessibility in ASP.NET MVC Sankey Chart component - -The Sankey Chart component follows the accessibility guidelines and standards, including [ADA](https://www.ada.gov), [Section 508](https://www.section508.gov), [WCAG 2.2](https://www.w3.org/TR/WCAG22), and relevant [WAI-ARIA](https://www.w3.org/TR/wai-aria#roles) roles. - -The Sankey Chart component's accessibility compliance is outlined below. - -| Accessibility Criteria | Compatibility | -| -- | -- | -| [WCAG 2.2](https://www.w3.org/TR/WCAG22) Support | Yes | -| [Section 508](https://www.section508.gov) Support | Yes | -| Screen Reader Support | Yes | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Yes | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | -| [Axe-core](https://www.npmjs.com/package/axe-core) Accessibility Validation | Yes | - - -

    Yes - All features of the component meet the requirement.
    - -
    Intermediate - Some features of the component do not meet the requirement.
    - -
    No - The component does not meet the requirement.
    - -## WAI-ARIA attributes - -The Sankey Chart component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert) patterns to meet the accessibility. The following ARIA attributes are used in the Sankey Chart component: - -* img (role) -* button (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) -* aria-pressed (attribute) - -## Keyboard interaction - -The Sankey Chart component follows the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert#keyboardinteraction) guidelines, making it easier for assistive technology users and keyboard-only users to navigate the chart. The following keyboard shortcuts are supported by the Sankey Chart component. - -| **Press** | **To do this** | -| --- | --- | -| Alt + J | Moves the focus to the Sankey Chart element. | -| Tab | Moves the focus to the next element in the chart. | -| Shift + Tab | Moves the focus to the previous element in the chart. | -| Down Arrow | Moves the focus to the node or link below from the selected element. | -| Up Arrow | Moves the focus to the node or link above from the selected element. | -| Left Arrow | Moves the focus to the next node or link from the selected element. | -| Right Arrow | Moves the focus to the previous node or link from the selected element. | -| ESC | Cancel the tooltip for the node or link. | -| Ctrl + P | Prints the Sankey Chart. | - -## Ensuring accessibility - -The Sankey Chart component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Sankey Chart component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/sankey.html) in a new window to evaluate the accessibility of the Sankey Chart component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/sankey.html" %} - -## See also - -* [Accessibility in Syncfusion® ASP.NET MVC components](../common/accessibility) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sankey/appearance.md b/chart-sdk/asp-net-mvc/sankey/appearance.md deleted file mode 100644 index 1546efcea..000000000 --- a/chart-sdk/asp-net-mvc/sankey/appearance.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -layout: post -title: Appearance in ASP.NET MVC Sankey Chart Component -description: Learn here all about Appearance in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Appearance -publishingplatform: chart-sdk -documentation: ug ---- - -# Appearance in ASP.NET MVC Sankey Chart component - -The Sankey Chart provides comprehensive customization options to control visual appearance, dimensions, responsiveness, colors, borders, and themes. These appearance settings enable you to create diagrams that match your application's design system and user experience requirements. - -This guide covers dimension configuration, responsive sizing, backgrounds, borders, margins, and theme selection. - -## Dimensions - -Control the size of the Sankey Chart using the `Width` and `Height` properties. You can specify dimensions in pixels (px) or percentages (%) to create fixed or responsive layouts. - -### Width and Height Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| width | string | null | Width of the chart as a CSS value (e.g., '700px' or '100%'). | -| height | string | null | Height of the chart as a CSS value (e.g., '420px' or '100%'). | - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/width-height/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Width-height.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/width-height/width-height.cs %} -{% endhighlight %} -{% endtabs %} - -## Responsive Sizing - -Use percentage-based dimensions for responsive layouts that adapt to container sizes. This is recommended for applications that need to work across different device sizes and screen orientations: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/responsive-size/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Responsive-size.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/responsive-size/responsive-size.cs %} -{% endhighlight %} -{% endtabs %} - -## Background Customization - -Customize the background of the Sankey Chart with solid colors or background images to match your application's theme or create specific visual effects. - -### Background Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| background | string | null | Background color of the chart (CSS color value). | -| backgroundImage | string | null | Background image URL. | - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/background/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Background.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/background/background.cs %} -{% endhighlight %} -{% endtabs %} - -## Border Customization - -Customize the border of the Sankey Chart container. - -### Border Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| border.color | string | '' | Border color. Accepts values in hex or RGBA as valid CSS color strings. | -| border.width | number | 1 | Border width in pixels. | -| border.dashArray | string | '' | Sets the length of dashes in the stroke of border. | - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/border/border.cs %} -{% endhighlight %} -{% endtabs %} - -## Margin Customization - -Control the spacing around the chart content using margins. - -### Margin Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| margin.left | number | 10 | Left margin in pixels. | -| margin.right | number | 10 | Right margin in pixels. | -| margin.top | number | 10 | Top margin in pixels. | -| margin.bottom | number | 10 | Bottom margin in pixels. | - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/margin/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Margin.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/margin/margin.cs %} -{% endhighlight %} -{% endtabs %} - -## Theme - -The Sankey Chart provides multiple built-in themes to customize the visual appearance. Apply a theme using the `Theme` property. - -### Theme Configuration - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/theme/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Theme.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/appearance/theme/theme.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sankey/customization.md b/chart-sdk/asp-net-mvc/sankey/customization.md deleted file mode 100644 index 7f4e9fca2..000000000 --- a/chart-sdk/asp-net-mvc/sankey/customization.md +++ /dev/null @@ -1,263 +0,0 @@ ---- -layout: post -title: Customization in ASP.NET MVC Sankey Chart Component -description: Learn here all about Customization in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Customization -publishingplatform: chart-sdk -documentation: ug ---- - -# Customization in ASP.NET MVC Sankey Chart component - -The Sankey Chart provides extensive customization options to create visualizations that match your specific design requirements and data presentation needs. From styling and theming to advanced visual techniques, the component enables complete control over appearance and behavior. - -This guide covers comprehensive customization techniques including styling, theming, color mapping, and visual customization strategies. - -## Styling Overview - -The Sankey Chart supports multiple levels of styling customization: - -- **Global Styling**: Apply consistent styles to all elements -- **Element-Level Styling**: Customize specific nodes, links, or labels -- **Data-Driven Styling**: Apply styles based on data values or conditions -- **Theme-Based Styling**: Use predefined themes or create custom themes - -## Node and Link Styling - -### Global Node Styling - -Apply consistent styling to all nodes using the `NodeStyle` property: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/global-node/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Global-node.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/global-node/global-node.cs %} -{% endhighlight %} -{% endtabs %} - -### Global Link Styling - -Configure link appearance using the `LinkStyle` property: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/global-link/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Global-link.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/global-link/global-link.cs %} -{% endhighlight %} -{% endtabs %} - -## Individual Element Customization - -### Custom Node Appearance - -Customize individual nodes by setting properties on each node object: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/custom-node-appearance/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-node-appearance.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/custom-node-appearance/custom-node-appearance.cs %} -{% endhighlight %} -{% endtabs %} - -### Custom Node Labels - -Customize individual node labels with specific text, styling, and positioning: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/custom-node-labels/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-node-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/custom-node-labels/custom-node-labels.cs %} -{% endhighlight %} -{% endtabs %} - -## Color Customization - -### Predefined Color Palettes - -Apply predefined color palettes to automatically color nodes: - -```typescript -const nodes = [ - { id: 'Source1', label: { text: 'Source 1' }, color: '#3DA6D4' }, - { id: 'Source2', label: { text: 'Source 2' }, color: '#FFA500' }, - { id: 'Target', label: { text: 'Target' }, color: '#28A745' } -]; -``` - -### Color Mapping - -Map colors to specific categories or value ranges: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/color-mapping/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Color-mapping.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/color-mapping/color-mapping.cs %} -{% endhighlight %} -{% endtabs %} - -## Theme Customization - -### Apply Theme - -```typescript -const theme = 'Material'; // or 'Fabric', 'Bootstrap', 'HighContrast' - -return ( - - -); -``` - -### Custom Theme Colors - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/custom-theme/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-theme.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/custom-theme/custom-theme.cs %} -{% endhighlight %} -{% endtabs %} - -## Tooltip Customization - -### Template-Based Tooltips - -Create custom tooltip templates for rich content: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/template-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Template-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/template-tooltip/template-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Customization Patterns - -### Conditional Styling Based on Data - -Apply different styles based on data conditions or value ranges: - -```typescript -const onNodeRendering = (args) => { - const value = args.node.value || 0; - - if (value > 200) { - args.node.color = '#00A651'; // High flow - green - } else if (value > 100) { - args.node.color = '#FFB81C'; // Medium flow - orange - } else { - args.node.color = '#E81B23'; // Low flow - red - } -}; -``` - -### Category-Based Styling - -Assign colors and styles based on node categories: - -```typescript -const categoryColors = { - 'Energy': '#FF6B6B', - 'Transport': '#4ECDC4', - 'Industry': '#95E1D3', - 'Residential': '#FFD93D' -}; - -const onNodeRendering = (args) => { - const category = extractCategory(args.node.id); - args.node.color = categoryColors[category] || '#999'; -}; -``` - -### Interactive Styling - -Apply different styles for hover and focus states: - -```typescript -const onNodeEnter = (args) => { - // Highlight node on hover - args.node.highlightOpacity = 1; -}; - -const onNodeLeave = (args) => { - // Reset to normal state - args.node.highlightOpacity = 0.3; -}; -``` - -## Performance Optimization - -### Large Dataset Customization - -For charts with many nodes and links, optimize rendering performance: - -1. **Use Global Styles**: Apply global `NodeStyle` and `LinkStyle` instead of individual customization -2. **Minimize Calculations**: Reduce complex calculations in rendering events -3. **Conditional Rendering**: Only customize visible elements in viewport -4. **Cache Results**: Cache computed styles and colors - -## Customization Best Practices - -### Key Considerations - -1. **Consistency** - - Maintain consistent color schemes across nodes and links - - Use meaningful colors that represent data categories - - Apply visual hierarchy through size and opacity - -2. **Performance** - - Avoid complex calculations in rendering events - - Use global styles when possible - - Optimize for large datasets - -3. **Accessibility** - - Don't rely solely on color for information - - Ensure sufficient contrast ratios - - Provide alternative representations - -4. **User Experience** - - Use intuitive color mapping - - Provide clear visual feedback for interactions - - Maintain visual consistency with your application - -5. **Maintainability** - - Document custom styling logic - - Use reusable style functions - - Separate styling from business logic - -## Example: Comprehensive Customization - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/comprehensive-customization/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Comprehensive-customization.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/customization/comprehensive-customization/comprehensive-customization.cs %} -{% endhighlight %} -{% endtabs %} - -## Related Topics - -- [Appearance](appearance.md) -- [Nodes](nodes.md) -- [Links](links.md) -- [Labels](labels.md) -- [Legend](legend.md) -- [Events](events.md) diff --git a/chart-sdk/asp-net-mvc/sankey/events.md b/chart-sdk/asp-net-mvc/sankey/events.md deleted file mode 100644 index 856cc948c..000000000 --- a/chart-sdk/asp-net-mvc/sankey/events.md +++ /dev/null @@ -1,176 +0,0 @@ ---- -layout: post -title: Events in ASP.NET MVC Sankey Chart Component -description: Learn here all about Events in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Events -publishingplatform: chart-sdk -documentation: ug ---- - -# Events in ASP.NET MVC Sankey Chart component - -The Sankey Chart provides comprehensive events that allow you to customize behavior, respond to user interactions, and hook into the chart lifecycle. These events enable advanced customization scenarios including data transformation, analytics tracking, and dynamic UI updates. - -This guide covers lifecycle events, rendering events, interaction events, and export/print events. - -## Event List - -| Event | Description | -|-------|-------------| -| load | Triggers before the Sankey loads. Allows customization before rendering. | -| loaded | Triggers after the Sankey is fully loaded and rendered. | -| legendItemRendering | Triggers before a legend item is rendered. Allows customization of legend items. | -| labelRendering | Triggers before a label is rendered. Allows customization of label text and style. | -| nodeRendering | Triggers before a node is rendered. Allows customization of node appearance. | -| linkRendering | Triggers before a link is rendered. Allows customization of link appearance. | -| tooltipRendering | Triggers before a tooltip is rendered. Allows customization of tooltip content. | -| nodeClick | Triggers when a node is clicked. | -| nodeEnter | Triggers when the mouse enters a node area. | -| nodeLeave | Triggers when the mouse leaves a node area. | -| linkClick | Triggers when a link is clicked. | -| linkEnter | Triggers when the mouse enters a link area. | -| linkLeave | Triggers when the mouse leaves a link area. | -| sizeChanged | Triggers when the chart size changes. | -| beforeExport | Triggers before the export process starts. | -| afterExport | Triggers after the export process completes. | -| exportCompleted | Triggers when export is completed. | -| beforePrint | Triggers before the print process starts. | - -## Lifecycle Events - -### Load Event - -The `Load` event triggers before the Sankey Chart begins rendering. Use this event to customize configuration, apply themes, or prepare data before the chart loads: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/load-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Load-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/load-event/load-event.cs %} -{% endhighlight %} -{% endtabs %} - -### Loaded Event - -The `Loaded` event triggers after the Sankey Chart is completely rendered and ready for interaction. Use this event to initialize calculations, perform analytics, or trigger dependent components: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/loaded-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Loaded-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/loaded-event/loaded-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Interaction Events - -### Node Interaction Events - -Handle node click and hover events to respond to user actions and provide interactive feedback: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/node-interaction-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Node-interaction-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/node-interaction-event/node-interaction-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Link Interaction Events - -Handle link click and hover events: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/link-interaction-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Link-interaction-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/link-interaction-event/link-interaction-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Rendering Events - -Use rendering events to customize elements dynamically based on data values, conditions, or business logic. This is the most powerful approach for data-driven styling. - -### Node Rendering Event - -The `NodeRendering` event triggers before each node is rendered, allowing dynamic node customization: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/node-rendering-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Node-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/node-rendering-event/node-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -### Link Rendering Event - -The `LinkRendering` event triggers before each link is rendered, allowing dynamic link customization: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/link-rendering-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Link-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/link-rendering-event/link-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -### Label Rendering Event - -The `LabelRendering` event triggers before each label is rendered, allowing dynamic label customization: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/label-rendering-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Label-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/label-rendering-event/label-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -### Legend Item Rendering Event - -The `LegendItemRendering` event triggers before a legend item is rendered, allowing custom legend item styling: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/legend-item-rendering-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Legend-item-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/legend-item-rendering-event/legend-item-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Size Changed Event - -Respond when the chart size changes (e.g., window resize): - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/size-changed-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Size-changed-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/size-changed-event/size-changed-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Complete Event Handler Example - -Combine multiple events for comprehensive handling: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/complete-event-handler/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Complete-event-handler.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/events/complete-event-handler/complete-event-handler.cs %} -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/asp-net-mvc/sankey/getting-started.md b/chart-sdk/asp-net-mvc/sankey/getting-started.md deleted file mode 100644 index 641d8ffd0..000000000 --- a/chart-sdk/asp-net-mvc/sankey/getting-started.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -layout: post -title: Getting started with ASP.NET MVC Sankey Chart | Syncfusion -description: Check out and learn about getting started with ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - - -# Getting Started with the ASP.NET MVC Sankey Chart Control - -This section briefly explains how to add the Syncfusion® ASP.NET MVC Sankey Chart control to your ASP.NET MVC application using Visual Studio. - -## Prerequisites - -Refer to the [System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) before creating the application. - -## Create an ASP.NET MVC application with HTML helper - -You can create an ASP.NET MVC application using either of the following options: - -* [Create a project using Microsoft templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) - -* [Create a project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) - -## Install the ASP.NET MVC NuGet package - -To add Syncfusion® **ASP.NET MVC** controls in the application, open the NuGet Package Manager in Visual Studio by selecting (Tools → NuGet Package Manager → Manage NuGet Packages for Solution). Search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and install it. - -Alternatively, you can use the Package Manager Console by navigating to: -Tools → NuGet Package Manager → Package Manager Console, and then run the following command: - -{% tabs %} -{% highlight bash tabtitle="Package Manager Console" %} - -Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET MVC controls are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.EJ2). Refer to the [NuGet packages](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) topic to learn more about installing NuGet packages in various operating system environments. The Syncfusion.EJ2.MVC5 NuGet package depends on [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating the Syncfusion® license key. - -## Add the namespace - -Add the **Syncfusion.EJ2** namespace reference in the `Web.config` file available in the `Views` folder. - -{% tabs %} -{% highlight xml tabtitle="~/Views/Web.config" %} - - - - - -{% endhighlight %} -{% endtabs %} - -## Add script resources - -Add the script reference inside the `` element of the `~/Views/Shared/_Layout.cshtml` file as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Refer to the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. - -## Register the Syncfusion® Script Manager - -Register the script manager `EJS().ScriptManager()` at the end of the `` element in the `~/Views/Shared/_Layout.cshtml` file as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - @Html.EJS().ScriptManager() - - -{% endhighlight %} -{% endtabs %} - -## Build the Sankey Chart control - -This section walks through adding the Sankey Chart control to `~/Views/Home/Index.cshtml` and progressively binding data to it. - -### Step 1: Add the Sankey Chart control - -Add the Syncfusion® ASP.NET MVC Sankey Chart control to the `~/Views/Home/Index.cshtml` page. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/getting-started/initialize/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Initialize.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/getting-started/initialize/initialize.cs %} -{% endhighlight %} -{% endtabs %} - -Press Ctrl + F5 on Windows to run the application. The Syncfusion® ASP.NET MVC Sankey Chart control will be rendered in the default web browser. - -### Step 2: Bind data to the Sankey Chart - -Sankey charts are built from two collections: a `Nodes` list (the categories at each end of a flow) and a `Links` list (the connections between them with an associated value). Use the following model classes for the data. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/getting-started/data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/getting-started/data/data.cs %} -{% endhighlight %} -{% endtabs %} - -Press Ctrl + F5 on Windows to run the application. The Syncfusion® ASP.NET MVC Sankey Chart control will be rendered in the default web browser. - -## Troubleshooting - -If the Sankey Chart control does not render as expected, review the following common issues and their resolutions. - -* **"Script Manager is not defined" or scripts run twice** — `@Html.EJS().ScriptManager()` was not added, or was added more than once. Ensure `ScriptManager` is registered exactly once at the end of `` in `_Layout.cshtml`. - -* **"Could not load file or assembly 'Syncfusion.EJ2'"** — The NuGet package was not restored. Run `Update-Package -reinstall` in the Package Manager Console, or restore via Visual Studio (right-click solution → Restore NuGet Packages). - -* **Chart renders but no flows appear** — The `SourceId` and `TargetId` values in `SankeyLink` must match an `Id` defined in `SankeyNode`. Property names are case-sensitive; verify they match exactly. - -* **`Newtonsoft.Json` reference error after upgrade** — `Syncfusion.EJ2.MVC5` requires a specific `Newtonsoft.Json` version. Install a compatible `Newtonsoft.Json` version (≥ 12.0.2) via NuGet. - -## See also - -* [Data Label in ASP.NET MVC Sankey Chart](https://ej2.syncfusion.com/aspnetmvc/documentation/sankey/labels) -* [Getting Started with Syncfusion® ASP.NET Core MVC using Tag Helper](https://ej2.syncfusion.com/aspnetmvc/documentation/getting-started/aspnet-core-mvc-taghelper) \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sankey/labels.md b/chart-sdk/asp-net-mvc/sankey/labels.md deleted file mode 100644 index 820b40b69..000000000 --- a/chart-sdk/asp-net-mvc/sankey/labels.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -layout: post -title: Labels in ASP.NET MVC Sankey Chart Component -description: Learn here all about Labels in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Labels -publishingplatform: chart-sdk -documentation: ug ---- - -# Labels in ASP.NET MVC Sankey Chart component - -Labels display descriptive text associated with nodes in the Sankey Chart, making the diagram more understandable and interpretable. The Sankey Chart provides comprehensive label customization options including visibility control, font styling, individual label configuration, and dynamic rendering events. - -This guide covers label appearance configuration, visibility control, font styling, and advanced label customization. - -## Label Settings Properties - -The `LabelSettings` property provides options to control label appearance, text styling, and visibility. These properties apply globally to all node labels. - -### Label Configuration Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| visible | boolean | true | Shows or hides all node labels. | -| fontSize | string \| number | '12px' | Font size of the labels. | -| color | string | '' | Text color of the labels. | -| fontFamily | string | null | Font family for the label text. | -| fontWeight | string | '400' | Font weight (e.g., '400' for normal, '700' for bold). | -| fontStyle | string | 'normal' | Font style (e.g., 'normal' or 'italic'). | -| padding | number | 10 | Space around the label text. | - -Configure global label styling for all nodes by setting properties like font size, color, font family, and font weight - -Here is an example of customizing label appearance: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/label-configuration/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Label-configuration.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/label-configuration/label-configuration.cs %} -{% endhighlight %} -{% endtabs %} - -## Hiding Labels - -Control label visibility using the `Visible` property in `LabelSettings`. Set it to `false` to hide all node labels, which can be useful for creating cleaner visualizations when labels take up too much space: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/hiding-labels/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Hiding-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/hiding-labels/hiding-labels.cs %} -{% endhighlight %} -{% endtabs %} - -## Font Styling - -Apply custom font styling to all labels using properties such as: - -- **`FontSize`**: Adjust text size (e.g., '12px', '14px') -- **`FontFamily`**: Specify font family (e.g., 'Arial', 'Times New Roman') -- **`FontWeight`**: Control text thickness ('400' = normal, '700' = bold) -- **`FontStyle`**: Apply text styling ('normal' or 'italic') -- **`Color`**: Set text color (hex or color names) - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/font-style/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Font-style.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/font-style/font-style.cs %} -{% endhighlight %} -{% endtabs %} - -## Individual Node Labels - -Customize the appearance of specific node labels by configuring the `Label` property on each node object. This allows you to override global label settings for specific nodes, enabling data-driven label customization: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/individual-node-labels/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Individual-node-labels.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/individual-node-labels/individual-node-labels.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Label Configuration - -### Dynamic Label Customization - -Use the `LabelRendering` event to customize label text, styling, and appearance dynamically during the render process. This event is triggered for each label before rendering, allowing you to apply conditional formatting, modify text, or adjust styling based on data values: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/dynamic-label/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dynamic-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/labels/dynamic-label/dynamic-label.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sankey/legend.md b/chart-sdk/asp-net-mvc/sankey/legend.md deleted file mode 100644 index 88084b892..000000000 --- a/chart-sdk/asp-net-mvc/sankey/legend.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -layout: post -title: Legend in Syncfusion ASP.NET MVC Sankey Chart Component -description: Learn here all about Legend in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Legend -publishingplatform: chart-sdk -documentation: ug ---- - -# Legend in ASP.NET MVC Sankey Chart component - -A legend provides a visual key that helps users understand the categories and meanings represented by nodes in the Sankey Chart. The Sankey Chart provides comprehensive legend configuration options including positioning, styling, customization, and interactive behaviors. You can enable and customize legend using the `Legend` property. - -This guide covers legend configuration, positioning strategies, customization options, and dynamic legend rendering events. - -## Legend Settings Properties - -The `LegendSettings` property provides comprehensive options to configure legend appearance, behavior, and positioning. The following properties are commonly used: - -### Legend Configuration Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| visible | boolean | true | Shows or hides the legend. | -| position | string | 'Auto' | Position of the legend (Auto, Top, Bottom, Left, Right, Custom). | -| width | string | null | Width of the legend container. | -| height | string | null | Height of the legend container. | -| shapeWidth | number | 10 | Width of the legend shape (icon). | -| shapeHeight | number | 10 | Height of the legend shape (icon). | -| padding | number | 8 | Padding around the legend container. | -| itemPadding | number | null | Padding between legend items. | -| shapePadding | number | 8 | Padding between the legend shape and its text. | -| background | string | 'transparent' | Background color of the legend. | -| opacity | number | 1 | Opacity of the legend container (0 to 1). | -| title | string | null | Title text for the legend. | -| enableHighlight | boolean | true | Enables highlighting of related nodes/links when legend item is clicked. | -| isInversed | boolean | false | Inverts the legend layout. | - -Enable the legend and configure its basic properties such as visibility, position, and sizing. By default, the legend is automatically positioned based on available space. - -## Basic Legend Configuration - -Here is an example of enabling and customizing the legend: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/basic-legend/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Basic-legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/basic-legend/basic-legend.cs %} -{% endhighlight %} -{% endtabs %} - -## Legend Position - -Control the legend position using the `Position` property with the following options: - -- **'Top'**: Legend appears above the Sankey Chart -- **'Bottom'**: Legend appears below the Sankey Chart -- **'Left'**: Legend appears to the left of the chart -- **'Right'**: Legend appears to the right of the chart (default for most cases) -- **'Auto'**: Automatically positions the legend based on available space -- **'Custom'**: Allows you to specify custom coordinates using the `Location` property - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/legend-position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Legend-position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/legend-position/legend-position.cs %} -{% endhighlight %} -{% endtabs %} - -Customize the legend appearance with properties like background color, opacity, shape sizing, padding, and interactive highlighting. The following example demonstrates comprehensive legend styling: - -## Customized Legend - -Here is an example with comprehensive legend customization: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/customized-legend/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Customized-legend.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/customized-legend/customized-legend.cs %} -{% endhighlight %} -{% endtabs %} - -## Custom Legend Position - -Position the legend at a specific location using the `Custom` position setting. When using `Custom` position, specify the exact X and Y coordinates where the legend should appear. This provides precise control over legend placement: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/custom-legend-position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-legend-position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/custom-legend-position/custom-legend-position.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Legend Configuration - -### Dynamic Legend Customization - -Use the `LegendItemRendering` event to customize individual legend items before they are rendered. This event is triggered for each legend item and allows you to apply conditional styling, modify colors, or change text based on data values: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/dynamic-legend-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dynamic-legend-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/legend/dynamic-legend-custom/dynamic-legend-custom.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sankey/links.md b/chart-sdk/asp-net-mvc/sankey/links.md deleted file mode 100644 index 7cefd64fa..000000000 --- a/chart-sdk/asp-net-mvc/sankey/links.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: post -title: Links in ASP.NET MVC Sankey Chart Component -description: Learn here all about Links in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Links -publishingplatform: chart-sdk -documentation: ug ---- - -# Links in ASP.NET MVC Sankey Chart component - -Links are the connecting paths that visualize flow between nodes in a Sankey Chart. Each link connects a source node to a target node and carries a quantitative value that determines its visual thickness. The Sankey Chart provides comprehensive customization options for link styling, colors, curvature, and interactions. - -This guide covers link customization including appearance properties, color blending, curvature control, and dynamic rendering events. - -## Link Style Properties - -The `LinkStyle` property allows you to customize the visual appearance of all links in the Sankey Chart. These properties control opacity, highlighting behavior, curvature, and color blending. - -### Link Style Configuration Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| opacity | number | 0.35 | Opacity of the link (0 to 1). | -| highlightOpacity | number | 1 | Opacity of link when highlighted or hovered. | -| inactiveOpacity | number | 0.3 | Opacity of link when not interacting (when other links are hovered). | -| curvature | number | 0.55 | Curvature factor of the link path (0 = straight line, 1 = fully curved). | -| colorType | string | 'Blend' | Color blending type: 'Source', 'Target', or 'Blend'. | - -## Basic Link Customization - -Customize the appearance of all links using the `LinkStyle` property to set global opacity levels, curvature, and color blending behavior: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/basic-links/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Basic-links.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/basic-links/basic-links.cs %} -{% endhighlight %} -{% endtabs %} - -## Link Curvature - -The `Curvature` property controls the bend of the links, affecting the visual flow representation: - -- **Value 0**: Creates straight lines between nodes -- **Value 0.5-0.7**: Creates moderate curves (often preferred for readability) -- **Value 1.0**: Creates maximum curvature with smooth paths - -Choose curvature values based on your data density and aesthetic preferences: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/link-curvature/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Link-curvature.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/link-curvature/link-curvature.cs %} -{% endhighlight %} -{% endtabs %} - -## Link Color Type - -The `ColorType` property determines how links are colored, providing flexibility in visual representation: - -- **'Source'**: Links inherit the color of their source node (useful for tracking origin) -- **'Target'**: Links inherit the color of their target node (useful for tracking destination) -- **'Blend'**: Links display a smooth gradient blend of source and target node colors (default - recommended for most cases) - -The color type you choose affects how users perceive flow relationships in the diagram: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/link-color-type/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Link-color-type.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/link-color-type/link-color-type.cs %} -{% endhighlight %} -{% endtabs %} - -## Link Value and Thickness - -The link thickness is determined by the `Value` property in the link data. This quantitative value is automatically mapped to the visual thickness of the link: - -- **Larger values**: Create thicker links (proportional to the value) -- **Smaller values**: Create thinner links -- **Equal values**: Create links of equal thickness - -The thickness visualization makes it easy to understand relative flow quantities at a glance: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/link-value-thickness/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Link-value-thickness.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/link-value-thickness/link-value-thickness.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Link Configuration - -### Dynamic Link Customization - -Use the `LinkRendering` event to customize link appearance dynamically during the render process. This event is triggered for each link before rendering, allowing you to apply conditional styling based on flow values, source-target combinations, or other data attributes: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/dynamic-link/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Dynamic-link.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/links/dynamic-link/dynamic-link.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sankey/nodes.md b/chart-sdk/asp-net-mvc/sankey/nodes.md deleted file mode 100644 index 39260ecc1..000000000 --- a/chart-sdk/asp-net-mvc/sankey/nodes.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: post -title: Nodes in Syncfusion ASP.NET MVC Sankey Chart Component -description: Learn here all about Nodes in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Nodes -publishingplatform: chart-sdk -documentation: ug ---- - -# Nodes in ASP.NET MVC Sankey Chart component - -Nodes are the fundamental building blocks of a Sankey Chart, representing sources, targets, and intermediate entities in flow diagrams. The Sankey Chart provides extensive customization options for node appearance, enabling you to create visually meaningful and interactive flow diagrams. - -This guide covers node customization including styling, individual appearance changes, opacity control, positioning, and dynamic rendering events. - -## Node Appearance - -The `NodeStyle` property allows you to customize the visual appearance of all nodes in the Sankey Chart. This provides a unified style for all nodes, which can be overridden at the individual node level or through rendering events. - -### Node Style Properties - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| width | number | 20 | Width of the node rectangle in pixels. | -| padding | number | 10 | Spacing between nodes and their labels. | -| fill | string | null | Fill color of nodes. If not specified, theme color is used. | -| stroke | string | '' | Stroke color of node borders. | -| strokeWidth | number | 1 | Width of the node border stroke. | -| opacity | number | 1 | Opacity of the node (0 to 1). | -| highlightOpacity | number | 1 | Opacity of node when highlighted. | -| inactiveOpacity | number | 0.3 | Opacity of inactive nodes (when interacting with others). | - -## Global Node Customization - -Customize the global node appearance by configuring the `NodeStyle` property with properties such as fill color, stroke, width, padding, and opacity levels. Here is an example: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/node-style/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Node-style.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/node-style/node-style.cs %} -{% endhighlight %} -{% endtabs %} - -## Individual Node Customization - -Beyond global styling, you can customize the appearance of specific nodes by setting individual properties. Each node can have its own `Color`, styling, and appearance settings that override the global `NodeStyle` configuration. This approach is useful when you want certain nodes to stand out or follow a specific color scheme: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/individual-node-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Individual-node-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/individual-node-custom/individual-node-custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Opacity and Interaction - -Control how nodes appear during user interactions. The Sankey Chart provides three opacity properties: - -- **`Opacity`**: The default opacity of nodes in their normal state (0 to 1) -- **`HighlightOpacity`**: The opacity when a node is highlighted or hovered -- **`InactiveOpacity`**: The opacity of nodes that are not actively being interacted with - -Configure these properties to provide visual feedback and improve the interactivity experience: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/node-opacity/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Node-opacity.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/node-opacity/node-opacity.cs %} -{% endhighlight %} -{% endtabs %} - -## Node Offset - -Use the `Offset` property to adjust node positions vertically (in Horizontal orientation) or horizontally (in Vertical orientation). The offset direction depends on the chart orientation: - -- **In Horizontal orientation**: Offset adjusts node positions vertically -- **In Vertical orientation**: Offset adjusts node positions horizontally - -This property is useful for manually arranging nodes to avoid overlaps or create specific flow patterns: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/node-offset/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Node-offset.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/node-offset/node-offset.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Node Configuration - -### Dynamic Node Customization - -Use the `NodeRendering` event to customize node appearance dynamically during the render process. This event is triggered for each node before it is rendered, allowing you to apply conditional styling, calculate colors based on data values, or modify properties based on context. This is the most powerful way to create data-driven node visualizations: - -## Node Rendering Event - -Use the `NodeRendering` event to customize node appearance dynamically before rendering: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/node-rendering-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Node-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/nodes/node-rendering-event/node-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sankey/orientation-rtl.md b/chart-sdk/asp-net-mvc/sankey/orientation-rtl.md deleted file mode 100644 index 914ae5419..000000000 --- a/chart-sdk/asp-net-mvc/sankey/orientation-rtl.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -layout: post -title: Orientation and RTL in ASP.NET MVC Sankey Chart Component -description: Learn here all about Orientation and RTL in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Orientation and RTL -publishingplatform: chart-sdk -documentation: ug ---- - -# Orientation and RTL in ASP.NET MVC Sankey Chart component - -The Sankey Chart supports flexible layout options including horizontal and vertical orientations, as well as right-to-left (RTL) rendering for international applications. These features enable you to create localized and directionally appropriate visualizations. - -This guide covers orientation options and RTL configuration for different languages and reading directions. - -## Orientation - -Control the layout direction of the Sankey Chart using the `Orientation` property. The orientation determines how nodes are arranged and how links flow through the diagram. - -### Orientation Options - -| Option | Description | -|--------|-------------| -| 'Horizontal' | Nodes flow from left to right. Links flow horizontally between nodes. (Default) | -| 'Vertical' | Nodes flow from top to bottom. Links flow vertically between nodes. | - -## Horizontal Orientation - -The default orientation displays nodes horizontally across the chart, with flows moving from left to right. This is the standard layout for most Sankey diagrams: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/orientation/horizontal-orientation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Horizontal-orientation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/orientation/horizontal-orientation/horizontal-orientation.cs %} -{% endhighlight %} -{% endtabs %} - -## Vertical Orientation - -Display nodes vertically with flows moving from top to bottom. This layout is useful for depicting hierarchical relationships or processes that flow downward: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/orientation/vertical-orientation/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Vertical-orientation.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/orientation/vertical-orientation/vertical-orientation.cs %} -{% endhighlight %} -{% endtabs %} - -## Right-to-Left (RTL) Support - -Enable RTL rendering for languages that read from right to left (such as Arabic, Hebrew, and Persian) using the `EnableRtl` property. RTL mode reverses the horizontal flow direction and mirrors the layout: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/orientation/rtl/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rtl.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/orientation/rtl/rtl.cs %} -{% endhighlight %} -{% endtabs %} - -## RTL with Horizontal Orientation - -Combining RTL mode with horizontal orientation creates a right-to-left flow layout. Nodes flow from right to left, and labels are right-aligned, making it suitable for RTL languages: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/orientation/rtl-horizontal/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Rtl-horizontal.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/orientation/rtl-horizontal/rtl-horizontal.cs %} -{% endhighlight %} -{% endtabs %} - -## RTL Effects on Layout - -When RTL is enabled: -- Nodes flow from right to left in horizontal orientation -- Legend positions are mirrored -- Labels and text are right-aligned -- Tooltips and menus adjust to RTL layout -- All UI elements adapt to right-to-left reading order - -## Best Practices - -- Use RTL when targeting languages like Arabic, Hebrew, Persian, or Urdu -- Test layouts in both LTR and RTL modes to ensure proper spacing and readability -- Combine orientation and RTL settings based on your specific visualization needs -- Ensure all labels and text content support the target language and character encoding diff --git a/chart-sdk/asp-net-mvc/sankey/print-and-export.md b/chart-sdk/asp-net-mvc/sankey/print-and-export.md deleted file mode 100644 index 4994455e3..000000000 --- a/chart-sdk/asp-net-mvc/sankey/print-and-export.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: post -title: Print and Export in ASP.NET MVC Sankey Chart Component -description: Learn here all about Print and Export in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Print and Export -publishingplatform: chart-sdk -documentation: ug ---- - -# Print and Export in ASP.NET MVC Sankey Chart component - -The Sankey Chart provides comprehensive print and export functionality, enabling users to generate static files in multiple formats (PNG, JPEG, SVG, PDF) or print the diagram directly. This is useful for reports, documentation, sharing, and offline access. - -This guide covers printing the chart and exporting to various formats with customization options. - -## Print - -Print the Sankey Chart directly to paper or PDF using the `print()` method. This opens the browser's print dialog, allowing users to select printer settings and output format: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/print/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/print/print.cs %} -{% endhighlight %} -{% endtabs %} - -## Export - -Export the Sankey Chart to various file formats using the `export()` method. This allows you to generate standalone files suitable for sharing, archiving, or embedding in documents. - -### Export Formats - -The Sankey Chart supports exporting to the following formats: - -- **PNG** - Portable Network Graphics (raster format, good for web) -- **JPEG** - Joint Photographic Experts Group (compressed raster, smaller file size) -- **SVG** - Scalable Vector Graphics (vector format, scalable without quality loss) -- **PDF** - Portable Document Format (ideal for printing and archiving) - - -Export the chart using default settings with a default filename: -### Export with Default Settings - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/export/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/export/export.cs %} -{% endhighlight %} -{% endtabs %} - -## Export with Custom Options - -Export the chart with a custom filename and format selection to control output file names and type: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/export-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Export-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/export-custom/export-custom.cs %} -{% endhighlight %} -{% endtabs %} - -## Export Events - -### Before Export Event - -Use the `BeforeExport` event to customize the export process before the file is generated. This allows you to modify chart properties, add watermarks, or perform pre-export calculation - -Use the `BeforeExport` event to customize the export process: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/before-export-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Before-export-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/before-export-event/before-export-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Export Completed Event - -Handle the completion of export using the `ExportCompleted` event: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/export-completed-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Export-completed-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/print-export/export-completed-event/export-completed-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Export Format Comparison - -| Format | Use Case | Quality | File Size | -|--------|----------|---------|-----------| -| PNG | Web sharing, presentations | Raster (good quality) | Medium | -| JPEG | Web images, email | Raster (good quality) | Small | -| SVG | Scalable graphics, printing | Vector (scalable) | Medium | -| PDF | Documents, archival | Vector (scalable) | Medium | - -## Best Practices - -- **PNG/JPEG**: Best for quick sharing and web usage -- **SVG**: Best for scalable, print-ready exports -- **PDF**: Best for formal documents and archival purposes -- Choose format based on your distribution and usage requirements -- Test exports in different formats to ensure quality meets your needs diff --git a/chart-sdk/asp-net-mvc/sankey/title-and-sub-title.md b/chart-sdk/asp-net-mvc/sankey/title-and-sub-title.md deleted file mode 100644 index 89ca6b346..000000000 --- a/chart-sdk/asp-net-mvc/sankey/title-and-sub-title.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -layout: post -title: Title and Subtitle in ASP.NET MVC Sankey Chart Component -description: Learn here all about Title and Subtitle in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Title and Subtitle -publishingplatform: chart-sdk -documentation: ug ---- - -# Title and Subtitle in ASP.NET MVC Sankey Chart component - -The Sankey Chart supports adding descriptive titles and subtitles to provide context and information about your data visualization. These text elements help users quickly understand the purpose and content of the diagram. You can fully customize the text, styling, alignment, and appearance using dedicated properties. - -This guide covers title and subtitle configuration, styling options, and best practices for effective diagram labeling. - -## Title and Subtitle Properties - -| Property | Type | Description | -|----------|------|-------------| -| title | string | The main title text displayed at the top of the chart. | -| subTitle | string | The subtitle text displayed below the main title. | -| titleStyle | object | Styling options for the title text. | -| subTitleStyle | object | Styling options for the subtitle text. | - -## Title/Subtitle Style Properties - -Both `TitleStyle` and `SubTitleStyle` support the following properties: - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| size | string | null | Font size for the text. | -| fontWeight | string | null | Font weight (e.g., '400', '700'). | -| fontFamily | string | null | Font family name. | -| color | string | null | Text color. | -| fontStyle | string | 'normal' | Font style ('normal' or 'italic'). | -| opacity | number | 1 | Text opacity (0 to 1). | -| textAlignment | string | 'Center' | Text alignment ('Left', 'Center', 'Right'). | - -## Basic Title and Subtitle - -Add a main title and descriptive subtitle to your Sankey Chart to provide context about the data visualization: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/title-subtitle/title-subtitle/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title-subtitle.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/title-subtitle/title-subtitle/title-subtitle.cs %} -{% endhighlight %} -{% endtabs %} - -## Customized Title and Subtitle Styling - -Apply custom styling to both the title and subtitle including font properties, colors, alignment, and opacity to match your design requirements: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/title-subtitle/customized-title-subtitle/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Customized-title-subtitle.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/title-subtitle/customized-title-subtitle/customized-title-subtitle.cs %} -{% endhighlight %} -{% endtabs %} - -## Title Only (Without Subtitle) - -Add only a title to the Sankey Chart when a subtitle is not needed. This provides a clean, minimal header for your visualization: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/title-subtitle/title-only/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title-only.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/title-subtitle/title-only/title-only.cs %} -{% endhighlight %} -{% endtabs %} - -## Title with Different Alignments - -Control the alignment of title and subtitle text: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/title-subtitle/title-different-alignments/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title-different-alignments.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/title-subtitle/title-different-alignments/title-different-alignments.cs %} -{% endhighlight %} -{% endtabs %} - -## Title Best Practices - -- **Descriptive**: Use clear, descriptive titles that explain what the chart shows -- **Concise**: Keep titles brief and to the point -- **Hierarchy**: Make the title larger and bolder than the subtitle for visual hierarchy -- **Readability**: Ensure sufficient contrast between text color and background -- **Font Choice**: Use readable fonts like Segoe UI, Arial, or Verdana diff --git a/chart-sdk/asp-net-mvc/sankey/tool-tip.md b/chart-sdk/asp-net-mvc/sankey/tool-tip.md deleted file mode 100644 index 801540291..000000000 --- a/chart-sdk/asp-net-mvc/sankey/tool-tip.md +++ /dev/null @@ -1,191 +0,0 @@ ---- -layout: post -title: ToolTip in ASP.NET MVC Syncfusion Sankey Chart Component -description: Learn here all about ToolTip in Syncfusion ASP.NET MVC Sankey Chart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: ToolTip -publishingplatform: chart-sdk -documentation: ug ---- - -# ToolTip in ASP.NET MVC Sankey Chart component - -The Sankey Chart provides tooltips that surface contextual details for hovered elements without cluttering the diagram. Tooltips display additional information when users hover over nodes or links in the Sankey Chart. You can enable and customize tooltips using the `Tooltip` property. - -This guide outlines how to enable and customize tooltips in the ASP.NET MVC Sankey Chart. - -## Tooltip Settings Properties - -The following table lists the main tooltip configuration properties: - -| Property | Type | Default | Description | -|----------|------|---------|-------------| -| enable | boolean | true | Enables or disables the tooltip display. | -| fill | string | null | Background fill color of the tooltip. | -| opacity | number | 0.75 | Opacity of the tooltip container (0 to 1). | -| textStyle | object | null | Text styling for the tooltip content. | -| nodeFormat | string | '$name : $value' | Format string for node tooltips. | -| linkFormat | string | '$start.name $start.value → $target.name $target.value' | Format string for link tooltips. | -| enableAnimation | boolean | true | Toggles tooltip animation. | -| duration | number | 300 | Animation duration in milliseconds. | -| fadeOutDuration | number | 1000 | Fade-out duration in milliseconds. | -| fadeOutMode | string | 'Move' | Fade-out animation mode ('Move', 'Fade', 'Delay'). | - -## Basic Tooltip Configuration - -Enable tooltips with default formatting: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/basic-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Basic-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/basic-tooltip/basic-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Customizing Tooltip Appearance - -Adjust tooltip appearance and behavior using tooltip configuration properties: - -- **Enable**: Shows or hides tooltips. -- **Fill**: Sets background color. -- **Opacity**: Controls transparency (0 to 1). The default value is 0.75. -- **TextStyle**: Configures font size, family, weight, and color for the tooltip text. -- **EnableAnimation**: Toggles animation. Default: true. -- **Duration**: Animation duration in milliseconds. The default value is 300. -- **FadeOutDuration**: Fade-out duration in milliseconds. The default value is 1000. - -Example customization: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/customized-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Customized-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/customized-tooltip/customized-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Format Strings - -Format strings provide a simple way to customize tooltip content without requiring custom templates. - -### Node Tooltip Format - -Format string placeholders for node tooltips: - -- `$name` - Node name/label -- `$value` - Node value (sum of incoming links) - -### Link Tooltip Format - -Format string placeholders for link tooltips: - -- `$start.name` - Source node name -- `$start.value` - Source node value -- `$target.name` - Target node name -- `$target.value` - Target node value -- `$value` - Link value - -**Example with custom format strings:** - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/link-tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Link-tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/link-tooltip/link-tooltip.cs %} -{% endhighlight %} -{% endtabs %} - -## Inline tooltip formatting - -The tooltip content can be formatted directly within the `NodeFormat` and `LinkFormat` properties by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how node and link values are displayed without using additional events. - -A format specifier is applied by adding a colon (`:`) followed by the required format. Sankey tooltip supports both `$` placeholders and `${}` placeholders for displaying tooltip values. When a value needs to be formatted, use the `${}` placeholder syntax with a colon (`:`) followed by the required format specifier. - -For example: - -```cshtml - .Tooltip(t => t - .Enable(true) - .NodeFormat("${name} : ${value:n2} TBtu") - .LinkFormat("${start.name} : ${start.out:n2} TBtu → ${target.name} : ${target.in:n2} TBtu
    Flow: ${value:n2} TBtu") - ) -``` - -In the above example, `${name}`, `${start.name}`, and `${target.name}` display text values directly, while `${value:n2}`, `${start.out:n2}`, and `${target.in:n2}` display numeric values with two decimal places. - -Sankey tooltip values can be displayed in either of the following ways: - -- `$start.name` or `${start.name}` – Displays the source node name. -- `$target.name` or `${target.name}` – Displays the target node name. -- `$value` or `${value}` – Displays the node or link value. - -To apply formatting, use the `${}` syntax with the required format specifier. For example, `${value:n2}` displays the value with two decimal places. - -Inline formatting can be applied to the following tooltip placeholders: - -- `$name` or `${name}` – Specifies the name or label of the hovered node. -- `$value`, `${value}`, or `${value:n2}` – Specifies the value of the hovered node or link. -- `$start.name` or `${start.name}` – Specifies the name of the source node in a link tooltip. -- `$start.value`, `${start.value}`, or `${start.value:n2}` – Specifies the value of the source node in a link tooltip. -- `$start.out`, `${start.out}`, or `${start.out:n2}` – Specifies the outgoing value from the source node in a link tooltip. -- `$target.name` or `${target.name}` – Specifies the name of the target node in a link tooltip. -- `$target.value`, `${target.value}`, or `${target.value:n2}` – Specifies the value of the target node in a link tooltip. -- `$target.in`, `${target.in}`, or `${target.in:n2}` – Specifies the incoming value to the target node in a link tooltip. - -**Important:** Sankey tooltip placeholders can be used in both `$placeholder` and `${placeholder}` formats, such as `$start.name` or `${start.name}`. However, when applying number formatting, the `${placeholder:format}` syntax must be used, such as `${value:n2}`, `${start.out:n2}`, and `${target.in:n2}`. Formatting is applied only when the resolved value supports the specified format. String tokens, such as `${name}`, `${start.name}`, and `${target.name}`, are displayed as plain text and do not support number formatting. - -The following number formats are supported: - -- `n2` – number with two decimal places -- `n0` – number without decimals -- `c2` – currency format -- `p1` – percentage format -- `e1` – exponential notation - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/inline-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Inline-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/inline-format/inline-format.cs %} -{% endhighlight %} -{% endtabs %} - -## Advanced Tooltip Configuration - -### Tooltip Rendering Event - -Use the `TooltipRendering` event to customize tooltip content dynamically and enable custom logic based on specific conditions: - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/tooltip-rendering-event/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-rendering-event.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sankey-diagram/tooltip/tooltip-rendering-event/tooltip-rendering-event.cs %} -{% endhighlight %} -{% endtabs %} - -## Disabling Tooltips - -To disable tooltips, set the `Enable` property to `false`: - -```typescript -const tooltip = { enable: false }; -``` - -## Key Considerations - -- **Keep Text Concise**: Keep tooltip text concise and readable. -- **Ensure Contrast**: Ensure sufficient contrast for tooltip text and background. -- **Use Format Strings**: Prefer `NodeFormat` and `LinkFormat` for simple content customization without requiring custom rendering logic. -- **Animation Tuning**: Tune animation durations to balance responsiveness and polish. -- **Performance**: Use format strings instead of complex rendering logic for better performance. -- **Relevant Information**: Show only relevant and helpful information. -- **Consistent Styling**: Maintain consistent tooltip styling across your application. diff --git a/chart-sdk/asp-net-mvc/smith-chart/getting-started.md b/chart-sdk/asp-net-mvc/smith-chart/getting-started.md deleted file mode 100644 index bb342c9fa..000000000 --- a/chart-sdk/asp-net-mvc/smith-chart/getting-started.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET MVC Smithchart Control | Syncfusion -description: Checkout and learn about getting started with ASP.NET MVC Smithchart control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - - -# Getting Started with ASP.NET MVC SmithChart Control - -This section briefly explains about how to include [ASP.NET MVC SmithChart](https://www.syncfusion.com/aspnet-mvc-ui-controls/smith-chart) control in your ASP.NET MVC application using Visual Studio. - -## Prerequisites - -[System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) - -## Create ASP.NET MVC application with HTML helper - -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) - -* [Create a Project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) - -## Install ASP.NET MVC package in the application - -To add `ASP.NET MVC` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and then install it. - -{% tabs %} -{% highlight C# tabtitle="Package Manager" %} - -Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET MVC controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.MVC5 NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. - -## Add namespace - -Add **Syncfusion.EJ2** namespace reference in `Web.config` under `Views` folder. - -``` - - - -``` - -## Add script resources - -Here, the script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. - -## Register Syncfusion® script manager - -Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Pages/Shared/_Layout.cshtml` file as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - -... - - @Html.EJS().ScriptManager() - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET MVC SmithChart control - -Now, add the Syncfusion® ASP.NET MVC SmithChart control in `~/Views/Home/Index.cshtml` page. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - -@Html.EJS().Smithchart("smith").Render(); - -{% endhighlight %} -{% endtabs %} - -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET MVC SmithChart control will be rendered in the default web browser. - -![ASP.NET MVC SmithChart Control](images/smithchart-control.png) - -N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/SmithChart/ASP.NET%20MVC%20Razor%20Examples). \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/smith-chart/images/default-template.png b/chart-sdk/asp-net-mvc/smith-chart/images/default-template.png deleted file mode 100644 index 34fc6a83c8ee792472f32c7e7e27e362bc031311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33800 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 T=4z$7AmCwQV6NYw>rVV%UHoUU diff --git a/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-marker.png b/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-marker.png deleted file mode 100644 index fb158b9d2f4650963ae9af3488da7c7262a01cf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40506 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%0Am?|LAkN_{q~c@kb77~vI#a*xkJuvfkOC$= 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 z ze$+At^$4G3i1M|HF>9)Img3m^P zGZ^=d+<=NQL$)n!8w{0Z-?^WP)^&{h=MpFZv~#_bjJ)^JFZBrLA9usp-|**kDE zAzzF|BR(psf^k4caM`F}ckW-gdp34N=tN7??`yMF%}ecj2l#p0jx8Gac+!Q>`#s2` z-%qDk$;j6t(3ihdpM6(onT- z_<-l;`S$2WG%}jv@6U{R(n^Yh&CD&ob~`LmEX!E?ho7q32HqW7{f3t1Y0H7XSdl3+{TndJ_0(NK zNNmtAX1;2A@O{fM`tjG)+Wl^QZmA?6Q)!DcY4*{m-?lE|&v!&>pADmPEAtARZvWf3 z(Hyd#e}vgj9)c^An?sa!E$scwJtPztGs#lCTM8NNoxfr6?8@w3kzy+0z1Ltt8==6L z@GW_{MPq1TSoXd5ybi_2Dre~LG|QK_6g{rGJH^8Kk@f3K~1qo!<7QQe1}Ut3?~!?xab-CT2VYZ!GtNdY*f5j{N>~>)OFqjO-qq;K5(iH z7$db#_F2!}I}>ZFh%9)$+qQM!AgxwA6avPCh!$nsGi7=2pRJZV=e?5drVkk?ABJ@c z>9oV^Kejb1@5jcAk}GYDrre__KD9X+V72{BcfU`*3eK*%EW4z*p_i16ioV|g$I5{sHYci$=%hjYAdw)Wx;3sIST9YPkfh4)=mzytJ#`M z=O@-GIpL(m4;QQFa8c}DKbKA=4fJ=dstWd{s9cd0KQxEy;CA`vlD~s;35Xbf8KEaXn z&*txBvh4q`76f=*m->)&21+rZt2m~xRw4MSbtLQ(2rZ_c+To!^OJQhp1CSyRoA=dK uHunXQCI>zb)+t007yUmAwS8WMwZHTfM;?~~qT#kg;CEL;4^gXT7xf?Krc~Mh diff --git a/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-title.png b/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-title.png deleted file mode 100644 index 42fc1072c5cd8fd76cc2f2d7cb2acb80d6e9e7f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47200 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 diff --git a/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-tooltip.png b/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-tooltip.png deleted file mode 100644 index 9a69d9cd9ec823a399552f560e8134c24bee76e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45707 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 FzW`|GfZzZC diff --git a/chart-sdk/asp-net-mvc/smith-chart/images/solution-Explorer.png b/chart-sdk/asp-net-mvc/smith-chart/images/solution-Explorer.png deleted file mode 100644 index 913cc8460512b9cd0642783eb2829384e05dfce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40000 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 z 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

    `senD1+oT8qNYGWR4Qk?0grS92vRxy$s$-#zZC ztv}HONncNq&UT6g@mg#m-f&Akqg7x@8EYOdxhp-NOBl&i;r(uf*7BlE+-9SX|6-&} zviP^Hd2!YKJ2fCvg#OjauDCJ)$(Rc0QEw|L&+x_cZ6 z$O=gu?Lv84_+c$qCE=NLW_=usWkeV9)hq7NURbJO2UO|HKA=Z5u)rPy*gMwM755DMoxE6AazfuQ|!r_dwemBNDzj z!d_5&xKs4Z>-&8~C6z5(9pT8oA1?_9$6wB~N*jLJUw0j#G3JUn-n=b2)p7|~B7Dmo zI*Pq4OdoFVGH-4Z%?=^5cpUigAK{D@T+w|=DXCnLgD`oaBo0g(-OoEE(}=n zt;2wfHDp6&zJu-)8(B=mJvWL>gEeekGSOA?Ki*i5RxKyO{yr$@=!30s_jL^Ks<=pj zp(`0RG4ls$({0j=B>`L$a8hTN5xa+Ww7|ne2jbz$qh~*-yA#>?1JJ?ig{SJkQC96V znoL|`h>ET|XlB`%x%1Q-%e!|!4*Kdu=Ge^hnRYEw?~nHkN**f`s*piX;gN`8ISojS zuTt!uDFHH%B*J*1qN+_P&=n+2K@)Kf>*Vf#eaN7Ww789or1WRc^`DUBe`g9HK!pMR zBfasrT71@&&##}ylMx1V89`G?K8cnJfOL^IUA-%OIq4U>0P!8Lhbc6Ep%MQ8!gA6g zsS-Y1IdHA*>EkX68X>dD-BT$)k0ijCMlf3tOE8)o%`H~1APWm8quli7F{k6jiWN_Q zYnAXICAs~%ERrEo;WPzm5Q9NtV2mNAW7l8}cZbGnsE;uW{ zHpnO-XZZh*5BRUM2N3)?a#0KY&4I;qJpIVm&w{RxBzoKNX(3f#yD$QIMGPhuuw4F^ zck&34Kt|;kE2h>Ts*3&%r~PhhsSO52*Uh{faop=Fv^*+5P;7_fx`$n<7sX%PyG<(` zP`CB?<*t2M+f1`k$4M*_!(U$L31AUIUlJ$?Dy$TDic(p%fJ2VF8FR0VNb?Fj*6Ku+ zYOfp^4{T;rh((YIdmjn}lXSO3n;j?5zGXCRNru?80FN$@ei7qYCT`bIhpS4>s zL_s&wTe1?cfBYpF_;3DjR{jkG^ALt~)%Kn?IR5no2G8;xrGFbbxkf@E32E$qhS`8j ztAwnA(*qQ#H89T2?gm4y3DWR>oexGR-y6&LYfW{L5*-#Lf`;`P!|6XRSD#ae5TXRK zm54KX!b|f(hZAT_mhB-~8VEB{O`C`=s7o;k4ek2v83<#xRz{(yl`wK=*W=BGQv31B z)YrpPr&yxNNRsX^OG~!C@{w-HO&yNH*X1}M!Rnb&e=^+En~nO-MOMdgZvC|_{a_r* z)E^K-Dqh5G8y{A?JBRI+yd8OkD{hGz^~{B>+@sv+XCO4XzA6zWAi?4Okg7(@C}b{n ziJNXxi_3F6jZV>mBVupzNoRO$(%X%|%@)FyQ-!NV|8JXat~I{9Gi2u1vrX?1z}y|H^gUjQC=;&n2P@7(it?&BQ7d@q9U+f5Lja+o2}+@O2L0s(&BPE*IM z&NX4PT8lwD`r`d|Zu&U+nD*P9AE#-WmL05gbAI&bi{6t!HR0{iJDwfOk2gQ@Aq_U7 z4eBvW(Kx14tS~uV>-?U=b8~M43o2z}4~Cxy%A&OqIe)UoG*F>z+#!N0F~uJ=jSuNF zp6E?l04xQ73vg~l|G&Gt?(^LDJ3rn1|M7eM+pg@ozqRtEW$D00q6QsFs=!hVG>O5? z@Plnp1aL49yfBJ^VPB(07!$PWV`#`%=$h(~4Q#o9c4^;Tu%-CD0CP&__JLs|V zF0cm;-k_j5!M4kjPxx)fq@ve>XKDntl{&21woWFbdFRT9z~jX#d9-|wpSa{~^lcGe zsTr{A0&&qYV0D$$G<|UepE7v9zFq7-aJc>dM6I)X%Xj45U2(i7i|@s;iKiZXUT?Qf zto&NCovg3rHji4HsuL_<1g?aZup583RGnni+&1fE??Rp{$7Dpg^NpAO_Nn03uMQ2f zTo^3|98ZNf@PbO0D{wiLWwqoSNag(7S$m}sFw;yf_?`7{Psr4Z)3|m=23aNwy4|ha z^xNLPF=(OvF3&)}X_NXAzY8cDc3I}WnYAR;^yRcxcyOEaBy}pD$-E4TX|G4egSJev zKl5bs<&dK0i-vqYE;D8xnpU(xX_K6tr$*d+okQ$qDMpHm8ecip*FJX;VSksAzM;zF zh7Ol0Usbo=rqu5n*;aeKo#u)#zBfs?)d1Kl)M&nBcZOkw9xy@~?mLKRH?{??VSqJz zuthd-G!?u;5wd&aL9P7Xt=et({?3-Kd0t)j{eR8(dZqj93_qCPPTi7!NzUuH=G(RJ z{&6!f%w-K+qx^{Ksn|365A_x(-|2SJib%&=0E%P;N`tvA7p~}5_r1$xvX | -| Screen Reader Support | Intermediate | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Intermediate | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | - - -

    - -
    Intermediate - Some features of the component do not meet the requirement.
    - -
    No - The component does not meet the requirement.
    - - -## WAI-ARIA attributes - -The Smith chart component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Smith chart component: - -* img (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) - -## Keyboard interaction - -The Smith chart component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Smith chart component. - -| **Press** | **To do this** | -| --- | --- | -| Tab | Moves the focus to the next element in the Smith chart. | -| Shift + Tab | Moves the focus to the previous element in the Smith chart. | -| Ctrl + P | Prints the Smith chart. | - -## Ensuring accessibility - -The Smith chart component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Smith chart component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/smith-chart.html) in a new window to evaluate the accessibility of the Smith chart component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/smith-chart.html" %} - -## See also - -* [Accessibility in Syncfusion® ASP.NET MVC components](../common/accessibility) - diff --git a/chart-sdk/asp-net-mvc/smithchart/images/default-template.png b/chart-sdk/asp-net-mvc/smithchart/images/default-template.png deleted file mode 100644 index 34fc6a83c8ee792472f32c7e7e27e362bc031311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33800 zcma&Oby$?`_9%>mA_E9WDc;Jf#4 z?{mI$o%4rY^TfS+t@~c_5G*e%hK53j0tW|&CLu1Y2nUBi0tW|=hzt)0_sqM1EeQ7D znZ2Tz5M0^t+b!4yqN$*aARJs}B;Zyb33mPRi@3Ty92|Pb9NeNF53cjnt`b?&C7aGK}qP<^Zj9_lNgnv|KC}MDjA;D4125 zY1VrT?8Uz+k`6$5V-{H(XsBt8S0LhAYRRRgS^X{S>-mt9FAo)UcQ~AUX>dGP~)(w4J+B#RJlUKUxH77)^ z#WyTQ5MnmW6v@DXd_@ao-((yX_E;RBw3Lt^lbW(q?a9>!+aY8~I=5G$!Lg1fLmaKg z$G0;9_R7-QqkSn}#;p*&bS5^X=_S|3RU?&RsNN*oCo5`;GFhnrr>%-jGgH|q4L_5R z`)Ee$!Q3zJOq~iT4u+44b7u-5gC@}73@7@MAtMP~^%Wx`=QC23M4a5RU;VC*56_CN z)0wKOobF0=$M5i2HEyntE2X~pm0|wOOg2J=&hRvHUo09X z=s4A>L1z)HBbS;Jp_;B_s>+Ng*xggzz>QPI?7o#Q7QW8_e_YxtbJ35)D|=-k84O21 zS7L&9UJ`)i=Q?fT=`5U18YyFkBYZ$p+0`#CBulA{AbtgZ;Q8ePIn_^H*E-P`&;7%k z4pF^~842IP*6l45%p2te!EWhQxn?aG5qa%|z6!LpOj+=<81TFZrs`Vl3?js6Fdg%s)3Ymkq7zP6lwr*Ain7GO9%CEW9^YX4m z(PhiZSY>K=zZ>GP^@m6Ot}9Ks#N9_tH5Tf$ry)BeDzENe^9V7qbDH`q$gG%y5N;~CTj}- zOTEdxF~F2fa6$Z);O4g(+!xz{%ys-mX4ZsKsLRqb?nmQnypmcB<1Qi`2a6t$XQt|5K|OSTwP@maH%AH|}0e zON~66!VEa{%ihI9-q=<-vFWfRIG(0cxr*^&OA$amB!m+Rf|wy-}0hkn0dhlzQ5c)+T5K@^FmcF1V7X0oH(XdbaVfRKMB2tC|} zJHaj1Wq)l{>~_8(<;nzQB-8~ySz4*Wc(4^M`4ir8Z_eVpN&=6%!w*(nFqM=^e=52l zaLO=}Z)1Jd#pOJCv+zgi=AtFL`pv@?{?NpXsaM&Jg3-M2!tIr@&iv=^e$!qEG#oWk zSkveujZ`sHCdWpM(Nc*_=KXEMfSK5n#Ch$i{b<{-ax3~5VpOs5K^)u}j*(%h$R_X9 zb*o5Ss=9~l)7CVbw^5Sbu2LI?s}3eeCcTJsk^Ttv4&`QllMYD|na$OaCigt>4|Ah2 zs;a_z6=T}T<3t6Sk~6XJgWb#JQOD82|FB{4r-==j+tx|Z2`Q5O`(DB#$w#VH9kow` z2MHgE%4`;-%suBIA5OkXC6|^8qo+?^NkU+hy+VQ+6RLHUndlml*^o!BHcZ9e+6Aaf z!eL~((ZHUJ33c;g!<-Bj{APK0LN9M^tj8yQz*Yt%#5&GJ+!^7OX^ne)JKBgJxj$Fh zNw9egBCEtGjMVhCFj(*~SHq$TT`V%AJLfUyuuy~D6KXdaMeO6|c8%PW!F_kqHJ5Db ziCs_2pzbFK!-YjvBDHez3Eyb`bM`|YAug-6hqoHDcvqhMa$ig*DebkoBCBxo>7}sV_(dR&{59lh~#^y7%@ePNs6;Y2IWWk$j#gZ=xZf+)=4@U z$v?{bspXcxEL!!{vOD=avBVT$fJo8*2E2d5X4t$@^G=(H2PqJ>e^ME>hGV`d<2hdx4CbT)!k6U0?vx&QKFO1fQpF znEml;pwmHr;bhMopMep8mmpdQ$B?`h;Am1|xzM1ZG?OES%u3~=pRP=-qpe|hAPsr&P%4L%P$Y(t^l>{Ye+uU(GktS9w^L-nZqjb}mfd*4y5<|#euz2mQvZ^9*q+`HmhZInwmw(TA7v0_{@%=}pE3}i?! zB{f}!Y2xD+G{D8gN>pY}*&3VQ>QW$6VAU(1nvFLlXojrs@0sZD$mfd9fud%b`+>x` zQ(d@bPSg+w)FJCo-0#^bl`+{AuS3|Ldmsd`sLs zkun4P(UtPw7O$;+k!L4Z{XI4y8w_m1>H&+mxOXhOpNqPBi)PZZ8X_P5*cP3wjOc2$ zxVv0T8VmAN-n}ehYUE{PD7qZq{5pPqdv&6?KrcFlqM>4Aoy>WcN%HBvtrsDn>l2Yq!7qdAhNXE}Z>}U!lIqV#Pp6|=XX**u)rAUz! zOg^*ZukxqUb$*)5csu$!_~f-A0&llDbZ7E~NwKi@%_MBcx{)KJ304yu7|iCe@5ZCX zOO&L?-%=x)>J$qhg=dcETUA?Rpfbx|Q~#tY*8Jf2a%4eKimrjwIZ{pZ4B69%8OgQ4 z&YHCKo}K-b9{&^T5(8VKG&Z~02pQR9ROL(LHMLLW00#{scubVnh+Q<-OoO@V-=rm- z!W-Y87OAyW;g99~nq2|MXOuF^Xh@~(Vx~_ikWCi|sn?hc2vI7&LwtEu?cU4x8yx=? zNobu9LrePhwDnFRDD0;>5haG92m`r;2G0E~$Z_W=AlhY9eWYTFSp4scwoGu$bFB6M!KU(6qT|b7(@i}f7l2_L_ zXov-8;Dq9ii)FZ~cs@vKYoDwc-n2R|k2#<8rw`F*x~yBBMZj@^bA(3#I}>xN6t+j8 z_VQvMVc5!-hzEWG1&(olob>y8ZhYNksWbQHUL9buKureaN-?#R2TH!ZDGD2LaB=%= zI|`FnmfF+%_{;4e*_i0SXcOpk{c$#oC4tK4KC&hHH2e`9&J`7pzkTo$7T*sq9atP* zAfA=k-)}EzEiB4{_8BG*h=EsP^j8s%vpA9NmDJbkf_LqD#6Q{z5xKyDQz7hs%I}R) zaHmKgRrCaFhsGy>9r=-7hEl;S7&bk9H28Gji<<=l7MGeZpRZ>M==P4T7d=zREiU*1 z2N+kWf#E6cOHqp-QZ7Q!==zo{KSsJO)8%`|vDwgV?lL8EsO(;V$B_UQ7>|bA2LO0e z`UW7eJ_7)Z;Bj$#{m}tZBv&P zP>*YLe|}?|;vr9*rAGR?qC$X5Pv1xSkEy4KIU0Tx?l;%v^4Me( zXz%7liKRuj(HgA#8XR}b=mAnKlmJ#r7kwgbr`_}Z@C!bV-7Pnprsj6qSsZGs;QsJh zC5_!~Ns%-}Mu=fgP1J&$;h){0)80EM)7%gvR_M73(D-KMLx}gwl_7 zfRZYci}vAW$IY#GYk0BD`meQ~pNbr}kM&%lh4`EWDgFK-uA>IWfXToR_3|ZP$1U=n zh(RP)orpaKFX1XZLg={cMWT^9Y4!GdRq!!$>C~I1bzLcT{s_8Ou%vnQz{>+_m69{g zD@qk1lmX^LaVC!5)*s{V!@s0b)xN_iqP^-%lLRZ2zu>Pe;$LYHP^U`tQl&mhbgb*i zGIn%?2hbb9V1tSdi&t7R?jvHb?qy@kVmO)f?hh^FG{FAPPC3pdbycJ5lkrYcF0^^Kz{T3t#9 zOsTuK1>?@r<(f`VsN`rXax;w*)?N_f;#PjyD784<9Nm@e+=+42O`mQ+>}f+C+qvCXIc7D|)tIfa9ZdOWa{lx7gqH8{yR{~aYClZDCV z9@0&lXZcKrCQgJ{N3@AX#jWl~nz}FcSaOI~mE-_K(sP!wpcI!*K$e!gx1qqgPpGvxv$6_*Yd$&^D`mPq+$`CYxOMevyekmme8uFbPe5t*3=m0`Q)fU*hD|=YH7>#( zLQ6m^Ks>W~QGmv24)VFIa8py;80jzRw|)sTHpT;(v1M)3152|e503}R>&QnfU)W>^ zDfD^GpNwVued9llj+B;@o7>i5sro3NJGm2sWdvkARgGq3B)e8}@iONuI3!_cxQFC& zajMGl$^zb6O3XsCyzK3_$5~^jXa>?$ue|mnzy7+EHr2>i%+E#tJQY5HQz%+d@#|Vw z?epgK*$xD|OsoF;4dWqh2()~+$?m?rE49Ub;lwQgiM1q0R38_Z=nTkH9e_`sR6zL0 z?J7;t+)T3l-4bYDEHJ^2X!uq=e@-=v7?_5Wyy#aygvM7&(Ed!>Si_%8&-OBv2CTe& zlbZXnuXhG5R)!G4v99+HSm>nm;kz@S3mR@BWjTX+)QJ1JM`B^L*N@NCr2C4-jI?Tr zI9Ww%r5$U{6&@#wUJh#sKhp#!Xb~3(SB`bg#$84icu#!Ffj>>zm9+jV?qj32nqgBG zrHo8C^fJd4&_!5D-^&XT!&9H<+5I$Qaw&lNVa=wp;&l`(L^WuuDV)BN_R^JDgUS08 zWJQ`cp&Z#;8bNr+So#hVr?)cKc#jc#8ePP`mIrqR=ZSgp9zY4FL|ZcF&Zw8&b}|dK zuxzKST!=Q=x8dV4b+$R~uy3*f4p?!BoE-t{{#vl`#06UWsxRTpRATC`)fp_?_F;pl z;}e*nA7v56{}-i@Q%^>h_BV(6p9xd3{_2gxRo@b|Aw251y`>s!Zi4abZbPcx=p4A{ z17Cf%xz9`q5cm^+fA6Ab1(fhN1&oy#`wSL$F)-Z6%b(~(d0i?w^)Z{so7&Qzv{%_6 z^sRML6Nl7%B%}=0gaM2o%+prGHav2Qp2p}>vs=jt=rWe}rX;58rX&HB+vP02@w|9bkykDz@5;yE9U$p&C?yX9BA_e(B#Y4K`%Wwb4z`>BX9`iSX|m406_m)%j7%tb%6t1FVD{B|;Mp@AR%kq=&mQY*2MyP<3( zbvX#{^;G;$%qY>$M%Hi_EYfEi?<_7 zUv3Wt!8~fJalV22HXLE(ZTAe*jz0kg8mGDqi6PtEP2lDI-Iv;^=xi{M{pdR5N{o z_^Od_<}T+9lrZwTmvM2yRD2h?ozE5gFKmb@M z!?caBrk3M7SRBeD$9CB)bUzsjI*j#&45&|TzqPu`u7zdYJf7)NQ-gA7Rbq504cGF{ z$9=Cb4fMlNSWB3iTzz#bezU)8Ogm`eN8m~TqEDpFYHlgfY;<$|y zO-NbD%cVHY5s0O~@z*AS9G>=|y}2bHPs=D#N=eZ*o4B$URSK-hM=6(`iKo-xK&Yr- zeYB1r?fq~621a{WWL~0WcZ~{$o&EFt{(Zc~?L~Y%BK_+e3DH!WtFdz970|{s*?NFg zt*br<7eOs3t(LV0I%kWvf)L`;GVl`A1zuaYpl!9Ynyc%}Xb4m*Sqx#VgfogtZ?$Sj zg&@hwe{|JRlM=;C*!8X&v(|t1ljC0q9@7PJQ~kZUS~(>+{A)Eend_xSNjO0?~)+Q1;}1m<*)) zC*(rT^&4T;uA*VQ%b5cvhKq3c0N0JqhQu5$E!Tk_A|A_kmLnWC{fQsj-%_2am^f50Y zxl3)d)Rjv;o7<%4_(CSzv|>^XR;G(%o7i%$@Yd2D7qK z(OK*@E_Y~<8hnP*QIUs@=88_(EB_#i4nXqDvxt{-zbog#Lw)X-XFO7>R_Ra;7Oc>F zuZHs2)f~6hKFRH=?&=a@jy9`dN5(~cF4eOF64{WDn;(qSs#T(Aog+j9Johs;%Q!tX z{rkqiPoAx<5lagU27FW?zMo#3UPZf_aK))CAsk#U+J(E@EC?GB02gIJss`uX{?kv- zijg~yNAzm$nLN5HM(KE-sLou25-zD)meDDxnvJmYT8r4en-11UYh^>#;HPBZ7TZrI zrQgBS8P0cS(_WVyB>iPgHI$4DjR!8QlFA7S)Wn=`-Q?rcOsc|qh*DEMJY_%HV;WYUMY${CRqcqidyo`n z+|AEw>OWrAi*fu%KZ_-QE_}|#$XC1Wwb1ZJc_F5?|;0thjSF0GcGIns?~<#b#J-kZalQ#-7aJpd!I&Qd^D1Il;G7TDcN@b zoOC*l1O~@CEgaVn!95p!BjE(KFWvymH$ZR2yK8CcF z`?A+Zo_hmBn%)o2H~#D5+49d)fj_KP&zjNqrn1VNTr2wq$~B5AYektAhKu{DJE4J> zFLf(6wiPMN=;kFQ=CBLsaCT}Ll{5fBMxXrj;R_ha&&-x?rMhm3UARr%Q@T0<0F_vj zz_y(4T1sk>ssIi%j$NTI<4&H)Hs}j11;~i>2hL=y;`A5|(v6hvTis?1EWj_iBOULs z8?j-=4Di@o%LZoEHL0szz_P&R@jxXbm&BBue z#gsPhio~o1$v>fs+=-@@QpSGS6$WBX1px49U@4yEn^@Hdpw!E)g`J??A|kmX`m_90 z>y|5%BYCcc#Ugf4TFqmQ&`sk0rQgAMJc5XOIFsK-Y|LUhBM8C@I!rdraQPj8mpg9b zxta>`Sh`sh^Q^U)YgFYOb?w4on8gX`_tQ%rpm+BX)2ZArrYiqdzub>`FiX#>75sM74Phg;FrKEQigRZt`Cr_6ybQ5R3=6s0dBTE>RC&9*}6$XF%y z4Y!7>&Ro?Z7jSVLTkhdo~dnde7NS< zV)mGMb~^E>3TgCPSo!(=6|~P#EHcw|^%Sq=Fd&oXh=P;DYSzK&ciQw{c2(#TvjGVr zIyixA)1QgIJb&q46<$H3KYos67+%#|KB*|gb;gBt)1B$*m%F{(_PHw6^Bhzi@7y|xA>E)ibwkT&1mnld*mNX+iLPQC`K zmTC~)Wz``Dk1~U&?Yc$pI$JL`J(9v64K0ht2b`e#L`y zjhtG~1CIl@qNA^^Hw%#TIbJc%mq+>As2_ zzl@Y?!Xr0I6P9$zKXbyD87ZRM$9j5u5MWk($U?{AEcE30YKUe3O44 z$B=dsKrqhD0JUT#wf+k^Fgd^3BLpWrpIzw+rNFQw2(3G4xtVzLxx}&kbu=(PT&L+W zzT91;fodzaLbjQuX*;+^xJzi4;VcowDJQn=i{1)j2;g`8k?I@klJ9x1FkTQwbu z@|pNz5-0cWW3ZWaIc=?bt}fQ|G0fFhVmR*$!tq54Q!r2dawXhV4#@Eky?j#LzHBOM7NBY3#9^&@2geYwnPq}n`~1i3iK+W8{+s}?vI z7^O|C!M&v5$MEJe2`|~J$>=M4ma=jw#OJXCWR*UI4-~leW!E7XSGH)N9Y^@E+GHgg zA@gxdcLwDsqPx4BQn!lEFjmzh@O=q=-{vrFF&0 zOmOmk$XPJcI4&ZgNYKweZz$V6Y=mr_CWdq+^eGZ^Wfs}`)@f$(y$)NXHFD?#8KZ~@ zP!cH8z)Uko1UtFY=hAcob*y}!Md<`Z8x5;I^_b?8U-!fr5LC|DDs_sh6#Gt|={0n| zjz+KPz&D>FuKCJ~`;p8SI9KCt#p6wa2OwQRuBXur4BRUibK6Z zNE*L;g+e#z!}O|5cN!>R28SruU&j$0G_xudH}kl3XuUY2%;-_* zS-S!i*MenUn5Si8h-P-BSWTN&&+)dLzlN2Mvrx6Ee$C~v@#Byg7HLLgJQ4OE6f$=+ z1|{xhs8Ap9)zm2zC;1P>fVGmA%$UYBsjajh_lHgoi$P1)mjG@5G6?ff#?`!PX@0Mw%X+I#31Cps(sRWWbB>Pq&wEefxV5l)I z!dw!kn!@zGl+k`ta-lk%l%=Q4_k!#IF+Pdf!QZohIcXpf(KGD7EvSo}W*eur} zvC*mDx#>A@T{&%7pWDCw{f5NjY8%#b`ub75SD^1Hrc(Ky{Vaja0@PjpF8EY|1-)+U z0Klf03jB?%xLswjw(OSLYRzw;OX(hKopU?Z3$o@|w4=0GrJsjBF!Q(wr$La`pEyw$ zQOlJq*KNA(o?}3HbMY33TJYY(bm@C%<}PpL@6Gbi502dzIvJdfE;1)$HCAF%jHW|m z@J9_*_mff=gSuGMG%p@yOz@MPL1O-HUhpf2QvQP-N%L#>KlJ?6>DRk9{AZPkr$oyTR3Mt?+wln=DAo1i-IMh8XByDrEpLqg-YP4Rx%pu~ zA3b$gl7RY$RYpj6&;BfMhCN6$$tnj}q)dakJ)DM&ycyHY!VcD8=QQE4Y{OwFVv3I$ z_|)+}ua^Y31PDqi7TLzaU;rQj;+|>eOPpSTB9Z5#{s-uH#BwL(1SH=_rpGD%OzOa& z>WLB~#HRWU9eL7{ELGRs+;Z$ zm24n)-8)!o(<(Cz+hSr($364BJ^=nNe%vVBUsjil$w7KYQ=XXAm0|8SffCmrBYR(N z`6^9+n=R-rL@1WE5{@?;KDELgq5*^_*pYRG>4ru_l6mMvWf^g?-=n2y%&m&RM7hb$)7GKCGlM6A&=7HDfL*$z)aEIZMk# z1hlkkqrzM5Y;T9qb~>gi2ktzFniS+yNn@U+B61kiM7I=%gmq4+6i7T@fP*{k_ePYe ztyZGIc`Yie#-1{si$OKL`y6pyL`FDCJU&H`0GA=Q2KtLU2{DnvF$cRy3Bo)#TUx09 z9&Q01?s$+!s{>^nwHQ$#yG`UPj9zcOXK*M8u*6dy|Cmzk=6r7)8xF1$KTdB*7L2w} z9p$h>g!stVo9AR|GB+&g^-xf@gs;d$lsAEC5V@L`sjGoO|GY28y!(4@-XR0(EBDp7 zs|n_&oRBvhnJ+&U8Sm$@eFZk3j!E5I9C&Rcn>vtqM;m2fCiK22-~!+-QGpz+r{)O> zkrR%7CJ<)F&6^k>6oO*fWjKtb>iuQl;3VP7^kF1^Zh_GVH~S>{z&7Nm(t1l{ri9uq z_n`{jZ}b*Uv0FM}vnjkOlD>3Q_hv?hv24zD){8Mf*xVNtbiBnDPGAaEzG9H_>z$TO z!RJWGjA*+^aVETxGf(y&N5*5jp z6250H-L2k3iEnqJH^Exw+0`hFdeLRVf18_rmd(qd*b}TMj=-%k)l{xwidiFQC&6bS z$J94OpvH*#iwd|fQUp8(dnqm!_BY#!^(kG}J+E5=Q^#M&(Gpk3PhD#At*m_uMHy_7dF2@b%0Nf4w*LN*NM7>_bzcs<3SDR#a z4PT;&n7%?l9JZ@nWU{#!8c?ZOHqiZr4i}IWWb?9P`b(i?j?dMPcdy6M;d(h>0rFqo z@gLUqe{&?*tMbmUoO;Fm+{`r4ZNFZuS^axDC(PeycoqP_JUaxd=_UE>J;~S>{X3`O zKk$2lKSe973%{(M%uS~@5BI*u8XbNM!-Ab*jbw3iJ@gTp9={SeWq>Kh{Q-hqS^>y! zm&Z#Dr#n6m?3e5#(>4TJ2kJe0ud&Sd4iWI^iqoisb3A>ME|z3TU*ut4jpwUHiK{QFBF0l zYF>{dD-;ltUt5U2JUy(mgzEQ5f&u;n%5y)Q4k73H(Kw0Jg>2hxZWHCd#&eFex?mec*UhJolPRssJQHros)KR`y}MfxTWm?)_tC9HaCvPYWT1J^iy9Rm*d~zBj&z2zWt!sj$ybXRhmkML(rA+ z8#%tFl=N5So@(jT=Cwj@-4FAkOx-RcR&34k=;rxo2h$okRqLk2ld*2zZpPYy%AW$hIXRU9-^j^Fwdphrx*pa3}RPY_&kX9nrOf@@N`8}k2 z3xe?DM+M=eAUGl+MUgn?b`LchRi&1A)9dSg`s!t&CbXD9pEV^<*6M}#GlNIdZPo!v zx`Z9qB4n|tg>Pp8#Uy2DBNgtQ;NqT_DC|wZKG6w`n4~Ghfg_z(3-{H4`F{AnFF^&s zCAZT9y^8si$CF;EC{(FL1nyYU6q-^pU92K=@i~XDphzQc&gna42QC9tQbehF{O&zg z5zvA)1C%E^=lc0gsq)S)``$ERN)S4q9jOYZKPQ+Su2fVIeB9ee{5Aq7C<3HHU6caQ zH9kejO;nF33fBPlFOjk8QbaM#rf8qACScnLs}q{E3W7&ll@(IRUhGNwojo^IP%xM5 zpTo5r7{gX&ks&bu*@nN-DG~nVDvR5^7rnz_v~YUHf-X5ZNf6E&Ud!k#j%b6EV^ zF)ERu^{`#l@DeM&;kY05R4Cn~gc3@tKo2WqzVXdhYie)9@036^Mx7{BAf?0IiLUj5 zv&D^-Pf9Ma7pg%;%HYxH4hh9ZM`FQOqu48s=lHgtq|^n%o}i0_WnJ&-F^DFL6=J9H zkR&&BJ&nhvXnb2HuGo!rY>rn@+oS49Fj42KhcykRDX|DUSc6W572+t+2w9+js0BA0)1m+Zj+s0#9<~R=;;gT}ok5;p} zV@Z# z?-r}~^VM@HDs8vNDkH4fQl|*r(JlVq*q}h~vUNE5sw*c=}dHxF&~hl{EJJyoiHggg?)~|VFSuOen|W# zSQu?XTkQ|qPpKL~=HG!XTm66$S`6&!@E7eyglk-^Sf=zUzJgphFI_1C`W9`xy0|lW zpY1hX&qH40B5D6JkM=`b)?j->r88bR3C(l%HmSZOnL}5h1{aTai_@7W0NJ!}o{HMW zl~1a*MwHUw)L=x*wE$fmk?_jCl!*1XlWVz$&0|B-`#&y}y#z(&Zr99N=bUfq&d6zw zMT{2=i|dXxs>wb1$poRGujB3?+wHgp=k;}$*+s``?MVLnx;Od~(@$n72R6I8eYhu< zRD(7+tkuyb@ueHk+w0c3Nc>DCl#C74LET-OMr{>ZgTB*Pj>9u%fr-Pgz(WK{Q?yK_ z4>RRe2bV2mFIlZFqxS+jg?gVoe>U{bF`|n_#TGog!@5APc zLAh-XZBR&=QPFpCFlTiRqkrONny5eNKpbSR*O+1EdEy-E@62w9Wlg@fy*wr?X1FgD z|J6PrRDyBI^JXvZOJ(|)6jx~3%dNY=rF#j*a3!0x`*v9AK9)Lzf?7sgixr|l&4Vey z2HG1HBgr#qJsY}F1#6sj_bC}IT~FQZJbY)%=X zrUKK`;L|Qqh%3vQ_m?Qrh{-~>a!p5aHQr{kMjwrwk9oFOrF(NVQrF8qeglcj1&AVQ z$;FcknN6vLtq=Dva+fmsS~an1=j}poB1#Jud7mhGoE>Ak?>wibsI*?-n)TeX(9O|0 ziu$XH_*&h|JhW2Ths_tg=+g5K8zWv4jr9uj^3MM)gRL_%r^6rFuRIU^bRVuW`>nUN zUr#J2ww@Y;Zhc-TgFWx75BI3oC1>|RP+4bKth8G;m1UM+g$?rej18Fb-*C>}cTMOX zMlK0AKK7qTqLkBbClV_J#INdE4YY(ZU0MCj;d|HP&IKg$=|MY(M z!-&V_XOevX!y-A4?a8|rix2k~jo;+%_uVdFQM?ce>#{t4A{pQ~R(|*^CsILPqF(38 z&=3?0?;hMOAG{uzRKbrQOp?DT(@Nk*&F_=WR30$=!h)Sn2KpUORIDxLvBQNh=O`xCY~f4T zbT*|am&x^cuhrAPBUvtmBaq~(S4=jOkMS<#Y~r7Yz&&))a?w0-*|>CPJv+RYk;5pW zc}jJ<67Z}D$96Y@AG@duB$BXj=9ulLft2a;^87n{^LHA3Yi^84zKSl!ta1{2Xi}AQ ze2RNp7n?~XbL*ix8^l&}`-9GWejV78nEi87==inpbFk1$H?+mGx%M%3YSdwQ@^Gnx zqYy1QjrT}vL3OUbN@Ypk8PlXj(&NVw=`2s+rV(5HPJqQcC9wacrjUeYZ_eb{kG%%+ zEhiayKUVL@(Y+Ty_vN2$9Td0}D!R8Tcm)Loc}h|jPp&?8HZd^)`;5)=DpWUyPC@(( zHuonkHkK2>19Nmul$)ia17R@Cu*%CAwgkbxY|RY@%vjZDfQs>^q$?a+6|-q<+tI}2 z>3q$xDaX{~etRzbBwD=7a54-n-#0If270k@zGxb1wa)txPkeu?Bm_9Ih8$HCReaB$ zI^1WB@*giHhJQCXBpoPAmK3$DXQkT!8>Q%kS(EBaBdkO9?=3$Ruk|>-JcvoY!v6G+ z!ddsvf1LnA@o0l$HOqo-_8aA%`ZhpPu9nvmi3Z1hGP|L|wWIL6xruzLuZl4?K8j!D z4)v`z1p+HGw(r)m)YjC~kf^}A$#=n;F zb9!yv285Ppy6n(%mpj+ zlIr%a#~SL*Blte|N3=x{KF|ktQc)p35;oEUlDaC=x9hl_^F)xWVV5Wr6;2KsDJg-s z@}*xXcbl4V1B-svaB`Zs3zg<vRq z0{<#oR4J!#zuNuboL6FSH>v=ZUh9OY(%XAskk`I4FLN0Lc!5la9S!)4Ye@zrwCOM= z;0X-a>9nCK$!W>CXM*KwvtxW%9S8;ykdNx@Oe?n!J1J2c6ffS9UR)s-%95*<`Wy!CK=K-uR;`wiDRvE_+Op5G%tc zO)j@jQLT}joE4l*Ktf`uAQucVpvNODnwQi2X+R;tplLF_h@$rzaT;D7Mv@g21z6mu zW7=&lSQ4u{Vi+5zLHA+RG8Ygl!|DRX5EKign%DoN+L1}1U>&P z00^timK4|F#aItWc?#4;y~q;GDxF+ed6adCWu7t(_f zabOA4i*a_C1~^bkX_~(KD?@DHCw%%322Vdp9y6Co{Q5H_YAmvpQ&Bh^CLXMmRb!Ckwb>z?Yl&CftNB z?qlVcbDj|TO>$zrtf{pD@_S+hdRkJFn5tNEX!4rb&}+<))cyCFcM2&J-^Q@$8Do0< zmB}RRR^x#zCe;p&O2aQ)`m7ugTwIg!8Z#H(6hag%h++~H z9Jvw^`$5hUOnn3*I%_lH#=hJlGDj7+;)RnfSN$mq;Q;~N`3rHRFCM?+W}jPtO-wz9q~Z<`_-9Z;qNgl4$n0CQvEXTt z6Qw?LLTnml#&~m57Z>I9YC5Z3PLb<(j&$6=*7OKbm|IxhnO-nq-eq|{=nGBMhiJwk zagcF*D2iGiV4!zFlY4NARvJi}1THZVVOVUVuaj5SO1sJ21UWN3FU_OtMcvc83pzv7M>nG0$3hJ{;b6@D6 z-!ylWtl5v%Z-NK5BWnhn*BecsAWncB{`Fq2bzMI?ivNGa^8Yh~kCFbLr#Lhe@+G5f zux$bb8|%sUVMj2Om;V5U4?z59Q}Gdkf6{Hd3>fxj6%c7So>nPegB)+lR3HA}^{Dbe zb)9VHDj$xfM@E58AJz?-b@TW5(;Axgr}kh2(3-WkJvIbquC6|JS<-(42W`ou1)h*L zX+VQVL5T9n{9H_L9Bi7|?B;4|UUV+9dAC3?`EN8(1eScpV=@QX+O9|3eaz*uv&9%4 zg8hjH%>yq9EXZAKN8nhOCC}%|DbKAVxMj8tSKC_$MD?wE;{yUp zE8X28-Q7KOID}FXO1HFv0@5iZ(hVX#lynJ5!_eIzNQ3ZhK+pM}bMCqK+~4ng=MP}B z*Ix1Tde&z@gSqn|w-}0t?_2f*&xUb}Yk>SJb@JY#GU=<*@p}8Ck(C!&Iw#}{k(){T zr8A%3#lFXyd$lukPwt^{-2GcxGVxSWiA1+;8s4{^J1TH*Q?!qJHOHJDyKkm~V1Kp6p*96uiU&-2ie_RQ$h{!8Kr5`HOUT>vZ;69^IU zjDJHH%>?sVTwy*b@j2*UHP7))mXbC&how9y?zt1MxC8BD z;P9AA0gD(Yvau)Z{dLzm_?w>F)-mvk{9anUqs32@cFn{1A6x*10ZjT~OKtC*ki&-9 zOh*(x1Nt2|daRFDaciLs^8Vjc!y6d!KL=$tyA&#?gEmWfx36G({ThpD{ZD_Dv;DeE zFTK3Hz}%&!9LD;@@;53ztkQ=sZm4!<|!XN+ptjc{cwXZcg)z| zj?KF=#EH_~^MN?zuBSIZLS5tjKPiAju{fpwZx{9Hx4ft^tI6N$Q(kt#sCyt`+Tcuh zsCEbUC>K{wVaTpamVm(Ih#CEJ=wsvq_*>Pgbgncxin4j35p~ZhOG-0UHu}Lxf&1OC z8*MstRz^R$mgrau21zstAFTNOl1L=uD2oeTl#ZV6pzq{fbsP!#RhAc#%KcnX9dJ2k zechjE)kyB<;B3O|Q_DxMO`vSz_>$$&-MU?-1M2&e;A@zgjAB^XcXql#nx-RnYZ(L+ zBD{Fc`V|o>5;6vqJ4Ojw%TP&{o^W9J$P*=z+>3%Zl(LVjO6;92DiF4A*UkSn>K4x$^LZTBH#QCS zfB(cB?zR`EU`RJ9+CjRRx!3b=2E7plxHcW0O*Zh$IJde}z)}`B*<+I?ZGTOluN{MH zEo*B)KpzADY5k7OH|A2ovl3c&x*i3}!(|W*x{GH1@Dj)#|ChE=LD!l`x0L5}?v-h} zPCk+DfL3AUc}mVbq7LdQor>NaPxj1UzzPEo&*W(XrHEo51zBfn@L;v@t(1lGY#tHO z3V4?Ei&9f*g+_0it>(#ALULo5hvK*Fi)9;{E3Ad&jIOi}FUZ!4%>~iS`7t zC0*Ef$(f%cC|R90Uq85ssy;T^t?czw6BCkEzjrW}#vH@;q+QbD(v;gWJ$ zg|LhGZV0nS`u<)fK(z2zPmJn-Qi;rsxt+flhOJKSrj%iUt7hKYy)wJOZb>t^iFmUgM8Sy$(u+P5Z`qspTATEw z$X>}@SmOen=kbGgQ&y|45=k#BHy-T?38ayJG0igh*1A2qr$>IL^Su?^ zFe>Rw$wb*OSgz6HJqDCJw*QF{|H}1$jvxM!9TmETdwx`zzU`p@@zmy@4srhfTyClq z8%31aO!3~rI)Kf038W9q$AfEOy%Ugw6%uUWx-(L=?aA+A%AH#aE|2*7dBzeBBmf*> z%3AXXiHO`*P}*-wp=eLkt8;y=^ueUh>fruj7H%$m4GnG#lU5KGusUSK`}!MC0qtVFkWq_+2^OO z_bTd?~{U1rzG!`=$ayBy?m-qI?uSvh6E8%mPM+k=x{T-XZYqE zCT6HtX7pUHtBrB2DQM%gCBkbOzA!QNhxiWyX{NV8?h^5C-D-s`pxZ?NnH6Ke+yS@$ zdwOc=So4_MR&mZ{TfINaZ$2Iw+b$`ZG@N;5aN>B;Oo+9S00KWK1Q)TC1okuKEbQI0RrK0VmKZ ztXMhPPJ!=fzJr}?HH40@$VtILqY6J7F~lh)gEFL?LEC&_p8`fDvB08@7ZQz!F(t0N zDOlN3)IsM+_K`XtR;@PatXH7a-9uy>085#Ib_&)C@_{)!Z8U^(0HM?`k~JsRFXK#n z>SB??cHTbHgM-niE{~wtSyQGR=hF5-g}|B=@629=mm(T!%*v;eaiFiVOXq>fVBJnO zyPHf;iJhzY%iWtCd3yitYII3iBpm2VtF=~@wM-NaW2^@!d?BXI5hY4FiKmCPOm^*b z?3qS-rh(&(qW1H-dX@K25waVN`MTvs_aEqNyoQ8BqQ*Y(y^(zzlm{WCEwJU0Ty?gF z=bnikmNo_eU4Zh%K`J}yIkpk0QO0#OHz=53ECimkqI;Pb?@9#u{DP%Eq=l_>t2XUfB5 zS_!cP_h~@Ll$FUm<^?6#bo+z` zxh=#Mh>Ep*vItkm!$M2kd39Bq!}Y8khw+;tZD#+Sc4{bG-2X^PWzcZFpsbcT@F>b~ElDUbETvbc*(Oo==m<^fGNk!I8n z>26W}^j;#w=veg3h7(1a8lU-+k`U(NH<=`-RRytZB9Vo{WP_^qKdWedy?n09FT7=u zB4mo5@}py(hxlP$T*JvI%{SdZn%h(TqrFh{y>!G+1b~G)hQ>AW_t~UH<2BVAC_L!G zpB5sr4s-aSG=3>WTWSG5Q1W%P4jDFh{8DGDAZKTwHO4?cs_K;mOXfQ^)A_6XWXp26cRPlL%?+iUR{C3z;zhR( zq#ckN8X%0>Ivb1iep2ehi1Ip|oI4=DX;Yp80&7GN!IOVs@PBCO{#R!4f7jSgk~2+Y z@0Go}5LX_b(k@UkWarzhCH9ldDBWZ62XG7;;!o$EzypAvEWgG^p)VdQ=R1c3$Hb>; zeHD}SU#J8~H*|`tN}tvyUK`p~8GdaAVh2QVV-O?;-G&R_q}#CS_nyS!dfxA`{-DKb#`~ z_ECyKjg939x|47q#!vse6hE?m!7$;f1MsI?oEFL`fPHE{czK71D!eI8x>Ea$9k>hp z*A75!Mcw}?EAw{!rWF9)qU?L`_||+juj`>9a0#>`ZfxLst4m>P6wAf(*M^NRL4%_i zlpl9n>(!$up#V+`XdRCqQxo#zGI&)+zMNj261oZ4$L*_&#VbpRQ_~_ z7N7HHGDu3pe-`m3+p2qT6sWao1XPg)J~ru*-KZJB8sToP4v{mMZ+`o6OE}+@nFU4C z1(n?V1`Qz$;@_@q74m>25a+7e~b40?&H7(n~Bf3+{Uv$ON& z?a5isy@su^;;AOzrsoJXgKCEBddR_dCP6t-Vj5kMW%rb# z2QwF$WH8Oe9s2Avbkz>DurOh|wRG)XUQwEjukC>zhwwbcu9wdfSW!=$+HYQtIy>{2 z30{=d-E@2q{&cvXgkZuvw`CERDkXTRww#QfSrXN^g#wNATKst)r4Mlm>0U&AI+rE4 zCiF~6=9bm96ae392I95ji1)lZR0uxSp2&)p)0zi5@3{%{b{op~u%>;;kzU8m<26l* zHLA4MR`WwGg_%T82hw0Cxflk14J#Qj-^ZlmKVUsUG7_2z?zBlAG$j_8yOs{w4SU6CEE92{gQfWT3wR$VaOvetr@=L2Bjz{j$MM@3vc9G&#jS z3yP^T_6d(pAs#_da`cCR!K~ZKrF7ME*1{l=8W|u&;r=Z*tA?-5npzK$O0f*Uc@;j+ zH?iJ1W*vto7#Hd~K0y-|ugNJ&1_Ciq1C*ANFm}jfcJVhD5`@AGk(Eo)9K^Bt&oXcj zwdop+?O2c2Lmt$<7z`J?d4Ljlp!Ch}5okD|Ly_5PIa2pQevVN-&WI@JSK%@eS3vP* zkfVIhoqBu?db560)fq&g@>`{{{-#n2T+o|R!_^Ofpg>MuSX(wh9Dv`C40$F^7&Jig z$Ib@JYF~#tc4sao7NGr{f6Gyg+$*)}9~EjZX634En}v8F&rwZjqRdue@W$+T1QeCpGg7?QL~<*KC$(R=37DAG=eHS|M) z+2;62K%r=uOUGMMUio~zvw&R|*7xeNS*QsCNK>x(uNZKNjXr=KVMHavLpHs52k!3o zO_D>$T^yXU-yT&IO!SbGNd@F3GbNMeM&TVD+_3As^S!Wavp60LEi@#p*<_94u}0yB z%3}#|1=;wcqG6#zL`&};?Y8ubL8qr}8+?lx6dZlQW33oTOH`1AgAdEQEVfTmF@#_9 zs(v_zR8mjwytCMXhVfgmDqb8-JX>U~wrrc}#8jIz!ynn?1!FqNywg$+GT8OWIJ!8kl-#&--I1s=as|?9g4U3hDRqGQxsz5P8U7h7J-JCrX@x$yLBd~Rq6At z>9wy?HH}}SZ18=n9qsaVuJS50t|0qZYsL6d@&0EVGj}7mWtz~K=)v?Yql>7D0vsV7jGSH>6SJGxnsSadWK{9Xo^1l1>Fv?>#`op1%C|e> zpX%i~rsOABZ0;2eiy^%0`syLqi_rJ3&#E&DsWP0>Qn;-1lK|CF=KYmKljbHQGRc}w z{$iP-*RN90l0)(FAg3OA`w~PgnV)HE9{r4iU$XT0FobVY{4{(lym@0Z-kJ-GHb36e zU~r#*My~fWA7sQogvs_|zmkYM@(}%vE5N<;P2Hwf3oVEWO&+@{dpJXdeMDx9O zjr+NCr}Ov4P8TqJPq&_44+B-FYHNp*?u3Ud?B{AS@Gf>3pVZmde946>4=)8%Rn!Kaycj!7wmh z&|#&i%z4AzrI#1$3E`=G`_gQ>d4t8u=|*P;Bx^>7xX+Qw##7P=)~Zon7T;{28k<*( zTZB9^>{g&ECQyRJxK<=zQntpV!=l8lGCS>>ejUR|D*+sqel9?~`y1PJUS|jRzE>IU z3=(zA6&&#ubgVD<&ZOQ}yKL#eu6E|GSi`R4^=;1<=B|H4T&+iJ9kF%$Pdg3lU9UX7 zT;Wm``#F2km=JE+8_%j$qmmajd{t6a|sdR)f`7kRwUQ`85N!s@-Th1vl zYkl|mEWH8g6Qvrm;Vlbvf3du8u$*q(HI_fPAU@4a3vbsVAy7+ZYpSePtBzUk`p`%H z%~W7aZyZ)8T!M~I%#y6!f?SM0*8&0UOinvRC-?4l0FT*76rS?JggjN7^(1etV-}BQ zO}nH2gJ6Uo2n$cqhhUmCtZTL%I6vUwgTOWZu6B!Y(HUmtsYoUP)jCgtojN#~@E{ z+t9SIt=r)Zp&m#RQ>}anH~!55pBhTVDQI6>*U0(;U$RgafFaRrRbJQ0)?rDq z8a07G_R`OO25M3<8n6IT*wZPZs)v>ON#q0fcY0u!0Tm`JRuY@mH$0@5iZj09y1A~q z$p!XtP}kM6>Qz9>aZ4P*PV`SeS2QPijzS#f$*)g4t@29A1z^+TUfY8kzSnzpx$Lju z6$KC$_Es4*wHjUyHig?*V^iCVn-cwJs)BFu?Ec<#VXrg*14?D zh?u|m&-q^ea$WX4ToHqvjXbVXI#%^O@dhfqeW{zfzM9jB!=?wT8E#cP53eH_#0}%h zymtcl6eMxs3h2S+qpdRak?p1{G1`;wx;Z3kANb$Pz<_}1Sr;&Vbj%I8%@Xt!Luo6s z>VI?4?$SH?kHDV*i_@3As2%X$-LvpHz3=G;A)iMQi`^EFd}Z<>T~!A_Xt#B}MkdpnETphFR0;&Rh&U+stv@qQGgk$|574 zm9*|^)kDguLe^tPu;92$9xmpvrN+_%E9V=Uw1m=g;?emC+I+bKMBmktC_zR0R-I_B z!!l}(mQORT1ozC@Trxs%47-t+rfd1y6%O%D6+9U8ZyhDtD6#L{okswivG>K)Tu!>^ z#kLdY0d;8u*toMB+pgZ>U?g~n{s#J58yh*j+DNwp6dO`&2XN1A8${%;5*dZt7}HxN zcEo7=1NVz3zxR}{U5zJ~JZ;Q4dfzdW!Hgl;LL6|Bp6e9Mn$kkp)%>EksbiQl`g=|v z3v?^`@|&vXqR3V-*l>80Z70Myr0vyBAh&o@`4Eh7raMKacFQn(~=f;Wv7JRPzK3sVfh# zX}3=fxi(y^Sy6d?6&CBlMDN^NyQw5B?z;?*R~c^di7;|Guza*j^HSmmEHolM)ri!A z$#^fE>o7@lMk92JabcG(r{Un2TIf2H5MYwimwM4|11|VRz(zE!iR`66ln~{-D7`*v zn)#XN>9bYsv-O7jl455TsE?S;XE&BH^GC{@z2Nf6Z#0fq`f)>z-Br^CPe`5-#32FN zBS|-2l3^uR&hy;=dZgiJU)6UDeVVLHJ>j#|a9%z$&b&=F4lkCui#>_YoY z((BGisx0|!FjpmLUGRo0tDC}XCNsOWL4@Pkfq59lw_+L3lU)GCkkFqhlw0y1Ki>~; z2jh1Lcf956G6Q41UO9g%?0d!{X5}AD&Tp;`$Fw?TZ3l3Xxa)Pcj4qOBBErN^$@Q1M zj~8%SEi%_VvJFwe3e|3NM_K+5jD6mp#MDISxF@MmL)IrMTO zlUi3Gu&MCFa&V-bMSUmv;bkYbz{AqM^^#(~++)&}3tn@9TY;4)W!8%wbC57qx4ppGk8yCR8wxkrHOVWrg5-WLX{`j6TMG zKKNJ;+#guT9uF&Xw~Tm&M@yGE&r&YWObRJcJ#pF2J>ARqRa@I5%Q4KIe}3jsOJy-$ z0+Ec0V3ZDQ7#iF(DA6f|iTA8JuHzJbm@XUEH4z2X=Gc#y7^ni9y)Q&twUbtI%hR|= z3#PJMOGZfxs65S}9ftrKvYbFi5gIX0Ot|Gkq5*8i0p%X|D7mEPkDuC1V|z)<*Wo;y zMAfD9fmxywJCz!$E1Zb#xvgoW0Vy9sy2k&WOodS{**qM zSR4yFm-;Sh!#Yz{d)A%_*^u06p%P`kYyvSE-8y((*>v2=p$%JaL9446F4LG82McpA zVS5-;bJBd^y!i?aurrShO_9^}{vH?_eY^^>k}wALMCzX@Ti~=6p4I|#&p@~WOp$=Z zXqf{A=?e&OsCvRkZ5v+d9(k%nZXM-bWg=X6*uWv7&|##rH$#NUnnAx}kO*JzD+HgNvf zm3Cq@q(AJ(ag|&DOeT2Bium3WKVYjL4ea;P;Q4YECuH9c@o6oRF4^v(VS$+`WAmj^ zUl>Ws9CQe}43h$DubC;MM|*NA1vzYU(7J>Iv9~6^^gquz9d*yUaW}D(hQpldxWOGv#};&Gd-l{V^(1G#ud@lr@Bc zM$3Z@v>hBX2z*j}k%;-Sy5Yd#+UD329qj~*;x@(?e#1%U4>3X~I%C^mS7_ngGwcJH zN^8@fbo8Q8M_e7Pjpw|0YJcf0!F{R#`j$c%)V8pgMKhB~8pM6aKlp(0kfhY^^I$~r zC=;tQ6X8xtnF1ASu9=rGC=~P;3;4NW-P(n`|;#Uht8Mg#ToyumCU1Nwp~ zI{&@Xt9$@SHrBqWc}-xZ(4Y#X-2$s5@MGTOkH_15Fw-p3+8Wxr=97mrAP%6HKZL!p z)^A$y*`OH+Vk#p6YzLM|M{=cHR_r*^&lZ(g2)jcB+v|6`U=^)_@yyk{Sea$tGmC0Cp`{I+-CtJ72kHX}*l2g|?d3Xo7UT9)WY zTW`00&KBd(BJPYR-hK1q8raG+5Ol%cC?(ooa%O*RAg9Dt%{|GsKe&sRyxR|(vBc%l zujz$2+SRSSH2=pTqF&Nf95fc?u1-HE^YDA^L2{4sq$@@a+16^#yucy381f^7Irl?o zn_bqhE@JUN&O`1?Wk^Ye&qY81JB?y!j0uNkG9LFrfR6G|HAY>N7vet}0@glZ3(Bi* zia`EN=S3R6-TkGkEO;A;J@zb@e^Xu|dW1n^y4zOE-PXoJj5EF*N^Nfkz8>ON z^F{T{QTfjoNeMp3bcp)8bWJ}lq59QN8+s`5_m?yi#<_d3pTMi>+^z+M(6GUIm6Z*O z<>R^Lb8x*pkqjmOu^RUxcm-ANC;Zc>41{)79Ejno%88T2JR1`*|YQ|EgBZ=a+#%2J@mRo0GIm`Y7g=^CuNalLZ&R87#N+V=Xgc;&#$eUwN#a_?{E(T+LUOfAIuhzkIs_=c7+auG`A*w@Y1i)>3PA zG%zy{s7Xsd8ae?7jHfm3Ct7s~%RrpOhf_^DNE# zYK-1hc}u3QaJ*EL(4YsN;@#bnsi7I}>w%j1F7)&3`np}dyI*E?rLD%>JWk5J-qmFp zcGa$h&OO6;GVHY_m&^V9d}Y@ZfEm|0p1}r{#u*|r4o3^eOIS5dY3ClA)fJu{ui4F1 z*`6H_l+4P&;fw2>bN7=E;W}ZmVJSAAiO)RcGLyec%-Nd zAG9Hb8r$f-c9p-Xu=K3NsOc)5^kQ7}>4(yXKKoy@0f{wgv~NdJs8E`!BlDFKMe$nb zramF{x`^rPRZUyr-~QQDyW>QD*|9lh3ozGu%k)vs9#Q=2)*3O$I-4iH zIztam6FolkAK3K?6HZW>KYDJD*n4mx=Dm}t`t$y4yQeFjpLIl!nB*XJMk2(_PjJR& zpx!_or%t0rK%q8s*XDdqPqS5hkJ7GwCKy$8IvvhG3CY;K>TkY?FgQPu2=C5Y?o86X zK22B?Yf7y6_3XH;VVAiDa^ zMa}i<_m-Zlf&1^ZWK@5;KYTKv;?r z|E!OvxcA!mYBR2PylVCu%e)vUI3;FO{$lO8mE4IaW}@gLseTb+-hL?q zDZ;8#O+xjbj9P~~@`VuB`d77222oC$I?_PAZ1xY15_M1e3p5j2Ei|V+=dl`T9*AH4 znV!t$<)IA92Ouw5agF$ut)Z9EP2+Yu%_4H5^qPQ>vuyugc4I-RxiO zfGGqDyba+p^8kAZR3P}zOyy0$_g~o6146^TP~8r?WQi}FqNdT_3*0 zPwP;IV}m|!+F*2I`!Idd){N4K3Zi0$gwY7%B*&af&{j+rkcO?+JgZOv{r3LLT+kjO z6pH#n3EEGw_YuF!-$scXCWCRcM4DAw9NEGQAX(%a@`Mi7y8=hm0`PYpM%#AbB8_Fn zd(~nu6{yB^+XQgdwe9F}P_*P58!i9a>8#+b!L;31dV&d;5e}1(}IK zA0!_B+o{Ltw>$`L$zfkK-|hyUGpd!xzKFDAYFq- zjgtfWkw?X=`J&JWVv7p@&&HsyKmOv`a`x6YckA}Xa0tjwnf>?yasoLp3Mdoze|D8c zWY{-ac%B-sSSi~1QI=I69c}ZA#*1~ZZWgz^=y@Y-qmBv)brAsO0w^s;8C?o#u>#@E=RA0V#bxGZ>e&Yp-S0AM$xhkOuQX>R0x

    vqa%N;?{7m>EJ~I3IebxyfLqo%gf>I_v3}1`a)j~pYwvkt{8u;Hr zz~8h$u|Cdybz#GOxvqlexyc0sliyVrJcjo9jfh3*iBSNZ;CA7{bD;bO8|u&U4$++F zclW02Y|y8a4`FKq6!KrmF6q?s)bJ8v-%)o3AXeM4)s=YsuT|ZFkg=)LQgP#TkAK3# z8XrBn1#bd2r6c)r$#>+X2^}KW{j(HQPr-Qg(@e0ke+P5Ej$XNHFiP$zd*0FR{(g?d zp)&O1gxuwA)o4ZPS^i8TqO?7pMC$=^=dW2YNH?(hT6NFhJ<~}0QI1BWd3GXzUy4gn_T%?3F z1&+1!MQM&cD7eYcuE&l79h(0DSJE%qmci$YWX5hz9-_F=)Oc|Zzdk; z*0dg8)c$*&O|gc)DUJb`b22-%639~y4x-_;U0nh?(x*;6Y-m_hx(7It!3qJFFROWc z$u7F^TO*%n=1r4lwDz!L52*(FM)O>3AnAAyDYnv+0-$*hAO2J%h)2oFKJ0Dl0!iBQ z2e|QJ7og5sAWm%#c~znf;_Z}syu7^qzhjp#2%Dx6w>CG`yTVrt&2h(%T3f^RGWkzC zySS9Arm_GnFIC2zs%*aYufiBj%n3T|mQx=?6pubQ2^pXqz0KOjM6Oz1)H8iWk@7MJ z1@a1m;Jp~qRU`0EiT!^S2nj}+d;s;V#}<9*(kF1N3QkFhTsbKUUXhXeGaNr~H~-b> z4i5d7;e5+9v|#%o=B;^6c-4c!>GD4VJX0mFR%SE%$3=ZdG1!j2WUSHAWr?SQ0vzc) zks@H-f**?B!5SqqqznXFybAT@cxj3nv^q@G1Mk5z#)#L8c}Cmb(ONG0QRczyOLWo8 zbl>9|ne&GQe>ZVM5(aCFR$5E!3){N+^X765HGf$=SR#DoS1|YuANY;F-d1k~52Fi% z(W{KF4YDQHg~tD+U>DO5RYpR+`cs!c>?etNnt!ge$-1lK(|=h}e(|fn$xVL6E9*Zz z`@=H+zNByjIT&mCCtm{^%%oO_4Rx9J_^n-m!FtYt4~9ra0fkuA#rZo!0i#4>z>PP} z2Mha@iH79Gy!-`wwi^qW!z3^Y+hG)4Bq*_gObpqhA2A_ev5)> zzxRJ;-xo}^XDztbfv0{;u!VxB)be!jSN*AIJx(xgDq1vI8VvpaWq|3h&kKK8!pC`i T=4z$7AmCwQV6NYw>rVV%UHoUU diff --git a/chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-marker.png b/chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-marker.png deleted file mode 100644 index fb158b9d2f4650963ae9af3488da7c7262a01cf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40506 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%0Am?|LAkN_{q~c@kb77~vI#a*xkJuvfkOC$= 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 z ze$+At^$4G3i1M|HF>9)Img3m^P zGZ^=d+<=NQL$)n!8w{0Z-?^WP)^&{h=MpFZv~#_bjJ)^JFZBrLA9usp-|**kDE zAzzF|BR(psf^k4caM`F}ckW-gdp34N=tN7??`yMF%}ecj2l#p0jx8Gac+!Q>`#s2` z-%qDk$;j6t(3ihdpM6(onT- z_<-l;`S$2WG%}jv@6U{R(n^Yh&CD&ob~`LmEX!E?ho7q32HqW7{f3t1Y0H7XSdl3+{TndJ_0(NK zNNmtAX1;2A@O{fM`tjG)+Wl^QZmA?6Q)!DcY4*{m-?lE|&v!&>pADmPEAtARZvWf3 z(Hyd#e}vgj9)c^An?sa!E$scwJtPztGs#lCTM8NNoxfr6?8@w3kzy+0z1Ltt8==6L z@GW_{MPq1TSoXd5ybi_2Dre~LG|QK_6g{rGJH^8Kk@f3K~1qo!<7QQe1}Ut3?~!?xab-CT2VYZ!GtNdY*f5j{N>~>)OFqjO-qq;K5(iH z7$db#_F2!}I}>ZFh%9)$+qQM!AgxwA6avPCh!$nsGi7=2pRJZV=e?5drVkk?ABJ@c z>9oV^Kejb1@5jcAk}GYDrre__KD9X+V72{BcfU`*3eK*%EW4z*p_i16ioV|g$I5{sHYci$=%hjYAdw)Wx;3sIST9YPkfh4)=mzytJ#`M z=O@-GIpL(m4;QQFa8c}DKbKA=4fJ=dstWd{s9cd0KQxEy;CA`vlD~s;35Xbf8KEaXn z&*txBvh4q`76f=*m->)&21+rZt2m~xRw4MSbtLQ(2rZ_c+To!^OJQhp1CSyRoA=dK uHunXQCI>zb)+t007yUmAwS8WMwZHTfM;?~~qT#kg;CEL;4^gXT7xf?Krc~Mh diff --git a/chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-title.png b/chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-title.png deleted file mode 100644 index 42fc1072c5cd8fd76cc2f2d7cb2acb80d6e9e7f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47200 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 diff --git a/chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-tooltip.png b/chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-tooltip.png deleted file mode 100644 index 9a69d9cd9ec823a399552f560e8134c24bee76e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45707 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 FzW`|GfZzZC diff --git a/chart-sdk/asp-net-mvc/smithchart/images/solution-Explorer.png b/chart-sdk/asp-net-mvc/smithchart/images/solution-Explorer.png deleted file mode 100644 index 913cc8460512b9cd0642783eb2829384e05dfce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40000 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 z 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

    `senD1+oT8qNYGWR4Qk?0grS92vRxy$s$-#zZC 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 diff --git a/chart-sdk/asp-net-mvc/smithchart/images/nuget-demo.png b/chart-sdk/asp-net-mvc/smithchart/images/nuget-demo.png deleted file mode 100644 index 3fc06b162e6c40ae34e489ab50d170290875fb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70328 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 H+3SA;@~3m! diff --git a/chart-sdk/asp-net-mvc/smithchart/images/smithchart-control.png b/chart-sdk/asp-net-mvc/smithchart/images/smithchart-control.png deleted file mode 100644 index 0d0c38571b437948ffba2b5661d644cb009706ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40108 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 diff --git a/chart-sdk/asp-net-mvc/smithchart/images/smithchart-series.png b/chart-sdk/asp-net-mvc/smithchart/images/smithchart-series.png deleted file mode 100644 index 463bca68f81f35f6bfeaf6f90accc3d26b4e1b9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43903 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 E12>Fv=l}o! diff --git a/chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-datalabel.png b/chart-sdk/asp-net-mvc/smithchart/images/smithchart-with-datalabel.png deleted file mode 100644 index 048867d1691da2c0479da21ccc31dc385a6d9ecd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47717 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 diff --git a/chart-sdk/asp-net-mvc/smith-chart/images/nuget-demo.png b/chart-sdk/asp-net-mvc/smith-chart/images/nuget-demo.png deleted file mode 100644 index 3fc06b162e6c40ae34e489ab50d170290875fb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70328 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 H+3SA;@~3m! diff --git a/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-control.png b/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-control.png deleted file mode 100644 index 0d0c38571b437948ffba2b5661d644cb009706ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40108 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 diff --git a/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-series.png b/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-series.png deleted file mode 100644 index 463bca68f81f35f6bfeaf6f90accc3d26b4e1b9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43903 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 E12>Fv=l}o! diff --git a/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-datalabel.png b/chart-sdk/asp-net-mvc/smith-chart/images/smithchart-with-datalabel.png deleted file mode 100644 index 048867d1691da2c0479da21ccc31dc385a6d9ecd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47717 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 Ym;D#aKJ4J0*-Q`YY@Do#=PoDx7u~|^(*OVf diff --git a/chart-sdk/asp-net-mvc/range-selector/images/labels/group.png b/chart-sdk/asp-net-mvc/range-selector/images/labels/group.png deleted file mode 100644 index e16ecb5a941175843e8bc51845deaa8553a97b02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10586 zcmd6Nd05if|F6}wj7~X~shP^OOqy#}uBc3l+N!A;S|}-Hxga6AA~-D$xsRD;xn-u7 z8fq$nxKt|Sf>!RJQlc;}NQ9t*!2LKg_j{jvpXWZm=l=D(f9L@|=e@nodpYlOK8fdD zT{f%gsH&)_Y(91JgoldCdMNPu$)*j!e`B2L3^1(0c(@!>A@=A_17Ci)e)QZ?6_x6A zwH5#M!1o_-p7g<}sA&GW`nTqk$G&eWDu#knCyri-_T!J8s@XRbp?yVZaprrK*S+}L zO-}brGyDk`w|MaXoci|u`)4cd2ZjVw{#=6Iy^HUEQ~6=jov|ZF*J^C~{g+LJr+!{* zv2~rr!`aD?d07#t!PgbtofWZcE%bAEOIbx{H#oPk^p8b#D?kes72R{_9joJ&AKJZE z$KSVVK-a8(a6S)P)l)_L=zr^k1mo}RT5yexDix=Upi^sAR0fZscbLJVs+X5}1yJG0 z^#bI0yi(3!p<0?^W?$D^wMYjlty&b~%5rx7;&j+Xl{0_wD(|~Nst-qclrZXIssOmh<9h2nZ$p)3%UUR@y|=Y>nAN~2g=e4wfv$B zrTO4wPnD8EZk6F3nt@q9UOH{G*hanJx%_J1^AAkC&fcUN)e3+S;BaQYQ4Ld_5OL6% zsAf@Ku*FVx-qTAr^>+!0L(z>(ABxu+t9S-uyfq*kbrYJ4v;|QABHTB#^A!EWWSbyf zDf8Nr?1uROsFj-oSo}MwN++2n$tw|VbnsAPRBvVbYNgNWRj8aTzU-ZvE~i6PPM|H5 zDqg{kSTQTL?+dgZ1Abv+(C+0;3G=s9ocA)(FO8)KLzwh*!Ie6j^=npC?H_ejDs{+Q}2b(w}K554bA$2cvjq-7lkr`hn5N^S} z&L$OC1#s~m)72Chrs_&&$}9I{dNsDPA^LFZpJPlEZ06k&u4@)O2TA+1z4 zbb1|!s5`~I*&9AQTiG(dT^qn80pNSVWCJT|rOibbQN8rN%iKUKbL_*83sgucY1VlK z{ioq14WwHAkB)&2giWfJjTLyZA~+0dc16CRPPqilVXr6(kdDgFL)P%P<=Gs@ zW96|5GX-`c>e#00&=WmNb7z1sm|Rrc63xNoY=);B-uMYhYT<;gldnq^%DVzcE2md(#HvHX%?68Gj%JdH+>Ipj2dO_281J5!e@0jU4?|NADHib z#g__~iqeq^cD$mCVbCHTU|esJ6LQS)yum;bSn0ZH_dV^D4_XB%P9Ji9=}WCyFbnMzq9!=*)>6?|J)?b`Z_fbN9nrbGp|zNI0C17A6n z)%yIylTJ%{_H(k%R<=;ueYp36`FSJa-&Vrl6^RpNKO3ib|3C{ks99v*wBS*9&~%yD za36NGPKF7l;%j?l?;wicy5BCsb{yN}zAeLeV!OJqgYa0%h<}ag*a+H(IR_~*BH{&D zcDbW?Yx_WS;UT}O3s->IyYG?ny|=e}?Y^juL|dwsL8PD3%Mya(l)=GkM$-QyL6D7; zMJaJ!F!6v2Ky-RfxKrH3R}Nd+$xVQ))G%6Eum_!oUuBn(rSH|uL-lbBpBTGPjqXk7 zUy+SgfkOLM?@uZ}R&kICpv2(34P$g2gutEOmV z7%&BwQ!BHUzk+Z$(O<3U`$T7r08^Za*vSl+GFZvK+;RVM4_Gs-uqY>y8~VXewsZ{Q z@i!tG@`)J{+*guU?hZ?JyS+5-^|$}bCRw_}b_67R0!R#rG`M%#9-arABAtgwPm4df z0-&s}6dWcOwkXWK%zP%mP*D7ekO71g@n5+K|H^F;z;NOLXnDePmw8Jr>^I3?=y|>( zmq`S%m5N1cx0Om%=(v)g90WrXema$v}+ zWmyhk#Yu`G>^R|6CCUn}NN(qd*h(ok+59yEUXlVZwkfe8^&=na4-E$nG5vV5U5 zTQiIu$GEBK@d7t%fwD_Uis70od%3R+TC%#WS0h5&Xk+z4}ArrK~aSvrR zy^bMxj9$Q-M2>Vt)SJVGrAJ5I&^R1t>~E)sNfgW+88Jaay|+wnsx!yJdX#oTxLrjGx1H+Xk7Eg@*(c>6$CAvxAZ18UxNDY-o3@Sf5(wR;wD$m%BNdI2ud zoVUQ~2aru-YVGC3&T-Nq#GX%=zC+K$noN?)A3LGN-wla=ngE;U<{_`7eq zk4x5)>>;!_mxKf5($@Gpv@ygo{DjQQE~%X7pW>_kkIFH7lqYfy5dAi^d$|^q?bZRm z*3c$`O@1g+cM3>bAE5CvA3IM8M(b$3=Ldv$-q31+D1_BMdhX&9;@JIY8^$3-~4N7(LaDCPs}VE z5_^6FAgHJ#Gn+-FxW!-%hY3B~>gbfVLAZDRHaw9W;C2Y4U>L3QpLrRZf@9N3~qe zBS`chXckkoeE0tjd_sX0p?y70_G8M2%fe6c`yZ~$<8FnvCI2pT(cVjFF9knW(jvSk zt1O#sv;j{63|}?C{-5;+P{~i9nE45K(EBvGoDYs~NbWm%gAexRsJl6Ro;SBSv&XCq z#cuX>=*a^|mEGIMAC0H?GBy7XG|c}-<5@;|z3hQbUp|CiIn{6`~)g7)O{PalQ`KccrrrX~t5r5m?BH{bR}XG*iwV!2*0 z7_(YMq6(b-iN3eCIBB>s)6Y9f|0)`w8*+rtH)$pe)Zz7hGnV?#vFj*$X)HElqCDbMNN%q*NR=96Uy>p{++khhD&->T&V@jm07lg!Y z??xIfV7HE-3JZjpps9-oG!ew{I-SbT5n9E)?M>S~=_lGI4r!XAZ-dqk zN}S#srjTL|>`^5O!v>=_P6FMA&lqohjOrz{bd-SDLqJzCS4}Tdy5uKo{X|Xhvi(Wr zcZ>%tLG7cND|P*#_X%3SAv2k}B1=x=h_c(<+krHs>wLYlBwY+m~XWN@mx3Y-RW9nEyg6HJxy3HEeXwAjyqX z5`aea(KE8D)^p!n(!a9C*Yum6XGOiDQR61`UJKKnMQ{8FlwVjA#uCqN&H;qE=ccX? zGr47YdQJA3oYv=WnawAMfmY;ClDP&TQ-Dd1DvQK;H~wz(u=V+kUFoKTH7Ym5lFDx$ zWwr;I=(D0!BD7vse@t--HnBq#>VOtedljIT^kbooT?U#js(nLI?y7G`8*EKfEBI7z zPUd#G?jQqB(H+G3pWm`h<;nqo)$NA$gORs&oIXcp=p^@ezmyc2z9gxA9wy4dyplas zxc%Ix2#oiNS=cPED$Lz$mF!1=tWc`fKflLPGq3tQ-+6_2`8-nVg=Voz?qvwU$xkP< zbZ#N~CuZ}8v4T(ULt)h|w0K7W>-zVI(Z65%uhv`RuxjjY}f8>T?Fl2e% zI3Fwg!i|jRrREUAio;s!VqVIAKTr*VmxHEmP0ORdxdPKY~s(_Md=P{Q73F8 zY2pK#$V!E6cG$T0cd|tG_8#tLNQW)j1*6!X0~tIN)rLR&=y82Y^}B<#4cZ8&{m9Bu zA$-Yh?j`5+XcRBT%`ynmUB}-xTP5z+s|ID(`IMQ)@=PK|sh{RW8T`5-s4AD?k*o)u zXx=V)w>wkPi{L(N4rEPpyMlawL)Rf+;x~55o4wqOrnj?0Ss`z&KJoTH#O4Jj?K#DI zB~8zg;fluT-IM2$EC^`2qs8vgJm&0x`*j=QB$9uRB8p}q#+Kt*E+yG#hx*iyV+&60 z@88L+7$;Sjk7LY#fO+55jQub2_fbw z>v31_;Inh~hPR+B>r2zIXCXiF(Y`~Y?x@W8ZiFcoMjQSVjySL=yNJO`$*I-EQ}kh7 zeneXx3Xo5?9S~o@%0EL06t?vP{wKQ`awMn-Spx&v(iY@ZI}MsJ9&dWf1lh+52fB?XXHyhx2af%W2*$aMLle7hm@c)$#M=U83W;50={Tke~3hu*$Pl5IsJ zIX3#2{>&3I5)K$Wzqq*nqm_gN{#^J2^A@e2FK*V&Tp?|1X~7wwX>U48Kc1y$QIX$Z zwSR1gtd3Y{l|Ah+nCS1gwH}A&MVFlnjYU-|Kp#vJ-}(TObD=^6gx6)LA&cH%&lQ@)mI%uE`@l zG)VmsH|I1ju|_{l=H2&X8dp4L*wH=P6Gi^s3UW$ykv2j^8tF%b5+$eoIAOoy<4?_2 zA<{zFg_h@@#7Oq2*had(3QNc2f**HXjzZVj-fq47CA*_2OHeWJ>@Rt{l3wQPGSGlA~0nP zk&^I=J{-!oB%hmDbQr;Sya*z!9%-y^L>ds5!(E(4zAt2{m-n1G3UMuH8O0N} z^6L+v zv0KjC&)VA)^%*d?@pWwT@l2)0UDP>wRdc+|d%8omDP%4=FZq%C2J<5ghxm46+>HH^ zbkC1l4C;nXr-xLjYZy72KT+7#%BwLhVs8coEFV6E%(%HSYC&Sm@V6`$HComUrA=5o zAoXx`X4WMP9*Me;K9EoCOGl<6FCw9D+|~__XaVUMu)6{o`CU7wrpbd>NKt-`{9q4% zb#~X>nZ@L**jiT`;)LUoE6w<9N8W%ullQzi9@}jIV&&p2MtT^WpXM=5V_$Kd2L$wK zN9!XfJ(izCJ7V9pV!GET!8yAoULRa~p}uYrWcRp>I?_JC=Z_gqXM4Gr50_SqWWohx zRRj4%;(_ZlP8n)e4@%tp^tKNhHTMIvE+6mhfG>4$bDaT@0B7bV&;jZq&=AW0H;$$;{>z1w9g!*nT4b#x_7H! z*VFp6kV-uUMTZT7-hzQS!h5!yKL@(A#2hvx>NqbvW}L#5#~qM3aFhu*;-7?8YMwY7m$ zRx6@U^(M-Ar7e8n;Ber8{In$K?Mzyi_O8Gb-@#Rnkn#$5f?JUvYo`z34qjzmfj7Vx zSP1${PFWqlp$9*V;zT;0%q6rTv;gx@bJKjq@+|^S*FgC8&p5L&NQg@<)P=S2jN||c zNB0V0*8SD&a;XDGf%N>*Gxa@=H{)=QXMgZU8P7=D+vl7MczE|Az3(q4>%G|VkWUw$ z@@x)R)CSrU`;o;s1T{i|do&#QP1j21 z(eI}2(}x!CV@kE1=}eJ|_o`mBTk@>mEd2LppII@UkWHRQL zD)n}=e?-gz=6^&ywiz`i1?GUCVn|JJN9UepUL(?n+KdS)+cRa_X1-?1uD%d zCm@9}=+}Xqu^I(K7~-Qdjj4ULt+z3m_JYe4HZ;wa_;8eBVtE;I7UfxxER$VU#$#J< z8$P-2@hA`MF~fI#x|q}Ku%bOJ?@~HGtb@L$2oA`Js2%jI2Lf5?rAT5Z>!#uUP{P|Q7uuhahoLFx*t9d8lco`3;Qsiyqx zDeQc`_ykQ<zQ;#4-1!t%id=vr$(oF{nn+t3(`o!k|pD5!TqNPO? zBSO<8W%`E)_A_ilK{c@{g`{1Tj+Kd#y?Us7si$5_1}^>k!q?${Y7%*o@D5E=N{uW?Y`)d)1vQsVoSb=FC9wHGB>E!Ru)XABVsh zSe9<@M+$6wy#_P{`R1gPbTVzOjgNft!(sjv4iVjh zUMGhyP_VsTE>a7ZV5#$=Lpq0)Y%8A}(|*6>yhGp(Y1J1X zxef$V>!`V1%*cCL-FgE^Ptp^M$aIUr>nV9*6OytX_dqIl#fzUYL&&pfVmximNGZhR zH@{vYKj2~REI$wVj31sug;OQohj>>*UdDq^rhxlgmRh6_rA=M%dwI5}{D3}vY^^t9+`Uv0$P8(0X|S76sYiuNH!jKwvH zf6q1ULGJa9`}ZCjXsK5l+y947_rGj~|H}zg(P%Mn+g!Fb+Yj8FVv$V{t`}J}U-6@9 zcXw&u%|Qq!W-9UGaz=S&Gjl~f+hd_i+i2X3%!SG)WJ#P`5qufHR4tN$wVGw2;*TYzT)N#(0^veQFO zWIwjpuu7V99KC~>Jz=yuhs)8~%DtBI4j}!?J^%k1`+;5DdFwFb>N$fTI^Xy#2#;the}r@-rb;6;B-quskjgVI>m+|{-U4QTI69qTa#+pk+<9x!WxZZYg1t%P4O)g=@* z|8}#w@rU*S(JN_8z0$h97k|61$0<+vakR34&>8Oie%$-I8F6dx%Oivx+>#=iKM&u| z`SX-E;(F}|Z5BHc1r97G$C^dJ1rnuQ%N#G0LsUMssI?~PByh5FfCK6c6f92?CJZ#r zy0WNQRd{+h@6>g{+TBOAegw1T-EQRq$Fw`gnwlt0)^DXh*6+k@RC@(9MqN(d-vDa! zBvu5m*!)k7?R5dZ-L|4~((!D&<;2b%+^RRDx4LcS*uC0d1H@d4rZ%D@q$e^dy+pf^FTuXZCMPDGTD;e)jDhWkGyZkqN2h(4Q8A8rYE$D$qluB z;pZBU7uJcw?mkCrD=nLWgS3VUMf**qFL-e-rD<=tx0^)xBq5}&SR4-ch0!iTq7pho ze`DyNjtC9Hq*cce!Ar;XWV*wAJ>q|wq_=$&!%Oa8YVhOGfUAqIk_Q;eQ!g@+5$xax zFAY*A6HqO~o(|)Y)UfOuJQ2XCUk_`*XSuAo}1pys11+r3%~K;<+g>w#Gos}kx}9jMn9=sEm$h;vDtZY6s*?y z96cP?*YaDK>TBAtk0H^_pw6Zn-aW{9uAj~cAMR26B^N+peeu62EDj(jsSBLL018KW z+6V?_ZZt}!TOSs)l>^g&KK@)mh@^E4>p083U9_OShsSM_%B?*ds@t6A$j~da=9xb2 z+{Ww&6ElbAcR0wjn%8jRc+bcU_qca#Ego$#wVAcB*iYCT+8PSm zYqmG1RTbkoV)K(&8AbELq~55=BUq49M5)!U1J8Q(4mtAPiVm8#53D~j`%FH;1r!K? zCA=4QGJtz5PJiZctHO(!C-DA0ZrjERuy0sVznYaiNdT^DygH6#{eB#CJE!3_Gpv*x zdqX!&3H8k_rMuwcXRP8VM=0(D}GaVPRD!*XJIGq>vf=mo1SqQx$r zRY_n<9^01g?P^Io6!S3X05Kmbd+!vx`3UI`iwiIZdp`=0qEQdlC4W9`bwHpQ;!6GH z;*zZvkW+%UOuDhO%2tv{buL?>##E%s8+!1gOvW<2zt~&8Jd}!oB5K ztqvZL5>t}CI|Ht-OWni`LV;JwD+N?r0x4+@WcQeIQqUv$6F*0+&#K?>-)%{BM1&?!W!jzBJOvO8h|np*xeIw{EQ>a>~i| K1o7CFJO2ZV^KEkg diff --git a/chart-sdk/asp-net-mvc/range-selector/images/labels/multi.png b/chart-sdk/asp-net-mvc/range-selector/images/labels/multi.png deleted file mode 100644 index 97d1d9b43d2b8e58848c35452674c10e6e8c01b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8130 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 S7lR+XT|9T?Ebg?&!+!&-&+kwG diff --git a/chart-sdk/asp-net-mvc/range-selector/images/labels/position.png b/chart-sdk/asp-net-mvc/range-selector/images/labels/position.png deleted file mode 100644 index 3e0955a01f795a7194320551a9272acfde502e65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8535 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 SLL;RQjvjXYigM`m)&B*Q8Z;dM diff --git a/chart-sdk/asp-net-mvc/range-selector/images/light-weight.png b/chart-sdk/asp-net-mvc/range-selector/images/light-weight.png deleted file mode 100644 index b721f00ddeb2c40da2080bc1b02e6d8a1d880cf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5449 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 diff --git a/chart-sdk/asp-net-mvc/heatmap-chart/images/nuget-demo.png b/chart-sdk/asp-net-mvc/heatmap-chart/images/nuget-demo.png deleted file mode 100644 index 3fc06b162e6c40ae34e489ab50d170290875fb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70328 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 H+3SA;@~3m! diff --git a/chart-sdk/asp-net-mvc/heatmap-chart/images/solution-explorer-core.png b/chart-sdk/asp-net-mvc/heatmap-chart/images/solution-explorer-core.png deleted file mode 100644 index 913cc8460512b9cd0642783eb2829384e05dfce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40000 zcmagFWmuHm`aX;zprnd2l%OCW-Q6nP-5@Z4(v1uyARq!F4BgU0Gc*V&IKa@|CC$*? z@ZRI&v-kcT{}1m651f0}taV-ImFryV4pmi_A;2Za#lXNIkdu9_j)8&6hJkV0{_brI zj9VpVdvM^3TQ2G{FEL7bDc6AycdR6pBr!0`Bk?Xxv4GF_9A))fFfa&P(f@9>JLH2g zFp@{)UQ24eH{NP=`bs(Cvm@-+3{k#*?>DVOHx{>8ADU%QGQDI88~D%k;>)VNfq8C^Drmp9Q>uHIzLvv@!Dktlc=O=!) zeW^Eh;H}9;&F&+pI-g%l8kcV$S0kU7{Z?Ah^mly^6?NN>q^H+le3hxT-KkF zw6p_C(gwlSceF%@#0BLl@{QRuQ8Mr4W-qyu_pUM(nTH=HF%j_LFMkmA#;P27I3 z*2&!$GG%{s#9dXIBIw~Or7P4h$$40~k2}Fx@u_BvYw>$wwewEn2`cYI8kxM=5`^cs z2lD&IlCt?pBz5L9-vl<@s!>&Jr!D-on??Jf5A^8hNbXq&<#b)RS+cGBOh3i;|}O zE}i-JdYN2DT!L&}Q+UlBg2^oIntU|dCJLY)cEzlXka*N$phj5Mk=En4j1ws8TWgq_ zS1dpD;>pJ&EG9Njn~;hz1Uy;2Y#**cXx3+DPR4}V=2QC^tT_`a#^ z#hR3Z+3tL>9!1Tc-(nnMVYJHT_tG$KZ|LDUqoC~mOzujXh>+yf_11XIXqJ97gN}fO|q?~ zd;NLs`DCrE$+LTDyy87r5K3mqvEGg?JS(!>Ex6Nx%Z*T2*{rVtDLo=4kk4uxhg%69 zOnZ@@;Jp3wmnvSn=fic23kPCRtDCK}m`X`@8$h8rKy=~5d2r{DB0*Hn+ZCb%GplVGx_Mj$zDrtZ`YdXgFCEh|;KtSYY>#RhD)>@_y* zCx=&qAbNPoo4pQ{n<8TNTviEAUkM%HBQ6*8M4PP{8%mz@C4eEyY`MNZ*|zA-fGrPt z(Uxy0x!YdLa3u+d&R+a@z%=dDo;tVyB(m?j3!IF^mZy#jxykl$1_G1sTWpZZkjFbe zm5vXQ@fOg5W5~kkfo7SE_RZ`iBO_j`beVF@g1BcjZ_8sC9SFyjG!*s685xTl1hXnrDDwoz5g?`O7xidKiYs zNx84Ane+EJTY4lNQc4q62IgEFZCQL3$+Oca*mniCDnFH=9`Dgt;B?37H((3YCKtK4 zhYgSAbGT4Dh(Th`qgHixF54spjYoe6ik}C0zN$6nd+Y#Mx7eU&GP%e{JetB=W1n6a za+uE+H6A@aVga=qFZ_-96>+fDT_JNaFON z^hYK7&i*bEdKu{#jiV3wCcYaM>mTaZx_WE0D!I23@UN*qJ>*i`r`Isy_iQ)RHOg@K z0>!&Lx|gh&?aPLww}S3rIg2PpUl1y^^Vc?tX^cO!$e1hEy; zF@Pz8lNFs4S#8l$2>V@s-%NmBU9I4J{iRf`+{>}TIX-nXu%7(phP5#9YRF?>zZqr4 zJr2%v`sLC zQm#FtDIeLED;ItTrQcna0yWKmhG&kLRIy?1T1hdtv`6;{g++u$C%4y=g=V_IHq|`u z8y#A{Ou+XY;BPo+m*8zL*@>&FktqX(!V>JZT%Y0lmV^!)S?x`BUWXDJtJITT0VvpX z&H8Zz>}k(kvb-6^>N^m{PL-$vrBdOHKs; zxA>|eXa2FV+0XhUtrq}c{mE0J87D7k>@8dw@-5~le@{-88SE;JgIV!_Bx?$-DjMb2bKGn` zeZps}cpl-`u&>1G06&ASf}sRS7dWy0m(dHFxJ~zjExW8ep)*H?J8!$_7rBScVsYn& zC+RQtXk`YvfIuoD;h*4|`}B&B%*)Rw#gAyU&)>O;f^H!hsB0vAdRYIUZ?g5u~MwQa&{AzTjRic^-PwK!#R%-lj%wk(E3-B>Lb61(Vqj4}%Wf`(Q z02up$Kam@s2ZQe6I+#`@K(yR0`8yWh#Y+H`Zpb=b1b9*ilk9DuJQdb zOkDX=qdFOxEs|PUE=)EeOXtSYfSuZ{LX%qbdLH~ELpZTX>-L>0$tdOOn^QWMtY{+~ zmBNNN%4XLThg&X=WA1F}VlVi)@7e3n@IJS1y>XP}=eD6$qkt??WaY~h4{JC3C=TykWB}vJF+|6i{4+lIZ#yc+|D7-q{rSW z9Urg;o{GJq<>s=Cx6hUS?lGysZ2by4Y|N{h(SD5#dUM@f;O0PM{W6l5D%F5V_L6)l zSJ`^c@heA%%1>lQwSouN>KDaeKaGbvSxAjYF{?hij|X0M4vXJC?&rxdTj~+<~D+-25GBV^KZJ$iaGYDD%R<{T=mRdMzAp=e}p@&D@*%y z&AY?(>b&dc&pgE((am2C0k0}v>Sl4xthz@h*(FM+nTZ#2*!Of%gM=Z)fQKxlS*h=X z@~Gy`bA`cSY8{ZexJF-R1ecFAw7+%U8h8&)7p==yiQy$;)1l!@QsoN<;PYe^vD|P z*Wx#Mk@17ig~-5o%G!@y;knie;QH)Jpj*7Qhh-O%-%Z7bk0e2799s$cy8AXl+dBJ^ z!=ylC4XU6Td4Nv3)g0VZUTIbMNNRfqE3!dRkh`q)~$#4QVlSS-Z16 z$AvkfAW%6@N-0G#{`N#WJNdmteCOc+sFI?hq0iAs@9*n*Vy?_XW$E;AK>xs3B48$^ z!H}#N87=Kay>t8Q5scI#nEo0#yF&beOi-`C?;$(!g1i73xG+fhSfTk)p=K6Rc;p1z z4io35nMhY{w>%5rbLHyLwo#5#QxZ;ev*J1bWr$C2Rh(>>5LnqnT`ctnKN6yAzuFyZ zBeOjQ+KB`g4tF=VTguoI)_G8@cqT-& zRT(H!l2Vh&<%yVpc-uK=>cONn&$as6{)D;6WnRHv`S5`?kuifZc(Js1y6gw#^s8K z9sD%*S#&u2YSia(MTqLc0U(^*1e5g6Sv#5cQ>Sopkp>sdZjt!FmE=ewo} zb=BrnEiL@LPnW5&yNcC0wU8c3RUuR`J@(_7_c|vUWV}>GHcEb|)6%DS4Mu^AL(__q z001c}!HN23E@>)MD`vc@w*YxXP~gW{z~B0QBw;uKKGRSpQInf_1uB6oecr+MtvdB5 zZ)0p~slv!E#v2i?tnh(MUly+A60~nS{(<7Lke(WP!PHb1fp<|$?(nm9%yUeqSSpM8 z+vlfQeUdP;Cqs*mhT0ci8#UeE&13M3?p5h>TeXHE2I`GfYW^5VII&*i;}lZ=*>3@< z_lV%J%kdy#|NyaeTK4~19Z-m2wFX>X$1aRxF=N+3(h~1bx^ZT zh8CnTb+hMyxi4La-D1@tYj-1D%H@+T;W0J{m&Y>-2-guyh6=}PK2c0`Dyo6@_-(mE zM5>sXl%+`7eQvHNu5h0DN{($X@Vi`H9*y_p1TwQD{TEqTHYx*Z zp_V7Cx8o0BX|x6&MV@-UWbsMX;1xM0)k^nh zJDCCGC>)q-`0o4Mnh8HrZcEbGWv?7qJk;+!m%y7s%e{ByKcA;lGl$q&ND8XOjpdSj z>(nO7Cqawg$}r`!DjwUBbY6RTy0)5HLqzGyzzkYlgx3g92+z6X92`rg@VUcNg+1(N zzw4bRo)zZPUY|GJzx>J1mtpfLa092_&GfEM(Ldi6}S|iiZgOtmbek8o# zk^%28z9iOF$&pn-Pa=n_skeOA?1UUBe>s_vV=T9b+8#}dVN8CUYNbz)ZsBX-GA8E1 zl&COYV$w(}j!Z;mgoqx=TvZiX+UM(u+9t!)Vy9cJt0rZ)jG`=6t{!M*wiYW<)ou{y zDjIbjGBK$#K%KkNqla5l$T8F<2r;*Uyv8*cOkgz0;@4OdR&2W;A410Q*r{Bsg<4TL z2YkJT^Y=`NE=I3HLcOR3XrS#Ye$RPT#PgD8U5Auh=KLf(f1RwTsLcuO9kG6dg}Yo% z3@H;h<)}j0Ts;Zs+NqpLCKi_S`DUT;HUnCksRG)ld`m!_E6gI%i zf->bXzi}@R%TG=f>zJ{>C^4#kFt!#DEVcEHk@1yi2FS!)4KfaJC@PU9Ap==VyXon; z!~EF|UnRG2g;tKQE?{9!W99WsZuF>#JfiK%W)m+8EmaDXR&^aL7D^+^0={=P+Ldsg z3?_ZU(WiYh?AZH;9j2;Y2+{7wkLur6nFT8_-ri~m@tOC#?2lpGVP|I_VxSMDFMS_F z{p6wWT$Gr)iIq&r<{*LaJ^U{=iT?BW9NB28V(k|s9PdM<624V)GzS&-| zs1qe3imEmVP1+ahQ3TAmM`ir8?_V|B<@>{r%VJ|=Rs7C}AOThVYh?xNrU65(^ugVB zZdN!UxdW{bV?D3&!qO%tER^-(3mg-f0L*Of=eCv~iQX!)$r5Ss;}39&7PU(db!8Tb z+8(U*sDGuZuIG@WvLyWKOhlXS43>r@1OiE$puZKKZzss|`QQI%iH19b6$OjNC$Q%$ zlE7fNYo>a`Wg(3xjXNWB3M-X(pG~gHHJDy2&pljHq2W&$c(vE-(!IJ_O1~V;Gjdy$ zB@BMdv2LJDq|q!g)cSIKiiAG3iLN94<2musb2o+`dQ@Tcy)`(Gh$vDPObZIJAi5-v zZ(>|k939W&<}dBgD6+g9>>~o6SM|4c%RHA;-ja_Qs<{JHBZ`a=3pE?j?q1V#Rc3{B z9A>KwAs>aW;>ch38Ls51+iN8M=-bW5q3-y?B;Bbq66MG|B7hzex^C*-P<6H*`s~Zu z&wUyIYo?2VGo8jf`M*UeTWl{}Et*ctJhYA<^bqHWnKVfv-H3kn39F*_l!@-}-u+ z^LgA;zlTlGtS0|ORDHSLw&Osv9^L5-(Pi2rv;pws(jlZbU>!ttpG9y?IL=cOxUreN$s1WuyM* z=e<mQNpY3OzI~*ZQ|x8Ceg@)*g%nzq&6^G*#=gI5>z{Wbi#c-J>fEAtFFlbzc4dztH|Od~_BEuYSBd7DOO>K@RR z1fuY0O`J5TpH8dO^V%fIzW)I2-)>vznPlb^B z8HhZ!(!{Y?*LBelDG0LH!$ModMXveeZ?F#KD!CI@_#TWdL@H>lAF}>Dn>xh)M;Jl5 z^m>hcB>0Yw7+WwEHX^nvWFXi3Y&l+u2wLGWtfnn*4oP@}GSyuC@6Uz@D68%BeWt9A)}?s)qk|m#MT&poUa-B@ zUVPu@RGHF1oy~Qy>Xxj!g;$E{2|$Ws`SD zfVlWKm|_nY8BexIf}Swf?%_km^|hy*b^9AP8+tq5t`gF}%gOcJ&;Jira&1IV-)72ti?7ZA67b>Wz0X#;A#w~uP?U<iNE`1xjc^TAen`@dAbri|(v-Q~K(m zc(J37xm(LIW1);!scJ34&#>+t4eFA_J7g7nm%Wv)VyUT+Xo>1tr}3GK8F~xzFZyg5 ziwF2@RYeHn$>$S}pe7QXuYr%8F#uLBtRE!Ds3G%>Ei-9dYB=Y+HOUFZw)(Ae-C)YP zyOAb$j zk=IsL2$gsDHFSD>OeWID2h-gmg(46;`TSg2@5sm6$qy|N-!X^ay@6|}?ASe_{H+#RDO}rbXp@tUE#Wn$6hZQ)YNTLFMj)PGRx9l*`=zW2QFMB zQuHzw4cEKXW!y)0*=d!lZ9=g-?j#IyJK0D=bVS>An~MG^COIJpr>3AIbSQnKilhEV zKPYvWypUGmkd90nx)dm%l!Xf2fU}jEmRvA##txpAh>SI@)-VAZRu%k+4fvVQJKrQ! zAfhMYj;AOO<7%xtI{Tr5RFIhFPquWi(ZCXRp_ls$tWZkp>7ruEzU)uY!aOl5L;M90 zIE`~}D&d*W2D#CA-vyeX-gomMx;rx#=TtvIcw6k#lWNF_2^TbGWGtFyz;=AX; zXt9BX?X7<+Xai(Cn1F)H*LDCu@P*$)=tQ7^N~Flg(C6nF#@I?xJE0Ja$LD+*P4~k$ z^sFUfG8(VFJg5NG&{=+e*G1$bvm1L?YkvIrm_jEhgP}%x9D8g*aI?9**Sex+hMpvW zPSP#408Hu`v>KC%t#LZDB6(fCbM)M~g+V-`Z>Bf_=ea8Y#ea z?5{&&Kdg{oG+0)gQ$V575#2S8?|v z4zf=|zQs}ac>RAGq&zQD(Smfd7E`qV6U^2qwSwD!b)t@_ETZBQ;iuydS!IuQ#!5a5 z^t{M=Pm8vOAPd?W!*x_E_{@XoMD{@B&y)X#iiUVccc+6)%pTojDMfP5W@+=Af;xqR zp)9xSBp5l%mr<(*u?$NZ^eh8Z?r*|n+Ox%8uQ@~=?MWtSUdbJCYzF~H8r`Xso8<;R zXf?dAVh-m+c60yh!*@mhkz$rg`=UdPQNS;G76a`cN+ zD5D*y=tp=XJpgFlIuJpL4U4JxB<4=@xr62|R`SMR>5W)Sh1_pio6XvPd%ey#nXU^# z7G~Za`PH1B8DjCxNVNOE#|D0{@s7u=uT0L>y?;hg%<{U}Q}+~)lyE_RLNG8yyM8^b~19j>({r_fp^3r(zx8=Q(R3MTmoK_ z7(XWIW+pqX?`q6_bBKAkjDeBi`V!=YT4Kh)P!%j#GGkC_Tp2!X135Hw!QTA>_yR`T z>r+t5F~$dJ9@ld71M&J3f7-eFo851;k>W?2k*RgBhp>Ms@z1ydw@rj%TL9`{M65FT z{cnVM-%O3&_67TWP4}dUUq<2DzGx=FLg+ABR@s75zoG*cKPD$|^pY0TaE>ZW)e@{; z#sFbH6-KhrA0G}AT?bJG0cRrN{7->Ynf8hQXKe>~a<_#IgHPH<;kCpf+{_OkYx#zaUMXsNLyIrC)gd(~@@26IC+`4p>NAD7*0M@|fV znhC@U;|W3py&G3_b@naOl-_p|URj&J)t_$G<@!rlz_LGBlK+x(<=ki2Z=IiiDoTit zFW|D6uk)xgQ6WKRc^D7EN%!s*7B~O4+2A1T`LFK}{ljkcKSZ)gi(E}JKPpYg7bP2{ z=$N(XdUtZ5 z*7~8j4QG1d*g^WPg-oN%PURi(5{4{x-g7vnU5);$`%9tK4s+X&D0#ch0Qw>G=E%Mn z7sn$iF#l?9*hctMLO|owiGcmovc&QG;`MefL%6WuQWh+50R#1gfQITFoyVgA@m~u0 zoIn-S>rd9Pq%H!FB!Edf>ST$DiA^pSKy#1{RwD{6x+XR2p?7k&xq65=4{tws&#U{x ztTTQ$SM@OkpTY+2U|?u|=|>zkRzJNPz?5U4ZfMIP2cZHqq?Ye8TharW4IapH)8f@X zvd$hYRgmumXG)(l5bHeFiK{|bu<~-l(k=aQ>wQg~rL}k;H!J4^$u+h_O@4ahEGvGY zc+D$u|GB(NIhwNAu3euxlu z_g5xZ z`S|XAmSOLn_CVjcaNP#a-CdpC{b9A%$25cSfo7@OtV-Cp(#bHqD5Ue@m+=Zs$(7Em zkBr=Pt8To-hT*TJr6aj?aGgM2E}qNN`<+0i@;c(e?Z#16FUbIm- ztci2qSyneNw7t2$I>b5vHJ>6{iNw8u3ri+V-gt2(*~5nX zGJD%;_wt-`0R~=Rt`A|7Ir-io3M#6&R`7Yeg4?YRY3*=BmNQK)!4oED_}gCyb*E$E zd2UC}{6|%EVPsK3>*}085s-(qq?(^6H_R;Vv5i81ATrcr+7Y9rCZ!5w&rO()?%3q! zX6L~fYr>G6rE5{8yJK=Vg?g=g8L#KfR2e%L&3t@(4o_!Knsn%s0Riil9N{J=jKytk z39uuT5;n!b?4~4$v*~L=qX?pio=2|bKVgWRvv)@dbk7K@1oUe}m3`rqxt1=b6#d43 zXWa2UX>endb3cW5`9BXsej+TqvJObK{TOCg#evkK%^W>HbVWqkgoednjaTmqeO$Z>{RX= z>bV{|I?R#r7-<%WqInKQfSuPjX-vF$9-Wf=#%yAv$HnfLZK*y0Vb0zL1Yfove7 zg}*rKlJUTr*qAD;G>fu!xK@$^kX)C0YkKjGNnlOTr zRm`(2)C1S3o-yxX*t0*7K@nU`LPfgI9(S095g+Yl(s1&cnZ14Q`W9mLcKZ4Oab+a> zuq%c9HXC+qCSSd7DAT;z50k%WEA@fA_I8U2A=riMx~2D44SxJ}pn8;9PaA}nVBSph z-d`gebZ(g)*IsZs=Gw%g4V1rX6y7&x0-|iufrg1pld43A?Y%JP!gHlUd*FVpZdE0iGS_fK+a6Iu+NvoVvvfEk+v7~f(F;r_D_%TU>ANzPG)x(ZI;p zkGJLX*^Wy@a&=9pEY&8sxv~^#){1Kgu}T`CwS5s8_E^Y7G5t1QR^+Y~bkPibDm*wS z70|uWofsApNy%T4a`oI&_wq$7@vC!;X2o750-2r9*<%=!IB30|cyKm_P`r!A_3maC zDAjthm9D3obF+M(jG9*C22KgWD{oT3{f{^zY@?pMuH~fvKA@>3T_gYNthrW=_LG(C zn|;3Ys}1}4rGg>9iLgK$a{n&si%XQb4_swIj6Dx^^r>(s9)0 z0jMytFz|e(fOh`D-#HH}jQ!T*eM8TefqMn#`(5k|b>p|wdpcXy`@+KyyPkQ&ncO}z zkE!`bp5RzDIwLw1?LieGQiejpUh|u%wf@7w%R`|Jn(Q)TrB0>j(TE;GLM3Waid>m0 z+gfE+lE16;GW(HWQemRQ$G~uNt7dMt@*OcXk;eIMh->_wB;l%{SL!Aa*`?PO3evFVhCWh{)gf%DMCw z7q9+1*w)N!;TWLTfPRho{roL>83G|Cn)PA7LD$E7=G-4s*MEj*GEtrKyz#Y37fxZH!1C?9uCh`xR>-> zoVTUsWz=EHb!C0!9Bgf|D789L{#GNe1C0MnGt3)v zUuhkzOo?N=@VYUY%0dgc{Ak{qbbEs4COQMO+F(r2_Ll7cAEX)Y9o##$$*V*Drw|$rWoRsbw`|UoVSw-hv;pko4|vQ{-Ih5kLQ%d^fTm8nQgL62B#e z_O+-THu`|DqvvRlw5AXx&0B8)Vr|pwlfcEje{u-Znpqcfv(usv*q9G&70PBw&0E9J z3K8@c>ysJM__`6NkAS#~N$@?O+=)N;-q@r=dq+W9SgPkD6lSLa;;bMe`MNWeI7ljFelx>YO*E*!*V}f~IF7n_#M%77Jm+c{ z#pTwxKi;)Vjnq?q2w-%tFYbt?k!qMH$ z|0$D>oc+9LxlleJmoM&mA<(5y!vExqqxvvdA>ndxw6kR(`RUhoC*W#EaF|=Te(`Yw z^{HsyLv&bCd6d7oZ_Qg$NgikdCw+{a$6@XJPnsXAAl)TJiw119;`_w!K(K)iaZKxG zU0vdHbuOzwzqO*0mer0J0`;({J_cmaE65H@t-zL#k>T$8-PYu3yuYe$4>E%0NpaNFk!`os>NH* zU~QJ8 z+OXvel{&eawe1QIbYFy)Is*r2tt?>jY;jnV{1RG!`mA=NZmLk#)GF%UPQv1kD)F&S zOLd8ob!a|rtj(+dvkdoC zZ)7_7?lQ{4v=)}Rk_S^HX^Rw@ea5eCgQqh~@n_maHtauz?LUR%CqiQEudYD9TPBua zOkG2$StVWe2HL8=BH^py+#F4XiS~q9pi-IYr?$&4!Ru!d$$8XRLa9f#CWnw4b!5VpS`SPy$0mV%mvqrA$RFTBf6q9UspwA^hjIdSNgm5$;iALwfg!#t0or@! z%`*PvMNK`BfpOHchp-=a{#$-gb>qpam99>}`6F;Yj#qkRlfhZSr=|YR zAf=v)G~raA3je7T*QL@2dZ;#{VkI|tb^1J*$5T|409|7rcLQ;JGVMZCN2)j88p#?R z9~Gs>rr^qH=?keWDZQ`H&u7yRT>mS?FNy~wjypWA8*5Lz$3BG!fb+?_Onj|oC|7f1 zWvJm{r@i)CCjV1zaO)Ge;Iu^I494`imX?ASau)+^asGN2n*PmV;MQo>784cCuhfE%Y2lqqO z6TLKTzV>!m&AMCPMI#8AM!;KXn^2}O$q=+D|I;D=8~OzWVaT%*hcuJA<4K#IWtorv zCW-t4w&Rt33ob5r*^cNLal`C{3Vrb5gR2)4DzzqI;}kvD1ANz*+w=XE(=XVm|0K#m zL`PjmOE{mytnETVMfxuf*`vE4g{+^_+-%iveKGa;d1mHaXo&xe9Y+WRv6g-f%BlU^ zlmTJJ_@C_hAH&Oml5ZxrJg!i}zLyJKHbU@;inu> zr5}5`@`&;jAt?8qcnWt);dJi$(@f_Btp6BZ4g}l=tCgI=L`pzI z+300lCY=;<9^s%PsGvUKRejiAUzBr}9KA>hJ0_j_Pd;H^e2PH6KNSkg=)cwJ|A~(~ zAWWk_aR_AO`7t@cOb18$C*6i@9iBG>*aY{|2*H0OIP(R&#P&6lba*pO$xG-=7@G5x|FMrsxoU8UmnHrbi)M4=XU2sBg@vb zJJ~TY0a|w@1dGBm^Oxk?v0jxsfBd2k(fi%$i>(3;X<|GhUav2g01qn`@8vi036>1;T4*r&a|ZyrFXdu7Tvn$?$&k{8*P>rySiFrwF$=4#vI->yn~wpKeuR0 z?cxZORrWQ6*=za#F`|o|6?12^O_x+PqJ>6Yxb>p*MC3I#PeZ}4s_P^-Q zu722+R+IxC)Re{@z^XGgv~@&ra?!iV>z_^*wHfxa!&1#l-0{#D0gV9cKW48C^He4T z37>aR?vgo`do-7N?GSiLGV)vYX!VP#@5N0>~ zJ<(7R{N+&iB9szOC(`@$@`Kx_R3;cpGk1af^*2?*@`k?Z2i z?+ONTzMsBA4)APGrx1^Bwk5G3OD69ES*7ukOnfN-&dowi6f{-m!XO9|os12rNdFYZ z2yP#;;>e!~KT&jhRwHQjvW7GA_#J_ZM&rTa8zJvr98kBBTZ9!|oo;RM66PxhPMa=% zAhUI52I#S@Q{w%cP*LxIC;M051}68h#2N z@1Pb=7#N?>cf}wn#gU?pV+@KGB4KtLH-qun(l4rfu$h`O4OBz$P$H8`H((V*Y z2^N@z=MTpyYpwlBM0RCz=|rVL-#>dp>5&pg*}j|@AB=+yLj^9kR0NM0RlTNKJ}o)K zfH{R?qKYZ+&vCNl+I^y);X5B-`x-Pb{bn!2!d8-#*Zd2{2i^d4Ic!dWmXer9E1GSF zn;3raDVMDBa#Q0zF*7f$&K{~z)iN!Z*;8DRvKmUMDiB(jcAW;KbZuhY!uSzPlPqUf z9p$#U*3@eT5M^utFDp^Co)89rVek}mF~4gyjz|+a177pg{K63?$Sq+oakwJ8BOpDMos zd7UqHg?s`0;(}=I;ztxfWIL}sRHC@6W9+#Mu-C66l||Jq`t290FQ`pK+&1ejYWjR` zf{0D#7Ang_8^%vhPfe~yOax<<$ zmz0)NvD@>K`0j(#n*rAL3H$wymL^fJ=#;LucjnLp1eK`!XR1hXugMZcf8$VAtCEaW zEN9Ea{k=TnOb;tB;;1#V%3$iPtWG_+W+}L`NFF$V9DwLh8(iW8H}n0=VBKZ}s#8jm%$_eqGXhcqr6^MsaCT&97p$`+e`5$=7W!6Ti<$Qns?tZ#Lq$Qi2@%Ntq?N@eM zA;7ls=jebSa$DT#(sPe7povw?XMb6nV%+#CR-XTs*<7+X9nM86A0HsQ-_3P!f3cxg3Sek64k^BE<^dl&KZ-@!e9iUk++Kperu+uijY&IXi+%JM}tz zCgdC7rQ`t_%AqWqE6EPV`ugV^&DR^RLI~F<^B)@8UX%o?zh!DCj3#mQW(Xt5sYIfH zBY}N9T0E#+^p!fXQ8f* z9)}C}ikoDtGba!`o5CJsIBQ(Bmg!w<-Fj`OG7HkIvUgEaA$Ff-bg~6GKSOcX6Q z>U$LJu2(|-9oy5>FjuEAeecw_ic}nQN78s5I4yrho7K{rDtz;s`dX4nZt20voL_Sc z1r>_1v&LA_7p(IBY2cs==%DmyYP6lb7DQ~xWymZpN?SMLamV*jMI_~#Y* zNhU46kWb&=up-S)rSD0Kt+yXLsJG`wFb+7<= zp1zO*s85U!oe%00T;4qdGF(7ELi-tTAo8M?^p50+HZcggxA|n<^Zp%4s{Dkop73Go zDl*Y$Nr{I2IjVTjd$Hdv-&?j6JbZ2UaCF%As`62&JZ+UPB->e>{r;#G6p|{B2mMY3 z=}|J_fSHKC%Uo0101lBnM}8sLet{cE6aCqOoDEr!!-nO;&x@H#SZu2bcd35K zlzA-le)Um>Y9zc=-eNr1!-&6QO$%wPL^RmcMpE&{u(e2u3KLJ(q#4Xs&9rD1jTnY> z47`=pO8dsgy_v^NJ1tTCQ@=Qhv$P+PPgX3EW~AMVSNN6G9>=)(!1%4bG*Qsg7kWyD zo6zQcL3mlBgP3H{bC7wIg=~u2T;wm+_vs#n-RN`9*M*tvHv2xThRBv|CjuME#@c-` zHh$w~#ttD+3dFcU*SIOeEohk z`(^FTkh02enXT~x|Jia{yMP(pM(E{H44#yls{rL?h`pP5!W41;7IQLzKp%qAxRAK zx&Xx!UwvZUc|YK|w;%=NyR_%`)%>Yc)V$=aO4A=qWy&EG1d{>cn9EAX;A=)Y68-)n%T8QFZ`#;gfMO1dGdk;;rerp|r;{Dwbo#)K6(*4~B>j3W2xX z1C#WU@K*x})i3(eOY9o+juRPD#Q8BM?infi#2)BWt3R=p>N z1v>DbvTxW*v`RZeu={?y>ApW)4^TK};A3-IkcOUZN~f6tD#}g)H|uDm4rW@bTLX0M zh!HlB*U^a1&63LX(%L|lrm>!0lsqk&PG(MFQ$)~%Z+3#u>k^#vrJM`zfRfYG@TNYn z0bJq(9|sTZ8|cr44r=G)c^F^a~<2 z1d|ZjFiXeJL{Po3552%H=X0SqC~HZonvR5C+%P&zjc2GrN9UqA%36Au)SwrmSe=ZJ zGB;S3mqhxLouD;vOkx9Ug`9xHwNycuV3u&)1v5=jDk^OkU3Y+f&EO>^P+pe% z@0P*P&Z&H+!6VEsl+SL`^|;88vV;yZ9d5%*nV}_~^i2Ipp*+xTf9M1Dj|(&)uY{(? z*bTF-ujX3+*(@7w3Duj_Q~u95V1s54Y#Kiot{SoY#(gf>-eSrjfcc7^c z$>y>gJ@*-^*u91)F8wpsqP$#>DU6dqne|Hvbwb!jc3(}GoF6}x(qG_B;saa8lFPXl zCz}%oKz&AqS_0=NBS8=99FCdhvg2-(TW||r#cGhJuagTBjg}WY%DlKoF*F^s&+f)c z_spG-^R<2KycxirWN?W6AA>&nu4gBVI%aYNIzue^^pP>*Lq#7*^F`lw;_>5xh;-Kd{YgXeE-8f3JDS1FkyUs+nS4tjvDwI|7N}ZvaO;Me5 zZ(8Tw;vaK-l$j>#bmZJY2Mk*Hb4GJ6)lAaF5?pW&hlSS9cO@&D*S}m$0GE0OPhYzT zyt`@UEVMB{oT)_{Pr1&0A&EXjMgKI1jZTiG`;6w@QhkD0Pb~90lGx~8pB^8>?jEz1 z|Btn|jH{~a)`w9f1QF>J1nEu%1O%mf(;y+6?gm9d1Qj+Q(kUR_-KE5)yFpOtR$AKs z+@R=l-{(B%{qXYhgRs|LYpyv*TyuWe?w|U4#qlL3Hsh;(0)~9|7?S#Rv-xP3~i7{OxTU{YRL5Sb4G#7z}0udr{8sDkDDYo$U-%oABgL>TR z+z+-a3pVQ-#ElHLGEEEeJJ9n1RTtz$R%%CvPd!h~LoKLFk{6o={;~8OjD}2}RRi1m zsUx0T+0t%b2Y(RJ5t$IGFMGMvOI?-yuNtS(y8}r<@ z_ad(Rn$tmXiM_64L3_}cfL!p2(kS7%%D02nqTzDZ%MsWt6YlBDrBX0$7?w&3+MtKz zEvVumBz$5Xnhbo;sk8h1{=nZEm0J$)Y0Zd?4DP#6XDHB~*|<73_2hF4 z(pJUig)&Nvl|Nd65!GbGr#YgFc%?iLM?hrZ&cyd7b;!=ZS~&SvdPIG#ZVpe@o3R|j zA7>WiKbIv!koiplebehSCVL~y-wyAW8p@HZ4sWuH_Rc!$&^!BM1>BTJb&XKbGrdd{ zrj_pfx6T0-NRQ`Q*pEtD6fe;P#ko_7B=1Ru(wT)&*;<1Cb?u6BDEUv^9YI=>)(Blo zgHVhS{`_O91o0|4uYzl&=X&->#b2M>J)=lT7i&8Klor=@0mJ~^zQBjtp<7FriB`{k zAMp+7md8S)U)r8)ep@dVuhSJSs)5k7GKpehLmM|E8y}u*o7>dJeTZy^JrG)I)4Gm! zJnAa%xRj*>sN325`+cK-9}p8q0hvdTN1P8NsxobYQ$Ibw{%dLp_*Wz3WU#!XEJ^%H zBh|CmP-{V|nLq=`a#gPzZJ08>-{x{bN8yfH{+v4QpsI+<0{nJ^!}~j-KR$o`X!}d} zVt^r>*TD?yNUtOhT#(VD%h>%C(FUzU1iaZCimVy(Ul3E)qjzYp=;$_oT%6l zRUEj`vAyp*8mpGoyPN?)#vcy@7QjXGZ=F;dfk$dwr{q8FOSzx?f*Yj2&plLjIwH2E zdf1O?>j7#sDDSx}?E5FiRP~?GY+|Ht>|hFyQxjhsi9r!SLdZGDpa-z)yC08PLXCoj zH(~gCC(E=kWK)XG5#+Y8YE4bWkMOe;e||ih`dqGtV{vr6ZV05M5&e+uU`o4BUEL4#2!MuYURg}Mj1tLN%9#G*P>Ylf8Q8MhVU z>_+RhG)B)yd>7=CWZUatCOX{>N>mYLGPZHLZ*Ld{NH!$_4a-N>LDe~a;Z12GhdyX1lvIz;8Jhqb2&oD6$j|A&UH z75y^wO8$2Eg)j^3t1+4icpn* zD7aD0*w$8Ye)nyDM&uNlJ-Xk@4Fq|p3qI$rQD2lVunJ8dxzD($xxq*zitPN&5<(Ov z+hAXC`~L4)1;)0isfm#-UBOXTiLJ#nNPchi{f#VTa*#-OYIW;gg>DZv5QGHaZM(PQ zM9fonfQn1Ak)=a}Vty6&jAiWX?S1UPn6M)aH2a*?Jp}XvvkD}9U~O%!q*wST!|O0( zqJ>STk2}1r+~VZ+4Ah~TInUO}w^KD)GCSn~$4CxW*<>r6noT0Id6c-@JaOhzrN4BH zTY@TTDoO*vK?FRwK%Bs7rzP&nd~T*MN6lCs zmDnLEpi3$JLrN)A*Wwht7a-{;rUv)u5VQJCvFz;UIwGQc$TL{WQ<%F|N zt`oTCfzkb};NJ1D@jm*UR`ivJM93&-U|^LkU7|#Z=ovfeC_(pDYJJ+b=hf+<1p-jR z?A10p8(IyL!o#B?WY5)2A-!JcFO@ERG&iKU2dZN55x81W+v-g()0isSY z9>b>PpevU+n$2XopQN<}&A}ABO0;_BzQO&*g|pb>^2u|ck%pOWzrkpyB$2GDncgL` z)fui7UY_-mM?e3B&J& z(X$fk9pJOIRrHi@84ix>nEzfE;9U8=UYy!1RJ~QvOB-;DHyC{s%>(v-PZ{wB*-Uza zzR^$IWcc7`X{WBNLDZhQdEL#c}l=v47bxglB+R+}?qQ=4B^JW-VOOGdxYxl~W)u@sK(0WEh55 z2aZvi{RWNBjA~dtZpMIe6&%zhhoII^+Z8CAC!Pv$HJZXFgd^Vky}8Lq?fvfh*UqHV zi)awBQyCX}Bg}<%Mg>SqaOPCHig@$iXkE=7q~fzYjJ|-Pvohv)zdaLE%~){@C)aPe z%86x5kMH!p$=U#?HVxAbGpLIvzu!N%N4e4?ZDXv`XgZD8x^NKx%o#OiD2{n}6r@Em zD?tYMgZs&7!RMz^RsqV<)&^ou_lu@19^1hb-RUW>_6}*7uIDr+?}zhG>#mf)n6Xg06bF0Q zPakwQ+wb?+^>Dh=ta9#ZvE_t2!>nTt{i!@LiYeA*ri+iw@*>INFqzgf(qFjE*8*-% zCep8$s+c^vLNe~ts$a~E1pvWX?{S1ue!7#69Kn!~YkOy#x)o8$H#l=Q-||qau@-On zl~J_YYK2#`wUkMo5?0|9gv)cc%lBs#j^5C+{`x#nu&maE*Wp#|<3(fDGmTOcs%Dp1 zPz9cO0JlRu`vFXCGfAXKh7w^<)zpY&fi>qUVW^nMyN;z3_#s(+Aqb(czk>vrfHR9o zoU;MC;F4JRTX=r~ZK@%SSoDrl?93d3D^$1X$!#yRBrIU*ZqPJ1Kwd?1* z5CndnA|r}$94DgMgbS$M>n>~Dz%sPp%?Lg7QQK_kwl^3b3j0=MtKCf(CtM}|j|~Z6 z*IYxV(r0S#F|wmL(yK}eKnzJ6Px6O%#s4@srmC^|ZESD7vqU#W%~+LjzLwtU!KX$2 z(pAxO#!fby1Yx;B(<{)oYsnr&!RCzjbk2mEF}pC}=F@!;bnTA2+leK%Rz>&>bYltG z%KC)1mr!VG+?s0?T=NRFXptgw6=OoSnS1JimB3S;U3Ny(RCDIsDgc3`EveMXv7k?= zsgo7fvNlAY9(}Qw!3g1<^e~)Cz;C>BcW+ar)9_j)F_>)0y6;dU!Zlv{wpW4nnH}}Q zOh0z5Ln1pY_mpJ)t)N12HXlA&^kQ|fc+NRH9MwM_nHR|G77Va44~>nj{iJPb_M&)e zza;L~_!(PU)qtoZ;v4kY-Ro9R=IJfE^1PZLm5o{do3DEv$?R!!w2Ww(p4wCCD2={m zE+R$SRW=uTX?&hL+HgBpo++^ej0HPrtiacW^6(?2zbf0s$| zePjA3*9~fikIZg-a+F#*w$pnvO4%%%7I^Hp4it_QmY^dlZ4F%8P=z$%d-sb|>*g+Byr^_Q5^4G zkx-l;d0ONBO?s^>gCS|5ufyORC1)Xs&#p!Noa;oZEiH~U(b^ofPnGWsM7{{PiqJnG zhizgKt2rwpR4q!XY4unGm8GiX&@VLpx+ZoOkck{sIID4%XzZiK_6Dk{uF@z}3{OJs zxN2kngm~fs$E-R=Nqy`O*J9^(b265!5kjALl_-vwRQ;~d%+{?qoG)YY?yo5qGqB_5 z?}WtBpnNk?e;^yuDqUC2cs0++<=fiKrLu5y_MEavXjhnaH|kuD4PWPEq;wsHxddGs zA-UWh1!9KxSCElbot-$rN&m^e$44y^{)k8C3K z3qw115Rdxb^!tCBcIHJ48m+=*|Lg9>;&u|mZNH~`D__K70lK@{m0{+a5t?WJ%NT^{ z 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

    -``` - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/dimension/container/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Container.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/dimension/container/container.cs %} -{% endhighlight %} -{% endtabs %} - - -## Size for Smithchart - - - -You can also set size for smithchart directly through [`width`] and [`height`] properties. Using this properties, you can directly mention the width and height of the smithchart in pixels or you can set the width and height in percentage. - -**In Pixel** - -In smithchart's width and height property, you can directly give values in pixels like below demonstration. This will render smithchart in same size as you mentioned in you code. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/dimension/size/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/dimension/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - -**In percentage** - -You can also specify the width and height of the smithchart in percentage. If you mention the width and height in percentage, then smithchart will be render as per the percentage of it's container size. You can set the values in percentage like below demonstration. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/dimension/percentage/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/dimension/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/smithchart/smithchart-legend.md b/chart-sdk/asp-net-mvc/smithchart/smithchart-legend.md deleted file mode 100644 index ef90f6a34..000000000 --- a/chart-sdk/asp-net-mvc/smithchart/smithchart-legend.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -layout: post -title: Smithchart Legend in ASP.NET MVC Smithchart Component -description: Learn here all about Smithchart Legend in Syncfusion ASP.NET MVC Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Legend -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Legend - -Legend is a key used in smithchart, that contains symbol and descriptions. It provides valuable information for interpreting what the smithchart is displaying and can be represented in various colors, shapes or other identifiers based on the data. In simple words, we can define that legend is used to denote the series rendered in the smithchart. - -## Position and Alignment - -By default visibility of the legend is false. To enable the legend, set visible as true in legendSettings. Default position for the legend is bottom. By using [`position`] property, you can change the position of the legend. You can either place the legend at bottom, top, right and left side of the smithchart. To use the legend in smithchart, you need to import and inject the SmithchartLegend from chart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/position/position.cs %} -{% endhighlight %} -{% endtabs %} - - - -Other than these positions, you can place the legend anywhere in the smithchart. To achieve this, you have to set position as custom in legendSettings and specify the x and y coordinates using the x and y properties in the location. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/custom-position/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-position.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/custom-position/custom-position.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Legend Alignment** - -Other than positioning the legend in the smithchart, you can customize its alignment also. By default, legend is aligned at center. Using the [`alignment`] property, you can align the legend in near and far locations of the smithchart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/alignment/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Alignment.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/alignment/alignment.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customization - -**Legend Shape** - -By default, legend is rendered in the circle shape and the color of the shape is as same as series color in the smithchart. Using the property [`shape`] in legend settings, you can change the icon shape of the legend as rectangle, triangle and so on. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/custom-shape/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-shape.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/custom-shape/custom-shape.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Legend Size** - -By default, legend takes 20% - 25% of the chart's height horizontally, when it is placed on top or bottom position and 20% - 25% of the width vertically, while placing on left or right position of the chart. You can change this default legend size by using the [`width`] and [`height`] property of the legendSettings. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/legend-size/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Legend-size.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/legend-size/legend-size.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Padding** - -You can customize the space between two legend items and space between legend shape and text as per your requirement. For customizing the space between two legend items, you can use [`itemPadding`] property. To control space between legend shape and text, you can use [`shapePadding`] property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/padding/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Padding.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/padding/padding.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Toggle Visibility - -By default series name is displayed in the legend. You can collapse the visibility of the series by clicking the legend for the particular series. You can toggle the series visibility as true or false using the [`toggleVisibility`] property. By default it is true. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/toggle/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Toggle.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/legend/toggle/toggle.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/smithchart/smithchart-marker.md b/chart-sdk/asp-net-mvc/smithchart/smithchart-marker.md deleted file mode 100644 index bc4802f2c..000000000 --- a/chart-sdk/asp-net-mvc/smithchart/smithchart-marker.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -layout: post -title: Smithchart Marker in ASP.NET MVC Smithchart Component -description: Learn here all about Smithchart Marker in Syncfusion ASP.NET MVC Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Marker -publishingplatform: chart-sdk -documentation: ug ---- - - - - -# Marker & Datalabels - -Markers and Datalabels are used to provide information about the data points in the series. You can add a shape to adorn each data point. By default marker and datalabel both are disabled in smithchart. You can enable both of them by setting visible property as true in marker and datalabel settings - -## Marker - -Default visibility of marker is false. You can enable the marker by setting property visible as true in marker settings. This will add marker for each point in the series. Using marker setting, you can customize marker differently for each series in smithchart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/marker/marker/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Marker.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/marker/marker/marker.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Marker Customization** - -Using marker settings in series, you can customize the marker for each series differently. Using marker settings, you can customize following properties differently for each series in the smithchart. - -* [`width`] - To control the width of the marker. -* [`height`] - To control the height of the marker. -* [`fill`] - Used to customize the fill color of the marker. -* [`opacity`] - Used to customize the opacity of the marker. -* [`border`] - Used to control the width and color of the marker's border. -* [`shape`] - Used to change the shape of the marker. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/marker/custom-maker/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Cusom-marker.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/marker/custom-maker/custom-maker.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Datalabels - -By default, datalabel is disabled. You can enable the datalabel by setting property visible as true in datalabel settings. For each point in series, data label is created. Datalabel for each series can be customized differently using datalabel settings. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/marker/data-label/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Data-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/marker/data-label/data-label.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Datalabel customization** - -Using datalabel settings in marker, you can customize the datalabel for each series differently. In datalabel, you can customize the following properties differently for each series. - -* [`fill`] - Used to changes the fill color of the data label's shape. -* [`opacity`] - Used to control the opacity of the data label's shape. -* [`border`] - Used to customize the width and color of the border. -* [`textStyle`] - Used to customize the font color, width and size. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/marker/custom-label/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-label.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/marker/custom-label/custom-label.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/smithchart/smithchart-print.md b/chart-sdk/asp-net-mvc/smithchart/smithchart-print.md deleted file mode 100644 index e75ef2771..000000000 --- a/chart-sdk/asp-net-mvc/smithchart/smithchart-print.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Smithchart Print in ASP.NET MVC Smithchart Component -description: Learn here all about Smithchart Print in Syncfusion ASP.NET MVC Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Print -publishingplatform: chart-sdk -documentation: ug ---- - - -# Print and Export - -## Print - -The rendered smithchart can be printed directly from the browser by calling the public method print. ID of the smithchart's div element must be passed as argument to that method. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/print/print/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Print.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/print/print/print.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Export - -The rendered smithchart can be exported to JPEG , PNG, SVG or PDF format by using export method in smithchart. Input parameters for this method are Export Type for format and fileName of result. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/print/export/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Export.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/print/export/export.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/smithchart/smithchart-series.md b/chart-sdk/asp-net-mvc/smithchart/smithchart-series.md deleted file mode 100644 index c4f30e4df..000000000 --- a/chart-sdk/asp-net-mvc/smithchart/smithchart-series.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: post -title: Smithchart Series in ASP.NET MVC Smithchart Component -description: Learn here all about Smithchart Series in Syncfusion ASP.NET MVC Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Series -publishingplatform: chart-sdk -documentation: ug ---- - - -# Series - -You can add any number of series to the smithchart as per your requirement. You can use series setting to either add or customize the data. For the points or datasource added in the series, line is drawn. You can customize the each series as per your requirement with marker, datalabel, animation, opacity and so on. - -## points or datasource - -For adding values in the smithchart, you can use either points or datasource in the series. Points and datasource both should be array of object which should contain the field names resistance and rectangle. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/series/series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/series/series/series.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Series customization - -Using following options in series settings, you can customize each series in smithchart as per your requirement. - -* [`fill`] - Used to customize the fill color for the series. -* [`enableSmartLabels`] - Used to place the data labels on the smithchart without overlapping with each other. -* [`visibility`] - Used to handle the visibility of the series. -* [`opacity`] - Used to control the opacity of the series line. -* [`width`] - Used to customize the width of the series line. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/series/custom-series/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom-series.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/series/custom-series/custom-series.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/smithchart/smithchart-tooltip.md b/chart-sdk/asp-net-mvc/smithchart/smithchart-tooltip.md deleted file mode 100644 index 35b070d74..000000000 --- a/chart-sdk/asp-net-mvc/smithchart/smithchart-tooltip.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: post -title: Smithchart Tooltip in ASP.NET MVC Smithchart Component -description: Learn here all about Smithchart Tooltip in Syncfusion ASP.NET MVC Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Smithchart Tooltip -publishingplatform: chart-sdk -documentation: ug ---- - - -# Tooltip - -Smithchart will display details about the points through tooltip, when the mouse is moved over the point. By default, tooltip is disabled. To enable the tooltip for smithchart, you need to import and inject TooltipRender module from chart. And also set the property visible as true, in tooltip settings. You can customize the tooltip's visibility and appearance differently each series in the smithchart. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/tooltip/tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/tooltip/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/smithchart/title-subtitle.md b/chart-sdk/asp-net-mvc/smithchart/title-subtitle.md deleted file mode 100644 index f997b505b..000000000 --- a/chart-sdk/asp-net-mvc/smithchart/title-subtitle.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Title Subtitle in ASP.NET MVC Smithchart Component -description: Learn here all about Title Subtitle in Syncfusion ASP.NET MVC Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Title Subtitle -publishingplatform: chart-sdk -documentation: ug ---- - - -# Title and Subtitle - -## Enable title - -Title and subtitle is used to depicts the information about the data plotted in the smithchart. You can set the title and subtitle of the smithchart using the [`text`] property in title and subtitle. By default visibility of the title as well as subtitle is enabled. You need to set simply text for title and subtitle in your sample as like below. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/title/title/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/title/title/title.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Title trim - -Both title and subtitle of the smithchart can be trimmed if it exceeds the certain length. Trimming is enabled using [`enableTrim`] for title as well as subtitle. This length can be changed using the property [`maximumWidth`]. Also [`font`], [`textAlignment`] and [`visibility`] can be customized for title as well as subtitle. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/title/title-trim/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Title-trim.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/title/title-trim/title-trim.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/smithchart/working-with-data.md b/chart-sdk/asp-net-mvc/smithchart/working-with-data.md deleted file mode 100644 index 54465040e..000000000 --- a/chart-sdk/asp-net-mvc/smithchart/working-with-data.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -title: Working With Data in ASP.NET MVC Smithchart Component -description: Learn here all about Working With Data in Syncfusion ASP.NET MVC Smithchart component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Working With Data -publishingplatform: chart-sdk -documentation: ug ---- - - -# Working with Data - -Smithchart can visualise the data bound from local data. The data you bind for the smithchart, should be an array of object and that should contain the field resistance and rectangle. This should be bind to points or datasource in the smithchart. - -## Data Binding - -You can bind simple JSON data to smithchart using point property in series. JSON data should contain [`resistance`] and [`reactance`] fields. This JSON data should be bind to points or datasource in the smithchart. You can any number of JSON for points or datasource as per your requirement. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/data/working-with-data/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Working-with-data.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/smith-chart/data/working-with-data/working-with-data.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/accessibility.md b/chart-sdk/asp-net-mvc/sparkline-charts/accessibility.md deleted file mode 100644 index 830fa871f..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/accessibility.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -layout: post -title: Accessibility in Syncfusion Sparkline Component -description: Learn here all about Accessibility in Syncfusion ASP MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility -publishingplatform: chart-sdk -documentation: ug ---- - - -# Accessibility in ASP.NET MVC Sparkline component - -The Sparkline component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility. - -The accessibility compliance for the Sparkline component is outlined below. - -| Accessibility Criteria | Compatibility | -| -- | -- | -| [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Support | AA | -| [Section 508](https://www.section508.gov/) Support | Intermediate | -| Screen Reader Support | Intermediate | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Intermediate | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | - - -
    Yes - All features of the component meet the requirement.
    - -
    Intermediate - Some features of the component do not meet the requirement.
    - -
    No - The component does not meet the requirement.
    - - -## WAI-ARIA attributes - -The Sparkline component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Sparkline component: - -* img (role) -* aria-label (attribute) -* aria-hidden (attribute) - -## Keyboard interaction - -The Sparkline component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Sparkline component. - -| **Press** | **To do this** | -| --- | --- | -| Ctrl + P | Prints the Sparkline. | - -## Ensuring accessibility - -The Sparkline component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Sparkline component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/spark-line-chart.html) in a new window to evaluate the accessibility of the Sparkline component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/spark-line-chart.html" %} - -## See also - -* [Accessibility in Syncfusion® ASP.NET MVC components](../common/accessibility) diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/appearance.md b/chart-sdk/asp-net-mvc/sparkline-charts/appearance.md deleted file mode 100644 index 9819c5d07..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/appearance.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -layout: post -title: Appearance in ASP.NET MVC Sparkline Component -description: Learn here all about Appearance in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Appearance -publishingplatform: chart-sdk -documentation: ug ---- - - -# Appearance - -The appearance of the sparkline can be customized using margin, container Area border, and container Area background. - -## Sparkline border - -The [`containerArea border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineContainerArea~Border.html) of the sparkline is used to render border to cover sparkline area. - -The following code example shows the sparkline with overall border. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/appearance/border/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Border.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/appearance/border/border.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Sparkline padding - -Padding is used to specify padding value between container and sparkline. By default, padding value of the sparkline is 5. Sparkline [`padding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklinePadding.html) values are specified by the left, right, top, and bottom. - -The following code example shows the sparkline with overall padding is set to 20. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/appearance/padding/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Padding.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/appearance/padding/padding.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Sparkline area customization - -The background color of the sparkline area can be customized using the [`containerArea background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineContainerArea~BackGround.html) color. By default, the sparkline background color is `transparent`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/appearance/area-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area_custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/appearance/area-custom/area_custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Sparkline theme - -Datalabel and track line colors of the sparkline will be changed based on theme. For example, for dark theme, the color of datalabel and track line should be white; for light theme, their value should be black. The possible values for sparkline theme are [`Material`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), [`Fabric`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), [`Bootstrap`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), and [`Highcontrast`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html). - -The following code example shows the color for datalabel and track line is set to white for dark theme. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/appearance/theme/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Theme.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/appearance/theme/theme.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/appearance.md.bak b/chart-sdk/asp-net-mvc/sparkline-charts/appearance.md.bak deleted file mode 100644 index edc4a303e..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/appearance.md.bak +++ /dev/null @@ -1,1495 +0,0 @@ - - - - - - - - - - - - - - Welcome to Syncfusion Essential - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    - - -
    - -
    -
    -
    -
      -
      -
      - - -
      - - - -
      - - -
      - # Appearance - -The appearance of the sparkline can be customized using margin, container Area border, and container Area background. - -## Sparkline border - -The [`containerArea border`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineContainerArea~Border.html) of the sparkline is used to render border to cover sparkline area. - -The following code example shows the sparkline with overall border. - - - - - -## Sparkline padding - -Padding is used to specify padding value between container and sparkline. By default, padding value of the sparkline is 5. Sparkline [`padding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklinePadding.html) values are specified by the left, right, top, and bottom. - -The following code example shows the sparkline with overall padding is set to 20. - - - - - -## Sparkline area customization - -The background color of the sparkline area can be customized using the [`containerArea background`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineContainerArea~BackGround.html) color. By default, the sparkline background color is `transparent`. - - - - - -## Sparkline theme - -Datalabel and track line colors of the sparkline will be changed based on theme. For example, for dark theme, the color of datalabel and track line should be white; for light theme, their value should be black. The possible values for sparkline theme are [`Material`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), [`Fabric`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), [`Bootstrap`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html), and [`Highcontrast`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Theme.html). - -The following code example shows the color for datalabel and track line is set to white for dark theme. - - - - -
      - - - -
      - - -
      - -
      - - -
      -
      - - - - - - - - - - - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/axis-customization.md b/chart-sdk/asp-net-mvc/sparkline-charts/axis-customization.md deleted file mode 100644 index 8ec71bf80..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/axis-customization.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -layout: post -title: Axis Customization in ASP.NET MVC Sparkline Component -description: Learn here all about Axis Customization in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis Customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Axis Customization - -You can customize axis value types and min and max values of the sparkline. - -## Change value type of the sparkline - -You can change the sparkline value type by setting the [`valueType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~ValueType.html) property to `Numeric`, `Category`, or `DateTime`. - - -**DateTime** - -You can assign date-time values to the sparkline by setting the [`valueType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~ValueType.html) property to `DateTime`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/datetime/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Datetime.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/datetime/datetime.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -**Category** - -You can assign category values to the sparkline by setting [`valueType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~ValueType.html) to `Category`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/category/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Category.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/category/category.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Numeric** - -You can assign numeric values to the sparkline by setting [`valueType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~ValueType.html) to `Numeric`. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/numeric/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Numeric.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/numeric/numeric.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Change min and max values of axis - -You can change the min and max values of x-axis by setting the [`minX`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~MinX.html) and [`maxX`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~MaxX.html) values to the [`axisSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings.html) property. You can also change the min and max values of y-axis by setting the [`minY`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~MinY.html) and [`maxY`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~MaxY.html) values to the [`axisSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings.html) property. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/minmax/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Minmax.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/minmax/minmax.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Change value of axis - -You can set horizontal axis line value of the sparkline by setting [`value`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings~Value.html) to the [`axisSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineAxisSettings.html) property. The following code example shows this. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/value/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Value.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/value/value.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Axis line customization - -Axis of the sparkline can be collapsed using the [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~Visible.html) property in [`lineSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings.html); this is not applicable for win-loss. You can customize the [`color`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~Color.html), [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~Width.html), [`opacity`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~Opacity.html), and [`dashArray`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineLineSettings~DashArray.html) of axis line. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/axis-line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Axis_line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/axis/axis-line/axis_line.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/data-labels.md b/chart-sdk/asp-net-mvc/sparkline-charts/data-labels.md deleted file mode 100644 index 5b37d646c..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/data-labels.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -layout: post -title: Data Labels in ASP.NET MVC Sparkline Component -description: Learn here all about Data Labels in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data Labels -publishingplatform: chart-sdk -documentation: ug ---- - - -# Data Labels - -Data labels are used to display values of data points to improve the readability. - -## Enable data label - -To enable data label for sparkline series, provide [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineDataLabelSettings~Visible.html) of the [`dataLabelSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineDataLabelSettings.html) as following possible values: - -* All - Enables data label of all points. -* Start - Enables data label of the start point. -* End - Enables data label of the end point. -* High - Enables data label of the high point. -* Low - Enables data label of the low point. -* Negative - Enables data labels of the negative points. - -The following example shows enabling sparkline data label for all points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/datalabel/enable/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Enable.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/datalabel/enable/enable.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customize data label - -Data labels can be customized using the fill, border, opacity, and text Style. The following code example shows customizing data label border, text color, and fill color. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/datalabel/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/datalabel/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Format data label text - -The text of data labels can be formatted using the [`format`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineDataLabelSettings~Format.html) API in the sparkline [`dataLabelSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineDataLabelSettings.html). By default, data label shows the y-value of point. The following code example shows how to display x and y-values for points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/datalabel/format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/datalabel/format/format.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/ej1-api-migration.md b/chart-sdk/asp-net-mvc/sparkline-charts/ej1-api-migration.md deleted file mode 100644 index 902423122..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/ej1-api-migration.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -layout: post -title: Ej1 Api Migration in ASP.NET MVC Sparkline Component -description: Learn here all about Ej1 Api Migration in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Ej1 Api Migration -publishingplatform: chart-sdk -documentation: ug ---- - - -# Migration from Essential® JS 1 - -This article describes the API migration process of Accordion component from Essential® JS 1 to Essential® JS 2. - -## Sparkline Types - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Type| **Property:** *type*

      `@(Html.EJ().Sparkline("container").Type(SparklineType.Column))`| **Property:** *type*

      `@Html.EJS().Sparkline("container").Type(Syncfusion.EJ2.Charts.SparklineType.Area).Render()` | - -## Databinding - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Datasource| **Property:** *dataSource*

      `@(Html.EJ().Sparkline("container").DataSource(ViewBag.SparklineData))` |**Property:** *dataSource*

      `@Html.EJS().Sparkline("container").DataSource(ViewBag.datasource).Render()`| -|Binding X values with datasource| **Property:** *xName*

      `@(Html.EJ().Sparkline("container").XName("Month"))` |**Property:** *xName*

      `@Html.EJS().Sparkline("container").XName("Month").Render()`| -|Binding Y values with datasource| **Property:** *yName*

      `@(Html.EJ().Sparkline("container").YName("Sales"))` |**Property:** *yName*

      `@Html.EJS().Sparkline("container").YName("Sales").Render()`| - -## Markers - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Enable markers| **Property:** *markerSettings.visible*

      `@(Html.EJ().Sparkline("container").MarkerSettings(mr => mr.Visible(true)))`| **Property:** *markerSettings.visible*

      `@Html.EJS().Sparkline("container").MarkerSettings(ms =>ms.Visible(new string[] {"All"})).Render()`| -|Color| **Property:** *markerSettings.fill*

      `@(Html.EJ().Sparkline("container").MarkerSettings(mr => mr.Fill("red")))` |**Property:** *markerSettings.fill*

      `@Html.EJS().Sparkline("container").MarkerSettings(ms =>ms.Fill("red")).Render()`| -|Size| **Property:** *markerSettings.width*

      `@(Html.EJ().Sparkline("container").MarkerSettings(mr => mr.Width(10)))` |**Property:** *markerSettings.size*

      `@Html.EJS().Sparkline("container").MarkerSettings(ms =>ms.Size(10)).Render()`| -|Opacity| **Property:** *markerSettings.opacity*

      `@(Html.EJ().Sparkline("container").MarkerSettings(mr => mr.Opacity(0.5)))` |**Property:** *markerSettings.opacity*

      `@Html.EJS().Sparkline("container").MarkerSettings(ms =>ms.Opacity(0.5)).Render()`| -|Border color| **Property:** *markerSettings.border.color*

      `@(Html.EJ().Sparkline("container").MarkerSettings(mr => mr.Border(br=> br.Color("black")))`| **Property:** *markerSettings.border.color*

      `@Html.EJS().Sparkline("container").MarkerSettings(ms =>ms.Border(br=> br.Color("Black"))).Render()`| -|Border width| **Property:** *markerSettings.border.width*

      `@(Html.EJ().Sparkline("container").MarkerSettings(mr => mr.Border(br=> br.Width(1)))` |**Property:** *markerSettings.border.width*

      `@Html.EJS().Sparkline("container").MarkerSettings(ms =>ms.Border(br=> br.Width(1))).Render()`| -|Border opacity| **Property:** *markerSettings.border.opacity*

      `@(Html.EJ().Sparkline("container").MarkerSettings(mr => mr.Border(br=> br.Opacity(0.5)))` |Not applicable| - -## Data labels - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Enable data labels| Not applicable |**Property:** *dataLabelSettings.visible*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.Visible(new string[] { "All" })).Render()`| -|Color| Not applicable |**Property:** *dataLabelSettings.fill*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.Fill("red")).Render()`| -|Opacity| Not applicable |**Property:** *dataLabelSettings.opacity*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.Opacity(0.5)).Render()` | -|Border color| Not applicable |**Property:** *dataLabelSettings.border.color*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.Border(ViewBag.border)).Render()`

      `ViewBag.border = new {color="red"}`| -|Border width| Not applicable |**Property:** *dataLabelSettings.border.width*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.Border(ViewBag.border)).Render()`

      `ViewBag.border = new {width=2}`| -|Format| Not applicable |**Property:** *dataLabelSettings.format*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.Format("${xval}: ${yval}")).Render()`| -|Horizontal Offset| Not applicable |**Property:** *dataLabelSettings.offset.x*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.Offset(ViewBag.offset)).Render()`

      `ViewBag.offset = new {x=100}`| -|Vertical Offset| Not applicable |**Property:** *dataLabelSettings.offset.y*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.Offset(ViewBag.offset)).Render()`

      `ViewBag.offset = new {y=100}`| -|Font color| Not applicable |**Property:** *dataLabelSettings.textStyle.color*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.TextStyle(ViewBag.textStyle)).Render()`

      `ViewBag.textStyle = new {color="green"}`| -|Font family| Not applicable |**Property:** *dataLabelSettings.textStyle.fontFamily*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.TextStyle(ViewBag.textStyle)).Render()`

      `ViewBag.textStyle = new {fontFamily="Arial"}`| -|Font style| Not applicable |**Property:** *dataLabelSettings.textStyle.fontStyle*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.TextStyle(ViewBag.textStyle)).Render()`

      `ViewBag.textStyle = new {fontStyle="normal"}`| -|Font weight| Not applicable |**Property:** *dataLabelSettings.textStyle.fontWeight*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.TextStyle(ViewBag.textStyle)).Render()`

      `ViewBag.textStyle = new {fontWeight="bold"}`| -|Font opacity| Not applicable |**Property:** *dataLabelSettings.textStyle.opacity*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.TextStyle(ViewBag.textStyle)).Render()`

      `ViewBag.textStyle = new {opacity=0.5}`| -|Font size| Not applicable |**Property:** *dataLabelSettings.textStyle.fontSize*

      `@Html.EJS().Sparkline("container").DataLabelSettings(dl => dl.TextStyle(ViewBag.textStyle)).Render()`

      `ViewBag.textStyle = new {fontSize="12px"}`| - -## Range band - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Color| **Property:** *rangeBandSettings.color*

      `@Html.EJ().Sparkline("container").RangeBandSettings(range => range.Color("red"))` |**Property:** *rangeBandSettings.color*

      `@Html.EJS().Sparkline("container").RangeBandSettings(rbs => rbs.Color("red")).Render()`| -|Opacity| **Property:** *rangeBandSettings.opacity*

      `<@Html.EJ().Sparkline("container").RangeBandSettings(range => range.Opacity(0.4))` |**Property:** *rangeBandSettings.opacity*

      `@Html.EJS().Sparkline("container").RangeBandSettings(rbs => rbs.Opacity(0.5)).Render()`| -|Start range| **Property:** *rangeBandSettings.startRange*

      `@Html.EJ().Sparkline("container").RangeBandSettings(range => range.StartRange(4))` |**Property:** *rangeBandSettings.startRange*

      `@Html.EJS().Sparkline("container").RangeBandSettings(rbs => rbs.StartRange(5)).Render()`| -|End range| **Property:** *rangeBandSettings.endRange*

      `@Html.EJ().Sparkline("container").RangeBandSettings(range => range.EndRange(30))` |**Property:** *rangeBandSettings.endRange*

      `@Html.EJS().Sparkline("container").RangeBandSettings(rbs => rbs.EndRange(15)).Render()`| - -## Special points customization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|High point color| **Property:** *highPointColor*

      `@(Html.EJ().Sparkline("container")HighPointColor("Blue"))` |**Property:** *highPointColor*

      `@Html.EJS().Sparkline("container").HighPointColor("red").Render()`| -|Low point color| **Property:** *lowPointColor*

      `@(Html.EJ().Sparkline("container").LowPointColor("Orange"))` |**Property:** *lowPointColor*

      `@Html.EJS().Sparkline("container").LowPointColor("blue").Render()`| -|Negative point color| **Property:** *negativePointColor*

      `@(Html.EJ().Sparkline("container").NegativePointColor("Red"))` |**Property:** *negativePointColor*

      `@Html.EJS().Sparkline("container").NegativePointColor("green").Render()`| -|Start point color| **Property:** *startPointColor*

      `@(Html.EJ().Sparkline("container").StartPointColor("Green"))` |**Property:** *startPointColor*

      `<@Html.EJS().Sparkline("container").StartPointColor("black").Render()`| -|End point color| **Property:** *endPointColor*

      `@(Html.EJ().Sparkline("container").EndPointColor("Green"))` |**Property:** *endPointColor*

      `@Html.EJS().Sparkline("container").EndPointColor("orange").Render()`| -|Tie point color| **Property:** *tiePointColor*

      Not Applicable |**Property:** *tiePointColor*

      `@Html.EJS().Sparkline("container").TiePointColor("grey").Render()`| - -## Axis customization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Show axis line| **Property:** *axisSettings.visible*

      `@(Html.EJ().Sparkline("container").AxisLineSettings(as => as.Visible(true)))` |**Property:** *axisSettings.lineSettings.visible*

      `@Html.EJS().Sparkline("container").AxisSettings(axis => axis.LineSettings(ls => ls.Visible(true))).Render()`| -|Line color| **Property:** *axisSettings.color*

      `@(Html.EJ().Sparkline("container").AxisLineSettings(as => as.Color("#ff14ae")))` |**Property:** *axisSettings.lineSettings.color*

      `@Html.EJS().Sparkline("container").AxisSettings(axis => axis.LineSettings(ls => ls.Color("red"))).Render()`| -|Line width| **Property:** *axisSettings.width*

      `@(Html.EJ().Sparkline("container").AxisLineSettings(as => as.Width(2)))` |**Property:** *axisSettings.lineSettings.width*

      `@Html.EJS().Sparkline("container").AxisSettings(axis => axis.LineSettings(ls => ls.Width(2))).Render()`| -|Dash array| **Property:** *axisSettings.dashArray*

      `@(Html.EJ().Sparkline("container").AxisLineSettings(as => as.DashArray("5,3")))` |**Property:** *axisSettings.lineSettings.dashArray*

      `@Html.EJS().Sparkline("container").AxisSettings(axis => axis.LineSettings(ls => ls.DashArray("5,3"))).Render()`| -|X axis minimum value| Not applicable |**Property:** *axisSettings.minX*

      `@Html.EJS().Sparkline("container").AxisSettings(axis => axis.MinX(0)).Render()`| -|X axis maximum value| Not applicable |**Property:** *axisSettings.maxX*

      `@Html.EJS().Sparkline("container").AxisSettings(axis => axis.MaxX(100)).Render()`| -|Y axis minimum value| Not applicable |**Property:** *axisSettings.minY*

      `@Html.EJS().Sparkline("container").AxisSettings(axis => axis.MinY(0)).Render()`| -|Y axis maximum value| Not applicable |**Property:** *axisSettings.maxY*

      `@Html.EJS().Sparkline("container").AxisSettings(axis => axis.MaxY(100)).Render()`| -|Horizontal axis line position| Not applicable |**Property:** *axisSettings.value*

      `@Html.EJS().Sparkline("container").AxisSettings(axis => axis.Value(10))).Render()`| - -## Appearance customization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Background color| **Property:** *background*

      `@(Html.EJ().Sparkline("container").Background("gray"))` |**Property:** *containerArea.background*

      `@Html.EJS().Sparkline("container").ContainerArea(ca => ca.Background("red")).Render()`| -|Border color | Not applicable |**Property:** *containerArea.border.color*

      `@Html.EJS().Sparkline("container").ContainerArea(ca => ca.Border(ViewBag.border)).Render()`

      `ViewBag.border = new {color="green"}`| -|Border width | Not applicable |**Property:** *containerArea.border.width*

      `@Html.EJS().Sparkline("container").ContainerArea(ca => ca.Border(ViewBag.border)).Render()`

      `ViewBag.border = new {color="green"}`| -|Series color| **Property:** *fill*

      `@(Html.EJ().Sparkline("container").Fill("gray"))` |**Property:** *fill*

      `@Html.EJS().Sparkline("container").Fill("green").Render()`| -|Series opacity| **Property:** *opacity*

      `@(Html.EJ().Sparkline("container").Opacity(0.5))` |**Property:** *opacity*

      `@Html.EJS().Sparkline("container").Opacity(0.5).Render()`| -|Line series width| **Property:** *width*

      `@(Html.EJ().Sparkline("container").Width(2))` |**Property:** *lineWidth*

      `@Html.EJS().Sparkline("container").LineWidth(2).Render()`| -|Series border color| **Property:** *border.color*

      `@(Html.EJ().Sparkline("container") .Border(border=>border.Color("green")))` |**Property:** *border.color*

      `@Html.EJS().Sparkline("container").Border(br=>br.Color("red")).Render()`| -|Series border width| **Property:** *border.width*

      `@(Html.EJ().Sparkline("container") .Border(border=>border.Width(2)))` |**Property:** *border.width*

      `@Html.EJS().Sparkline("container").Border(br=>br.Width(2)).Render()`| -|Series palette| **Property:** *palette*

      `@(Html.EJ().Sparkline("container").Palette(ViewBag.palettes))`

      `ViewBag.palettes = new string[] { "red", "green", "orange", "blue" };` |**Property:** *palette*

      `@Html.EJS().Sparkline("container").Palette(ViewBag.palettes).Render()`

      `ViewBag.palettes = new string[] { "red", "green", "orange", "blue" };`| -|Theme| **Property:** *theme*

      `@(Html.EJ().Sparkline("container").Theme(SparkTheme.FlatDark))` |**Property:** *theme*

      `@Html.EJS().Sparkline("container").Theme("Material").Render()`| -|Width| **Property:** *size.width*

      `@(Html.EJ().Sparkline("container").Width("300px"))` |**Property:** *width*

      `@Html.EJS().Sparkline("container").Width("300px").Render()`| -|Height| **Property:** *size.height*

      `<@(Html.EJ().Sparkline("container").Height("300px"))` |**Property:** *height*

      `@Html.EJS().Sparkline("container").Height("300px").Render()`| - -## Tooltip - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Show tooltip| **Property:** *tooltip.visible*

      `@(Html.EJ().Sparkline("container").Tooltip(tooltip => tooltip.Visible(true)))` |**Property:** *tooltipSettings.visible*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.Visible(true)).Render()`| -|Background| **Property:** *tooltip.fill*

      `@(Html.EJ().Sparkline("container").Tooltip(tooltip => tooltip.Fill("red")))` |**Property:** *tooltipSettings.fill*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.Fill("red")).Render()`| -|Format| Not applicable |**Property:** *tooltipSettings.format*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.Format("${xval}: ${yval}")).Render()`| -|Template| **Property:** *tooltip.template*

      `@(Html.EJ().Sparkline("container").Tooltip(tooltip => tooltip.Template("tooltip")))`

      `
      `
        `
      #point.x#
      `
        `
      #point.y#
      `
      `
      `|**Property:** *tooltipSettings.template*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.Template("tooltip")).Render()`

      `
      ${x} : ${y}
      `| -|Font color| **Property:** *tooltip.font.color*

      `@(Html.EJ().Sparkline("container").Tooltip(tooltip => tooltip.Font(font=>font.Color("red"))))` |**Property:** *tooltipSettings.textStyle.color*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.TextStyle(ViewBag.font)).Render()`

      `ViewBag.font = new { color="gray"};`| -|Font opacity| **Property:** *tooltip.font.opacity*

      `@(Html.EJ().Sparkline("container").Tooltip(tooltip => tooltip.Font(font=>font.Opacity(0.5))))` |**Property:** *tooltipSettings.textStyle.opacity*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.TextStyle(ViewBag.font)).Render()`

      `ViewBag.font = new { opacity=0.5};`| -|Font size| **Property:** *tooltip.font.size*

      `@(Html.EJ().Sparkline("container").Tooltip(tooltip => tooltip.Font(font=>font.Size('12px'))))` |**Property:** *tooltipSettings.textStyle.size*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.TextStyle(ViewBag.font)).Render()`

      `ViewBag.font = new { size="14px"};`| -|Font family| **Property:** *tooltip.font.fontFamily*

      `@(Html.EJ().Sparkline("container").Tooltip(tooltip => tooltip.Font(font=>font.FontFamily('Algerian'))))` |**Property:** *tooltipSettings.textStyle.fontFamily*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.TextStyle(ViewBag.font)).Render()`

      `ViewBag.font = new { fontFamily="Arial"};`| -|Font style| **Property:** *tooltip.font.fontStyle*

      `@(Html.EJ().Sparkline("container").Tooltip(tooltip => tooltip.Font(font=>font.FontStyle('Italic'))))` |**Property:** *tooltipSettings.textStyle.fontStyle*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.TextStyle(ViewBag.font)).Render()`

      `ViewBag.font = new { fontStyle="normal"};`| -|Font weight| **Property:** *tooltip.font.fontWeight*

      `@(Html.EJ().Sparkline("container").Tooltip(tooltip => tooltip.Font(font=>font.FontWeight('Lighter'))))` |**Property:** *tooltipSettings.textStyle.fontWeight*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.TextStyle(ViewBag.font)).Render()`

      `ViewBag.font = new { fontWeight="bold"};`| -|Enable track line| Not applicable |**Property:** *tooltipSettings.trackLineSettings.visible*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.TrackLineSettings(ts=>ts.Visible(true))).Render()`| -|Track line color| Not applicable |**Property:** *tooltipSettings.trackLineSettings.color*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.TrackLineSettings(ts=>ts.Color("red"))).Render()`| -|Track line width| Not applicable |**Property:** *tooltipSettings.trackLineSettings.width*

      `@Html.EJS().Sparkline("container").TooltipSettings(tooltip => tooltip.TrackLineSettings(ts=>ts.Width(2)).Render()`| - -## Rendering - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Enable canvas rendering| **Property:** *enableCanvasRendering*

      `@Html.EJ().Sparkline("container").EnableCanvasRandering(true))` | Not applicable | - -## Localization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Localization| **Property:** *locale*

      `@Html.EJ().Sparkline("container").Locale("en-US"))` | **Property:** *type*

      `@Html.EJS().Sparkline("container").Locale("en-US").Render()` | - -## Methods - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Dynamically updating sparkline| **Method:** *redraw*

      `var sparkline = $("#container").ejSparkline("instance");`
      `sparkline.redraw();` | **Method:** *refresh*

      `var sparkline = document.getElementById("container").ej2_instances[0];`
      `sparkline.refresh();` | - -## Events - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Load| **Event:** *load*

      `@(Html.EJ().Sparkline("container").Load("load"))`

      `function load(args) { }` | **Event:** *load*

      `@Html.EJS().Sparkline("container").Load("load").Render() -`

      `function load(args) { }` | -|Load completed| **Event:** *loaded*

      `@(Html.EJ().Sparkline("container").Loaded("loaded"))`

      `function loaded(args) { }` | **Event:** *loaded*

      `@Html.EJS().Sparkline("container").Loaded("loaded").Render()`

      `function loaded(args) { }` | -|Initialize tooltip| **Event:** *tooltipInitialize*

      `@(Html.EJ().Sparkline("container").TooltipInitialize("tooltipInitialize"))`

      `function tooltipInitialize(args) { }` | **Event:** *tooltipInitialize*

      `@Html.EJS().Sparkline("container").TooltipInitialize("tooltipInitialize").Render()`

      `function tooltipInitialize(args) { }` | -|Series rendering| **Event:** *seriesRendering*

      `@(Html.EJ().Sparkline("container").SeriesRendering("seriesRendering"))`

      `function seriesRendering(args) { }` | **Event:** *seriesRendering*

      `@Html.EJS().Sparkline("container").SeriesRendering("seriesRendering").Render()`

      `function seriesRendering(args) { }` | -|Region mouse move| **Event:** *pointRegionMouseMove*

      `@(Html.EJ().Sparkline("container").PointRegionMouseMove("pointRegionMouseMove"))`

      `function pointRegionMove(args) { }` | **Event:** *pointRegionMouseMove*

      `@Html.EJS().Sparkline("container").PointRegionMouseMove("pointRegionMouseMove").Render()`

      `function pointRegionMouseMove(args) { }` | -|Region click| **Event:** *pointRegionMouseClick*

      `@(Html.EJ().Sparkline("container").PointRegionMouseClick("pointRegionMouseClick"))`

      `function pointRegionClick(args) { }` | **Event:** *pointRegionMouseClick*

      `@Html.EJS().Sparkline("container").PointRegionMouseClick("pointRegionMouseClick").Render()`

      `function pointRegionMouseClick(args) { }` | -|Mouse move| **Event:** *sparklineMouseMove*

      `@(Html.EJ().Sparkline("container").SparklineMouseMove("sparklineMouseMove"))`

      `function mouseMove(args) { }` | **Event:** *sparklineMouseMove*

      `@Html.EJS().Sparkline("container").SparklineMouseMove("sparklineMouseMove").Render()`

      `function sparklineMouseMove(args) { }` | -|Mouse leave| **Event:** *sparklineMouseLeave*

      `@(Html.EJ().Sparkline("container").SparklineMouseLeave("sparklineMouseLeave"))`

      `function mouseLeave(args) { }` | Not applicable | -|Click| **Event:** *click*

      `@(Html.EJ().Sparkline("container").Click("click"))`

      `function sparklineMouseClick(args) { }` | **Event:** *sparklineMouseClick*

      `@Html.EJS().Sparkline("container").SparklineMouseClick("sparklineMouseClick").Render()`

      `function sparklineMouseClick(args) { }` | -|doubleClick| **Event:** *doubleClick*

      `@(Html.EJ().Sparkline("container").DoubleClick("doubleClick"))`

      `function doubleClick(args) { }` | Not applicable | -|rightClick| **Event:** *rightClick*

      `@(Html.EJ().Sparkline("container").RightClick("rightClick"))`

      `function rightClick(args) { }` | Not applicable | -|axisRendering| Not applicable | **Event:** *axisRendering*

      `@Html.EJS().Sparkline("container").AxisRendering("axisRendering").Render()`

      `function axisRendering(args) { }` | -|dataLabelRendering| Not applicable | **Event:** *dataLabelRendering*

      `@Html.EJS().Sparkline("container").DataLabelRendering("dataLabelRendering").Render()`

      `function dataLabelRendering(args) { }` | -|markerRendering| Not applicable | **Event:** *markerRendering*

      `@Html.EJS().Sparkline("container").MarkerRendering("markerRendering").Render()`

      `function markerRendering(args) { }` | -|pointRendering| Not applicable | **Event:** *pointRendering*

      `@Html.EJS().Sparkline("container").PointRendering("pointRendering").Render()`

      `function pointRendering(args) { }` | -|resize| Not applicable | **Event:** *resize*

      `@Html.EJS().Sparkline("container").Resize("resize").Render()`

      `function resize(args) { }` | \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/getting-started.md b/chart-sdk/asp-net-mvc/sparkline-charts/getting-started.md deleted file mode 100644 index 69819e346..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/getting-started.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -layout: post -title: Getting Started with ASP.NET MVC Sparkline Control | Syncfusion -description: Checkout and learn about getting started with ASP.NET MVC Sparkline control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting Started -publishingplatform: chart-sdk -documentation: ug ---- - - -# Getting Started with ASP.NET MVC Sparkline Control - -This section briefly explains about how to include [ASP.NET MVC Sparkline](https://www.syncfusion.com/aspnet-mvc-ui-controls/sparkline) control in your ASP.NET MVC application using Visual Studio. - -## Prerequisites - -[System requirements for ASP.NET MVC controls](https://ej2.syncfusion.com/aspnetmvc/documentation/system-requirements) - -## Create ASP.NET MVC application with HTML helper - -* [Create a Project using Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started#create-your-first-app) - -* [Create a Project using Syncfusion® ASP.NET MVC Extension](https://ej2.syncfusion.com/aspnetmvc/documentation/visual-studio-integration/create-project) - -## Install ASP.NET MVC package in the application - -To add `ASP.NET MVC` controls in the application, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search for [Syncfusion.EJ2.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.MVC5) and then install it. - -{% tabs %} -{% highlight C# tabtitle="Package Manager" %} - -Install-Package Syncfusion.EJ2.MVC5 -Version {{ site.ej2version }} - -{% endhighlight %} -{% endtabs %} - -N> Syncfusion® ASP.NET MVC controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetmvc/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.MVC5 NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion® license key. - -## Add namespace - -Add **Syncfusion.EJ2** namespace reference in `Web.config` under `Views` folder. - -``` - - - -``` - -## Add script resources - -Here, the script is referred using CDN inside the `` of `~/Pages/Shared/_Layout.cshtml` file as follows, - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - - ... - - - - -{% endhighlight %} -{% endtabs %} - -N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. - -## Register Syncfusion® script manager - -Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Pages/Shared/_Layout.cshtml` file as follows. - -{% tabs %} -{% highlight cshtml tabtitle="~/_Layout.cshtml" %} - - -... - - @Html.EJS().ScriptManager() - - -{% endhighlight %} -{% endtabs %} - -## Add ASP.NET MVC Sparkline control - -Now, add the Syncfusion® ASP.NET MVC Sparkline control in `~/Views/Home/Index.cshtml` page. - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} - -

      Essential JS 2 for ASP.NET MVC Sparkline

      -@Html.EJS().Sparkline("spark").DataSource(Model).XName("xval").YName("yval").Height("100").Width("70").Render() - -{% endhighlight %} -{% highlight cs tabtitle="HomeController.cs" %} -public class HomeController : Controller -{ - public ActionResult Index() - { - return View(DataSource.GetData()); - } -} -public class DataSource -{ - public int x; - public string xval; - public double yval; - public static List GetData() - { - List data1 = new List(); - data1.Add(new DataSource() { x = 0, xval = "2005", yval = 20090440 }); - data1.Add(new DataSource() { x = 1, xval = "2006", yval = 20264080 }); - data1.Add(new DataSource() { x = 2, xval = "2007", yval = 20434180 }); - data1.Add(new DataSource() { x = 3, xval = "2008", yval = 21007310 }); - data1.Add(new DataSource() { x = 4, xval = "2009", yval = 21262640 }); - data1.Add(new DataSource() { x = 5, xval = "2010", yval = 21515750 }); - data1.Add(new DataSource() { x = 6, xval = "2011", yval = 21766710 }); - data1.Add(new DataSource() { x = 7, xval = "2012", yval = 22015580 }); - data1.Add(new DataSource() { x = 8, xval = "2013", yval = 22262500 }); - data1.Add(new DataSource() { x = 9, xval = "2014", yval = 22507620 }); - return data1; - } -} -{% endhighlight %} -{% endtabs %} - -Press Ctrl+F5 (Windows) or +F5 (macOS) to run the app. Then, the Syncfusion® ASP.NET MVC Sparkline control will be rendered in the default web browser. - -![ASP.NET MVC Sparkline Control](images/sparkline.png) - -N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Getting-Started-Examples/tree/main/Sparkline/ASP.NET%20MVC%20Razor%20Examples). \ No newline at end of file diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/images/area-sparkline.png b/chart-sdk/asp-net-mvc/sparkline-charts/images/area-sparkline.png deleted file mode 100644 index ff2c611f0c58b38723e15f778e82dca0a03080e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2280 zcmY*bc{r5q8h`6Vw2^Ex$~M`u^jSlUEX^QEOyNUe#!|-8=bSQS&@vp$(AZ@XvK$|V z$vR1tbs|g2UOqL*z8l2&p7*-Wb*}6D@y`1`zx%m=_wTvy`?;@)wzI_^J%l_2LC{ev zOAC7l+AjpY?+EM%zh9RI{K0EquszlcVsxFH28#nerk712h?#JB$Ab^71%oV|gCXcx z6a4IJ3;YiOf&|D`7N)q68}ncNd3NBh=8VFrkJh`o#lXX|lX%?aTTur-gfnEq<8IHCH<`OvP}eg}0HJc?EGP z6oDGEks00};ox;W^@`#TljsAB^8xoAcRldVWpPP-6R5a9O8~5xOrpbFqXO z@2Iq*4+|J{8!?-4Od7{-hsyXG-YWU}CBaA$j$WPQ?2M+x?dgk*4or}+ZYcqpDUzgr z!vcsolQrqqaYnB2K3#mVi;V(C`Zcb3xKE_fMCh&x2neDa0-_hs+U zLt=}X+qL^Z7VY>oYFlug96?ywV9xvDnP^U@!}!~gj@`QSxs#+7I7szWX`kyd^7}&K zp6rtjd8{dX!m8BHo$l61^yjYxwdaRWSU65&|Lclr38hGxr3YmU6VH= z+~jnWor1#J!3O#IS38TW!F%Ssgw1a{*Du)L=lIS57cQ~^HS6=)Z}x2G_QkX7a~7Q-N=#-CuaKv&LZ#^Q7N$}$*{N8 zGi|nnVx-KWO3+gQC7yYPH0>O~G>EK8pA$FG1PO_l4~k`X(US6Dcz;bgUBtixz!&@h zoI_hJ1TaphCf!xoAPt7S?!>aaXsdq$IN6!VTq%BF3tbK1=x_WNyV>J|kNI;YKD8jB)VSYubH3yXd~riAmJ z(U#$4Dk0Q4H$km*21&8pO3f(2B3ptQD0}0AXDp?m%LWbKq=d8%+Ay{?9|WCKX1@8S z@7)>pc%zcx43%YV>5szWK%(!`+}sRO)3?Sg_l(`Lif3+|D^Qlxi;i;yg8DvvA08g+ z8?BIPs9vn!8AgA9(mn`=(1oKqK8X$KlDyFDb^dNa{239?)ppr_V7OMVrA<;YiIKI9 zKjH-#aO~dZHL~%?)@D@m9ooK9A^(Rlel|)Q+$w}ayl@mIvI=NBqx`fZG`M^uo%lrG zP^%WSqTTTylpUe>WXAy+J#VC(ZNiZ|fGpYB+iQ!(%#q3*oU<53Abx^MDHnpV^{rpK zbxywdGL6Xq0ao1o)UJvkmVtFpy}DK88tqOQfS=<5EQ#2KVL<>_(G0QyJnsQu=?p=b zOUwl?sDhb%3^ZB4?{_lOz!W?I-)iN$sZTGVPMCvqrL_Q@XQE{c%3IC{X#QZep9Y=L zs7RzLa6ZtAazSz4fj!pIHj+Ry?CNh(Kt)$l?t&cz7h1+kA^)6?(NCUa!{s_(&Uv}L zw;J6?r5Q>BLpKN-py0Kxdn}51g~LJ2K`yt7+{Z1@To9BSq1vbeK1bHtr|~R}Ze40y z+(TP|Auqx!;G#b=l6FjpyB)Ber5C9ymp4aafhHM0EphhLF$`)9Img3cn;szJC4Zy~ z+fTO>!I&$r`kvoZy!=xewJWq;f3AkEg;AHw+orLLg#0~F%lR$Zs}&7&f$)E2uWoF- zhWjE?MJ{iWHVy9VRjK0H*>}N11CyR6GD2i>_UuAe;Tt%>oT=p;`ZU08Agp4{~;HHQhfv*`rl6l zD>YweOu%hme`S%tb(@b3h&x@c>`Fmr$O EH#$2=F8}}l diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/images/default-template.png b/chart-sdk/asp-net-mvc/sparkline-charts/images/default-template.png deleted file mode 100644 index 34fc6a83c8ee792472f32c7e7e27e362bc031311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33800 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 diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/images/nuget-demo.png b/chart-sdk/asp-net-mvc/sparkline-charts/images/nuget-demo.png deleted file mode 100644 index 3fc06b162e6c40ae34e489ab50d170290875fb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70328 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 H+3SA;@~3m! diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/images/solution-Explorer.png b/chart-sdk/asp-net-mvc/sparkline-charts/images/solution-Explorer.png deleted file mode 100644 index 913cc8460512b9cd0642783eb2829384e05dfce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40000 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 z 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

      `senD1+oT8qNYGWR4Qk?0grS92vRxy$s$-#zZC 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 BMe+au diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/images/sparkline-with-tooltip.png b/chart-sdk/asp-net-mvc/sparkline-charts/images/sparkline-with-tooltip.png deleted file mode 100644 index a289748de644d17c31b3ed2f664e521c85e85502..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4858 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 diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/localization.md b/chart-sdk/asp-net-mvc/sparkline-charts/localization.md deleted file mode 100644 index efbdee4cb..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/localization.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -title: Localization in ASP.NET MVC Sparkline Component -description: Learn here all about Localization in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Localization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Localization - -The sparkline control supports localization. The default culture for localization is `en-US`. You can change the culture using the `setCulture` method. - -## Tooltip format - -Sparkline tooltip supports localization. The following code sample shows tooltip text with currency format based on culture. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/localization/tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/localization/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/marker.md b/chart-sdk/asp-net-mvc/sparkline-charts/marker.md deleted file mode 100644 index b22496c1f..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/marker.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -layout: post -title: Marker in ASP.NET MVC Sparkline Component -description: Learn here all about Marker in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Marker -publishingplatform: chart-sdk -documentation: ug ---- - - -# Markers - -This section explains how to add markers to the sparklines. - -## Adding marker to the sparkline - -To add marker to the sparkline, specify the [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineMarkerSettings~Visible.html) of [`markerSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineMarkerSettings.html) as following values. The [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineMarkerSettings~Visible.html) will accept multiple values too. - -* All - Enables markers for all points. -* Start - Enables marker for the start point. -* End - Enables marker for the end point. -* High - Enables marker for the high point. -* Low - Enables marker for the low point. -* Negative - Enables markers for the negative points. - -The following code example shows enabling markers for all points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/marker/allpoint/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Allpoint.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/marker/allpoint/allpoint.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Adding marker to special point - -In sparkline, markers can be enabled for particular points such as the start, end, low, high, or negative. The following code examples shows enabling markers for the high and low points. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/marker/specialpoint/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Specialpoint.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/marker/specialpoint/specialpoint.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Customizing markers - -Sparkline markers can be customized in terms of fill color, border color, width, opacity, and size. The following code example shows customizing marker's fill, border, and size. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/marker/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/marker/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/overview.md b/chart-sdk/asp-net-mvc/sparkline-charts/overview.md deleted file mode 100644 index b28fe6701..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/overview.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: post -title: Overview in ASP.NET MVC Sparkline Component -description: Learn here all about Overview in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Index -publishingplatform: chart-sdk -documentation: ug ---- - - -# Overview - -The Sparkline is a very small chart; it is drawn without axes or coordinates. This presents a common shape of data in a simple and highly condensed way. The sparklines are easy to interpret, and convey more information to users by visualizing data in a small amount of space. - -## Key features - -* Consumes less amount of space for visualizing data. -* Supports integration with grids. -* Supports five types of sparklines: line, column, area, win-loss, and pie. -* Supports range bands to highlight the selected start and end value regions. -* Supports markers for high, low, start, end, and negative points. -* Supports trackball to get current mouse point to display tooltip. diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/range-band.md b/chart-sdk/asp-net-mvc/sparkline-charts/range-band.md deleted file mode 100644 index 25ccb8d2a..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/range-band.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout: post -title: Range Band in ASP.NET MVC Sparkline Component -description: Learn here all about Range Band in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range Band -publishingplatform: chart-sdk -documentation: ug ---- - - -# Range Band - -This section explains how to customize the sparkline with multiple range bands. - -## Range band customization - -The range band feature is used to highlight a particular range along with the y-axis using the [`startRange`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineRangeBandSetting~StartRange.html) and [`endRange`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineRangeBandSetting~EndRange.html) properties. You can also customize the [`color`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineRangeBandSetting~Color.html) and [`opacity`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineRangeBandSetting~Opacity.html) of the range band. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/rangeband/range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/rangeband/range/range.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Multiple range band customization - -You can define multiple range bands to a sparkline as shown in the following code sample. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/rangeband/multi-range/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Multi_range.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/rangeband/multi-range/multi-range.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions.md b/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions.md deleted file mode 100644 index 08e5b1968..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -layout: post -title: Sparkline Dimensions in ASP.NET MVC Sparkline Component -description: Learn here all about Sparkline Dimensions in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Sparkline Dimensions -publishingplatform: chart-sdk -documentation: ug ---- - - -# Sparkline Dimensions - -## Size for container - -Sparkline can be rendered to its container size. You can set the size through inline or CSS as shown in the following code. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions/size/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Size.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions/size/size.cs %} -{% endhighlight %} -{% endtabs %} - - - - - -## Size for sparkline - - - -You can also set the size for sparkline directly using the [`width`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Width.html) and [`height`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Height.html) properties. - -**In pixel** - -You can set the size for sparkline in pixel as demonstrated in the following code. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions/pixel/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Pixel.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions/pixel/pixel.cs %} -{% endhighlight %} -{% endtabs %} - - - -**In percentage** - -By setting values in percentage, sparkline gets its dimension with respect to its container. For example, when the height is set to ‘50%’, sparkline is rendered to half of its container height. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions/percentage/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Percentage.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-dimensions/percentage/percentage.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types.md b/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types.md deleted file mode 100644 index 72ba50596..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -layout: post -title: Sparkline Types in ASP.NET MVC Sparkline Component -description: Learn here all about Sparkline Types in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Sparkline Types -publishingplatform: chart-sdk -documentation: ug ---- - - -# Sparkline Types - -Different types of shapes can be used to represent the sparkline. You can change the sparkline type by setting the type property. Sparkline supports the following types: - -* Line -* Column -* Win-Loss -* Pie -* Area - -The following code sample shows different types of sparklines. - - - -**Line** - -The [`Line`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as line. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/line/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Line.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/line/line.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Column** - -The [`Column`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as column. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/column/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Column.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/column/column.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Pie** - -The [`Pie`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as pie. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/pie/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Pie.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/pie/pie.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Win Loss** - -The [`WinLoss`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as Win Loss. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/winloss/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Winloss.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/winloss/winloss.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Area** - -The [`Area`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~Type.html) type is used to render the sparkline series as area. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/area/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Area.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/sparkline-types/area/area.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/special-points-customization.md b/chart-sdk/asp-net-mvc/sparkline-charts/special-points-customization.md deleted file mode 100644 index 7098f7370..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/special-points-customization.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Special Points Customization in ASP.NET MVC Sparkline Component -description: Learn here all about Special Points Customization in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Special Points Customization -publishingplatform: chart-sdk -documentation: ug ---- - - -# Special points customization - -You can customize the points by initializing the point colors. The customization options allows to differentiate the [`start`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~StartPointColor.html), [`end`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~EndPointColor.html), [`positive`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~HighPointColor.html), [`negative`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~NegativePointColor.html), and [`low`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.Sparkline~LowPointColor.html) points. This customization is only applicable for line, column, and area type sparklines. - - - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/specialpoints/custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/specialpoints/custom/custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -**Tie point color** - -Tie point color is used to configure the win-loss series type sparkline's y-value point color. The following code sample shows the tie point color of sparkline series. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/specialpoints/tie-point/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tie_point.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/specialpoints/tie-point/tie-point.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction.md b/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction.md deleted file mode 100644 index 15d545764..000000000 --- a/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -layout: post -title: User Interaction in ASP.NET MVC Syncfusion Sparkline Component -description: Learn here all about User Interaction in Syncfusion ASP.NET MVC Sparkline component of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: User Interaction -publishingplatform: chart-sdk -documentation: ug ---- - - -# User interactions in Sparkline - -Sparkline has two user interaction features: tooltip and tracker line. - -## Tooltip - -The sparkline provides options to display details about values of data points through tooltips when hovering the mouse over data point. To use tooltip in sparkline, inject the [`SparklineTooltip`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineTooltipSettings.html) module to sparkline using the inject method. - -The following code example shows enabling tooltip for sparkline with format. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/tooltip/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/tooltip/tooltip.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Tooltip customization - -The fill color, text styles, format, and border of the tooltip can be customized. The following code example shows customization of tooltip's fill color and text style. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/tooltip-custom/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip-custom.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/tooltip-custom/tooltip-custom.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Inline tooltip formatting - -The tooltip content can be formatted directly within the [`format`] property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. - -A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. - -For example: - -```cshtml -.TooltipSettings(tool => tool - .Visible(true) - .Format("${x:MMM yyyy} : ${y:n2}") -) -``` - -In the above example, `x` is displayed in month-year format and `y` is displayed with two decimal places. - -Inline formatting can be applied to the following tooltip tokens: - -- `${x}` or `${x:MMM yyyy}` – Specifies the x-value of the Sparkline data point, such as DateTime or category values. -- `${y}` or `${y:n2}` – Specifies the numeric y-value of the Sparkline data point. - -**Important:** DateTime formatting is applied when the resolved value is a Date object, and number formatting is applied when the resolved value is numeric. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimals - - `c2` – currency format - - `p1` – percentage format - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/inline-format/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Inline-format.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/inline-format/inline-format.cs %} -{% endhighlight %} -{% endtabs %} - - - -### Tooltip template - -Sparkline tooltip has template support. By using tooltip template, you can customize tooltips. The following code example shows more customization options provided to `sparkline-tooltip` class that is used in tooltip template div. Using this template, images also can be added to tooltip. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/tooltip-template/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip_template.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/tooltip-template/tooltip-template.cs %} -{% endhighlight %} -{% endtabs %} - - - -## Track line - -The track line tracks data points that are closer to the mouse position or touch contact. - -To enable track lines for sparkline, specify the [`visible`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineTrackLineSettings~Visible.html) option of [`trackLineSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineTrackLineSettings.html) to true. Based on theme, tracker color will be changed. The default value of tracker color is black. - -To use track line in sparkline, inject the [`SparklineTooltip`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Charts.SparklineSparklineTooltipSettings.html) module to sparkline using the inject method. - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/tooltip-trackline/razor %} -{% endhighlight %} -{% highlight c# tabtitle="Tooltip_trackline.cs" %} -{% include code-snippet/chart-sdk/asp-net-mvc/sparkline-charts/user-interaction/tooltip-trackline/tooltip-trackline.cs %} -{% endhighlight %} -{% endtabs %} - diff --git a/chart-sdk/asp-net-mvc/stock-chart/accessibility.md b/chart-sdk/asp-net-mvc/stock-charts/accessibility.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/accessibility.md rename to chart-sdk/asp-net-mvc/stock-charts/accessibility.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/appearance.md b/chart-sdk/asp-net-mvc/stock-charts/appearance.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/appearance.md rename to chart-sdk/asp-net-mvc/stock-charts/appearance.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/axis-customization.md b/chart-sdk/asp-net-mvc/stock-charts/axis-customization.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/axis-customization.md rename to chart-sdk/asp-net-mvc/stock-charts/axis-customization.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/axis-types.md b/chart-sdk/asp-net-mvc/stock-charts/axis-types.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/axis-types.md rename to chart-sdk/asp-net-mvc/stock-charts/axis-types.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/chart-dimensions.md b/chart-sdk/asp-net-mvc/stock-charts/chart-dimensions.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/chart-dimensions.md rename to chart-sdk/asp-net-mvc/stock-charts/chart-dimensions.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/cross-hair.md b/chart-sdk/asp-net-mvc/stock-charts/cross-hair.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/cross-hair.md rename to chart-sdk/asp-net-mvc/stock-charts/cross-hair.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/export-print.md b/chart-sdk/asp-net-mvc/stock-charts/export-print.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/export-print.md rename to chart-sdk/asp-net-mvc/stock-charts/export-print.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/getting-started.md b/chart-sdk/asp-net-mvc/stock-charts/getting-started.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/getting-started.md rename to chart-sdk/asp-net-mvc/stock-charts/getting-started.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/gradient.md b/chart-sdk/asp-net-mvc/stock-charts/gradient.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/gradient.md rename to chart-sdk/asp-net-mvc/stock-charts/gradient.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/images/nodatatemplate-stockchart.png b/chart-sdk/asp-net-mvc/stock-charts/images/nodatatemplate-stockchart.png similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/images/nodatatemplate-stockchart.png rename to chart-sdk/asp-net-mvc/stock-charts/images/nodatatemplate-stockchart.png diff --git a/chart-sdk/asp-net-mvc/stock-chart/images/stockchart-control.png b/chart-sdk/asp-net-mvc/stock-charts/images/stockchart-control.png similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/images/stockchart-control.png rename to chart-sdk/asp-net-mvc/stock-charts/images/stockchart-control.png diff --git a/chart-sdk/asp-net-mvc/stock-chart/images/stockchart.png b/chart-sdk/asp-net-mvc/stock-charts/images/stockchart.png similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/images/stockchart.png rename to chart-sdk/asp-net-mvc/stock-charts/images/stockchart.png diff --git a/chart-sdk/asp-net-mvc/stock-chart/legend.md b/chart-sdk/asp-net-mvc/stock-charts/legend.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/legend.md rename to chart-sdk/asp-net-mvc/stock-charts/legend.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/period-selector.md b/chart-sdk/asp-net-mvc/stock-charts/period-selector.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/period-selector.md rename to chart-sdk/asp-net-mvc/stock-charts/period-selector.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/range-selector.md b/chart-sdk/asp-net-mvc/stock-charts/range-selector.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/range-selector.md rename to chart-sdk/asp-net-mvc/stock-charts/range-selector.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/series-types.md b/chart-sdk/asp-net-mvc/stock-charts/series-types.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/series-types.md rename to chart-sdk/asp-net-mvc/stock-charts/series-types.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/stock-events.md b/chart-sdk/asp-net-mvc/stock-charts/stock-events.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/stock-events.md rename to chart-sdk/asp-net-mvc/stock-charts/stock-events.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/technical-indicators.md b/chart-sdk/asp-net-mvc/stock-charts/technical-indicators.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/technical-indicators.md rename to chart-sdk/asp-net-mvc/stock-charts/technical-indicators.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/tool-tip.md b/chart-sdk/asp-net-mvc/stock-charts/tool-tip.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/tool-tip.md rename to chart-sdk/asp-net-mvc/stock-charts/tool-tip.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/trend-lines.md b/chart-sdk/asp-net-mvc/stock-charts/trend-lines.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/trend-lines.md rename to chart-sdk/asp-net-mvc/stock-charts/trend-lines.md diff --git a/chart-sdk/asp-net-mvc/stock-chart/working-with-data.md b/chart-sdk/asp-net-mvc/stock-charts/working-with-data.md similarity index 100% rename from chart-sdk/asp-net-mvc/stock-chart/working-with-data.md rename to chart-sdk/asp-net-mvc/stock-charts/working-with-data.md diff --git a/chart-sdk/javascript/3d-chart/es5-getting-started.md b/chart-sdk/javascript/3d-chart/es5-getting-started.md deleted file mode 100644 index 12220c376..000000000 --- a/chart-sdk/javascript/3d-chart/es5-getting-started.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -layout: post -title: ES5 getting started with JavaScript 3D Chart control | Syncfusion -description: Check out and learn about ES5 getting started with JavaScript 3D Chart control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: 3D Chart -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Getting Started with Syncfusion® JavaScript (ES5) 3D Chart Control - -Build your first Syncfusion JavaScript (ES5) application with a simple 3D Chart in just a few minutes. This quickstart guides you through creating a minimal, runnable HTML page that loads the Syncfusion EJ2 (ES5) 3D Chart from the CDN, initializes it with sample data, and renders an interactive Column chart with a title. - -## Prerequisites - -* [Visual Studio Code](https://code.visualstudio.com) (or any text editor) -* A web browser to view the result -* A local web server such as the VS Code [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) extension - -## Dependencies - -The 3D Chart control ships as part of the `@syncfusion/ej2-charts` package. Below is the list of minimum dependencies required. - -``` -|-- @syncfusion/ej2-charts - |-- @syncfusion/ej2-base - |-- @syncfusion/ej2-data - |-- @syncfusion/ej2-pdf-export - |-- @syncfusion/ej2-file-utils - |-- @syncfusion/ej2-compression - |-- @syncfusion/ej2-svg-base -``` - - -## Quick Setup - -### Step 1: Create Folder and HTML file - -* Create a folder named `quickstart` in your desired directory. -* Inside the `quickstart` folder, create two new files: `index.html` and `index.js`. - -### Step 2: Add Syncfusion® CDN Resources - -Include the following JavaScript links in the `` section. - -**Scripts (JavaScript):** -```html - - - - -``` - -**Or**, to load all Syncfusion components in a single combined bundle: - -```html - -``` - -### Step 3: Add the Syncfusion® 3D Chart Control to the Application - -The `index.html` file references a separate `index.js` file that contains the 3D Chart initialization. This keeps your markup and script logic cleanly separated, which is the recommended pattern for Syncfusion® JavaScript (ES5) apps. - -The global scripts added in Step 2 register the `ej.charts.Chart3D` class on the `ej` namespace, so `index.js` does not import anything manually. The script then builds the 3D Chart with sample monthly sales data, applies a value-type of `'Category'` to the horizontal axis, formats the vertical axis labels, sets a chart title, and renders the control into the `#element` container defined in `index.html`. - -Key options used in the configuration object: - -- [`primaryXAxis.valueType`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#valuetype) — Axis data type. Set to `'Category'` because the sample data uses month names. -- [`primaryYAxis.labelFormat`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#labelformat) — Format string applied to the axis labels. The example uses `'${value}K'` to add a `$` prefix and `K` suffix to each label, where `{value}` is a placeholder for the raw number. -- [`series`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#labelformat) — Array of series to render. Each series has a [`dataSource`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#labelformat), [`xName`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3dseriesmodel#xname), [`yName`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3dseriesmodel#yname), [`type`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3dseriesmodel#type) (e.g. `'Column'`), and an optional [`name`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3dseriesmodel#name) used by the legend. -- [`title`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#title) — Text shown above the 3D Chart. - -Finally, `chart3D.appendTo('#element')` renders the control into the `

      ` element declared in `index.html`. - -Copy the snippets below into the matching files in your `quickstart` folder. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs7/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs7/index.html %} -{% endhighlight %} -{% endtabs %} - -### Step 4: Open in Browser - -Open `quickstart/index.html` through a local web server. With the VS Code **Live Server** extension installed, right-click `index.html` in the Explorer and choose **Open with Live Server**, then visit the URL it prints (for example, `http://127.0.0.1:5500/`). You should see the Syncfusion 3D Chart control displaying the sample sales data. - -## Output - -The 3D Chart shows 12 months of sales data rendered as 3D columns. The title "Sales Analysis" appears above the chart. - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs7" %} - -![Syncfusion 3D Chart Quick Start Output](./images/3D-Chart.png) - -## Troubleshooting - -- **The page is blank.** Open the page through a local web server (for example, the VS Code **Live Server** extension) instead of double-clicking the file. Syncfusion charts require an `http://` or `https://` origin. -- **`ej is not defined`.** Confirm that `ej2-charts.min.js` is loaded before your script. Place the ` - - +## Quick Setup - - - - - - +### Step 1: Create Folder and HTML file -``` +* Create a folder named `quickstart` in your desired directory. +* Inside the `quickstart` folder, create two new files: `index.html` and `index.js`. -### Using CDN links for scripts +### Step 2: Add Syncfusion® CDN Resources -Using a CDN, you can reference the chart control's script in the `index.html`. - -Refer the chart's CDN links as follows. - -**Syntax:** - -> Script: `https://cdn.syncfusion.com/ej2/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js` - -**Example:** - -> Script: [`https://cdn.syncfusion.com/ej2/ej2-charts/dist/global/ej2-charts.min.js`](https://cdn.syncfusion.com/ej2/ej2-charts/dist/global/ej2-charts.min.js) - -The following HTML shows the minimal chart dependencies using CDN scripts. +Include the following JavaScript links in the `` section. +**Scripts (JavaScript):** ```html - - - - Essential JS 2 3D Chart - - - - - - - + + + + ``` -## Adding 3D Chart control - -Now you can add the 3D Chart control to the application. To get started, add a **div** element for the 3D Chart in **index.html**. Then reference the **index.js** file in **index.html**. - -This document uses `ej2.min.js`, which includes all Essential JS 2 components and dependencies. +**Or**, to load all Syncfusion components in a single combined bundle: ```html - - - - Essential JS 2 3D Chart - - - - - -
      - - - - -``` - -Place the following 3D Chart initialization code in `index.js`. - -```javascript - -var chart3D = new ej.charts.Chart3D(); -chart3D.appendTo('#element'); - -``` - -The following example shows a basic 3D Chart. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs1" %} - -## Populate 3D Chart with data - -This section explains how to plot the following JSON data to the 3D Chart. - -```javascript - -var chartData = [ - { month: 'Jan', sales: 35 }, { month: 'Feb', sales: 28 }, - { month: 'Mar', sales: 34 }, { month: 'Apr', sales: 32 }, - { month: 'May', sales: 40 }, { month: 'Jun', sales: 32 }, - { month: 'Jul', sales: 35 }, { month: 'Aug', sales: 55 }, - { month: 'Sep', sales: 38 }, { month: 'Oct', sales: 30 }, - { month: 'Nov', sales: 25 }, { month: 'Dec', sales: 32 } -]; - + ``` -Add a series object to the 3D Chart by using the [`series`](../api/chart3d/chart3dseriesmodel) property. Map the JSON fields `month` and `sales` to the series [`xName`](../api/chart3d/chart3dseriesmodel#xname) and [`yName`](../api/chart3d/chart3dseriesmodel#yname) properties, and set the JSON array as the [`dataSource`](../api/chart3d/chart3dseriesmodel#datasource) property. +### Step 3: Add the Syncfusion® 3D Chart Control to the Application -Since the JSON contains category data, set the [`valueType`](../api/chart3d/chart3daxismodel#valuetype) for the horizontal axis (primaryXAxis) to `Category`. By default, the axis valueType is `Numeric`. +The `index.html` file references a separate `index.js` file that contains the 3D Chart initialization. This keeps your markup and script logic cleanly separated, which is the recommended pattern for Syncfusion® JavaScript (ES5) apps. -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs2" %} +The global scripts added in Step 2 register the `ej.charts.Chart3D` class on the `ej` namespace, so `index.js` does not import anything manually. The script then builds the 3D Chart with sample monthly sales data, applies a value-type of `'Category'` to the horizontal axis, formats the vertical axis labels, sets a chart title, and renders the control into the `#element` container defined in `index.html`. -The sales values are in thousands, so format the vertical axis label by adding `$` as a prefix and `K` as a suffix to each label. This can be achieved by setting `${value}K` to the [`labelFormat`](../api/chart3d/chart3daxismodel#labelformat) property of the axis. Here, `{value}` acts as a placeholder for each axis label. +Key options used in the configuration object: -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs3" %} +- [`primaryXAxis.valueType`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#valuetype) — Axis data type. Set to `'Category'` because the sample data uses month names. +- [`primaryYAxis.labelFormat`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#labelformat) — Format string applied to the axis labels. The example uses `'${value}K'` to add a `$` prefix and `K` suffix to each label, where `{value}` is a placeholder for the raw number. +- [`series`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#labelformat) — Array of series to render. Each series has a [`dataSource`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#labelformat), [`xName`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3dseriesmodel#xname), [`yName`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3dseriesmodel#yname), [`type`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3dseriesmodel#type) (e.g. `'Column'`), and an optional [`name`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3dseriesmodel#name) used by the legend. +- [`title`](https://ej2.syncfusion.com/javascript/documentation/api/chart3d/chart3daxismodel#title) — Text shown above the 3D Chart. -## Add 3D Chart title +Finally, `chart3D.appendTo('#element')` renders the control into the `
      ` element declared in `index.html`. -You can add a title using the [`title`](../api/chart3d/chart3DModel#title) property to the 3D Chart to provide quick information to the user about the data plotted in the 3D Chart. +Copy the snippets below into the matching files in your `quickstart` folder. {% tabs %} {% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs4/index.js %} +{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs7/index.js %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs4/index.html %} +{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs7/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs4" %} -## Enable legend +### Step 4: Open in Browser -You can enable the legend for the 3D Chart by setting the [`visible`](../api/chart3d/chart3dlegendsettingsmodel#visible) property to `true` in the [`legendSettings`](../api/chart3d/chart3DModel#legendsettings) object. +Open `quickstart/index.html` through a local web server. With the VS Code **Live Server** extension installed, right-click `index.html` in the Explorer and choose **Open with Live Server**, then visit the URL it prints (for example, `http://127.0.0.1:5500/`). You should see the Syncfusion 3D Chart control displaying the sample sales data. -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs5/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs5/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs5" %} +## Output -## Add data label +The 3D Chart shows 12 months of sales data rendered as 3D columns. The title "Sales Analysis" appears above the chart. -You can add data labels to improve the readability of the 3D Chart. This can be achieved by setting the [`visible`](../api/chart3d/chart3ddatalabelsettingsmodel#visible) property to `true` in the [`dataLabel`](../api/chart3d/chart3dseriesmodel#datalabel) object. Now, the data labels are arranged smartly based on series. +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs7" %} -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs6/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs6/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs6" %} - -## Enable tooltip +![Syncfusion 3D Chart Quick Start Output](./images/3D-Chart.png) -The tooltip is useful when you cannot display information by using the data labels due to space constraints. You can enable the tooltip by setting the [`enable`](../api/chart3d/chart3dtooltipsettingsmodel#enable) property to `true` in the [`tooltip`](../api/chart3d/chart3DModel#tooltip) object. +## Troubleshooting -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs7/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs7/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/getting-started-cs7" %} \ No newline at end of file +- **The page is blank.** Open the page through a local web server (for example, the VS Code **Live Server** extension) instead of double-clicking the file. Syncfusion charts require an `http://` or `https://` origin. +- **`ej is not defined`.** Confirm that `ej2-charts.min.js` is loaded before your script. Place the ` - - +### Step 1: Create Folder and HTML file - - - - - - +* Create a folder named `quickstart` in your desired directory. +* Inside the `quickstart` folder, create two new files: `index.html` and `index.js`. -``` - -### Using CDN link for script - -Using CDN link, you can directly refer the chart control's script into the `index.html`. - -Refer the chart's CDN links as below. - -**Syntax:** - -> Script: `https://cdn.syncfusion.com/ej2/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js` +### Step 2: Add Syncfusion® CDN Resources -**Example:** - -> Script: [`https://cdn.syncfusion.com/ej2/ej2-charts/dist/global/ej2-charts.min.js`](https://cdn.syncfusion.com/ej2/ej2-charts/dist/global/ej2-charts.min.js) - -Use the following CDN links. +Include the following JavaScript links in the `` section. +**Scripts (JavaScript):** ```html - - - - Essential JS 2 3D Circular Chart - - - - - - - + + + + ``` -## Adding 3D Circular Chart control - -Now you can add the 3D Circular Chart control to the application. To get started, add a **div** element for the 3D Circular Chart control in **index.html**. Then reference the **index.js** file in **index.html**. - +**Or**, to load all Syncfusion components in a single combined bundle: ```html - - - - Essential JS 2 3D Circular Chart - - - - - -
      - - - - + ``` -Place the following 3D Circular Chart initialization code in `index.js`. +### Step 3: Add the Syncfusion® 3D Circular Chart Control to the Application -```javascript +The `index.html` file contains the chart container and loads `index.js`. The `index.js` file initializes the 3D Circular Chart with sample data. -var circularchart = new ej.charts.CircularChart3D(); -circularchart.appendTo('#element'); +The Syncfusion CDN scripts provide the `ej.charts.CircularChart3D` class. The sample displays browser market-share data as a 3D Pie chart, applies a tilt angle, adds a title, and renders the chart in the `#element` container. -``` +The main configuration options are: + +- [`series`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/index-default#series) - Defines the chart data and maps the data fields using [`xName`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/circularchart3dseriesmodel#xname) and [`yName`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/circularchart3dseriesmodel#yname). +- [`tilt`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/index-default#tilt) - Sets the tilt angle of the 3D chart. +- [`title`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/index-default#title) - Sets the chart title. -**Pie Series** +Finally, `circularChart.appendTo('#element')` renders the chart in the `
      ` container. -By default, the pie series will be rendered when assigning the JSON data to the series using the `dataSource` property. Map the field names in the JSON data to the `xName` and `yName` properties of the series. +Copy the snippets below into the matching files in your `quickstart` folder. {% tabs %} {% highlight js tabtitle="index.js" %} @@ -162,5 +82,20 @@ By default, the pie series will be rendered when assigning the JSON data to the {% include code-snippet/chart-sdk/javascript/3d-circular-charts/getting-started/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-circular-charts/getting-started" %} \ No newline at end of file + +### Step 4: Open in Browser + +Open `quickstart/index.html` through a local web server. With the VS Code **Live Server** extension installed, right-click `index.html` in the Explorer and choose **Open with Live Server**, then visit the URL it prints (for example, `http://127.0.0.1:5500/`). You should see the Syncfusion 3D Circular Chart control displaying the browser-market-share sample data as a 3D Pie series with a title. + +## Output + +The 3D Circular Chart shows 6 browser vendors rendered as a 3D Pie series. The title "Browser Market Shares in November 2023" appears above the chart. + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-circular-charts/getting-started" %} + +## Troubleshooting + +- **The page is blank.** Open the page through a local web server (for example, the VS Code **Live Server** extension) instead of double-clicking the file. Syncfusion charts require an `http://` or `https://` origin. +- **`ej is not defined`.** Confirm that `ej2-charts.min.js` is loaded before your script. Place the ` - - - - - - -

      Syncfusion Chart

      - - -
      - - - - -``` - -The series properties [`dataSource`](../api/chart/series#datasource), [`xName`](../api/chart/series#xname), and [`yName`](../api/chart/series#yname) bind the JSON fields to the chart. The [`primaryXAxis`](../api/chart/chartModel#primaryxaxis) is configured with [`valueType: 'Category'`](../api/chart/axisModel#valuetype) because the X-axis contains month labels; the default value type is `Numeric`. - -### Step 4: Open in browser - -Open the `quickstart/index.html` file in your web browser. You can either double-click the file or right-click in VS Code and choose **Open with Live Server** (requires the [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) extension). The chart renders the sample data on the page. - -If the chart does not appear, open the browser's developer console to check for runtime errors. - -## Output - -The following screenshot shows the output of the Syncfusion Chart quick start application: - -![Syncfusion Chart Quick Start Output](./images/chart.png) - -## Troubleshooting - -* **Chart does not render** — Verify that the scripts load in the order `ej2-base` → `ej2-data` → `ej2-svg-base` → `ej2-charts`. Open the browser's developer console and check for `404` or `ReferenceError` messages. -* **`ej is not defined`** — One of the CDN script tags failed to load. Check your network connection and verify the CDN URLs are correct. -* **CORS or `file://` errors** — Some browsers block ES5 module loading from `file://`. Serve the file from a local HTTP server (for example, the VS Code **Live Server** extension). -* **Wrong chart type** — Confirm the `type` property in the series matches the expected chart (for example, `Line`, `Column`, `Area`, `Bar`). -* **Category axis not displaying labels** — Confirm `primaryXAxis.valueType` is set to `'Category'`. - -## See also - -* [Line Series](./Chart-types/line) -* [Column Series](./Chart-types/line) -* [Category Axis](./category-axis) -* [Chart Title and Subtitle](./title-subtitle) -* [Chart Legend](./legend) -* [Chart Tooltip](./tool-tip) -* [Working with Data](./working-with-data) - -> **Ready to streamline your Syncfusion® JavaScript development?** Discover the full potential of Syncfusion® JavaScript controls with Syncfusion® AI Coding Assistant. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/javascript/documentation/ai-coding-assistant/overview) diff --git a/chart-sdk/javascript/charts/es5-getting-started.md b/chart-sdk/javascript/charts/es5-getting-started.md index 1efd92cf5..599b1dedf 100644 --- a/chart-sdk/javascript/charts/es5-getting-started.md +++ b/chart-sdk/javascript/charts/es5-getting-started.md @@ -1,7 +1,7 @@ --- layout: post title: ES5 getting started with JavaScript Chart control | Syncfusion -description: Check out and learn about ES5 getting started with JavaScript Chart control of Syncfusion Essential JS 2 and more details. +description: Check out and learn about ES5 getting started with JavaScript Chart control of Syncfusion Essential JS 2 and more details. platform: chart-sdk control: Chart publishingplatform: chart-sdk @@ -13,55 +13,61 @@ domainurl: https://help.syncfusion.com/chart-sdk Build your first Syncfusion JavaScript (ES5) application with a simple Chart control in just a few minutes. This quickstart guides you through creating a minimal, runnable HTML page that loads the Syncfusion EJ2 (ES5) Chart from the CDN, initializes it with sample data, and renders an interactive chart. -> **Ready to streamline your Syncfusion® JavaScript development?** Discover the full potential of Syncfusion® JavaScript controls with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/javascript/documentation/ai-coding-assistant/overview) +> The `34.1.29` version segment in the CDN URLs is shown for reference. Replace it with the latest published version from the [Syncfusion EJ2 CDN](https://cdn.syncfusion.com/ej2/) when you start a new project. ## Prerequisites * [Visual Studio Code](https://code.visualstudio.com) (or any text editor) -* A web browser to view the result +* A modern web browser (Chrome, Edge, Firefox, or Safari) +* An active internet connection to fetch the CDN scripts ## Quick Setup -### Step 1: Create Folder and HTML file +### Step 1: Create a folder and an HTML file -* Create a folder named `quickstart` in your desired directory -* Inside the `quickstart` folder, create a new file named `index.html` +* Create a folder named `quickstart` in your desired directory. +* Inside the `quickstart` folder, create a new file named `index.html`. -### Step 2: Add Syncfusion® CDN Resources +### Step 2: Add Syncfusion® CDN resources -Include the following JavaScript links in the `` section. +The Chart needs the EJ2 script bundles. Add the following to the `` of `index.html`: **Scripts (JavaScript):** ``` -https://cdn.syncfusion.com/ej2/33.2.3/ej2-base/dist/global/ej2-base.min.js -https://cdn.syncfusion.com/ej2/33.2.3/ej2-data/dist/global/ej2-data.min.js -https://cdn.syncfusion.com/ej2/33.2.3/ej2-pdf-export/dist/global/ej2-pdf-export.min.js -https://cdn.syncfusion.com/ej2/33.2.3/ej2-svg-base/dist/global/ej2-svg-base.min.js -https://cdn.syncfusion.com/ej2/33.2.3/ej2-charts/dist/global/ej2-charts.min.js +https://cdn.syncfusion.com/ej2/34.1.29/ej2-base/dist/global/ej2-base.min.js +https://cdn.syncfusion.com/ej2/34.1.29/ej2-data/dist/global/ej2-data.min.js +https://cdn.syncfusion.com/ej2/34.1.29/ej2-pdf-export/dist/global/ej2-pdf-export.min.js +https://cdn.syncfusion.com/ej2/34.1.29/ej2-svg-base/dist/global/ej2-svg-base.min.js +https://cdn.syncfusion.com/ej2/34.1.29/ej2-charts/dist/global/ej2-charts.min.js ``` -### Step 3: Add Syncfusion® Chart control to the application +Load the scripts in the order shown: `ej2-base` → `ej2-data` → `ej2-svg-base` → `ej2-charts`. `ej2-pdf-export` is only required if you use the PDF export feature; it is omitted from the example below. -Copy and paste the following complete code into your `index.html` file: +### Step 3: Add the Chart control to the application + +Replace the contents of `index.html` with the following complete code. This loads the required EJ2 scripts, defines the chart container, and renders a Column chart with category-axis data. ```html - + + + Syncfusion Chart - Quick Start - + - - - - - + + + + - +

      Syncfusion Chart

      + +
      - + ``` -### Step 4: Open in Browser +The series properties [`dataSource`](../api/chart/series#datasource), [`xName`](../api/chart/series#xname), and [`yName`](../api/chart/series#yname) bind the JSON fields to the chart. The [`primaryXAxis`](../api/chart/chartModel#primaryxaxis) is configured with [`valueType: 'Category'`](../api/chart/axisModel#valuetype) because the X-axis contains month labels; the default value type is `Numeric`. -Open the `quickstart/index.html` file in your web browser. You should see the Syncfusion Chart control displaying the sample data. +### Step 4: Open in browser + +Open the `quickstart/index.html` file in your web browser. You can either double-click the file or right-click in VS Code and choose **Open with Live Server** (requires the [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) extension). The chart renders the sample data on the page. + +If the chart does not appear, open the browser's developer console to check for runtime errors. ## Output The following screenshot shows the output of the Syncfusion Chart quick start application: ![Syncfusion Chart Quick Start Output](./images/chart.png) + +## Troubleshooting + +* **Chart does not render** — Verify that the scripts load in the order `ej2-base` → `ej2-data` → `ej2-svg-base` → `ej2-charts`. Open the browser's developer console and check for `404` or `ReferenceError` messages. +* **`ej is not defined`** — One of the CDN script tags failed to load. Check your network connection and verify the CDN URLs are correct. +* **CORS or `file://` errors** — Some browsers block ES5 module loading from `file://`. Serve the file from a local HTTP server (for example, the VS Code **Live Server** extension). +* **Wrong chart type** — Confirm the `type` property in the series matches the expected chart (for example, `Line`, `Column`, `Area`, `Bar`). +* **Category axis not displaying labels** — Confirm `primaryXAxis.valueType` is set to `'Category'`. + +## See also + +* [Line Series](./Chart-types/line) +* [Column Series](./Chart-types/line) +* [Category Axis](./category-axis) +* [Chart Title and Subtitle](./title-subtitle) +* [Chart Legend](./legend) +* [Chart Tooltip](./tool-tip) +* [Working with Data](./working-with-data) + +> **Ready to streamline your Syncfusion® JavaScript development?** Discover the full potential of Syncfusion® JavaScript controls with Syncfusion® AI Coding Assistant. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/javascript/documentation/ai-coding-assistant/overview) diff --git a/chart-sdk/javascript/circular-chart-3d/es5-getting-started.md b/chart-sdk/javascript/circular-chart-3d/es5-getting-started.md deleted file mode 100644 index 995cb7eec..000000000 --- a/chart-sdk/javascript/circular-chart-3d/es5-getting-started.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -layout: post -title: ES5 getting started with JavaScript 3D Circular Chart control | Syncfusion -description: Check out and learn about ES5 getting started with JavaScript 3D Circular Chart control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: 3D Circular Chart -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Getting Started with Syncfusion® JavaScript (ES5) 3D Circular Chart Control - -Build your first Syncfusion JavaScript (ES5) application with a simple 3D Circular Chart in just a few minutes. This quickstart guides you through creating a minimal, runnable HTML page that loads the Syncfusion EJ2 (ES5) 3D Circular Chart from the CDN, initializes it with sample data, and renders an interactive Pie chart with a title. - -## Prerequisites - -* [Visual Studio Code](https://code.visualstudio.com) (or any text editor) -* A web browser to view the result -* A local web server such as the VS Code [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) extension - -## Dependencies - -The 3D Circular Chart control ships as part of the `@syncfusion/ej2-charts` package. Below is the list of minimum dependencies required. - -``` -|-- @syncfusion/ej2-charts - |-- @syncfusion/ej2-base - |-- @syncfusion/ej2-data - |-- @syncfusion/ej2-pdf-export - |-- @syncfusion/ej2-file-utils - |-- @syncfusion/ej2-compression - |-- @syncfusion/ej2-svg-base -``` - -## Quick Setup - -### Step 1: Create Folder and HTML file - -* Create a folder named `quickstart` in your desired directory. -* Inside the `quickstart` folder, create two new files: `index.html` and `index.js`. - -### Step 2: Add Syncfusion® CDN Resources - -Include the following JavaScript links in the `` section. - -**Scripts (JavaScript):** -```html - - - - -``` - -**Or**, to load all Syncfusion components in a single combined bundle: - -```html - -``` - -### Step 3: Add the Syncfusion® 3D Circular Chart Control to the Application - -The `index.html` file contains the chart container and loads `index.js`. The `index.js` file initializes the 3D Circular Chart with sample data. - -The Syncfusion CDN scripts provide the `ej.charts.CircularChart3D` class. The sample displays browser market-share data as a 3D Pie chart, applies a tilt angle, adds a title, and renders the chart in the `#element` container. - -The main configuration options are: - -- [`series`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/index-default#series) - Defines the chart data and maps the data fields using [`xName`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/circularchart3dseriesmodel#xname) and [`yName`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/circularchart3dseriesmodel#yname). -- [`tilt`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/index-default#tilt) - Sets the tilt angle of the 3D chart. -- [`title`](https://ej2.syncfusion.com/javascript/documentation/api/circularchart3d/index-default#title) - Sets the chart title. - -Finally, `circularChart.appendTo('#element')` renders the chart in the `
      ` container. - -Copy the snippets below into the matching files in your `quickstart` folder. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-circular-charts/getting-started/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-circular-charts/getting-started/index.html %} -{% endhighlight %} -{% endtabs %} - -### Step 4: Open in Browser - -Open `quickstart/index.html` through a local web server. With the VS Code **Live Server** extension installed, right-click `index.html` in the Explorer and choose **Open with Live Server**, then visit the URL it prints (for example, `http://127.0.0.1:5500/`). You should see the Syncfusion 3D Circular Chart control displaying the browser-market-share sample data as a 3D Pie series with a title. - -## Output - -The 3D Circular Chart shows 6 browser vendors rendered as a 3D Pie series. The title "Browser Market Shares in November 2023" appears above the chart. - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-circular-charts/getting-started" %} - -## Troubleshooting - -- **The page is blank.** Open the page through a local web server (for example, the VS Code **Live Server** extension) instead of double-clicking the file. Syncfusion charts require an `http://` or `https://` origin. -- **`ej is not defined`.** Confirm that `ej2-charts.min.js` is loaded before your script. Place the ` - - - - - - - - - - -``` - -### Using CDN links for scripts - -Using CDN links, you can reference the control's script in the `index.html`. - -Refer the control's CDN links as follows. - -**Syntax:** - -> Script: `https://cdn.syncfusion.com/ej2/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js` - -**Example:** - -> Script: [`https://cdn.syncfusion.com/ej2/ej2-charts/dist/global/ej2-charts.min.js`](https://cdn.syncfusion.com/ej2/ej2-charts/dist/global/ej2-charts.min.js) - -The following HTML shows the minimal dependencies using CDN scripts. - -``` - - - - - Essential JS 2 Range Navigator - - - - - - - -``` - -## Adding Range Navigator control - -Now you can add the Range Navigator control to the application. To get started, add a **div** element for the Range Navigator in **index.html**. Then reference the **index.js** file in **index.html**. - -This document uses `ej2.min.js`, which includes all Essential JS 2 components and dependencies. - -```html - - - - Essential JS 2 Range Navigator - - - - - -
      - - - - -``` - -Place the following Range Navigator initialization code in `index.js`. - -```javascript -var range = new ej.charts.RangeNavigator(); -range.appendTo('#element'); -``` - -The following example shows a basic Range Navigator. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs9/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs9/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/getting-started-cs9" %} - -## Populate Range Navigator with Data - -Now, provide data to the Range Navigator. Add a series object to the Range Navigator by using the `series` property. Map the field names `x` and `y` in the JSON data to the `xName` and `yName` properties of the series, then set the JSON data to the `dataSource` property. -Since the JSON contains DateTime data, set the `valueType` as `DateTime`. By default, the axis `valueType` is `Numeric`. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs10/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs10/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/getting-started-cs10" %} - -> Note: Get data from [here](https://ej2.syncfusion.com/demos/src/range-navigator/data-source/default-data.json). - -The sample should look like the [default](https://ej2.syncfusion.com/javascript/demos/#/material/range-navigator/default.html). Don’t worry about the gradient color; let it take the default color. - -## Enable Tooltip - -The tooltip is useful to show the selected data. You can enable the tooltip by setting the `enable` property to `true` in the `tooltip` object. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs11/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs11/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/getting-started-cs11" %} \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/export-print.md b/chart-sdk/javascript/range-selector/export-print.md deleted file mode 100644 index de260a698..000000000 --- a/chart-sdk/javascript/range-selector/export-print.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: post -title: Export print in JavaScript Range navigator control | Syncfusion -description: Learn here all about Export print in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Export print -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Export print in JavaScript Range navigator control - -## Export - -The rendered Range Selector can be exported to **JPEG**, **PNG**, **SVG**, or **PDF** format by using the `export` method in the Range Selector. This method contains the following parameters: - -* **Type** - To specify the export type. The component can be exported to **JPEG**, **PNG**, **SVG**, or **PDF** format. -* **File name** - To specify the file name to export. -* **Orientation** - To specify the orientation type. This is applicable only for PDF export type. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/export-print-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/export-print-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/export-print-cs1" %} - -## Print - -The rendered Range Selector can be printed directly from the browser by calling the public method `print`. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/print-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/print-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/print-cs1" %} diff --git a/chart-sdk/javascript/range-selector/getting-started.md b/chart-sdk/javascript/range-selector/getting-started.md deleted file mode 100644 index c5d804da8..000000000 --- a/chart-sdk/javascript/range-selector/getting-started.md +++ /dev/null @@ -1,189 +0,0 @@ ---- -layout: post -title: Getting started with JavaScript Range navigator control | Syncfusion -description: Checkout and learn about Getting started with JavaScript Range navigator control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting started -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Getting started in JavaScript Range navigator control - -This section explains you the steps required to create a simple range navigator and demonstrate the basic usage of the range navigator control. - -## Dependencies - - The list of minimum dependencies required to use a range navigator are follows: - -```javascript -|-- @syncfusion/ej2-charts - |-- @syncfusion/ej2-base - |-- @syncfusion/ej2-data - |-- @syncfusion/ej2-pdf-export - |-- @syncfusion/ej2-file-utils - |-- @syncfusion/ej2-compression - |-- @syncfusion/ej2-navigations - |-- @syncfusion/ej2-calendars -``` - -## Setup for Local Development - -Clone the Essential JS 2 quickstart application project from [GitHub](https://github.com/syncfusion/ej2-quickstart), and install the necessary npm packages using the following command line scripts. - -```javascript -git clone https://github.com/angular/quickstart.git quickstart -cd quickstart -npm install -``` - -## Configuring System JS - -Syncfusion Chart packages have to be mapped in the `system.config.js` configuration file to render range navigator. - -```javascript -System.config({ - paths: { - 'syncfusion:': './node_modules/@syncfusion/', - }, - map: { - app: 'app', - - //Syncfusion packages mapping - "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", - "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", - "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", - "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", - "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", - "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", - "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", - "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", - "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", - "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", - "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", - "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", - "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", - "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js" }, - packages: { - 'app': { main: 'app', defaultExtension: 'js' } - } -}); - -System.import('app'); - -``` - -## Add Range Navigator to the Project - -Add the HTML div element for Range Navigator into your `index.html`. [src/index.html] - -```html - - - - - EJ2 Animation - - - - - - - - - - - -
      -
      - - - -``` - -Now import the RangeNavigator component into your `app.ts` to instantiate a RangeNavigator and append the range navigator instance to the `#element` [src/app/app.ts]. - -```ts - -import { RangeNavigator } from '@syncfusion/ej2-charts'; - -// initialize RangeNavigator component -let range: RangeNavigator = new RangeNavigator(); - -// render initialized RangeNavigator -range.appendTo('#element'); - - -``` - -## Run the Application - -The quickstart project is configured to compile and run the application in the browser. Use the following command to run the application. - -``` -npm start -``` - -The below example shows a basic Range Navigator. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs6/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs6/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/getting-started-cs6" %} - -## Module Injection - -To create range navigator with additional features, inject the required modules. The following modules are used to extend rangenavigator’s basic functionality. - -* `AreaSeriesService` - Inject this module to use area series. -* `DateTimeService` - Inject this module to use date time axis. -* `RangeTooltipService` - Inject this module to show the tooltip. - -Now import the above mentioned modules from chart package and inject it into the RangeNavigator component using `RangeNavigator.Inject` method. - - ```javascript - import { RangeNavigator, AreaSeries, DateTime, RangeTooltip }from '@syncfusion/ej2-charts'; - RangeNavigator.Inject(AreaSeries, DateTime, RangeTooltip); - ``` - -## Populate Range Navigator with Data - -Now, we are going to provide data to the range navigator. Add a series object to the range navigator by using `series` property. Now map the field names x and y in the JSON data to the `xName` and `yName` properties of the series, then set the JSON data to dataSource property. -Since the JSON contains Datetime data, set the `valueType` as `DateTime`. By default, the axis valueType is Numeric. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs7/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs7/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/getting-started-cs7" %} - ->Note: Get data from [here](https://gitlab.syncfusion.com/essential-studio/ej2-samples/blob/master/src/rangenavigator/default_data.json). - -The sample should look like our [default](http://npmci.syncfusion.com/production/demos/#/material/rangenavigator/default.html), don’t worry about the gradient color, let it takes the default color. - -## Enable Tooltip - -The tooltip is useful to show the selected data. You can enable tooltip by setting the enable property as true in `tooltip` object and by injecting `RangeTooltipService` module using `RangeNavigator.Inject(RangeTooltip)` method. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs8/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs8/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/getting-started-cs8" %} \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/grid-tick.md b/chart-sdk/javascript/range-selector/grid-tick.md deleted file mode 100644 index 7e04c1ace..000000000 --- a/chart-sdk/javascript/range-selector/grid-tick.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: post -title: Grid tick in JavaScript Range navigator control | Syncfusion -description: Learn here all about Grid tick in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Grid tick -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Grid tick in JavaScript Range navigator control - -## Grid line customization - -The gridlines indicate axis divisions by drawing the chart plot. Gridlines include helpful cues to the user, particularly for large or complicated charts. The `width`, `color`, and `dashArray` of the major gridlines can be customized by using the `majorGridLines` setting. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs11/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs11/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs11" %} - -## Tick line customization - -Ticklines are the small lines which is drawn on the axis line representing the axis labels. Ticklines will be drawn outside the axis by default. The `width`, `color`, and `dashArray` of the major ticklines can be customized by using the `majorTickLines` setting. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs12/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs12/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs12" %} \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/labels.md b/chart-sdk/javascript/range-selector/labels.md deleted file mode 100644 index fa0195ed9..000000000 --- a/chart-sdk/javascript/range-selector/labels.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -layout: post -title: Labels in JavaScript Range navigator control | Syncfusion -description: Learn here all about Labels in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Labels -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Labels in JavaScript Range navigator control - -## Multilevel labels - -The `labelIntersectAction` property is used to avoid overlapping of labels. The following code sample shows the setting of `labelIntersectAction` property to **Hide**. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs13/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs13/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs13" %} - -## Grouping - -The second level axis labels can be grouped using “groupBy” property with the following interval types: - -* Auto -* Years -* Quarter -* Months -* Weeks -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs14/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs14/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs14" %} - -## Smart labels - -The `labelIntersectAction` property is used to avoid overlapping of labels. The following code sample shows the setting of `labelIntersectAction` property to **Hide**. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs15/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs15/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs15" %} - -## Label positioning - -By default, the labels can be placed outside the Range Selector. It can also be placed inside the Range Selector using the `labelPosition` property. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs16/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs16/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs16" %} - -## Labels customization - -The font size, color, family, etc. can be customized using the `labelStyle` setting. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/lightweight-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/lightweight-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/lightweight-cs1" %} \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/lightweight.md b/chart-sdk/javascript/range-selector/lightweight.md deleted file mode 100644 index 18669a7fb..000000000 --- a/chart-sdk/javascript/range-selector/lightweight.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: post -title: Lightweight in JavaScript Range navigator control | Syncfusion -description: Learn here all about Lightweight in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Lightweight -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Lightweight in JavaScript Range navigator control - -By default, when the `dataSource` for `series` is empty, a lightweight Range Selector will be shown without Chart. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/lightweight-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/lightweight-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/lightweight-cs2" %} - -## See Also - -* [Period Selector](./period-selector/) \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/period-selector.md b/chart-sdk/javascript/range-selector/period-selector.md deleted file mode 100644 index eb271201c..000000000 --- a/chart-sdk/javascript/range-selector/period-selector.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -layout: post -title: Period selector in JavaScript Range navigator control | Syncfusion -description: Learn here all about Period selector in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Period selector -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Period selector in JavaScript Range navigator control - -The period selector allows to select a range with specified periods. - -## Periods - -An array of objects that allows the users to specify pre-defined time intervals. The `interval` property specifies the count value of the button, and the `text` property specifies the text to be displayed on the button. The `intervaltype` property allows the users to customize the interval type, and it supports the following types: - -* Auto -* Years -* Quarter -* Months -* Weeks -* Days -* Hours -* Minutes -* Seconds - -{% tabs %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/periodselector-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/periodselector-cs1" %} - ->To use the period selector feature, inject the `PeriodSelector` module using the `RangeNavigator.Inject(PeriodSelector)` method. - -## Positioning period selector - -The `position` property allows the users to position the period selector at the **Top** or **Bottom**. - -{% tabs %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/periodselector-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/periodselector-cs2" %} - -## Height - -The `height` property allows the users to specify the height of the period selector. The default value of the height property is **43px**. - -{% tabs %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/periodselector-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/periodselector-cs3" %} - -## Visibility of range navigator - -The `disableRangeSelector` property allows the users to display only the period selector and not the Range Selector. - -{% tabs %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/periodselector-cs4/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/periodselector-cs4" %} - -## See Also - -* [LightWeight](./lightweight/) \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/r-t-l.md b/chart-sdk/javascript/range-selector/r-t-l.md deleted file mode 100644 index 4aed44572..000000000 --- a/chart-sdk/javascript/range-selector/r-t-l.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: post -title: R t l in JavaScript Range navigator control | Syncfusion -description: Learn here all about R t l in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: R t l -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# R t l in JavaScript Range navigator control - -The Range Selector supports right-to-left (RTL), which can be enabled with the `enableRtl` property. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/reverse-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/reverse-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/reverse-cs1" %} \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/selecting-range.md b/chart-sdk/javascript/range-selector/selecting-range.md deleted file mode 100644 index d06b47f22..000000000 --- a/chart-sdk/javascript/range-selector/selecting-range.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: post -title: Selecting range in JavaScript Range navigator control | Syncfusion -description: Learn here all about Selecting range in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Selecting range -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Selecting range in JavaScript Range navigator control - -The Range Selector's left and right thumbs are used to indicate the selected range in the large collection of data. A range can be selected in the following ways: - -* By dragging the thumbs. -* By tapping on the labels. -* By setting the start and the end through the `value` property. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs12/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs12/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/getting-started-cs12" %} \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/series-types.md b/chart-sdk/javascript/range-selector/series-types.md deleted file mode 100644 index a65f5cc1e..000000000 --- a/chart-sdk/javascript/range-selector/series-types.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -layout: post -title: Series types in JavaScript Range navigator control | Syncfusion -description: Learn here all about Series types in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Series types -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Series types in JavaScript Range navigator control - -To render the data, the Range Selector supports three types of series. - - - -## Line - - - -To render a line series, use series `type` as **Line** and inject the `LineSeries` module using the `RangeNavigator.Inject(LineSeries)` method. By default, the line series is rendered in the Range Selector. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs17/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs17/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs17" %} - -## Area - -To render an area series, use series `type` as **Area** and inject `AreaSeries` module using `RangeNavigator.Inject(AreaSeries)` method. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs18/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs18/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs18" %} - -## StepLine - -To render a Step line series, use series `type` as **Step Line** and inject `StepLineSeries` module using `RangeNavigator.Inject(StepLineSeries)` method. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs19/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs19/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs19" %} - -## Spline - -To render a Spline series, use series `type` as **Spline** and inject `SplineSeries` module using `RangeNavigator.Inject(SplineSeries)` method. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs20/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs20/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs20" %} - -## Spline Area - -To render a Spline Area series, use series `type` as **SplineArea** and inject `SplineAreaSeries` module using `RangeNavigator.Inject(SplineAreaSeries)` method. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs21/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs21/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs21" %} - -## Column - -To render a Column series, use series `type` as **Column** and inject `ColumnSeries` module using `RangeNavigator.Inject(ColumnSeries)` method. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs22/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/axis-cs22/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/axis-cs22" %} \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/summary.md b/chart-sdk/javascript/range-selector/summary.md deleted file mode 100644 index 8167f4fc5..000000000 --- a/chart-sdk/javascript/range-selector/summary.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: post -title: Summary in JavaScript Range navigator control | Syncfusion -description: Learn here all about Summary in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Summary -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -* [Getting Started](range-navigator/es5-getting-started.md) -* [Range](range-navigator/selecting-range.md) -* [LightWeight RangeNavigator](range-navigator/lightweight.md) -* [Series Types](range-navigator/series-types.md) -* [Types of Data](range-navigator/data.md) -* [Period Selector](range-navigator/period-selector.md) -* [Labels](range-navigator/labels.md) -* [Grid and Tick Lines](range-navigator/grid-tick.md) -* [Customization](range-navigator/customization.md) -* [Tooltip](range-navigator/tooltip.md) -* [RTL](range-navigator/rtl.md) -* [Export and Print](range-navigator/export-print.md) \ No newline at end of file diff --git a/chart-sdk/javascript/range-selector/tool-tip.md b/chart-sdk/javascript/range-selector/tool-tip.md deleted file mode 100644 index 5740d4f09..000000000 --- a/chart-sdk/javascript/range-selector/tool-tip.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -layout: post -title: Tool tip in JavaScript Range navigator control | Syncfusion -description: Learn here all about Tool tip in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Tool tip -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Tool tip in JavaScript Range navigator control - - - -The tooltip for sliders are supported by the Range Selector. Sliders are used in the Range Selector to select data from a specific range. The tooltip displays the selected start and end values. - - - -## Customization - -Tooltip can be customized using the following properties: - -* enable - Customizes the visibility of the tooltip. -* fill - Customizes the background color of the tooltip. -* opacity - Customizes the opacity of the tooltip. -* textStyle - Customizes the font size, color, family, style, weight, alignment, and overflow of the tooltip. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs13/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs13/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/getting-started-cs13" %} - -## Label Format - -The `labelFormat` property in the tooltip is used to format and parse the date to all globalize formats. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs14/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/range-selector/getting-started-cs14/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/range-selector/getting-started-cs14" %} - -The following table shows the results of applying some common date and time formats to the `labelFormat` property. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Label ValueLabel Format Property ValueResult Description
      new Date(2000, 03, 10)EEEEMondayThe Date is displayed in day format
      new Date(2000, 03, 10)yMd04/10/2000The Date is displayed in month/date/year format
      new Date(2000, 03, 10) MMM AprThe Shorthand month for the date is displayed
      new Date(2000, 03, 10)hm12:00 AMTime of the date value is displayed as label
      new Date(2000, 03, 10)hms12:00:00 AMThe Label is displayed in hours:minutes:seconds format
      \ No newline at end of file diff --git a/chart-sdk/javascript/sankey-diagram/es5-getting-started.md b/chart-sdk/javascript/sankey-diagram/es5-getting-started.md index 742abc35f..ca55521d9 100644 --- a/chart-sdk/javascript/sankey-diagram/es5-getting-started.md +++ b/chart-sdk/javascript/sankey-diagram/es5-getting-started.md @@ -3,15 +3,25 @@ layout: post title: ES5 getting started with JavaScript Sankey control | Syncfusion description: Check out and learn about ES5 getting started with JavaScript Sankey control of Syncfusion Essential JS 2 and more details. platform: chart-sdk +control: Sankey +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk --- -# ES5 getting started with JavaScript Sankey control +# Getting Started with Syncfusion® JavaScript (ES5) Sankey Control -This guide explains how to create a Sankey diagram using plain JavaScript (ES5). The page includes focused samples: initialize, add data, and tooltip/module injection. +Build your first Syncfusion JavaScript (ES5) application with a simple Sankey diagram in just a few minutes. This quickstart guides you through creating a minimal, runnable HTML page that loads the Syncfusion EJ2 (ES5) Sankey control from the CDN, initializes it with sample data, and renders an interactive diagram. + +## Prerequisites + +* [Visual Studio Code](https://code.visualstudio.com) (or any text editor) +* A web browser to view the result +* A local web server such as the VS Code [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) extension ## Dependencies -Below is the list of minimum dependencies required to use the Sankey diagram (part of the charts package). +The Sankey control ships as part of the `@syncfusion/ej2-charts` package. Below is the list of minimum dependencies required. ``` |-- @syncfusion/ej2-charts @@ -25,84 +35,69 @@ Below is the list of minimum dependencies required to use the Sankey diagram (pa Note: `@syncfusion/ej2-pdf-export`, `@syncfusion/ej2-file-utils`, and `@syncfusion/ej2-compression` are optional—required only for PDF export features. -## Setup for local environment +## Quick Setup + +### Step 1: Create Folder and HTML file -Create a simple folder for the app and add `index.html` and `index.js`. You can use either local script files (copied from the EJ2 build) or CDN links. +* Create a folder named `quickstart` in your desired directory. +* Inside the `quickstart` folder, create two new files: `index.html` and `index.js`. -### Using local scripts +### Step 2: Add Syncfusion® CDN Resources -Copy required global scripts and styles into a `resources` folder and reference them from `index.html`. +Include the following JavaScript links in the `` section. +**Scripts (JavaScript):** ```html - - - - Essential JS 2 Sankey - - - - - - - - -
      - - - + + + + ``` -### Using CDN links +**Or**, to load all Syncfusion components in a single combined bundle: ```html - - - - + ``` -## Sample 1 — Initialize Sankey +### Step 3: Add the Syncfusion® Sankey Control to the Application -Add a `div` element for the Sankey in `index.html` and initialize it from `index.js`. +The `index.html` file references a separate `index.js` file that contains the Sankey component initialization. This keeps your markup and script logic cleanly separated, which is the recommended pattern for Syncfusion® JavaScript (ES5) apps. + +`index.js` imports nothing manually — the global scripts added in Step 2 register the `ej.charts.Sankey` class on the `ej` namespace. The script then builds the Sankey component with sample node/link data and renders the control into the `#element` container declared in `index.html`. {% tabs %} {% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/initialize-cs1/index.js %} +{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/data-cs1/index.js %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/initialize-cs1/index.html %} +{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/data-cs1/index.html %} {% endhighlight %} {% endtabs %} -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/initialize-cs1" %} +The `new ej.charts.Sankey({...})` call creates the Sankey component. The configuration object accepts the following key options: -## Sample 2 — Add data to Sankey +- [`nodes`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/index-default#nodes) — Array of node objects. Each node needs a unique `id`; the optional `label.text` property controls the displayed label. +- [`links`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/index-default#links) — Array of link objects. Each link needs a [`sourceId`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/sankeylinkmodel#sourceid) and [`targetId`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/sankeylinkmodel#sourceid) matching a node `id`, plus a numeric [`value`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/sankeylinkmodel#value) that controls the link thickness. +- [`title`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/index-default#title) — Text shown above the diagram. -Provide nodes and links to the Sankey component via the data configuration. See the example: +Finally, `sankey.appendTo('#element')` renders the control into the `
      ` element declared in `index.html`. -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/data-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/data-cs1/index.html %} -{% endhighlight %} -{% endtabs %} +### Step 4: Open in Browser -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/data-cs1" %} +Open `quickstart/index.html` through a local web server. With the VS Code **Live Server** extension installed, right-click `index.html` in the Explorer and choose **Open with Live Server**, then visit the URL it prints (for example, `http://127.0.0.1:5500/`). You should see the Syncfusion Sankey control displaying the energy-flow sample data. -## Sample 3 — Tooltip and module injection +## Output -Enable tooltip and legend by injecting required modules when using modular imports. For global script usage (CDN or combined bundle), modules are often available without explicit injection. +The following screenshot shows the output of the Syncfusion Sankey quick start application: -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/tooltip-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/tooltip-cs1/index.html %} -{% endhighlight %} -{% endtabs %} +![Syncfusion Sankey Quick Start Output](./images/sankey.png) + +## Troubleshooting + +- **The page is blank.** Open the page through a local web server (for example, the VS Code **Live Server** extension) instead of double-clicking the file. Syncfusion charts require an `http://` or `https://` origin. +- **`ej is not defined`.** Confirm that `ej2-charts.min.js` is loaded before your script. Place the ` - - - -``` - -**Or**, to load all Syncfusion components in a single combined bundle: - -```html - -``` - -### Step 3: Add the Syncfusion® Sankey Control to the Application - -The `index.html` file references a separate `index.js` file that contains the Sankey component initialization. This keeps your markup and script logic cleanly separated, which is the recommended pattern for Syncfusion® JavaScript (ES5) apps. - -`index.js` imports nothing manually — the global scripts added in Step 2 register the `ej.charts.Sankey` class on the `ej` namespace. The script then builds the Sankey component with sample node/link data and renders the control into the `#element` container declared in `index.html`. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/data-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/getting-started/data-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -The `new ej.charts.Sankey({...})` call creates the Sankey component. The configuration object accepts the following key options: - -- [`nodes`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/index-default#nodes) — Array of node objects. Each node needs a unique `id`; the optional `label.text` property controls the displayed label. -- [`links`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/index-default#links) — Array of link objects. Each link needs a [`sourceId`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/sankeylinkmodel#sourceid) and [`targetId`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/sankeylinkmodel#sourceid) matching a node `id`, plus a numeric [`value`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/sankeylinkmodel#value) that controls the link thickness. -- [`title`](https://ej2.syncfusion.com/javascript/documentation/api/sankey/index-default#title) — Text shown above the diagram. - -Finally, `sankey.appendTo('#element')` renders the control into the `
      ` element declared in `index.html`. - -### Step 4: Open in Browser - -Open `quickstart/index.html` through a local web server. With the VS Code **Live Server** extension installed, right-click `index.html` in the Explorer and choose **Open with Live Server**, then visit the URL it prints (for example, `http://127.0.0.1:5500/`). You should see the Syncfusion Sankey control displaying the energy-flow sample data. - -## Output - -The following screenshot shows the output of the Syncfusion Sankey quick start application: - -![Syncfusion Sankey Quick Start Output](./images/sankey.png) - -## Troubleshooting - -- **The page is blank.** Open the page through a local web server (for example, the VS Code **Live Server** extension) instead of double-clicking the file. Syncfusion charts require an `http://` or `https://` origin. -- **`ej is not defined`.** Confirm that `ej2-charts.min.js` is loaded before your script. Place the ` - - - - - - -``` - -**Step 5:** Add a container `div` and initialize the **Syncfusion® JavaScript (ES5) Smith Chart** control in `~/quickstart/index.html` using the following code. - -```html - - - - Essential JS 2 - - - - - - - - - - -
      - - - -``` - -**Step 6:** Open `index.html` in a web browser to render the **Syncfusion® JavaScript Smithchart** control. - -### Using CDN link for script reference - -**Step 1:** Create an app folder `quickstart` for getting started. - -**Step 2:** The Essential® JS 2 controls' global scripts are already hosted in the below CDN link formats. - -**Syntax:** -> Dependency Script: `https://cdn.syncfusion.com/ej2/{DEPENDENCY_PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js` -> -> Control Script: `https://cdn.syncfusion.com/ej2/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js` - -**Example:** -> Script: [`https://cdn.syncfusion.com/ej2/ej2-charts/dist/global/ej2-charts.min.js`](https://cdn.syncfusion.com/ej2/ej2-charts/dist/global/ej2-charts.min.js) - -**Step 3:** Create an HTML page (index.html) in `~/quickstart/index.html` location and add the CDN link references. Now, add the `Smithchart` element and initiate the **Syncfusion® JavaScript (ES5) Smithchart** control in the index.html by using following code. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs1" %} - -**Step 4:** Open `index.html` in a web browser to render the **Syncfusion® JavaScript Smithchart** control. - -## Add series to Smithchart - -The Smithchart has two ways to add series: - -* dataSource — Bind a data object by specifying resistance and reactance values; the series renders from the provided dataSource. -* points — Provide a collection of resistance and reactance value points for the series. - -The sample below demonstrates adding two series to the Smithchart in both ways. - -* First series `Transmission1` shows dataSource bound series. -* Second series `Transmission2` shows points bound series. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs2" %} - -## Add title to Smith Chart - -You can add a title using the [`title`](../api/smithchart/smithchartmodel#title) property to the Smith Chart to provide quick information to the user about the data plotted in the Smith Chart. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs3" %} - -## Enable markers in the Smithchart - -You can add and customize markers in the Smith Chart. This can be achieved by setting the [`visible`](../api/smithchart/seriesmarkermodel#visible) property to `true` in the [`marker`](../api/smithchart/smithchartseriesmodel#marker) object. The sample below enables markers for the first series. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs4/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs4/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs4" %} - -## Enable data labels for Smithchart markers - -You can add data labels to improve the readability of the Smith Chart. This can be achieved by setting the [`visible`](../api/smithchart/seriesmarkerdatalabelmodel#visible) property to `true` in the [`dataLabel`](../api/smithchart/seriesmarkermodel#datalabel) object. The sample below enables data labels for the first series. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs5/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs5/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs5" %} - -## Enable legend for Smithchart - -You can use a legend for the Smith Chart by setting the [`visible`](../api/smithchart/smithchartlegendsettingsmodel#visible) property to `true` in the [`legendSettings`](../api/smithchart/smithchartmodel#legendsettings) object. The following example shows enabling the legend for the Smithchart. The series name can be customized using the series `name`. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs6/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs6/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs6" %} - -## Enable tooltip for smithchart series - -The tooltip is useful when you cannot display information by using the data labels due to space constraints. You can enable tooltip by setting the [`visible`](../api/smithchart/seriestooltipmodel#visible) property as `true` in [`tooltip`](../api/smithchart/smithchartseries#tooltip) object. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs7/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs7/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/smithchart-axis-cs7" %} \ No newline at end of file diff --git a/chart-sdk/javascript/smith-chart/accessibility.md b/chart-sdk/javascript/smith-charts/accessibility.md similarity index 100% rename from chart-sdk/javascript/smith-chart/accessibility.md rename to chart-sdk/javascript/smith-charts/accessibility.md diff --git a/chart-sdk/javascript/smithchart/es5-getting-started.md b/chart-sdk/javascript/smith-charts/es5-getting-started.md similarity index 100% rename from chart-sdk/javascript/smithchart/es5-getting-started.md rename to chart-sdk/javascript/smith-charts/es5-getting-started.md diff --git a/chart-sdk/javascript/smith-chart/getting-started.md b/chart-sdk/javascript/smith-charts/getting-started.md similarity index 100% rename from chart-sdk/javascript/smith-chart/getting-started.md rename to chart-sdk/javascript/smith-charts/getting-started.md diff --git a/chart-sdk/javascript/smithchart/images/smithchart.png b/chart-sdk/javascript/smith-charts/images/smithchart.png similarity index 100% rename from chart-sdk/javascript/smithchart/images/smithchart.png rename to chart-sdk/javascript/smith-charts/images/smithchart.png diff --git a/chart-sdk/javascript/smith-chart/smith-chart-axis.md b/chart-sdk/javascript/smith-charts/smith-chart-axis.md similarity index 100% rename from chart-sdk/javascript/smith-chart/smith-chart-axis.md rename to chart-sdk/javascript/smith-charts/smith-chart-axis.md diff --git a/chart-sdk/javascript/smith-chart/smith-chart-dimensions.md b/chart-sdk/javascript/smith-charts/smith-chart-dimensions.md similarity index 100% rename from chart-sdk/javascript/smith-chart/smith-chart-dimensions.md rename to chart-sdk/javascript/smith-charts/smith-chart-dimensions.md diff --git a/chart-sdk/javascript/smith-chart/smith-chart-legend.md b/chart-sdk/javascript/smith-charts/smith-chart-legend.md similarity index 100% rename from chart-sdk/javascript/smith-chart/smith-chart-legend.md rename to chart-sdk/javascript/smith-charts/smith-chart-legend.md diff --git a/chart-sdk/javascript/smith-chart/smith-chart-marker.md b/chart-sdk/javascript/smith-charts/smith-chart-marker.md similarity index 100% rename from chart-sdk/javascript/smith-chart/smith-chart-marker.md rename to chart-sdk/javascript/smith-charts/smith-chart-marker.md diff --git a/chart-sdk/javascript/smith-chart/smith-chart-print.md b/chart-sdk/javascript/smith-charts/smith-chart-print.md similarity index 100% rename from chart-sdk/javascript/smith-chart/smith-chart-print.md rename to chart-sdk/javascript/smith-charts/smith-chart-print.md diff --git a/chart-sdk/javascript/smith-chart/smith-chart-series.md b/chart-sdk/javascript/smith-charts/smith-chart-series.md similarity index 100% rename from chart-sdk/javascript/smith-chart/smith-chart-series.md rename to chart-sdk/javascript/smith-charts/smith-chart-series.md diff --git a/chart-sdk/javascript/smith-chart/smith-chart-tooltip.md b/chart-sdk/javascript/smith-charts/smith-chart-tooltip.md similarity index 100% rename from chart-sdk/javascript/smith-chart/smith-chart-tooltip.md rename to chart-sdk/javascript/smith-charts/smith-chart-tooltip.md diff --git a/chart-sdk/javascript/smith-chart/title-subtitle.md b/chart-sdk/javascript/smith-charts/title-subtitle.md similarity index 100% rename from chart-sdk/javascript/smith-chart/title-subtitle.md rename to chart-sdk/javascript/smith-charts/title-subtitle.md diff --git a/chart-sdk/javascript/smith-chart/working-with-data.md b/chart-sdk/javascript/smith-charts/working-with-data.md similarity index 100% rename from chart-sdk/javascript/smith-chart/working-with-data.md rename to chart-sdk/javascript/smith-charts/working-with-data.md diff --git a/chart-sdk/javascript/smithchart/getting-started.md b/chart-sdk/javascript/smithchart/getting-started.md deleted file mode 100644 index 353bc8900..000000000 --- a/chart-sdk/javascript/smithchart/getting-started.md +++ /dev/null @@ -1,241 +0,0 @@ ---- -layout: post -title: Getting started with JavaScript Smithchart control | Syncfusion -description: Checkout and learn about Getting started with JavaScript Smithchart control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: Getting started -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Getting started in JavaScript Smithchart control - -This section explains you the steps required to create a Smith Chart and demonstrate the basic usage of the Smith Chart control. - -## Dependencies - -Below is the list of minimum dependencies required to use the Smith Chart. - -```javascript -|-- @syncfusion/ej2-charts - |-- @syncfusion/ej2-base - |-- @syncfusion/ej2-data - |-- @syncfusion/ej2-svg-base - |-- @syncfusion/ej2-pdf-export - |-- @syncfusion/ej2-compression - |-- @syncfusion/ej2-file-utils -``` - -## Installation and Configuration - -* To get you started with Smith Chart component, you can clone the -[Essential® JS 2 quickstart](https://github.com/syncfusion/ej2-quickstart.git) project -and install necessary packages by using the following commands. - -``` -git clone https://github.com/syncfusion/ej2-quickstart.git quickstart -cd quickstart -npm install -``` - -* `Smith Chart packages` need to be mapped in `system.config.js` configuration file. - -```javascript -System.config({ - paths: { - 'syncfusion:': './node_modules/@syncfusion/', - }, - map: { - app: 'app', - - //Syncfusion packages mapping - "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", - "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", - "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", - "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", - "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", - "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", - "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", - "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", - "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", - }, - packages: { - 'app': { main: 'app', defaultExtension: 'js' } - } -}); -``` - ->The [project](https://github.com/syncfusion/ej2-quickstart.git) is preconfigured with common settings (`src/styles/styles.css`, `system.config.js` ) to start -with all Essential® JS 2 components. - -## Add Smith Chart to the Project - -Add the HTML div element for Smith Chart into your `index.html`. `[src/index.html]` - -```html - - - - - EJ2 Animation - - - - - - - - - - - -
      -
      - - - -``` - -Now import the Smithchart component into your `index.ts` to instantiate a smithchart and append the smithchart instance to the `#container` - -```javascript -import { Smithchart } from '@syncfusion/ej2-charts'; - -// initialize Smithchart component -let smithchart: Smithchart = new Smithchart(); - -// render initialized Smithchart -smithchart.appendTo('#container'); -``` - -Now use the `npm run start` command to run the application in the browser. - -``` -npm run start -``` - -The below example shows a basic Smithchart. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs1" %} - -## Module Injection - -Smithchart component are segregated into individual feature-wise modules. In order to use a particular feature,you need to inject its feature module using `Smithchart.Inject()` method. In the current application, we are going to modify the above basic smithchart to visualize transmission lines. -For this application we are going to use tooltip and legend feature of the smithchart. Please find relevant feature module name and description as follows. - -* SmithchartLegend - Inject this provider to use legend feature. -* TooltipRender - Inject this provider to use tooltip feature. - -Now import the above mentioned modules from smithchart package and inject it into the Smithchart component using `Smithchart.Inject` method. - -```javascript -import { Smithchart, SmithchartLegend, TooltipRender } from '@syncfusion/ej2-charts'; -Smithchart.Inject(SmithchartLegend, TooltipRender); -``` - -## Add Series to Smithchart - -Smithchart had two type of specification for adding series. -* dataSource - Using this, Data object can bind directly by specifying the resistance and reactance values, series add to smithchart. -* points - Using this, collection of resistance and reactance values can bind directly to render series. - -Below sample demonstrate adding two series to smithchart both ways. -* First series Transmission1 shows dataSource bound series. -* Second series Transmission2 shows points bound series. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs2" %} - -## Add title to SmithChart - -smithchart `title` API used to add title for smithchart. In that `text` API used to set text of the title. -API `visible` used to toggle the title. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs3" %} - -## Enable Marker to Smithchart - -To use series marker and it's customization in smithchart, use series `marker`. To display marker for particular series, need to specify `marker visible` as true. Below sample marker enabled for first series only. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs4/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs4/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs4" %} - -## Enable DataLabel to Smithchart Marker - -To use marker dataLabel and it's customization in smithchart, use marker `dataLabel`. To display dataLabel for particular series marker, need to specify `dataLabel visible` as true in that series `marker`. Below sample dataLabel enabled for first series. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs5/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs5/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs5" %} - -## Enable Legend for Smithchart - -Smithchart had a legend feature, which is used to denote the correspond series. To enable the legend, need to inject `SmithchartLegend` module using `Smithchart.Inject(SmithchartLegend)` method and smithchart `legendSettings` `visible` as true. Following example sample shows enabling legend for smithchart. Series name can customize using series `name`. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs6/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs6/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs6" %} - -## Enable Tooltip for Smithchart Series - -Smithchart had a tooltip feature, which is used to show the current point's values. To enable the tooltip, need to inject `TooltipRender` module using `Smithchart.Inject(TooltipRender)` method and smithchart series `tooltip` `visible` as true. Following example sample shows enabling tooltip for smithchart series collection. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs7/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs7/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/smith-chart/getting-started-cs7" %} \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline-charts/accessibility.md b/chart-sdk/javascript/sparkline-charts/accessibility.md deleted file mode 100644 index 7cda23cf7..000000000 --- a/chart-sdk/javascript/sparkline-charts/accessibility.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -layout: post -title: Accessibility in JavaScript Sparkline control | Syncfusion -description: Learn here all about Accessibility in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Accessibility -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Accessibility in JavaScript Sparkline control - -The Sparkline control followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility. - -The accessibility compliance for the Sparkline control is outlined below. - -| Accessibility Criteria | Compatibility | -| -- | -- | -| [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Support | Intermediate | -| [Section 508](https://www.section508.gov/) Support | Intermediate | -| Screen Reader Support | Intermediate | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Intermediate | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | -| [Axe-core](https://www.npmjs.com/package/axe-core) Accessibility Validation | Yes | - - -
      Yes - All features of the control meet the requirement.
      - -
      Intermediate - Some features of the control do not meet the requirement.
      - -
      No - The control does not meet the requirement.
      - - -## WAI-ARIA attributes - -The Sparkline control followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Sparkline control: - -* img (role) -* aria-label (attribute) -* aria-hidden (attribute) - -## Keyboard interaction - -The Sparkline control followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Sparkline control. - -| **Press** | **To do this** | -| --- | --- | -| Ctrl + P | Prints the Sparkline. | - -## Ensuring accessibility - -The Sparkline control's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Sparkline control is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/spark-line-chart.html) in a new window to evaluate the accessibility of the Sparkline control with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/spark-line-chart.html" %} - -## See also - -* [Accessibility in Syncfusion® JavaScript controls](../common/accessibility) \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline-charts/appearance.md b/chart-sdk/javascript/sparkline-charts/appearance.md deleted file mode 100644 index c298f6af3..000000000 --- a/chart-sdk/javascript/sparkline-charts/appearance.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -layout: post -title: Appearance in JavaScript Sparkline control | Syncfusion -description: Learn here all about Appearance in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Appearance -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Appearance in JavaScript Sparkline control - -The appearance of the sparkline can be customized using margin, containerArea border, and containerArea background. - -## Sparkline border - -The `containerArea border` of the sparkline is used to render border to cover sparkline area. - -The following code example shows the sparkline with overall border. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs1" %} - -## Sparkline padding - -Padding is used to specify padding value between container and sparkline. By default, padding value of the sparkline is 5. Sparkline `padding` values are specified by the left, right, top, and bottom. - -The following code example shows the sparkline with overall padding is set to 20. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs2" %} - -## Sparkline area customization - -The background color of the sparkline area can be customized using the `containerArea background` color. By default, the sparkline background color is `transparent`. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs3" %} - -## Sparkline theme - -Datalabel and trackline colors of the sparkline will be changed based on theme. For example, for dark theme, the color of datalabel and trackline should be white; for light theme, their value should be black. The possible values for sparkline theme are `Material`, `Fabric`, `Bootstrap`, and `Highcontrast`. - -The following code example shows the color for datalabel and trackline is set to white for dark theme. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs4/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs4/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/appearance-cs4" %} \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline-charts/axis-customization.md b/chart-sdk/javascript/sparkline-charts/axis-customization.md deleted file mode 100644 index 3d848c9ab..000000000 --- a/chart-sdk/javascript/sparkline-charts/axis-customization.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -layout: post -title: Axis customization in JavaScript Sparkline control | Syncfusion -description: Learn here all about Axis customization in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Axis customization -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Axis customization in JavaScript Sparkline control - -You can customize axis value types and min and max values of the sparkline. - -## Change value type of the sparkline - -You can change the sparkline value type by setting the [`valueType`] property to [`Numeric`], [`Category`], or [`DateTime`]. - -**DateTime** - -You can assign date-time values to the sparkline by setting the [`valueType`] property to [`DateTime`]. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs1" %} - -**Category** - -You can assign category values to the sparkline by setting [`valueType`] to [`Category`]. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs2" %} - -**Numeric** - -You can assign numeric values to the sparkline by setting [`valueType`] to [`Numeric`]. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs3" %} - -## Change min and max values of axis - -You can change the min and max values of x-axis by setting the [`minX`] and [`maxX`] values to the [`axisSettings`] property. You can also change the min and max values of y-axis by setting the [`minY`] and [`maxY`] values to the [`axisSettings`] property. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs4/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs4/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs4" %} - -## Change value of axis - -You can set horizontal axis line value of the sparkline by setting [`value`] to the [`axisSettings`] property. The following code example shows this. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs5/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs5/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs5" %} - -## Axis line customization - -Axis of the sparkline can be collapsed using the [`visible`] property in [`lineSettings`]; this is not applicable for win-loss. You can customize the [`color`], [`width`], [`opacity`], and [`dashArray`] of axis line. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs6/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs6/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/axis-customization-cs6" %} diff --git a/chart-sdk/javascript/sparkline-charts/data-labels.md b/chart-sdk/javascript/sparkline-charts/data-labels.md deleted file mode 100644 index 7b9487c75..000000000 --- a/chart-sdk/javascript/sparkline-charts/data-labels.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -layout: post -title: Data labels in JavaScript Sparkline control | Syncfusion -description: Learn here all about Data labels in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Data labels -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Data labels in JavaScript Sparkline control - -Data labels are used to display values of data points to improve the readability. - -## Enable data label - -To enable data label for sparkline series, provide `visible` of the `dataLabelSettings` as following possible values: - -* All - Enables data label of all points. -* Start - Enables data label of the start point. -* End - Enables data label of the end point. -* High - Enables data label of the high point. -* Low - Enables data label of the low point. -* Negative - Enables data labels of the negative points. - -The following example shows enabling sparkline data label for all points. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/datalabel-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/datalabel-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/datalabel-cs1" %} - -## Customize data label - -Data labels can be customized using the fill, border, opacity, and textStyle. The following code example shows customizing data label border, text color, and fill color. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/datalabel-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/datalabel-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/datalabel-cs2" %} - -## Format data label text - -The text of data labels can be formatted using the `format` API in the sparkline `dataLabelSettings`. By default, data label shows the y-value of point. The following code example shows how to display x and y-values for points. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/datalabel-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/datalabel-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/datalabel-cs3" %} \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline-charts/ej1-api-migration.md b/chart-sdk/javascript/sparkline-charts/ej1-api-migration.md deleted file mode 100644 index c4acec73a..000000000 --- a/chart-sdk/javascript/sparkline-charts/ej1-api-migration.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -layout: post -title: Ej1 api migration in JavaScript Sparkline control | Syncfusion -description: Learn here all about Ej1 api migration in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Ej1 api migration -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Ej1 api migration in JavaScript Sparkline control - -This article describes the API migration process of Accordion component from Essential® JS 1 to Essential® JS 2. - -## Sparkline Types - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Type| **Property:** *type*

      $("#container").ejSparkline({ type : 'line' }); |**Property:** *type*

      let sparkline: Sparkline = new Sparkline({
        type: 'Line'
      });
      sparkline.appendTo('#container');| - -## Databinding - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Datasource| **Property:** *dataSource*

      $("#container").ejSparkline({ dataSource : 'data' }); |**Property:** *dataSource*

      let sparkline: Sparkline = new Sparkline({
        dataSource: data
      });
      sparkline.appendTo('#container');| -|Binding X values with datasource| **Property:** *xName*

      $("#container").ejSparkline({ xName : "XValue" }); |**Property:** *xName*

      let sparkline: Sparkline = new Sparkline({
        xName: 'XValue'
      });
      sparkline.appendTo('#container');| -|Binding Y values with datasource| **Property:** *yName*

      $("#container").ejSparkline({ yName : "YValue" }); |**Property:** *yName*

      let sparkline: Sparkline = new Sparkline({
        yName: 'YValue'
      });
      sparkline.appendTo('#container');| - -## Markers - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Enable markers| **Property:** *markerSettings.visible*

      $("#container").ejSparkline({
        markerSettings :{ visible : true }
      }); |**Property:** *markerSettings.visible*

      let sparkline: Sparkline = new Sparkline({
        markerSettings: {
          visible: ['All']
        }
      });
      sparkline.appendTo('#container');| -|Color| **Property:** *markerSettings.fill*

      $("#container").ejSparkline({
        markerSettings :{ fill : "green" }
      }); |**Property:** *markerSettings.fill*

      let sparkline: Sparkline = new Sparkline({
        markerSettings: {
          fill: "green"
        }
      });
      sparkline.appendTo('#container');| -|Size| **Property:** *markerSettings.width*

      $("#container").ejSparkline({
        markerSettings :{ width : 5 }
      }); |**Property:** *markerSettings.size*

      let sparkline: Sparkline = new Sparkline({
        markerSettings: {
          size: 5
        }
      });
      sparkline.appendTo('#container');| -|Opacity| **Property:** *markerSettings.opacity*

      $("#container").ejSparkline({
        markerSettings :{ opacity : 0.5 }
      }); |**Property:** *markerSettings.opacity*

      let sparkline: Sparkline = new Sparkline({
        markerSettings: {
          opacity: 0.5
        }
      });
      sparkline.appendTo('#container');| -|Border color| **Property:** *markerSettings.border.color*

      $("#container").ejSparkline({
        markerSettings :{
          border: { color: "green" } }
      }); |**Property:** *markerSettings.border.fill*

      let sparkline: Sparkline = new Sparkline({
        markerSettings: {
          border: { fill: 'green' }
        }
      });
      sparkline.appendTo('#container');| -|Border width| **Property:** *markerSettings.border.width*

      $("#container").ejSparkline({
        markerSettings :{
          border: { width: 2 } }
      }); |**Property:** *markerSettings.border.width*

      let sparkline: Sparkline = new Sparkline({
        markerSettings: {
          border: { width: 2 }
        }
      });
      sparkline.appendTo('#container');| -|Border opacity| **Property:** *markerSettings.border.opacity*

      $("#container").ejSparkline({
        markerSettings :{
          border: { opacity: 0.7 } }
      }); |Not applicable| - -## Data labels - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Enable data labels| Not applicable |**Property:** *dataLabelSettings.visible*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          visible: ['All']
        }
      });
      sparkline.appendTo('#container');| -|Color| Not applicable |**Property:** *dataLabelSettings.fill*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          fill: "green"
        }
      });
      sparkline.appendTo('#container');| -|Size| Not applicable |**Property:** *dataLabelSettings.size*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          size: 5
        }
      });
      sparkline.appendTo('#container');| -|Opacity| Not applicable |**Property:** *dataLabelSettings.opacity*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          opacity: 0.5
        }
      });
      sparkline.appendTo('#container');| -|Border color| Not applicable |**Property:** *dataLabelSettings.border.fill*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          border: { fill: 'green' }
        }
      });
      sparkline.appendTo('#container');| -|Border width| Not applicable |**Property:** *dataLabelSettings.border.width*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          border: { width: 2 }
        }
      });
      sparkline.appendTo('#container');| -|Format| Not applicable |**Property:** *dataLabelSettings.format*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          format: '${xval}: ${yval}'
        }
      });
      sparkline.appendTo('#container');| -|Horizontal Offset| Not applicable |**Property:** *dataLabelSettings.offset.x*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          offset: { x: 10 }
        }
      });
      sparkline.appendTo('#container');| -|Vertical Offset| Not applicable |**Property:** *dataLabelSettings.offset.y*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          offset: { y: 10 }
        }
      });
      sparkline.appendTo('#container');| -|Font color| Not applicable |**Property:** *dataLabelSettings.textStyle.color*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          textStyle: { color: 'black' }
        }
      });
      sparkline.appendTo('#container');| -|Font family| Not applicable |**Property:** *dataLabelSettings.textStyle.fontFamily*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          textStyle: { fontFamily: 'Arial' }
        }
      });
      sparkline.appendTo('#container');| -|Font style| Not applicable |**Property:** *dataLabelSettings.textStyle.fontStyle*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          textStyle: { fontStyle: 'normal' }
        }
      });
      sparkline.appendTo('#container');| -|Font weight| Not applicable |**Property:** *dataLabelSettings.textStyle.fontWeight*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          textStyle: { fontWeight: 'bold' }
        }
      });
      sparkline.appendTo('#container');| -|Font opacity| Not applicable |**Property:** *dataLabelSettings.textStyle.opacity*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          textStyle: { opacity: 0.7 }
        }
      });
      sparkline.appendTo('#container');| -|Font size| Not applicable |**Property:** *dataLabelSettings.textStyle.fontSize*

      let sparkline: Sparkline = new Sparkline({
        dataLabelSettings: {
          textStyle: { fontSize: '12px' }
        }
      });
      sparkline.appendTo('#container');| - -## Range band - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Color| **Property:** *rangeBandSettings.fill*

      $("#container").ejSparkline({
        rangeBandSettings :{ fill : "green" }
      }); |**Property:** *rangeBandSettings.fill*

      let sparkline: Sparkline = new Sparkline({
        rangeBandSettings: {
          fill: "green"
        }
      });
      sparkline.appendTo('#container');| -|Opacity| **Property:** *rangeBandSettings.opacity*

      $("#container").ejSparkline({
        rangeBandSettings :{ opacity : 0.5 }
      }); |**Property:** *rangeBandSettings.opacity*

      let sparkline: Sparkline = new Sparkline({
        rangeBandSettings: {
          opacity: 0.5
        }
      });
      sparkline.appendTo('#container');| -|Start range| **Property:** *rangeBandSettings.startRange*

      $("#container").ejSparkline({
        rangeBandSettings :{
          startRange: 5
       }
      }); |**Property:** *rangeBandSettings.startRange*

      let sparkline: Sparkline = new Sparkline({
        rangeBandSettings: {
          startRange: 5
        }
      });
      sparkline.appendTo('#container');| -|End range| **Property:** *rangeBandSettings.endRange*

      $("#container").ejSparkline({
        rangeBandSettings :{
          endRange: 10
       }
      }); |**Property:** *rangeBandSettings.endRange*

      let sparkline: Sparkline = new Sparkline({
        rangeBandSettings: {
          endRange: 10
        }
      });
      sparkline.appendTo('#container');| - -## Special points customization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|High point color| **Property:** *highPointColor*

      $("#container").ejSparkline({ highPointColor: 'green' }); |**Property:** *highPointColor*

      let sparkline: Sparkline = new Sparkline({ highPointColor: 'green' });
      sparkline.appendTo('#container');| -|Low point color| **Property:** *lowPointColor*

      $("#container").ejSparkline({ lowPointColor: 'red' }); |**Property:** *lowPointColor*

      let sparkline: Sparkline = new Sparkline({ lowPointColor: 'red' });
      sparkline.appendTo('#container');| -|Negative point color| **Property:** *negativePointColor*

      $("#container").ejSparkline({ negativePointColor: 'orange' }); |**Property:** *negativePointColor*

      let sparkline: Sparkline = new Sparkline({ negativePointColor: 'orange' });
      sparkline.appendTo('#container');| -|Start point color| **Property:** *startPointColor*

      $("#container").ejSparkline({ startPointColor: 'orange' }); |**Property:** *startPointColor*

      let sparkline: Sparkline = new Sparkline({ startPointColor: 'orange' });
      sparkline.appendTo('#container');| -|End point color| **Property:** *endPointColor*

      $("#container").ejSparkline({ endPointColor: 'orange' }); |**Property:** *endPointColor*

      let sparkline: Sparkline = new Sparkline({ endPointColor: 'orange' });
      sparkline.appendTo('#container');| -|Tie point color| **Property:** *tiePointColor*

      $("#container").ejSparkline({ tiePointColor: 'orange' }); |**Property:** *tiePointColor*

      let sparkline: Sparkline = new Sparkline({ tiePointColor: 'orange' });
      sparkline.appendTo('#container');| - -## Axis customization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Show axis line| **Property:** *axisSettings.visible*

      $("#container").ejSparkline({
        axisSettings :{
          visible: true
       }
      }); |**Property:** *axisSettings.lineSettings.visible*

      let sparkline: Sparkline = new Sparkline({
        axisSettings: {
          lineSettings: { visible: true }
        }
      });
      sparkline.appendTo('#container');| -|Line color| **Property:** *axisSettings.color*

      $("#container").ejSparkline({
        axisSettings :{
          color: "green"
       }
      }); |**Property:** *axisSettings.lineSettings.color*

      let sparkline: Sparkline = new Sparkline({
        axisSettings: {
          lineSettings: { color: "green" }
        }
      });
      sparkline.appendTo('#container');| -|Line width| **Property:** *axisSettings.width*

      $("#container").ejSparkline({
        axisSettings :{
          width: 2
       }
      }); |**Property:** *axisSettings.lineSettings.width*

      let sparkline: Sparkline = new Sparkline({
        axisSettings: {
          lineSettings: { width: 2 }
        }
      });
      sparkline.appendTo('#container');| -|Dash array| **Property:** *axisSettings.dashArray*

      $("#container").ejSparkline({
        axisSettings :{
          dashArray: [5, 2]
       }
      }); |**Property:** *axisSettings.lineSettings.dashArray*

      let sparkline: Sparkline = new Sparkline({
        axisSettings: {
          lineSettings: { dashArray: [5, 2] }
        }
      });
      sparkline.appendTo('#container');| -|X axis minimum value| Not applicable |**Property:** *axisSettings.minX*

      let sparkline: Sparkline = new Sparkline({
        axisSettings: {
          minX: 0
        }
      });
      sparkline.appendTo('#container');| -|X axis maximum value| Not applicable |**Property:** *axisSettings.maxX*

      let sparkline: Sparkline = new Sparkline({
        axisSettings: {
          maxX: 100
        }
      });
      sparkline.appendTo('#container');| -|Y axis minimum value| Not applicable |**Property:** *axisSettings.minY*

      let sparkline: Sparkline = new Sparkline({
        axisSettings: {
          minY: 0
        }
      });
      sparkline.appendTo('#container');| -|Y axis maximum value| Not applicable |**Property:** *axisSettings.maxY*

      let sparkline: Sparkline = new Sparkline({
        axisSettings: {
          maxY: 0
        }
      });
      sparkline.appendTo('#container');| -|Horizontal axis line position| Not applicable |**Property:** *axisSettings.value*

      let sparkline: Sparkline = new Sparkline({
        axisSettings: {
          value: 10
        }
      });
      sparkline.appendTo('#container');| - -## Appearance customization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Background color| **Property:** *background*

      $("#container").ejSparkline({ background: "gray" }); |**Property:** *containerArea.background*

      let sparkline: Sparkline = new Sparkline({
        containerArea: { background: "gray" }
      });
      sparkline.appendTo('#container');| -|Border color | Not applicable |**Property:** *containerArea.border.color*

      let sparkline: Sparkline = new Sparkline({
        containerArea: {
          border: { color: "green" }
        }
      });
      sparkline.appendTo('#container');| -|Border width | Not applicable |**Property:** *containerArea.border.width*

      let sparkline: Sparkline = new Sparkline({
        containerArea: {
          border: { width: 2 }
        }
      });
      sparkline.appendTo('#container');| -|Series color| **Property:** *fill*

      $("#container").ejSparkline({ fill: "green" }); |**Property:** *fill*

      let sparkline: Sparkline = new Sparkline({ fill : "green" });
      sparkline.appendTo('#container');| -|Series opacity| **Property:** *opacity*

      $("#container").ejSparkline({ opacity: 0.5 }); |**Property:** *opacity*

      let sparkline: Sparkline = new Sparkline({ opacity : 0.5 });
      sparkline.appendTo('#container');| -|Line series width| **Property:** *width*

      $("#container").ejSparkline({ width: 3 }); |**Property:** *lineWidth*

      let sparkline: Sparkline = new Sparkline({ lineWidth : 3 });
      sparkline.appendTo('#container');| -|Series border color| **Property:** *border.color*

      $("#container").ejSparkline({ border: { color: "green" } }); |**Property:** *border.color*

      let sparkline: Sparkline = new Sparkline({ border: { color: "green" } });
      sparkline.appendTo('#container');| -|Series border width| **Property:** *border.width*

      $("#container").ejSparkline({ border: { width: 2 } }); |**Property:** *border.width*

      let sparkline: Sparkline = new Sparkline({ border: { width: 2 } });
      sparkline.appendTo('#container');| -|Series palette| **Property:** *palette*

      $("#container").ejSparkline({ palette: "colorFieldNameInDatasource" }); |**Property:** *palette*

      let sparkline: Sparkline = new Sparkline({ palette : ["green", "red", "yellow"] });
      sparkline.appendTo('#container');| -|Theme| **Property:** *theme*

      $("#container").ejSparkline({ theme: "Azure" }); |**Property:** *theme*

      let sparkline: Sparkline = new Sparkline({ theme : "Material" });
      sparkline.appendTo('#container');| -|Width| **Property:** *size.width*

      $("#container").ejSparkline({ size: { width: "100%" } }); |**Property:** *width*

      let sparkline: Sparkline = new Sparkline({ width : "100%" });
      sparkline.appendTo('#container');| -|Height| **Property:** *size.height*

      $("#container").ejSparkline({ size: { height: "200px" } }); |**Property:** *height*

      let sparkline: Sparkline = new Sparkline({ height : "200px" });
      sparkline.appendTo('#container');| - -## Tooltip - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Show tooltip| **Property:** *tooltip.visible*

      $("#container").ejSparkline({
        tooltip: { visible: true }
      }); |**Property:** *tooltipSettings.visible*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: { visible: true }
      });
      sparkline.appendTo('#container');| -|Background| **Property:** *tooltip.fill*

      $("#container").ejSparkline({
        tooltip: { fill: "white" }
      }); |**Property:** *tooltipSettings.fill*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: { fill: "white" }
      });
      sparkline.appendTo('#container');| -|Format| Not applicable |**Property:** *tooltipSettings.format*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: { format: "${xval}: ${yval}" }
      });
      sparkline.appendTo('#container');| -|Template| **Property:** *tooltip.template*

      $("#container").ejSparkline({
        tooltip: { template: "tooltip" }
      }); |**Property:** *tooltipSettings.template*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: { template: "tooltip" }
      });
      sparkline.appendTo('#container');| -|Font color| **Property:** *tooltip.font.color*

      $("#container").ejSparkline({
        tooltip: {
         font: { color: "gray" }
        }
      }); |**Property:** *tooltipSettings.textStyle.color*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: {
         textStyle: { color: "gray" }
        }
      });
      sparkline.appendTo('#container');| -|Font opacity| **Property:** *tooltip.font.opacity*

      $("#container").ejSparkline({
        tooltip: {
         font: { opacity: 0.8 }
        }
      }); |**Property:** *tooltipSettings.textStyle.opacity*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: {
         textStyle: { opacity: 0.8 }
        }
      });
      sparkline.appendTo('#container');| -|Font size| **Property:** *tooltip.font.size*

      $("#container").ejSparkline({
        tooltip: {
         font: { size: "14px" }
        }
      }); |**Property:** *tooltipSettings.textStyle.size*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: {
         textStyle: { size: "14px" }
        }
      });
      sparkline.appendTo('#container');| -|Font family| **Property:** *tooltip.font.fontFamily*

      $("#container").ejSparkline({
        tooltip: {
         font: { fontFamily: "Arial" }
        }
      }); |**Property:** *tooltipSettings.textStyle.fontFamily*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: {
         textStyle: { fontFamily: "Arial" }
        }
      });
      sparkline.appendTo('#container');| -|Font style| **Property:** *tooltip.font.fontStyle*

      $("#container").ejSparkline({
        tooltip: {
         font: { fontStyle: "normal" }
        }
      }); |**Property:** *tooltipSettings.textStyle.fontStyle*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: {
         textStyle: { fontStyle: "normal" }
        }
      });
      sparkline.appendTo('#container');| -|Font weight| **Property:** *tooltip.font.fontWeight*

      $("#container").ejSparkline({
        tooltip: {
         font: { fontWeight: "bold" }
        }
      }); |**Property:** *tooltipSettings.textStyle.fontWeight*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: {
         textStyle: { fontWeight: "bold" }
        }
      });
      sparkline.appendTo('#container');| -|Enable track line| Not applicable |**Property:** *tooltipSettings.trackLineSettings.visible*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: {
         trackLineSettings: { visible: true }
        }
      });
      sparkline.appendTo('#container');| -|Track line color| Not applicable |**Property:** *tooltipSettings.trackLineSettings.color*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: {
         trackLineSettings: { color: "red" }
        }
      });
      sparkline.appendTo('#container');| -|Track line width| Not applicable |**Property:** *tooltipSettings.trackLineSettings.width*

      let sparkline: Sparkline = new Sparkline({
        tooltipSettings: {
         trackLineSettings: { width: 2 }
        }
      });
      sparkline.appendTo('#container');| - -## Rendering - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Enable canvas rendering| **Property:** *enableCanvasRendering*

      $("#container").ejSparkline({ enableCanvasRendering : true }); | Not applicable | - -## Localization - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Localization| **Property:** *locale*

      $("#container").ejSparkline({ locale : "en-US" }); | **Property:** *type*

      let sparkline: Sparkline = new Sparkline({ locale: 'en-US' });
      sparkline.appendTo('#container'); | - -## Methods - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Dynamically updating sparkline| **Method:** *redraw*

      $("#container").ejSparkline("redraw"}}); | **Method:** *refresh*

      sparkline.refresh(); | -|Append sparkline to element| Not applicable | **Method:** *appendTo*

      sparkline.appendTo("#container"); | - -## Events - -| **Behavior** | **API in Essential® JS 1** | **API in Essential® JS 2** | -| --- | --- | --- | -|Load| **Event:** *load*

      $("#container").ejSparkline({
       load: function(args) { }
      }); | **Event:** *load*

      let sparkline: Sparkline = new Sparkline({
        load: function(e: ISparklineLoadEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|Load completed| **Event:** *loaded*

      $("#container").ejSparkline({
       loaded: function(args) { }
      }); | **Event:** *loaded*

      let sparkline: Sparkline = new Sparkline({
        loaded: function(e: ISparklineLoadedEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|Initialize tooltip| **Event:** *tooltipInitialize*

      $("#container").ejSparkline({
       tooltipInitialize: function(args) { }
      }); | **Event:** *tooltipInitialize*

      let sparkline: Sparkline = new Sparkline({
        tooltipInitialize: function(e: ITooltipRenderingEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|Series rendering| **Event:** *seriesRendering*

      $("#container").ejSparkline({
       seriesRendering: function(args) { }
      }); | **Event:** *seriesRendering*

      let sparkline: Sparkline = new Sparkline({
        seriesRendering: function(e: ISeriesRenderingEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|Region mouse move| **Event:** *pointRegionMouseMove*

      $("#container").ejSparkline({
       pointRegionMouseMove: function(args) { }
      }); | **Event:** *pointRegionMouseMove*

      let sparkline: Sparkline = new Sparkline({
        pointRegionMouseMove: function(e: IPointRegionEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|Region click| **Event:** *pointRegionMouseClick*

      $("#container").ejSparkline({
       pointRegionMouseClick: function(args) { }
      }); | **Event:** *pointRegionMouseClick*

      let sparkline: Sparkline = new Sparkline({
        pointRegionMouseClick: function(e: IPointRegionEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|Mouse move| **Event:** *sparklineMouseMove*

      $("#container").ejSparkline({
       sparklineMouseMove: function(args) { }
      }); | **Event:** *sparklineMouseMove*

      let sparkline: Sparkline = new Sparkline({
        sparklineMouseMove: function(e: ISparklineMouseEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|Mouse leave| **Event:** *sparklineMouseLeave*

      $("#container").ejSparkline({
       sparklineMouseLeave: function(args) { }
      }); | Not applicable | -|Click| **Event:** *click*

      $("#container").ejSparkline({
       click: function(args) { }
      }); | **Event:** *sparklineMouseClick*

      let sparkline: Sparkline = new Sparkline({
        sparklineMouseClick: function(e: ISparklineMouseEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|doubleClick| **Event:** *doubleClick*

      $("#container").ejSparkline({
       doubleClick: function(args) { }
      }); | Not applicable | -|rightClick| **Event:** *rightClick*

      $("#container").ejSparkline({
       rightClick: function(args) { }
      }); | Not applicable | -|axisRendering| Not applicable | **Event:** *axisRendering*

      let sparkline: Sparkline = new Sparkline({
        axisRendering: function(e: IAxisRenderingEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|dataLabelRendering| Not applicable | **Event:** *dataLabelRendering*

      let sparkline: Sparkline = new Sparkline({
        dataLabelRendering: function(e: IDataLabelRenderingEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|markerRendering| Not applicable | **Event:** *markerRendering*

      let sparkline: Sparkline = new Sparkline({
        markerRendering: function(e: IMarkerRenderingEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|pointRendering| Not applicable | **Event:** *pointRendering*

      let sparkline: Sparkline = new Sparkline({
        pointRendering: function(e: ISparklinePointEventArgs): void { }
      });
      sparkline.appendTo('#container'); | -|resize| Not applicable | **Event:** *resize*

      let sparkline: Sparkline = new Sparkline({
        resize: function(e: ISparklineResizeEventArgs): void { }
      });
      sparkline.appendTo('#container'); | \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline-charts/es5-getting-started.md b/chart-sdk/javascript/sparkline-charts/es5-getting-started.md deleted file mode 100644 index aac69ec0b..000000000 --- a/chart-sdk/javascript/sparkline-charts/es5-getting-started.md +++ /dev/null @@ -1,153 +0,0 @@ ---- -layout: post -title: ES5 getting started with JavaScript Sparkline control | Syncfusion -description: Checkout and learn about ES5 getting started with JavaScript Sparkline control of Syncfusion Essential JS 2 and more details. -platform: chart-sdk -control: ES5 getting started -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# ES5 getting started in JavaScript Sparkline control - -The Essential® JS 2 for JavaScript (global script) is a pure ES5-based JavaScript framework that can be used directly in the latest web browsers. - -## Dependencies - -The following list of minimum dependencies are required to use the sparkline: - -```javascript -|-- @syncfusion/ej2-charts - |-- @syncfusion/ej2-base - |-- @syncfusion/ej2-data - |-- @syncfusion/ej2-svg-base -``` - -## Control Initialization - -The Essential® JS 2 JavaScript controls support initialization through either of the following approaches. - -* Using local script references in a HTML page. -* Using CDN link for script reference. - -### Using local script references in a HTML page - -**Step 1:** Create an app folder `quickstart` for getting started. - -**Step 2:** You can get the global scripts from the [Essential Studio® JavaScript (Essential® JS 2)](https://www.syncfusion.com/downloads/essential-js2) build installed location. - -**Syntax:** -> Dependency script: `**(installed location)**/Syncfusion/Essential Studio/JavaScript - EJ2/{RELEASE_VERSION}/Web (Essential JS 2)/JavaScript/{DEPENDENCY_PACKAGE_NAME}/dist/global/{DEPENDENCY_PACKAGE_NAME}.min.js` -> -> Script: `**(installed location)**/Syncfusion/Essential Studio/JavaScript - EJ2/{RELEASE_VERSION}/Web (Essential JS 2)/JavaScript/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js` - -**Example:** -> Dependency script: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript - EJ2/32.1.19/Web (Essential JS 2)/JavaScript/ej2-base/dist/global/ej2-base.min.js` -> -> Script: `C:/Program Files (x86)/Syncfusion/Essential Studio/JavaScript - EJ2/32.1.19/Web (Essential JS 2)/JavaScript/ej2-charts/dist/global/ej2-charts.min.js` - -The below located script file contains all Syncfusion® JavaScript (ES5) UI control resources in a single file. - -> Scripts: `**(installed location)**\Syncfusion\Essential Studio\JavaScript - EJ2\{RELEASE_VERSION}\Web (Essential JS 2)\JavaScript\ej2\dist\ej2.min.js` - -The [`Custom Resource Generator (CRG)`](https://crg.syncfusion.com/) is an online web tool, which can be used to generate the custom script for a set of specific controls. This web tool is useful to combine the required control scripts in a single file. - -**Step 3:** Create a folder `~/quickstart/resources` and copy/paste the global scripts from the above installed location to `~/quickstart/resources/package` corresponding package location. - -**Step 4:** Create a HTML page (index.html) in `~/quickstart/index.html` and add the Essential® JS 2 script references. - -```html - - - - Essential JS 2 - - - - - - - - - - - - -``` - -**Step 5:** Now, add the `Charts` element and initiate the **Syncfusion® JavaScript (ES5) Charts** control in the `~/quickstart/index.html` by using following code. - -```html - - - - Essential JS 2 - - - - - - - - - Sparkline - - - -``` - -**Step 6:** Now, run the `index.html` in web browser, it will render the **Syncfusion® JavaScript Sparkline** control. - -## Bind data source to sparkline - -The `dataSource` property enables data binding for the sparkline. It accepts a collection of values as input, such as a list of objects. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs1" %} - -## Change the type of sparkline - -The sparkline type can be configured using the `type` property, which supports `Line`, `Column`, `WinLoss`, `Pie`, and `Area`. Here, the `area` type is applied. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs2" %} - -## Enable tooltip for sparkline - -The sparkline provides additional information through a tooltip that appears when the mouse pointer hovers over the chart. You can enable tooltip by setting the [`visible`] property to true in [`tooltipSettings`] and injecting `SparklineTooltip` module using the `Sparkline.Inject(SparklineTooltip )` method. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs3" %} \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline-charts/localization.md b/chart-sdk/javascript/sparkline-charts/localization.md deleted file mode 100644 index a63461d92..000000000 --- a/chart-sdk/javascript/sparkline-charts/localization.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: post -title: Localization in JavaScript Sparkline control | Syncfusion -description: Learn here all about Localization in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Localization -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Localization in JavaScript Sparkline control - -The sparkline control supports localization. The default culture for localization is `en-US`. You can change the culture using the `setCulture` method. - -## Tooltip format - -Sparkline tooltip supports localization. The following code sample shows tooltip text with currency format based on culture. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/localization-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/localization-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/localization-cs1" %} - -## RTL - -If you set the `enableRtl` property to true, then the sparkline will be rendered from right-to-left direction. - -The following example shows the sparkline is render from "Right-to-left". - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/localization-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/localization-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/localization-cs2" %} \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline-charts/marker.md b/chart-sdk/javascript/sparkline-charts/marker.md deleted file mode 100644 index e1bb05270..000000000 --- a/chart-sdk/javascript/sparkline-charts/marker.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -layout: post -title: Marker in JavaScript Sparkline control | Syncfusion -description: Learn here all about Marker in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Marker -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Marker in JavaScript Sparkline control - -This section explains how to add markers to the sparklines. - -## Adding marker to the sparkline - -To add marker to the sparkline, specify the `visible` of `markerSettings` as following values. The `visible` will accept multiple values too. - -* All - Enables markers for all points. -* Start - Enables marker for the start point. -* End - Enables marker for the end point. -* High - Enables marker for the high point. -* Low - Enables marker for the low point. -* Negative - Enables markers for the negative points. - -The following code example shows enabling markers for all points. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/marker-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/marker-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/marker-cs1" %} - -## Adding marker to special point - -In sparkline, markers can be enabled for particular points such as the start, end, low, high, or negative. The following code examples shows enabling markers for the high and low points. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/marker-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/marker-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/marker-cs2" %} - -## Customizing markers - -Sparkline markers can be customized in terms of fill color, border color, width, opacity, and size. The following code example shows customizing marker's fill, border, and size. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/marker-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/marker-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/marker-cs3" %} \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline-charts/range-band.md b/chart-sdk/javascript/sparkline-charts/range-band.md deleted file mode 100644 index 194227956..000000000 --- a/chart-sdk/javascript/sparkline-charts/range-band.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -layout: post -title: Range band in JavaScript Sparkline control | Syncfusion -description: Learn here all about Range band in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Range band -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Range band in JavaScript Sparkline control - -This section explains how to customize the sparkline with multiple range bands. - -## Range band customization - -The range band feature is used to highlight a particular range along with the y-axis using the [`startRange`] and [`endRange`] properties. You can also customize the [`color`] and [`opacity`] of the range band. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/range-band-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/range-band-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/range-band-cs1" %} - -## Multiple range band customization - -You can define multiple range bands to a sparkline as shown in the following code sample. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/range-band-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/range-band-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/range-band-cs2" %} diff --git a/chart-sdk/javascript/sparkline-charts/sparkline-dimensions.md b/chart-sdk/javascript/sparkline-charts/sparkline-dimensions.md deleted file mode 100644 index 98833d30b..000000000 --- a/chart-sdk/javascript/sparkline-charts/sparkline-dimensions.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -layout: post -title: Sparkline dimensions in JavaScript Sparkline control | Syncfusion -description: Learn here all about Sparkline dimensions in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Sparkline dimensions -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Sparkline dimensions in JavaScript Sparkline control - -## Size for container - -Sparkline can be rendered to its container size. You can set the size through inline or CSS as shown in the following code. - -``` -
      -
      -
      -``` -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-dimensions-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-dimensions-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-dimensions-cs1" %} - -## Size for sparkline - -You can also set the size for sparkline directly using the [`width`](../../api/sparkline/#width-string) and [`height`](../../api/sparkline/#height-string) properties. - -**In pixel** - -You can set the size for sparkline in pixel as demonstrated in the following code. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-dimensions-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-dimensions-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-dimensions-cs2" %} - -**In percentage** - -By setting values in percentage, sparkline gets its dimension with respect to its container. For example, when the height is set to ‘50%’, sparkline is rendered to half of its container height. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-dimensions-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-dimensions-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-dimensions-cs3" %} diff --git a/chart-sdk/javascript/sparkline-charts/sparkline-types.md b/chart-sdk/javascript/sparkline-charts/sparkline-types.md deleted file mode 100644 index 99894dc87..000000000 --- a/chart-sdk/javascript/sparkline-charts/sparkline-types.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -layout: post -title: Sparkline types in JavaScript Sparkline control | Syncfusion -description: Learn here all about Sparkline types in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Sparkline types -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Sparkline types in JavaScript Sparkline control - -Different types of shapes can be used to represent the sparkline. You can change the sparkline type by setting the type property. Sparkline supports the following types: - -* Line -* Column -* Win-Loss -* Pie -* Area - -The following code sample shows different types of sparklines. - -**Line** - -The [`Line`] type is used to render the sparkline series as line. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs1" %} - -**Column** - -The [`Column`] type is used to render the sparkline series as column. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs2" %} - -**Pie** - -The [`Pie`] type is used to render the sparkline series as pie. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs3" %} - -**WinLoss** - -The [`WinLoss`] type is used to render the sparkline series as WinLoss. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs4/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs4/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs4" %} - -**Area** - -The [`Area`] type is used to render the sparkline series as area. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs5/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs5/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/sparkline-types-cs5" %} \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline-charts/special-points-customization.md b/chart-sdk/javascript/sparkline-charts/special-points-customization.md deleted file mode 100644 index 85bc39351..000000000 --- a/chart-sdk/javascript/sparkline-charts/special-points-customization.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -layout: post -title: Special points customization in JavaScript Sparkline | Syncfusion -description: Learn here all about Special points customization in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: Special points customization -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Special points customization in JavaScript Sparkline control - -You can customize the points by initializing the point colors. The customization options allows to differentiate the [`start`], [`end`], [`positive`], [`negative`], and [`low`] points. This customization is only applicable for line, column, and area type sparklines. - -{% tabs %} -{% highlight ts tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/specialpoint-customization-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/specialpoint-customization-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/specialpoint-customization-cs1" %} - -**Tie point color** - -Tie point color is used to configure the win-loss series type sparkline's y-value point color. The following code sample shows the tie point color of sparkline series. - -{% tabs %} -{% highlight ts tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/specialpoint-customization-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/specialpoint-customization-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/specialpoint-customization-cs2" %} diff --git a/chart-sdk/javascript/sparkline-charts/user-interaction.md b/chart-sdk/javascript/sparkline-charts/user-interaction.md deleted file mode 100644 index 35664589f..000000000 --- a/chart-sdk/javascript/sparkline-charts/user-interaction.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -layout: post -title: User interaction in JavaScript Sparkline control | Syncfusion -description: Learn here all about User interaction in Syncfusion JavaScript Sparkline control of Syncfusion Essential JS 2 and more. -platform: chart-sdk -control: User interaction -publishingplatform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# User interaction in JavaScript Sparkline control - -Sparkline has two user interaction features: tooltip and tracker line. - -## Tooltip - -The sparkline provides options to display details about values of data points through tooltips when hovering the mouse over data point. To use tooltip in sparkline, inject the `SparklineTooltip` module to sparkline using the inject method. - -The following code example shows enabling tooltip for sparkline with format. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs1/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs1" %} - -### Tooltip customization - -The fill color, text styles, format, and border of the tooltip can be customized. The following code example shows customization of tooltip's fill color and text style. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs2/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs2/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs2" %} - -### Inline tooltip formatting - -The tooltip content can be formatted directly within the [`format`] property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. - -A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. - -For example: - -```js -tooltipSettings: { - visible: true, - format: '${x:MMM yyyy} : ${y:n2}' -} -``` - -In the above example, `x` is displayed in month-year format and `y` is displayed with two decimal places. - -Inline formatting can be applied to the following tooltip tokens: - -- `${x}` or `${x:MMM yyyy}` – Specifies the x-value of the Sparkline data point, such as DateTime or category values. -- `${y}` or `${y:n2}` – Specifies the numeric y-value of the Sparkline data point. - -**Important:** DateTime formatting is applied when the resolved value is a Date object, and number formatting is applied when the resolved value is numeric. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimals - - `c2` – currency format - - `p1` – percentage format - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs5/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs5/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs5" %} - -### Tooltip template - -Sparkline tooltip has template support. By using tooltip template, you can customize tooltips. The following code example shows more customization options provided to `spark tooltip` css class that is used in tooltip template div. Using this template, images also can be added to tooltip. - -``` -.sparktooltip { - border-radius: 5px; - background: #008cff; - color: #FFFFFF !important; - font-size: 16px; - font-style: italic; - padding: 8px; -} -``` - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs3/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs3/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs3" %} - -## Track line - -The track line tracks data points that are closer to the mouse position or touch contact. - -To enable track lines for sparkline, specify the `visible` option of `trackLineSettings` to true. Based on theme, tracker color will be changed. The default value of tracker color is black. - -To use track line in sparkline, inject the `SparklineTooltip` module to sparkline using the inject method. - -{% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs4/index.js %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs4/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sparkline-charts/user-interaction-cs4" %} \ No newline at end of file diff --git a/chart-sdk/javascript/sparkline/es5-getting-started.md b/chart-sdk/javascript/sparkline/es5-getting-started.md index 4736f6200..dfafe37ac 100644 --- a/chart-sdk/javascript/sparkline/es5-getting-started.md +++ b/chart-sdk/javascript/sparkline/es5-getting-started.md @@ -69,10 +69,10 @@ The global scripts added in the previous step register the `ej.charts.Sparkline` {% tabs %} {% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/index.js %} +{% include code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs1/index.js %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sparkline-charts/index.html %} +{% include code-snippet/chart-sdk/javascript/sparkline-charts/getting-started-cs1/index.html %} {% endhighlight %} {% endtabs %} diff --git a/chart-sdk/javascript/stock-chart/accessibility.md b/chart-sdk/javascript/stock-charts/accessibility.md similarity index 100% rename from chart-sdk/javascript/stock-chart/accessibility.md rename to chart-sdk/javascript/stock-charts/accessibility.md diff --git a/chart-sdk/javascript/stock-chart/appearance.md b/chart-sdk/javascript/stock-charts/appearance.md similarity index 100% rename from chart-sdk/javascript/stock-chart/appearance.md rename to chart-sdk/javascript/stock-charts/appearance.md diff --git a/chart-sdk/javascript/stock-chart/axis-customization.md b/chart-sdk/javascript/stock-charts/axis-customization.md similarity index 100% rename from chart-sdk/javascript/stock-chart/axis-customization.md rename to chart-sdk/javascript/stock-charts/axis-customization.md diff --git a/chart-sdk/javascript/stock-chart/axis-types.md b/chart-sdk/javascript/stock-charts/axis-types.md similarity index 100% rename from chart-sdk/javascript/stock-chart/axis-types.md rename to chart-sdk/javascript/stock-charts/axis-types.md diff --git a/chart-sdk/javascript/stock-chart/chart-dimensions.md b/chart-sdk/javascript/stock-charts/chart-dimensions.md similarity index 100% rename from chart-sdk/javascript/stock-chart/chart-dimensions.md rename to chart-sdk/javascript/stock-charts/chart-dimensions.md diff --git a/chart-sdk/javascript/stock-chart/cross-hair.md b/chart-sdk/javascript/stock-charts/cross-hair.md similarity index 100% rename from chart-sdk/javascript/stock-chart/cross-hair.md rename to chart-sdk/javascript/stock-charts/cross-hair.md diff --git a/chart-sdk/javascript/stock-chart/es5-getting-started.md b/chart-sdk/javascript/stock-charts/es5-getting-started.md similarity index 100% rename from chart-sdk/javascript/stock-chart/es5-getting-started.md rename to chart-sdk/javascript/stock-charts/es5-getting-started.md diff --git a/chart-sdk/javascript/stock-chart/export-print.md b/chart-sdk/javascript/stock-charts/export-print.md similarity index 100% rename from chart-sdk/javascript/stock-chart/export-print.md rename to chart-sdk/javascript/stock-charts/export-print.md diff --git a/chart-sdk/javascript/stock-chart/gradient.md b/chart-sdk/javascript/stock-charts/gradient.md similarity index 100% rename from chart-sdk/javascript/stock-chart/gradient.md rename to chart-sdk/javascript/stock-charts/gradient.md diff --git a/chart-sdk/javascript/stock-chart/images/stockchart.png b/chart-sdk/javascript/stock-charts/images/stockchart.png similarity index 100% rename from chart-sdk/javascript/stock-chart/images/stockchart.png rename to chart-sdk/javascript/stock-charts/images/stockchart.png diff --git a/chart-sdk/javascript/stock-chart/legend.md b/chart-sdk/javascript/stock-charts/legend.md similarity index 100% rename from chart-sdk/javascript/stock-chart/legend.md rename to chart-sdk/javascript/stock-charts/legend.md diff --git a/chart-sdk/javascript/stock-chart/period-selector.md b/chart-sdk/javascript/stock-charts/period-selector.md similarity index 100% rename from chart-sdk/javascript/stock-chart/period-selector.md rename to chart-sdk/javascript/stock-charts/period-selector.md diff --git a/chart-sdk/javascript/stock-chart/range-selector.md b/chart-sdk/javascript/stock-charts/range-selector.md similarity index 100% rename from chart-sdk/javascript/stock-chart/range-selector.md rename to chart-sdk/javascript/stock-charts/range-selector.md diff --git a/chart-sdk/javascript/stock-chart/series-types.md b/chart-sdk/javascript/stock-charts/series-types.md similarity index 100% rename from chart-sdk/javascript/stock-chart/series-types.md rename to chart-sdk/javascript/stock-charts/series-types.md diff --git a/chart-sdk/javascript/stock-chart/stock-events.md b/chart-sdk/javascript/stock-charts/stock-events.md similarity index 100% rename from chart-sdk/javascript/stock-chart/stock-events.md rename to chart-sdk/javascript/stock-charts/stock-events.md diff --git a/chart-sdk/javascript/stock-chart/summary.md b/chart-sdk/javascript/stock-charts/summary.md similarity index 100% rename from chart-sdk/javascript/stock-chart/summary.md rename to chart-sdk/javascript/stock-charts/summary.md diff --git a/chart-sdk/javascript/stock-chart/technical-indicators.md b/chart-sdk/javascript/stock-charts/technical-indicators.md similarity index 100% rename from chart-sdk/javascript/stock-chart/technical-indicators.md rename to chart-sdk/javascript/stock-charts/technical-indicators.md diff --git a/chart-sdk/javascript/stock-chart/tool-tip.md b/chart-sdk/javascript/stock-charts/tool-tip.md similarity index 100% rename from chart-sdk/javascript/stock-chart/tool-tip.md rename to chart-sdk/javascript/stock-charts/tool-tip.md diff --git a/chart-sdk/javascript/stock-chart/trend-lines.md b/chart-sdk/javascript/stock-charts/trend-lines.md similarity index 100% rename from chart-sdk/javascript/stock-chart/trend-lines.md rename to chart-sdk/javascript/stock-charts/trend-lines.md diff --git a/chart-sdk/javascript/stock-chart/working-with-data.md b/chart-sdk/javascript/stock-charts/working-with-data.md similarity index 100% rename from chart-sdk/javascript/stock-chart/working-with-data.md rename to chart-sdk/javascript/stock-charts/working-with-data.md diff --git a/chart-sdk/overview.md b/chart-sdk/overview.md index c06b5ea38..003bb3c11 100644 --- a/chart-sdk/overview.md +++ b/chart-sdk/overview.md @@ -18,21 +18,21 @@ Available Platforms: {% doccards %} -{% doccard text="React" link="https://help.syncfusion.com/chart-sdk/react/chart/getting-started" icon="/chart-sdk/images/React.svg" %} +{% doccard text="React" link="https://help.syncfusion.com/chart-sdk/react/charts/getting-started" icon="/chart-sdk/images/React.svg" %} -{% doccard text="Angular" link="https://help.syncfusion.com/chart-sdk/angular/chart/getting-started" icon="/chart-sdk/images/Angular.svg" %} +{% doccard text="Angular" link="https://help.syncfusion.com/chart-sdk/angular/charts/getting-started" icon="/chart-sdk/images/Angular.svg" %} {% doccard text="Blazor" link="https://help.syncfusion.com/chart-sdk/blazor/charts/getting-started-with-web-app" icon="/chart-sdk/images/Blazor.svg" %} -{% doccard text="JavaScript" link="https://help.syncfusion.com/chart-sdk/javascript/chart/es5-getting-started" icon="/chart-sdk/images/JavaScript.svg" %} +{% doccard text="JavaScript" link="https://help.syncfusion.com/chart-sdk/javascript/charts/es5-getting-started" icon="/chart-sdk/images/JavaScript.svg" %} -{% doccard text="TypeScript" link="https://help.syncfusion.com/chart-sdk/typescript/chart/getting-started" icon="/chart-sdk/images/Typescript.svg" %} +{% doccard text="TypeScript" link="https://help.syncfusion.com/chart-sdk/typescript/charts/getting-started" icon="/chart-sdk/images/Typescript.svg" %} -{% doccard text="Vue" link="https://help.syncfusion.com/chart-sdk/vue/chart/getting-started" icon="/chart-sdk/images/Vue.svg" %} +{% doccard text="Vue" link="https://help.syncfusion.com/chart-sdk/vue/charts/getting-started" icon="/chart-sdk/images/Vue.svg" %} -{% doccard text="ASP.NET Core" link="https://help.syncfusion.com/chart-sdk/asp-net-core/chart/getting-started" icon="/chart-sdk/images/ASP.NET Core.png" %} +{% doccard text="ASP.NET Core" link="https://help.syncfusion.com/chart-sdk/asp-net-core/charts/getting-started" icon="/chart-sdk/images/ASP.NET Core.png" %} -{% doccard text="ASP.NET MVC" link="https://help.syncfusion.com/chart-sdk/asp-net-mvc/chart/getting-started" icon="/chart-sdk/images/ASP.NET MVC.png" %} +{% doccard text="ASP.NET MVC" link="https://help.syncfusion.com/chart-sdk/asp-net-mvc/charts/getting-started" icon="/chart-sdk/images/ASP.NET MVC.png" %} {% doccard text=".NET MAUI" link="https://help.syncfusion.com/chart-sdk/maui/funnel-chart/overview" icon="/chart-sdk/images/dotnet_maui.svg" %} diff --git a/chart-sdk/react/3d-chart/Chart-types/bar.md b/chart-sdk/react/3d-charts/Chart-types/bar.md similarity index 100% rename from chart-sdk/react/3d-chart/Chart-types/bar.md rename to chart-sdk/react/3d-charts/Chart-types/bar.md diff --git a/chart-sdk/react/3d-chart/Chart-types/column.md b/chart-sdk/react/3d-charts/Chart-types/column.md similarity index 100% rename from chart-sdk/react/3d-chart/Chart-types/column.md rename to chart-sdk/react/3d-charts/Chart-types/column.md diff --git a/chart-sdk/react/3d-chart/Chart-types/stack-bar.md b/chart-sdk/react/3d-charts/Chart-types/stack-bar.md similarity index 100% rename from chart-sdk/react/3d-chart/Chart-types/stack-bar.md rename to chart-sdk/react/3d-charts/Chart-types/stack-bar.md diff --git a/chart-sdk/react/3d-chart/Chart-types/stack-column.md b/chart-sdk/react/3d-charts/Chart-types/stack-column.md similarity index 100% rename from chart-sdk/react/3d-chart/Chart-types/stack-column.md rename to chart-sdk/react/3d-charts/Chart-types/stack-column.md diff --git a/chart-sdk/react/3d-chart/Chart-types/stacked-bar.md b/chart-sdk/react/3d-charts/Chart-types/stacked-bar.md similarity index 100% rename from chart-sdk/react/3d-chart/Chart-types/stacked-bar.md rename to chart-sdk/react/3d-charts/Chart-types/stacked-bar.md diff --git a/chart-sdk/react/3d-chart/Chart-types/stacked-column.md b/chart-sdk/react/3d-charts/Chart-types/stacked-column.md similarity index 100% rename from chart-sdk/react/3d-chart/Chart-types/stacked-column.md rename to chart-sdk/react/3d-charts/Chart-types/stacked-column.md diff --git a/chart-sdk/react/3d-chart/accessibility.md b/chart-sdk/react/3d-charts/accessibility.md similarity index 100% rename from chart-sdk/react/3d-chart/accessibility.md rename to chart-sdk/react/3d-charts/accessibility.md diff --git a/chart-sdk/react/3d-chart/appearance.md b/chart-sdk/react/3d-charts/appearance.md similarity index 100% rename from chart-sdk/react/3d-chart/appearance.md rename to chart-sdk/react/3d-charts/appearance.md diff --git a/chart-sdk/react/3d-chart/axis-customization.md b/chart-sdk/react/3d-charts/axis-customization.md similarity index 100% rename from chart-sdk/react/3d-chart/axis-customization.md rename to chart-sdk/react/3d-charts/axis-customization.md diff --git a/chart-sdk/react/3d-chart/axis-labels.md b/chart-sdk/react/3d-charts/axis-labels.md similarity index 100% rename from chart-sdk/react/3d-chart/axis-labels.md rename to chart-sdk/react/3d-charts/axis-labels.md diff --git a/chart-sdk/react/3d-chart/category-axis.md b/chart-sdk/react/3d-charts/category-axis.md similarity index 100% rename from chart-sdk/react/3d-chart/category-axis.md rename to chart-sdk/react/3d-charts/category-axis.md diff --git a/chart-sdk/react/3d-chart/data-label.md b/chart-sdk/react/3d-charts/data-label.md similarity index 100% rename from chart-sdk/react/3d-chart/data-label.md rename to chart-sdk/react/3d-charts/data-label.md diff --git a/chart-sdk/react/3d-chart/datetime-axis.md b/chart-sdk/react/3d-charts/datetime-axis.md similarity index 100% rename from chart-sdk/react/3d-chart/datetime-axis.md rename to chart-sdk/react/3d-charts/datetime-axis.md diff --git a/chart-sdk/react/3d-chart/dimensions.md b/chart-sdk/react/3d-charts/dimensions.md similarity index 100% rename from chart-sdk/react/3d-chart/dimensions.md rename to chart-sdk/react/3d-charts/dimensions.md diff --git a/chart-sdk/react/3d-chart/getting-started.md b/chart-sdk/react/3d-charts/getting-started.md similarity index 100% rename from chart-sdk/react/3d-chart/getting-started.md rename to chart-sdk/react/3d-charts/getting-started.md diff --git a/chart-sdk/react/3d-chart/images/Initial-setup.jpg b/chart-sdk/react/3d-charts/images/Initial-setup.jpg similarity index 100% rename from chart-sdk/react/3d-chart/images/Initial-setup.jpg rename to chart-sdk/react/3d-charts/images/Initial-setup.jpg diff --git a/chart-sdk/react/3d-chart/legend.md b/chart-sdk/react/3d-charts/legend.md similarity index 100% rename from chart-sdk/react/3d-chart/legend.md rename to chart-sdk/react/3d-charts/legend.md diff --git a/chart-sdk/react/3d-chart/logarithmic-axis.md b/chart-sdk/react/3d-charts/logarithmic-axis.md similarity index 100% rename from chart-sdk/react/3d-chart/logarithmic-axis.md rename to chart-sdk/react/3d-charts/logarithmic-axis.md diff --git a/chart-sdk/react/3d-chart/multiple-pane.md b/chart-sdk/react/3d-charts/multiple-pane.md similarity index 100% rename from chart-sdk/react/3d-chart/multiple-pane.md rename to chart-sdk/react/3d-charts/multiple-pane.md diff --git a/chart-sdk/react/3d-chart/numeric-axis.md b/chart-sdk/react/3d-charts/numeric-axis.md similarity index 100% rename from chart-sdk/react/3d-chart/numeric-axis.md rename to chart-sdk/react/3d-charts/numeric-axis.md diff --git a/chart-sdk/react/3d-chart/print-export.md b/chart-sdk/react/3d-charts/print-export.md similarity index 100% rename from chart-sdk/react/3d-chart/print-export.md rename to chart-sdk/react/3d-charts/print-export.md diff --git a/chart-sdk/react/3d-chart/selection.md b/chart-sdk/react/3d-charts/selection.md similarity index 100% rename from chart-sdk/react/3d-chart/selection.md rename to chart-sdk/react/3d-charts/selection.md diff --git a/chart-sdk/react/3d-chart/tool-tip.md b/chart-sdk/react/3d-charts/tool-tip.md similarity index 100% rename from chart-sdk/react/3d-chart/tool-tip.md rename to chart-sdk/react/3d-charts/tool-tip.md diff --git a/chart-sdk/react/3d-chart/workig-with-data.md b/chart-sdk/react/3d-charts/workig-with-data.md similarity index 100% rename from chart-sdk/react/3d-chart/workig-with-data.md rename to chart-sdk/react/3d-charts/workig-with-data.md diff --git a/chart-sdk/react/circular-chart-3d/data-label.md b/chart-sdk/react/3d-circular-charts/data-label.md similarity index 100% rename from chart-sdk/react/circular-chart-3d/data-label.md rename to chart-sdk/react/3d-circular-charts/data-label.md diff --git a/chart-sdk/react/circular-chart-3d/empty-points.md b/chart-sdk/react/3d-circular-charts/empty-points.md similarity index 100% rename from chart-sdk/react/circular-chart-3d/empty-points.md rename to chart-sdk/react/3d-circular-charts/empty-points.md diff --git a/chart-sdk/react/circular-chart-3d/getting-started.md b/chart-sdk/react/3d-circular-charts/getting-started.md similarity index 100% rename from chart-sdk/react/circular-chart-3d/getting-started.md rename to chart-sdk/react/3d-circular-charts/getting-started.md diff --git a/chart-sdk/react/accumulation-chart/images/Initial-setup.jpg b/chart-sdk/react/3d-circular-charts/images/Initial-setup.jpg similarity index 100% rename from chart-sdk/react/accumulation-chart/images/Initial-setup.jpg rename to chart-sdk/react/3d-circular-charts/images/Initial-setup.jpg diff --git a/chart-sdk/react/circular-chart-3d/legend.md b/chart-sdk/react/3d-circular-charts/legend.md similarity index 100% rename from chart-sdk/react/circular-chart-3d/legend.md rename to chart-sdk/react/3d-circular-charts/legend.md diff --git a/chart-sdk/react/circular-chart-3d/pie-donut-chart.md b/chart-sdk/react/3d-circular-charts/pie-donut-chart.md similarity index 100% rename from chart-sdk/react/circular-chart-3d/pie-donut-chart.md rename to chart-sdk/react/3d-circular-charts/pie-donut-chart.md diff --git a/chart-sdk/react/circular-chart-3d/print-and-export.md b/chart-sdk/react/3d-circular-charts/print-and-export.md similarity index 100% rename from chart-sdk/react/circular-chart-3d/print-and-export.md rename to chart-sdk/react/3d-circular-charts/print-and-export.md diff --git a/chart-sdk/react/circular-chart-3d/title-and-subtitle.md b/chart-sdk/react/3d-circular-charts/title-and-subtitle.md similarity index 100% rename from chart-sdk/react/circular-chart-3d/title-and-subtitle.md rename to chart-sdk/react/3d-circular-charts/title-and-subtitle.md diff --git a/chart-sdk/react/circular-chart-3d/tooltip.md b/chart-sdk/react/3d-circular-charts/tooltip.md similarity index 100% rename from chart-sdk/react/circular-chart-3d/tooltip.md rename to chart-sdk/react/3d-circular-charts/tooltip.md diff --git a/chart-sdk/react/accumulation-chart/accessibility.md b/chart-sdk/react/accumulation-charts/accessibility.md similarity index 100% rename from chart-sdk/react/accumulation-chart/accessibility.md rename to chart-sdk/react/accumulation-charts/accessibility.md diff --git a/chart-sdk/react/accumulation-chart/advanced-accessibility-configuration.md b/chart-sdk/react/accumulation-charts/advanced-accessibility-configuration.md similarity index 100% rename from chart-sdk/react/accumulation-chart/advanced-accessibility-configuration.md rename to chart-sdk/react/accumulation-charts/advanced-accessibility-configuration.md diff --git a/chart-sdk/react/accumulation-chart/annotation.md b/chart-sdk/react/accumulation-charts/annotation.md similarity index 100% rename from chart-sdk/react/accumulation-chart/annotation.md rename to chart-sdk/react/accumulation-charts/annotation.md diff --git a/chart-sdk/react/accumulation-chart/api.md b/chart-sdk/react/accumulation-charts/api.md similarity index 100% rename from chart-sdk/react/accumulation-chart/api.md rename to chart-sdk/react/accumulation-charts/api.md diff --git a/chart-sdk/react/accumulation-chart/appearance.md b/chart-sdk/react/accumulation-charts/appearance.md similarity index 100% rename from chart-sdk/react/accumulation-chart/appearance.md rename to chart-sdk/react/accumulation-charts/appearance.md diff --git a/chart-sdk/react/accumulation-chart/centerlabel.md b/chart-sdk/react/accumulation-charts/centerlabel.md similarity index 100% rename from chart-sdk/react/accumulation-chart/centerlabel.md rename to chart-sdk/react/accumulation-charts/centerlabel.md diff --git a/chart-sdk/react/accumulation-chart/chart-print.md b/chart-sdk/react/accumulation-charts/chart-print.md similarity index 100% rename from chart-sdk/react/accumulation-chart/chart-print.md rename to chart-sdk/react/accumulation-charts/chart-print.md diff --git a/chart-sdk/react/accumulation-chart/data-label.md b/chart-sdk/react/accumulation-charts/data-label.md similarity index 100% rename from chart-sdk/react/accumulation-chart/data-label.md rename to chart-sdk/react/accumulation-charts/data-label.md diff --git a/chart-sdk/react/accumulation-chart/dynamic-data-update.md b/chart-sdk/react/accumulation-charts/dynamic-data-update.md similarity index 100% rename from chart-sdk/react/accumulation-chart/dynamic-data-update.md rename to chart-sdk/react/accumulation-charts/dynamic-data-update.md diff --git a/chart-sdk/react/accumulation-chart/ej1-api-migration.md b/chart-sdk/react/accumulation-charts/ej1-api-migration.md similarity index 100% rename from chart-sdk/react/accumulation-chart/ej1-api-migration.md rename to chart-sdk/react/accumulation-charts/ej1-api-migration.md diff --git a/chart-sdk/react/accumulation-chart/empty-points.md b/chart-sdk/react/accumulation-charts/empty-points.md similarity index 100% rename from chart-sdk/react/accumulation-chart/empty-points.md rename to chart-sdk/react/accumulation-charts/empty-points.md diff --git a/chart-sdk/react/accumulation-chart/funnel.md b/chart-sdk/react/accumulation-charts/funnel.md similarity index 100% rename from chart-sdk/react/accumulation-chart/funnel.md rename to chart-sdk/react/accumulation-charts/funnel.md diff --git a/chart-sdk/react/accumulation-chart/getting-started.md b/chart-sdk/react/accumulation-charts/getting-started.md similarity index 100% rename from chart-sdk/react/accumulation-chart/getting-started.md rename to chart-sdk/react/accumulation-charts/getting-started.md diff --git a/chart-sdk/react/accumulation-chart/gradient.md b/chart-sdk/react/accumulation-charts/gradient.md similarity index 100% rename from chart-sdk/react/accumulation-chart/gradient.md rename to chart-sdk/react/accumulation-charts/gradient.md diff --git a/chart-sdk/react/accumulation-chart/grouping.md b/chart-sdk/react/accumulation-charts/grouping.md similarity index 100% rename from chart-sdk/react/accumulation-chart/grouping.md rename to chart-sdk/react/accumulation-charts/grouping.md diff --git a/chart-sdk/react/chart/images/Initial-setup.jpg b/chart-sdk/react/accumulation-charts/images/Initial-setup.jpg similarity index 100% rename from chart-sdk/react/chart/images/Initial-setup.jpg rename to chart-sdk/react/accumulation-charts/images/Initial-setup.jpg diff --git a/chart-sdk/react/accumulation-chart/images/pie-chart.png b/chart-sdk/react/accumulation-charts/images/pie-chart.png similarity index 100% rename from chart-sdk/react/accumulation-chart/images/pie-chart.png rename to chart-sdk/react/accumulation-charts/images/pie-chart.png diff --git a/chart-sdk/react/accumulation-chart/legend.md b/chart-sdk/react/accumulation-charts/legend.md similarity index 100% rename from chart-sdk/react/accumulation-chart/legend.md rename to chart-sdk/react/accumulation-charts/legend.md diff --git a/chart-sdk/react/accumulation-chart/pie-dough-nut.md b/chart-sdk/react/accumulation-charts/pie-dough-nut.md similarity index 100% rename from chart-sdk/react/accumulation-chart/pie-dough-nut.md rename to chart-sdk/react/accumulation-charts/pie-dough-nut.md diff --git a/chart-sdk/react/accumulation-chart/pyramid.md b/chart-sdk/react/accumulation-charts/pyramid.md similarity index 100% rename from chart-sdk/react/accumulation-chart/pyramid.md rename to chart-sdk/react/accumulation-charts/pyramid.md diff --git a/chart-sdk/react/accumulation-chart/title-and-sub-title.md b/chart-sdk/react/accumulation-charts/title-and-sub-title.md similarity index 100% rename from chart-sdk/react/accumulation-chart/title-and-sub-title.md rename to chart-sdk/react/accumulation-charts/title-and-sub-title.md diff --git a/chart-sdk/react/accumulation-chart/tool-tip.md b/chart-sdk/react/accumulation-charts/tool-tip.md similarity index 100% rename from chart-sdk/react/accumulation-chart/tool-tip.md rename to chart-sdk/react/accumulation-charts/tool-tip.md diff --git a/chart-sdk/react/bullet-chart/accessibility.md b/chart-sdk/react/bullet-charts/accessibility.md similarity index 100% rename from chart-sdk/react/bullet-chart/accessibility.md rename to chart-sdk/react/bullet-charts/accessibility.md diff --git a/chart-sdk/react/bullet-chart/axis-customization.md b/chart-sdk/react/bullet-charts/axis-customization.md similarity index 100% rename from chart-sdk/react/bullet-chart/axis-customization.md rename to chart-sdk/react/bullet-charts/axis-customization.md diff --git a/chart-sdk/react/bullet-chart/bullet-chart-dimensions.md b/chart-sdk/react/bullet-charts/bullet-chart-dimensions.md similarity index 100% rename from chart-sdk/react/bullet-chart/bullet-chart-dimensions.md rename to chart-sdk/react/bullet-charts/bullet-chart-dimensions.md diff --git a/chart-sdk/react/bullet-chart/comparative-bar.md b/chart-sdk/react/bullet-charts/comparative-bar.md similarity index 100% rename from chart-sdk/react/bullet-chart/comparative-bar.md rename to chart-sdk/react/bullet-charts/comparative-bar.md diff --git a/chart-sdk/react/bullet-chart/customization.md b/chart-sdk/react/bullet-charts/customization.md similarity index 100% rename from chart-sdk/react/bullet-chart/customization.md rename to chart-sdk/react/bullet-charts/customization.md diff --git a/chart-sdk/react/bullet-chart/data-binding.md b/chart-sdk/react/bullet-charts/data-binding.md similarity index 100% rename from chart-sdk/react/bullet-chart/data-binding.md rename to chart-sdk/react/bullet-charts/data-binding.md diff --git a/chart-sdk/react/bullet-chart/data-label.md b/chart-sdk/react/bullet-charts/data-label.md similarity index 100% rename from chart-sdk/react/bullet-chart/data-label.md rename to chart-sdk/react/bullet-charts/data-label.md diff --git a/chart-sdk/react/bullet-chart/getting-started.md b/chart-sdk/react/bullet-charts/getting-started.md similarity index 100% rename from chart-sdk/react/bullet-chart/getting-started.md rename to chart-sdk/react/bullet-charts/getting-started.md diff --git a/chart-sdk/react/bullet-chart/ranges.md b/chart-sdk/react/bullet-charts/ranges.md similarity index 100% rename from chart-sdk/react/bullet-chart/ranges.md rename to chart-sdk/react/bullet-charts/ranges.md diff --git a/chart-sdk/react/bullet-chart/title.md b/chart-sdk/react/bullet-charts/title.md similarity index 100% rename from chart-sdk/react/bullet-chart/title.md rename to chart-sdk/react/bullet-charts/title.md diff --git a/chart-sdk/react/bullet-chart/tool-tip.md b/chart-sdk/react/bullet-charts/tool-tip.md similarity index 100% rename from chart-sdk/react/bullet-chart/tool-tip.md rename to chart-sdk/react/bullet-charts/tool-tip.md diff --git a/chart-sdk/react/bullet-chart/value-bar.md b/chart-sdk/react/bullet-charts/value-bar.md similarity index 100% rename from chart-sdk/react/bullet-chart/value-bar.md rename to chart-sdk/react/bullet-charts/value-bar.md diff --git a/chart-sdk/react/chart/accessibility.md b/chart-sdk/react/charts/accessibility.md similarity index 100% rename from chart-sdk/react/chart/accessibility.md rename to chart-sdk/react/charts/accessibility.md diff --git a/chart-sdk/react/chart/advanced-accessibility-configuration.md b/chart-sdk/react/charts/advanced-accessibility-configuration.md similarity index 100% rename from chart-sdk/react/chart/advanced-accessibility-configuration.md rename to chart-sdk/react/charts/advanced-accessibility-configuration.md diff --git a/chart-sdk/react/chart/api.md b/chart-sdk/react/charts/api.md similarity index 100% rename from chart-sdk/react/chart/api.md rename to chart-sdk/react/charts/api.md diff --git a/chart-sdk/react/chart/axis-customization.md b/chart-sdk/react/charts/axis-customization.md similarity index 100% rename from chart-sdk/react/chart/axis-customization.md rename to chart-sdk/react/charts/axis-customization.md diff --git a/chart-sdk/react/chart/axis-labels.md b/chart-sdk/react/charts/axis-labels.md similarity index 100% rename from chart-sdk/react/chart/axis-labels.md rename to chart-sdk/react/charts/axis-labels.md diff --git a/chart-sdk/react/chart/category-axis.md b/chart-sdk/react/charts/category-axis.md similarity index 100% rename from chart-sdk/react/chart/category-axis.md rename to chart-sdk/react/charts/category-axis.md diff --git a/chart-sdk/react/chart/chart-annotations.md b/chart-sdk/react/charts/chart-annotations.md similarity index 100% rename from chart-sdk/react/chart/chart-annotations.md rename to chart-sdk/react/charts/chart-annotations.md diff --git a/chart-sdk/react/chart/chart-appearance.md b/chart-sdk/react/charts/chart-appearance.md similarity index 100% rename from chart-sdk/react/chart/chart-appearance.md rename to chart-sdk/react/charts/chart-appearance.md diff --git a/chart-sdk/react/chart/chart-dimensions.md b/chart-sdk/react/charts/chart-dimensions.md similarity index 100% rename from chart-sdk/react/chart/chart-dimensions.md rename to chart-sdk/react/charts/chart-dimensions.md diff --git a/chart-sdk/react/chart/chart-print.md b/chart-sdk/react/charts/chart-print.md similarity index 100% rename from chart-sdk/react/chart/chart-print.md rename to chart-sdk/react/charts/chart-print.md diff --git a/chart-sdk/react/chart/chart-series.md b/chart-sdk/react/charts/chart-series.md similarity index 100% rename from chart-sdk/react/chart/chart-series.md rename to chart-sdk/react/charts/chart-series.md diff --git a/chart-sdk/react/chart/chart-types/area.md b/chart-sdk/react/charts/chart-types/area.md similarity index 100% rename from chart-sdk/react/chart/chart-types/area.md rename to chart-sdk/react/charts/chart-types/area.md diff --git a/chart-sdk/react/chart/chart-types/bar.md b/chart-sdk/react/charts/chart-types/bar.md similarity index 100% rename from chart-sdk/react/chart/chart-types/bar.md rename to chart-sdk/react/charts/chart-types/bar.md diff --git a/chart-sdk/react/chart/chart-types/box-whisker.md b/chart-sdk/react/charts/chart-types/box-whisker.md similarity index 100% rename from chart-sdk/react/chart/chart-types/box-whisker.md rename to chart-sdk/react/charts/chart-types/box-whisker.md diff --git a/chart-sdk/react/chart/chart-types/bubble.md b/chart-sdk/react/charts/chart-types/bubble.md similarity index 100% rename from chart-sdk/react/chart/chart-types/bubble.md rename to chart-sdk/react/charts/chart-types/bubble.md diff --git a/chart-sdk/react/chart/chart-types/candle.md b/chart-sdk/react/charts/chart-types/candle.md similarity index 100% rename from chart-sdk/react/chart/chart-types/candle.md rename to chart-sdk/react/charts/chart-types/candle.md diff --git a/chart-sdk/react/chart/chart-types/column.md b/chart-sdk/react/charts/chart-types/column.md similarity index 100% rename from chart-sdk/react/chart/chart-types/column.md rename to chart-sdk/react/charts/chart-types/column.md diff --git a/chart-sdk/react/chart/chart-types/error-bar.md b/chart-sdk/react/charts/chart-types/error-bar.md similarity index 100% rename from chart-sdk/react/chart/chart-types/error-bar.md rename to chart-sdk/react/charts/chart-types/error-bar.md diff --git a/chart-sdk/react/chart/chart-types/high-low-open-close.md b/chart-sdk/react/charts/chart-types/high-low-open-close.md similarity index 100% rename from chart-sdk/react/chart/chart-types/high-low-open-close.md rename to chart-sdk/react/charts/chart-types/high-low-open-close.md diff --git a/chart-sdk/react/chart/chart-types/high-low.md b/chart-sdk/react/charts/chart-types/high-low.md similarity index 100% rename from chart-sdk/react/chart/chart-types/high-low.md rename to chart-sdk/react/charts/chart-types/high-low.md diff --git a/chart-sdk/react/chart/chart-types/histogram.md b/chart-sdk/react/charts/chart-types/histogram.md similarity index 100% rename from chart-sdk/react/chart/chart-types/histogram.md rename to chart-sdk/react/charts/chart-types/histogram.md diff --git a/chart-sdk/react/chart/chart-types/line.md b/chart-sdk/react/charts/chart-types/line.md similarity index 100% rename from chart-sdk/react/chart/chart-types/line.md rename to chart-sdk/react/charts/chart-types/line.md diff --git a/chart-sdk/react/chart/chart-types/pareto.md b/chart-sdk/react/charts/chart-types/pareto.md similarity index 100% rename from chart-sdk/react/chart/chart-types/pareto.md rename to chart-sdk/react/charts/chart-types/pareto.md diff --git a/chart-sdk/react/chart/chart-types/polar.md b/chart-sdk/react/charts/chart-types/polar.md similarity index 100% rename from chart-sdk/react/chart/chart-types/polar.md rename to chart-sdk/react/charts/chart-types/polar.md diff --git a/chart-sdk/react/chart/chart-types/radar.md b/chart-sdk/react/charts/chart-types/radar.md similarity index 100% rename from chart-sdk/react/chart/chart-types/radar.md rename to chart-sdk/react/charts/chart-types/radar.md diff --git a/chart-sdk/react/chart/chart-types/range-area.md b/chart-sdk/react/charts/chart-types/range-area.md similarity index 100% rename from chart-sdk/react/chart/chart-types/range-area.md rename to chart-sdk/react/charts/chart-types/range-area.md diff --git a/chart-sdk/react/chart/chart-types/range-column.md b/chart-sdk/react/charts/chart-types/range-column.md similarity index 100% rename from chart-sdk/react/chart/chart-types/range-column.md rename to chart-sdk/react/charts/chart-types/range-column.md diff --git a/chart-sdk/react/chart/chart-types/range-step-area.md b/chart-sdk/react/charts/chart-types/range-step-area.md similarity index 100% rename from chart-sdk/react/chart/chart-types/range-step-area.md rename to chart-sdk/react/charts/chart-types/range-step-area.md diff --git a/chart-sdk/react/chart/chart-types/scatter.md b/chart-sdk/react/charts/chart-types/scatter.md similarity index 100% rename from chart-sdk/react/chart/chart-types/scatter.md rename to chart-sdk/react/charts/chart-types/scatter.md diff --git a/chart-sdk/react/chart/chart-types/spline-area.md b/chart-sdk/react/charts/chart-types/spline-area.md similarity index 100% rename from chart-sdk/react/chart/chart-types/spline-area.md rename to chart-sdk/react/charts/chart-types/spline-area.md diff --git a/chart-sdk/react/chart/chart-types/spline-range-area.md b/chart-sdk/react/charts/chart-types/spline-range-area.md similarity index 100% rename from chart-sdk/react/chart/chart-types/spline-range-area.md rename to chart-sdk/react/charts/chart-types/spline-range-area.md diff --git a/chart-sdk/react/chart/chart-types/spline.md b/chart-sdk/react/charts/chart-types/spline.md similarity index 100% rename from chart-sdk/react/chart/chart-types/spline.md rename to chart-sdk/react/charts/chart-types/spline.md diff --git a/chart-sdk/react/chart/chart-types/stack-area.md b/chart-sdk/react/charts/chart-types/stack-area.md similarity index 100% rename from chart-sdk/react/chart/chart-types/stack-area.md rename to chart-sdk/react/charts/chart-types/stack-area.md diff --git a/chart-sdk/react/chart/chart-types/stack-bar.md b/chart-sdk/react/charts/chart-types/stack-bar.md similarity index 100% rename from chart-sdk/react/chart/chart-types/stack-bar.md rename to chart-sdk/react/charts/chart-types/stack-bar.md diff --git a/chart-sdk/react/chart/chart-types/stack-column.md b/chart-sdk/react/charts/chart-types/stack-column.md similarity index 100% rename from chart-sdk/react/chart/chart-types/stack-column.md rename to chart-sdk/react/charts/chart-types/stack-column.md diff --git a/chart-sdk/react/chart/chart-types/stack-line.md b/chart-sdk/react/charts/chart-types/stack-line.md similarity index 100% rename from chart-sdk/react/chart/chart-types/stack-line.md rename to chart-sdk/react/charts/chart-types/stack-line.md diff --git a/chart-sdk/react/chart/chart-types/stacked-area.md b/chart-sdk/react/charts/chart-types/stacked-area.md similarity index 100% rename from chart-sdk/react/chart/chart-types/stacked-area.md rename to chart-sdk/react/charts/chart-types/stacked-area.md diff --git a/chart-sdk/react/chart/chart-types/stacked-bar.md b/chart-sdk/react/charts/chart-types/stacked-bar.md similarity index 100% rename from chart-sdk/react/chart/chart-types/stacked-bar.md rename to chart-sdk/react/charts/chart-types/stacked-bar.md diff --git a/chart-sdk/react/chart/chart-types/stacked-column.md b/chart-sdk/react/charts/chart-types/stacked-column.md similarity index 100% rename from chart-sdk/react/chart/chart-types/stacked-column.md rename to chart-sdk/react/charts/chart-types/stacked-column.md diff --git a/chart-sdk/react/chart/chart-types/stacked-line.md b/chart-sdk/react/charts/chart-types/stacked-line.md similarity index 100% rename from chart-sdk/react/chart/chart-types/stacked-line.md rename to chart-sdk/react/charts/chart-types/stacked-line.md diff --git a/chart-sdk/react/chart/chart-types/stacked-step-area.md b/chart-sdk/react/charts/chart-types/stacked-step-area.md similarity index 100% rename from chart-sdk/react/chart/chart-types/stacked-step-area.md rename to chart-sdk/react/charts/chart-types/stacked-step-area.md diff --git a/chart-sdk/react/chart/chart-types/step-area.md b/chart-sdk/react/charts/chart-types/step-area.md similarity index 100% rename from chart-sdk/react/chart/chart-types/step-area.md rename to chart-sdk/react/charts/chart-types/step-area.md diff --git a/chart-sdk/react/chart/chart-types/step-line.md b/chart-sdk/react/charts/chart-types/step-line.md similarity index 100% rename from chart-sdk/react/chart/chart-types/step-line.md rename to chart-sdk/react/charts/chart-types/step-line.md diff --git a/chart-sdk/react/chart/chart-types/vertical.md b/chart-sdk/react/charts/chart-types/vertical.md similarity index 100% rename from chart-sdk/react/chart/chart-types/vertical.md rename to chart-sdk/react/charts/chart-types/vertical.md diff --git a/chart-sdk/react/chart/chart-types/waterfall.md b/chart-sdk/react/charts/chart-types/waterfall.md similarity index 100% rename from chart-sdk/react/chart/chart-types/waterfall.md rename to chart-sdk/react/charts/chart-types/waterfall.md diff --git a/chart-sdk/react/chart/cross-hair-and-track-ball.md b/chart-sdk/react/charts/cross-hair-and-track-ball.md similarity index 100% rename from chart-sdk/react/chart/cross-hair-and-track-ball.md rename to chart-sdk/react/charts/cross-hair-and-track-ball.md diff --git a/chart-sdk/react/chart/data-editing.md b/chart-sdk/react/charts/data-editing.md similarity index 100% rename from chart-sdk/react/chart/data-editing.md rename to chart-sdk/react/charts/data-editing.md diff --git a/chart-sdk/react/chart/data-labels.md b/chart-sdk/react/charts/data-labels.md similarity index 100% rename from chart-sdk/react/chart/data-labels.md rename to chart-sdk/react/charts/data-labels.md diff --git a/chart-sdk/react/chart/data-markers.md b/chart-sdk/react/charts/data-markers.md similarity index 100% rename from chart-sdk/react/chart/data-markers.md rename to chart-sdk/react/charts/data-markers.md diff --git a/chart-sdk/react/chart/date-time-axis.md b/chart-sdk/react/charts/date-time-axis.md similarity index 100% rename from chart-sdk/react/chart/date-time-axis.md rename to chart-sdk/react/charts/date-time-axis.md diff --git a/chart-sdk/react/chart/dynamic-data-update.md b/chart-sdk/react/charts/dynamic-data-update.md similarity index 100% rename from chart-sdk/react/chart/dynamic-data-update.md rename to chart-sdk/react/charts/dynamic-data-update.md diff --git a/chart-sdk/react/chart/ej1-api-migration.md b/chart-sdk/react/charts/ej1-api-migration.md similarity index 100% rename from chart-sdk/react/chart/ej1-api-migration.md rename to chart-sdk/react/charts/ej1-api-migration.md diff --git a/chart-sdk/react/chart/feature-modules.md b/chart-sdk/react/charts/feature-modules.md similarity index 100% rename from chart-sdk/react/chart/feature-modules.md rename to chart-sdk/react/charts/feature-modules.md diff --git a/chart-sdk/react/chart/financial-types.md b/chart-sdk/react/charts/financial-types.md similarity index 100% rename from chart-sdk/react/chart/financial-types.md rename to chart-sdk/react/charts/financial-types.md diff --git a/chart-sdk/react/chart/getting-started.md b/chart-sdk/react/charts/getting-started.md similarity index 100% rename from chart-sdk/react/chart/getting-started.md rename to chart-sdk/react/charts/getting-started.md diff --git a/chart-sdk/react/chart/gradient.md b/chart-sdk/react/charts/gradient.md similarity index 100% rename from chart-sdk/react/chart/gradient.md rename to chart-sdk/react/charts/gradient.md diff --git a/chart-sdk/react/chart/how-to/add-series.md b/chart-sdk/react/charts/how-to/add-series.md similarity index 100% rename from chart-sdk/react/chart/how-to/add-series.md rename to chart-sdk/react/charts/how-to/add-series.md diff --git a/chart-sdk/react/chart/how-to/click-data.md b/chart-sdk/react/charts/how-to/click-data.md similarity index 100% rename from chart-sdk/react/chart/how-to/click-data.md rename to chart-sdk/react/charts/how-to/click-data.md diff --git a/chart-sdk/react/chart/how-to/data-label-template.md b/chart-sdk/react/charts/how-to/data-label-template.md similarity index 100% rename from chart-sdk/react/chart/how-to/data-label-template.md rename to chart-sdk/react/charts/how-to/data-label-template.md diff --git a/chart-sdk/react/chart/how-to/footer.md b/chart-sdk/react/charts/how-to/footer.md similarity index 100% rename from chart-sdk/react/chart/how-to/footer.md rename to chart-sdk/react/charts/how-to/footer.md diff --git a/chart-sdk/react/chart/how-to/grid-data-chart.md b/chart-sdk/react/charts/how-to/grid-data-chart.md similarity index 100% rename from chart-sdk/react/chart/how-to/grid-data-chart.md rename to chart-sdk/react/charts/how-to/grid-data-chart.md diff --git a/chart-sdk/react/chart/how-to/initial-scrollbar.md b/chart-sdk/react/charts/how-to/initial-scrollbar.md similarity index 100% rename from chart-sdk/react/chart/how-to/initial-scrollbar.md rename to chart-sdk/react/charts/how-to/initial-scrollbar.md diff --git a/chart-sdk/react/chart/how-to/legend-customization.md b/chart-sdk/react/charts/how-to/legend-customization.md similarity index 100% rename from chart-sdk/react/chart/how-to/legend-customization.md rename to chart-sdk/react/charts/how-to/legend-customization.md diff --git a/chart-sdk/react/chart/how-to/live-chart.md b/chart-sdk/react/charts/how-to/live-chart.md similarity index 100% rename from chart-sdk/react/chart/how-to/live-chart.md rename to chart-sdk/react/charts/how-to/live-chart.md diff --git a/chart-sdk/react/chart/how-to/marker-customization.md b/chart-sdk/react/charts/how-to/marker-customization.md similarity index 100% rename from chart-sdk/react/chart/how-to/marker-customization.md rename to chart-sdk/react/charts/how-to/marker-customization.md diff --git a/chart-sdk/react/chart/how-to/percentage-tool-tip.md b/chart-sdk/react/charts/how-to/percentage-tool-tip.md similarity index 100% rename from chart-sdk/react/chart/how-to/percentage-tool-tip.md rename to chart-sdk/react/charts/how-to/percentage-tool-tip.md diff --git a/chart-sdk/react/chart/how-to/points-customization.md b/chart-sdk/react/charts/how-to/points-customization.md similarity index 100% rename from chart-sdk/react/chart/how-to/points-customization.md rename to chart-sdk/react/charts/how-to/points-customization.md diff --git a/chart-sdk/react/chart/how-to/prevent-data-label.md b/chart-sdk/react/charts/how-to/prevent-data-label.md similarity index 100% rename from chart-sdk/react/chart/how-to/prevent-data-label.md rename to chart-sdk/react/charts/how-to/prevent-data-label.md diff --git a/chart-sdk/react/chart/how-to/selected-data-grid.md b/chart-sdk/react/charts/how-to/selected-data-grid.md similarity index 100% rename from chart-sdk/react/chart/how-to/selected-data-grid.md rename to chart-sdk/react/charts/how-to/selected-data-grid.md diff --git a/chart-sdk/react/chart/how-to/stacking-total.md b/chart-sdk/react/charts/how-to/stacking-total.md similarity index 100% rename from chart-sdk/react/chart/how-to/stacking-total.md rename to chart-sdk/react/charts/how-to/stacking-total.md diff --git a/chart-sdk/react/chart/how-to/threshold.md b/chart-sdk/react/charts/how-to/threshold.md similarity index 100% rename from chart-sdk/react/chart/how-to/threshold.md rename to chart-sdk/react/charts/how-to/threshold.md diff --git a/chart-sdk/react/chart/how-to/tool-tip-format.md b/chart-sdk/react/charts/how-to/tool-tip-format.md similarity index 100% rename from chart-sdk/react/chart/how-to/tool-tip-format.md rename to chart-sdk/react/charts/how-to/tool-tip-format.md diff --git a/chart-sdk/react/chart/how-to/tool-tip-table.md b/chart-sdk/react/charts/how-to/tool-tip-table.md similarity index 100% rename from chart-sdk/react/chart/how-to/tool-tip-table.md rename to chart-sdk/react/charts/how-to/tool-tip-table.md diff --git a/chart-sdk/react/chart/images/Getting-Started.png b/chart-sdk/react/charts/images/Getting-Started.png similarity index 100% rename from chart-sdk/react/chart/images/Getting-Started.png rename to chart-sdk/react/charts/images/Getting-Started.png diff --git a/chart-sdk/react/circular-chart-3d/images/Initial-setup.jpg b/chart-sdk/react/charts/images/Initial-setup.jpg similarity index 100% rename from chart-sdk/react/circular-chart-3d/images/Initial-setup.jpg rename to chart-sdk/react/charts/images/Initial-setup.jpg diff --git a/chart-sdk/react/chart/images/next-js.png b/chart-sdk/react/charts/images/next-js.png similarity index 100% rename from chart-sdk/react/chart/images/next-js.png rename to chart-sdk/react/charts/images/next-js.png diff --git a/chart-sdk/react/chart/images/preact.png b/chart-sdk/react/charts/images/preact.png similarity index 100% rename from chart-sdk/react/chart/images/preact.png rename to chart-sdk/react/charts/images/preact.png diff --git a/chart-sdk/react/chart/internationalization.md b/chart-sdk/react/charts/internationalization.md similarity index 100% rename from chart-sdk/react/chart/internationalization.md rename to chart-sdk/react/charts/internationalization.md diff --git a/chart-sdk/react/chart/legend.md b/chart-sdk/react/charts/legend.md similarity index 100% rename from chart-sdk/react/chart/legend.md rename to chart-sdk/react/charts/legend.md diff --git a/chart-sdk/react/chart/localization.md b/chart-sdk/react/charts/localization.md similarity index 100% rename from chart-sdk/react/chart/localization.md rename to chart-sdk/react/charts/localization.md diff --git a/chart-sdk/react/chart/logarithmic-axis.md b/chart-sdk/react/charts/logarithmic-axis.md similarity index 100% rename from chart-sdk/react/chart/logarithmic-axis.md rename to chart-sdk/react/charts/logarithmic-axis.md diff --git a/chart-sdk/react/chart/multiple-panes.md b/chart-sdk/react/charts/multiple-panes.md similarity index 100% rename from chart-sdk/react/chart/multiple-panes.md rename to chart-sdk/react/charts/multiple-panes.md diff --git a/chart-sdk/react/chart/nextjs-getting-started.md b/chart-sdk/react/charts/nextjs-getting-started.md similarity index 100% rename from chart-sdk/react/chart/nextjs-getting-started.md rename to chart-sdk/react/charts/nextjs-getting-started.md diff --git a/chart-sdk/react/chart/numeric-axis.md b/chart-sdk/react/charts/numeric-axis.md similarity index 100% rename from chart-sdk/react/chart/numeric-axis.md rename to chart-sdk/react/charts/numeric-axis.md diff --git a/chart-sdk/react/chart/preact.md b/chart-sdk/react/charts/preact.md similarity index 100% rename from chart-sdk/react/chart/preact.md rename to chart-sdk/react/charts/preact.md diff --git a/chart-sdk/react/chart/render-methods.md b/chart-sdk/react/charts/render-methods.md similarity index 100% rename from chart-sdk/react/chart/render-methods.md rename to chart-sdk/react/charts/render-methods.md diff --git a/chart-sdk/react/chart/selection.md b/chart-sdk/react/charts/selection.md similarity index 100% rename from chart-sdk/react/chart/selection.md rename to chart-sdk/react/charts/selection.md diff --git a/chart-sdk/react/chart/series-label.md b/chart-sdk/react/charts/series-label.md similarity index 100% rename from chart-sdk/react/chart/series-label.md rename to chart-sdk/react/charts/series-label.md diff --git a/chart-sdk/react/chart/strip-line.md b/chart-sdk/react/charts/strip-line.md similarity index 100% rename from chart-sdk/react/chart/strip-line.md rename to chart-sdk/react/charts/strip-line.md diff --git a/chart-sdk/react/chart/synchronized-chart.md b/chart-sdk/react/charts/synchronized-chart.md similarity index 100% rename from chart-sdk/react/chart/synchronized-chart.md rename to chart-sdk/react/charts/synchronized-chart.md diff --git a/chart-sdk/react/chart/technical-indicators.md b/chart-sdk/react/charts/technical-indicators.md similarity index 100% rename from chart-sdk/react/chart/technical-indicators.md rename to chart-sdk/react/charts/technical-indicators.md diff --git a/chart-sdk/react/chart/title-subtitle.md b/chart-sdk/react/charts/title-subtitle.md similarity index 100% rename from chart-sdk/react/chart/title-subtitle.md rename to chart-sdk/react/charts/title-subtitle.md diff --git a/chart-sdk/react/chart/tool-tip.md b/chart-sdk/react/charts/tool-tip.md similarity index 100% rename from chart-sdk/react/chart/tool-tip.md rename to chart-sdk/react/charts/tool-tip.md diff --git a/chart-sdk/react/chart/trend-lines.md b/chart-sdk/react/charts/trend-lines.md similarity index 100% rename from chart-sdk/react/chart/trend-lines.md rename to chart-sdk/react/charts/trend-lines.md diff --git a/chart-sdk/react/chart/understanding-chart.md b/chart-sdk/react/charts/understanding-chart.md similarity index 100% rename from chart-sdk/react/chart/understanding-chart.md rename to chart-sdk/react/charts/understanding-chart.md diff --git a/chart-sdk/react/chart/user-interaction.md b/chart-sdk/react/charts/user-interaction.md similarity index 100% rename from chart-sdk/react/chart/user-interaction.md rename to chart-sdk/react/charts/user-interaction.md diff --git a/chart-sdk/react/chart/working-with-data.md b/chart-sdk/react/charts/working-with-data.md similarity index 100% rename from chart-sdk/react/chart/working-with-data.md rename to chart-sdk/react/charts/working-with-data.md diff --git a/chart-sdk/react/chart/zooming.md b/chart-sdk/react/charts/zooming.md similarity index 100% rename from chart-sdk/react/chart/zooming.md rename to chart-sdk/react/charts/zooming.md diff --git a/chart-sdk/react/heatmap-chart/accessibility.md b/chart-sdk/react/heatmap-charts/accessibility.md similarity index 100% rename from chart-sdk/react/heatmap-chart/accessibility.md rename to chart-sdk/react/heatmap-charts/accessibility.md diff --git a/chart-sdk/react/heatmap-chart/appearance.md b/chart-sdk/react/heatmap-charts/appearance.md similarity index 100% rename from chart-sdk/react/heatmap-chart/appearance.md rename to chart-sdk/react/heatmap-charts/appearance.md diff --git a/chart-sdk/react/heatmap-chart/axis.md b/chart-sdk/react/heatmap-charts/axis.md similarity index 100% rename from chart-sdk/react/heatmap-chart/axis.md rename to chart-sdk/react/heatmap-charts/axis.md diff --git a/chart-sdk/react/heatmap-chart/bubble-heatmap.md b/chart-sdk/react/heatmap-charts/bubble-heatmap.md similarity index 100% rename from chart-sdk/react/heatmap-chart/bubble-heatmap.md rename to chart-sdk/react/heatmap-charts/bubble-heatmap.md diff --git a/chart-sdk/react/heatmap-chart/dimensions.md b/chart-sdk/react/heatmap-charts/dimensions.md similarity index 100% rename from chart-sdk/react/heatmap-chart/dimensions.md rename to chart-sdk/react/heatmap-charts/dimensions.md diff --git a/chart-sdk/react/heatmap-chart/ej1-api-migration.md b/chart-sdk/react/heatmap-charts/ej1-api-migration.md similarity index 100% rename from chart-sdk/react/heatmap-chart/ej1-api-migration.md rename to chart-sdk/react/heatmap-charts/ej1-api-migration.md diff --git a/chart-sdk/react/heatmap-chart/events.md b/chart-sdk/react/heatmap-charts/events.md similarity index 100% rename from chart-sdk/react/heatmap-chart/events.md rename to chart-sdk/react/heatmap-charts/events.md diff --git a/chart-sdk/react/heatmap-chart/getting-started.md b/chart-sdk/react/heatmap-charts/getting-started.md similarity index 100% rename from chart-sdk/react/heatmap-chart/getting-started.md rename to chart-sdk/react/heatmap-charts/getting-started.md diff --git a/chart-sdk/react/heatmap-chart/how-to/legend-customization.md b/chart-sdk/react/heatmap-charts/how-to/legend-customization.md similarity index 100% rename from chart-sdk/react/heatmap-chart/how-to/legend-customization.md rename to chart-sdk/react/heatmap-charts/how-to/legend-customization.md diff --git a/chart-sdk/react/heatmap-chart/how-to/tool-tip-table.md b/chart-sdk/react/heatmap-charts/how-to/tool-tip-table.md similarity index 100% rename from chart-sdk/react/heatmap-chart/how-to/tool-tip-table.md rename to chart-sdk/react/heatmap-charts/how-to/tool-tip-table.md diff --git a/chart-sdk/react/heatmap-chart/legend.md b/chart-sdk/react/heatmap-charts/legend.md similarity index 100% rename from chart-sdk/react/heatmap-chart/legend.md rename to chart-sdk/react/heatmap-charts/legend.md diff --git a/chart-sdk/react/heatmap-chart/palette.md b/chart-sdk/react/heatmap-charts/palette.md similarity index 100% rename from chart-sdk/react/heatmap-chart/palette.md rename to chart-sdk/react/heatmap-charts/palette.md diff --git a/chart-sdk/react/heatmap-chart/rendering-mode.md b/chart-sdk/react/heatmap-charts/rendering-mode.md similarity index 100% rename from chart-sdk/react/heatmap-chart/rendering-mode.md rename to chart-sdk/react/heatmap-charts/rendering-mode.md diff --git a/chart-sdk/react/heatmap-chart/selection.md b/chart-sdk/react/heatmap-charts/selection.md similarity index 100% rename from chart-sdk/react/heatmap-chart/selection.md rename to chart-sdk/react/heatmap-charts/selection.md diff --git a/chart-sdk/react/heatmap-chart/title.md b/chart-sdk/react/heatmap-charts/title.md similarity index 100% rename from chart-sdk/react/heatmap-chart/title.md rename to chart-sdk/react/heatmap-charts/title.md diff --git a/chart-sdk/react/heatmap-chart/tooltip.md b/chart-sdk/react/heatmap-charts/tooltip.md similarity index 100% rename from chart-sdk/react/heatmap-chart/tooltip.md rename to chart-sdk/react/heatmap-charts/tooltip.md diff --git a/chart-sdk/react/heatmap-chart/working-with-data.md b/chart-sdk/react/heatmap-charts/working-with-data.md similarity index 100% rename from chart-sdk/react/heatmap-chart/working-with-data.md rename to chart-sdk/react/heatmap-charts/working-with-data.md diff --git a/chart-sdk/react/linear-gauge/axis.md b/chart-sdk/react/linear-gauge/axis.md index 3031a81e4..fceba1eba 100644 --- a/chart-sdk/react/linear-gauge/axis.md +++ b/chart-sdk/react/linear-gauge/axis.md @@ -24,7 +24,7 @@ To change the pointer value from the default value of the gauge, set the [`value {% highlight js tabtitle="app.jsx" %} {% include code-snippet/chart-sdk/react/linear-gauge/code-path/getting-started-cs3/app/index.jsx %} {% endhighlight %} -{% highlight tsx tabtitle="app.tsx" %} +{% highlight ts tabtitle="app.tsx" %} {% include code-snippet/chart-sdk/react/linear-gauge/code-path/getting-started-cs3/app/index.tsx %} {% endhighlight %} {% endtabs %} diff --git a/chart-sdk/react/linear-gauge/getting-started.md b/chart-sdk/react/linear-gauge/getting-started.md index 60b8352af..b5ce4a168 100644 --- a/chart-sdk/react/linear-gauge/getting-started.md +++ b/chart-sdk/react/linear-gauge/getting-started.md @@ -78,7 +78,7 @@ npm install @syncfusion/ej2-react-lineargauge The React Linear Gauge component can be added to the application by following these steps. Add the Linear Gauge component to the `src/App.tsx` (or `src/App.jsx`) file using the following code. {% tabs %} -{% highlight jsx tabtitle="app.jsx" %} +{% highlight js tabtitle="app.jsx" %} import { LinearGaugeComponent } from '@syncfusion/ej2-react-lineargauge'; import * as React from 'react'; @@ -89,7 +89,7 @@ function App() { export default App; {% endhighlight %} -{% highlight tsx tabtitle="app.tsx" %} +{% highlight ts tabtitle="app.tsx" %} import { LinearGaugeComponent } from '@syncfusion/ej2-react-lineargauge'; import * as React from 'react'; @@ -105,7 +105,7 @@ export default App; Make sure your `src/main.tsx` (or `src/main.jsx`) file renders the `App` component inside an element with `id="container"`. A minimal example is shown below. {% tabs %} -{% highlight jsx tabtitle="main.jsx" %} +{% highlight js tabtitle="main.jsx" %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; @@ -115,7 +115,7 @@ const root = ReactDOM.createRoot(document.getElementById('container')); root.render(); {% endhighlight %} -{% highlight tsx tabtitle="main.tsx" %} +{% highlight ts tabtitle="main.tsx" %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; diff --git a/chart-sdk/react/linear-gauge/pointers.md b/chart-sdk/react/linear-gauge/pointers.md index 1be6990c3..003aaf39a 100644 --- a/chart-sdk/react/linear-gauge/pointers.md +++ b/chart-sdk/react/linear-gauge/pointers.md @@ -15,10 +15,10 @@ domainurl: https://help.syncfusion.com/chart-sdk The pointer value is demonstrated in the following sample using the [`value`](https://ej2.syncfusion.com/react/documentation/api/linear-gauge/pointer#value-number) property of a `PointerDirective` inside the `PointersDirective` collection of the axis. The pointer can be customized with a different color using the `color` property to make it visually distinct. {% tabs %} -{% highlight jsx tabtitle="app.jsx" %} +{% highlight js tabtitle="app.jsx" %} {% include code-snippet/chart-sdk/react/linear-gauge/code-path/getting-started-cs4/app/index.jsx %} {% endhighlight %} -{% highlight tsx tabtitle="app.tsx" %} +{% highlight ts tabtitle="app.tsx" %} {% include code-snippet/chart-sdk/react/linear-gauge/code-path/getting-started-cs4/app/index.tsx %} {% endhighlight %} {% endtabs %} diff --git a/chart-sdk/react/linear-gauge/ranges.md b/chart-sdk/react/linear-gauge/ranges.md index edccdd707..518a372de 100644 --- a/chart-sdk/react/linear-gauge/ranges.md +++ b/chart-sdk/react/linear-gauge/ranges.md @@ -29,10 +29,10 @@ Range is the set of values in the axis. The range can be defined using the [`sta The range of the axis can be set using the [`minimum`](https://ej2.syncfusion.com/react/documentation/api/linear-gauge/axis#minimum-number) and [`maximum`](https://ej2.syncfusion.com/react/documentation/api/linear-gauge/axis#maximum-number) properties of the Linear Gauge. The default values are `0` for `minimum` and `100` for `maximum`. These properties define the start and end values displayed on the gauge axis. {% tabs %} -{% highlight jsx tabtitle="app.jsx" %} +{% highlight js tabtitle="app.jsx" %} {% include code-snippet/chart-sdk/react/linear-gauge/code-path/getting-started-cs2/app/index.jsx %} {% endhighlight %} -{% highlight tsx tabtitle="app.tsx" %} +{% highlight ts tabtitle="app.tsx" %} {% include code-snippet/chart-sdk/react/linear-gauge/code-path/getting-started-cs2/app/index.tsx %} {% endhighlight %} {% endtabs %} diff --git a/chart-sdk/react/maps/getting-started.md b/chart-sdk/react/maps/getting-started.md index 6afbc1ced..e5334b58e 100644 --- a/chart-sdk/react/maps/getting-started.md +++ b/chart-sdk/react/maps/getting-started.md @@ -141,11 +141,16 @@ import { MapsComponent, Inject, DataLabel, LayerDirective, LayersDirective } fro function App() { return ( + const dataLabelSettings = { + visible: true, + labelPath: 'name', + smartLabelMode: 'Hide' + };
      - + @@ -180,7 +185,7 @@ Open the URL shown in the terminal (for example, `http://localhost:5173/`) in yo If the map does not appear as expected, work through the following common issues: -* **Blank canvas or zero-height map** — The `MapsComponent` fills its container, so a missing height on the parent element is the most common cause. Wrap the component in a sized container (for example, `
      `) or set CSS such as `#maps { height: 600px; }`. +* **Blank canvas or zero-height map**: The `MapsComponent` fills its container, so a missing height on the parent element is the most common cause. Wrap the component in a container with a CSS class, such as `
      `, and define `.map-container { height: 600px; }`. * **"Cannot find module './world_map'" / shape data not rendered** — Make sure `world_map.ts` is saved in `src/` and that the import path matches the file location and the file's export style (named vs default export). * **Data labels do not show up** — Confirm that the `DataLabel` service is injected via `` and that `dataLabelSettings.visible` is `true`. Also confirm the `labelPath` value (for example, `'name'`) matches a key in the GeoJSON's `Feature.properties`. * **`'Inject' is not exported` or module not found** — Update `@syncfusion/ej2-react-maps` to a supported version and restart the dev server. diff --git a/chart-sdk/react/range-navigator/tool-tip.md b/chart-sdk/react/range-navigator/tool-tip.md index 73386ed4d..40488b03f 100644 --- a/chart-sdk/react/range-navigator/tool-tip.md +++ b/chart-sdk/react/range-navigator/tool-tip.md @@ -24,7 +24,8 @@ import * as React from "react"; function App() { return ( - + const tooltipSettings = { enable: true }; + ); diff --git a/chart-sdk/react/sankey/accessibility.md b/chart-sdk/react/sankey-diagram/accessibility.md similarity index 100% rename from chart-sdk/react/sankey/accessibility.md rename to chart-sdk/react/sankey-diagram/accessibility.md diff --git a/chart-sdk/react/sankey/appearance.md b/chart-sdk/react/sankey-diagram/appearance.md similarity index 100% rename from chart-sdk/react/sankey/appearance.md rename to chart-sdk/react/sankey-diagram/appearance.md diff --git a/chart-sdk/react/sankey/customization.md b/chart-sdk/react/sankey-diagram/customization.md similarity index 100% rename from chart-sdk/react/sankey/customization.md rename to chart-sdk/react/sankey-diagram/customization.md diff --git a/chart-sdk/react/sankey/events.md b/chart-sdk/react/sankey-diagram/events.md similarity index 100% rename from chart-sdk/react/sankey/events.md rename to chart-sdk/react/sankey-diagram/events.md diff --git a/chart-sdk/react/sankey/getting-started.md b/chart-sdk/react/sankey-diagram/getting-started.md similarity index 100% rename from chart-sdk/react/sankey/getting-started.md rename to chart-sdk/react/sankey-diagram/getting-started.md diff --git a/chart-sdk/react/sankey/labels.md b/chart-sdk/react/sankey-diagram/labels.md similarity index 100% rename from chart-sdk/react/sankey/labels.md rename to chart-sdk/react/sankey-diagram/labels.md diff --git a/chart-sdk/react/sankey/legend.md b/chart-sdk/react/sankey-diagram/legend.md similarity index 100% rename from chart-sdk/react/sankey/legend.md rename to chart-sdk/react/sankey-diagram/legend.md diff --git a/chart-sdk/react/sankey/links.md b/chart-sdk/react/sankey-diagram/links.md similarity index 100% rename from chart-sdk/react/sankey/links.md rename to chart-sdk/react/sankey-diagram/links.md diff --git a/chart-sdk/react/sankey/nodes.md b/chart-sdk/react/sankey-diagram/nodes.md similarity index 100% rename from chart-sdk/react/sankey/nodes.md rename to chart-sdk/react/sankey-diagram/nodes.md diff --git a/chart-sdk/react/sankey/orientation-rtl.md b/chart-sdk/react/sankey-diagram/orientation-rtl.md similarity index 100% rename from chart-sdk/react/sankey/orientation-rtl.md rename to chart-sdk/react/sankey-diagram/orientation-rtl.md diff --git a/chart-sdk/react/sankey/print-and-export.md b/chart-sdk/react/sankey-diagram/print-and-export.md similarity index 100% rename from chart-sdk/react/sankey/print-and-export.md rename to chart-sdk/react/sankey-diagram/print-and-export.md diff --git a/chart-sdk/react/sankey/title-and-sub-title.md b/chart-sdk/react/sankey-diagram/title-and-sub-title.md similarity index 100% rename from chart-sdk/react/sankey/title-and-sub-title.md rename to chart-sdk/react/sankey-diagram/title-and-sub-title.md diff --git a/chart-sdk/react/sankey/tool-tip.md b/chart-sdk/react/sankey-diagram/tool-tip.md similarity index 100% rename from chart-sdk/react/sankey/tool-tip.md rename to chart-sdk/react/sankey-diagram/tool-tip.md diff --git a/chart-sdk/react/smithchart/accessibility.md b/chart-sdk/react/smith-charts/accessibility.md similarity index 100% rename from chart-sdk/react/smithchart/accessibility.md rename to chart-sdk/react/smith-charts/accessibility.md diff --git a/chart-sdk/react/smithchart/getting-started.md b/chart-sdk/react/smith-charts/getting-started.md similarity index 100% rename from chart-sdk/react/smithchart/getting-started.md rename to chart-sdk/react/smith-charts/getting-started.md diff --git a/chart-sdk/react/smithchart/images/Initial-setup.jpg b/chart-sdk/react/smith-charts/images/Initial-setup.jpg similarity index 100% rename from chart-sdk/react/smithchart/images/Initial-setup.jpg rename to chart-sdk/react/smith-charts/images/Initial-setup.jpg diff --git a/chart-sdk/react/smithchart/smithchart-axis.md b/chart-sdk/react/smith-charts/smithchart-axis.md similarity index 100% rename from chart-sdk/react/smithchart/smithchart-axis.md rename to chart-sdk/react/smith-charts/smithchart-axis.md diff --git a/chart-sdk/react/smithchart/smithchart-dimensions.md b/chart-sdk/react/smith-charts/smithchart-dimensions.md similarity index 100% rename from chart-sdk/react/smithchart/smithchart-dimensions.md rename to chart-sdk/react/smith-charts/smithchart-dimensions.md diff --git a/chart-sdk/react/smithchart/smithchart-legend.md b/chart-sdk/react/smith-charts/smithchart-legend.md similarity index 100% rename from chart-sdk/react/smithchart/smithchart-legend.md rename to chart-sdk/react/smith-charts/smithchart-legend.md diff --git a/chart-sdk/react/smithchart/smithchart-marker.md b/chart-sdk/react/smith-charts/smithchart-marker.md similarity index 100% rename from chart-sdk/react/smithchart/smithchart-marker.md rename to chart-sdk/react/smith-charts/smithchart-marker.md diff --git a/chart-sdk/react/smithchart/smithchart-print.md b/chart-sdk/react/smith-charts/smithchart-print.md similarity index 100% rename from chart-sdk/react/smithchart/smithchart-print.md rename to chart-sdk/react/smith-charts/smithchart-print.md diff --git a/chart-sdk/react/smithchart/smithchart-series.md b/chart-sdk/react/smith-charts/smithchart-series.md similarity index 100% rename from chart-sdk/react/smithchart/smithchart-series.md rename to chart-sdk/react/smith-charts/smithchart-series.md diff --git a/chart-sdk/react/smithchart/smithchart-tooltip.md b/chart-sdk/react/smith-charts/smithchart-tooltip.md similarity index 100% rename from chart-sdk/react/smithchart/smithchart-tooltip.md rename to chart-sdk/react/smith-charts/smithchart-tooltip.md diff --git a/chart-sdk/react/smithchart/title-subtitle.md b/chart-sdk/react/smith-charts/title-subtitle.md similarity index 100% rename from chart-sdk/react/smithchart/title-subtitle.md rename to chart-sdk/react/smith-charts/title-subtitle.md diff --git a/chart-sdk/react/smithchart/working-with-data.md b/chart-sdk/react/smith-charts/working-with-data.md similarity index 100% rename from chart-sdk/react/smithchart/working-with-data.md rename to chart-sdk/react/smith-charts/working-with-data.md diff --git a/chart-sdk/react/stock-chart/accessibility.md b/chart-sdk/react/stock-charts/accessibility.md similarity index 100% rename from chart-sdk/react/stock-chart/accessibility.md rename to chart-sdk/react/stock-charts/accessibility.md diff --git a/chart-sdk/react/stock-chart/appearance.md b/chart-sdk/react/stock-charts/appearance.md similarity index 100% rename from chart-sdk/react/stock-chart/appearance.md rename to chart-sdk/react/stock-charts/appearance.md diff --git a/chart-sdk/react/stock-chart/axis-customization.md b/chart-sdk/react/stock-charts/axis-customization.md similarity index 100% rename from chart-sdk/react/stock-chart/axis-customization.md rename to chart-sdk/react/stock-charts/axis-customization.md diff --git a/chart-sdk/react/stock-chart/axis-types.md b/chart-sdk/react/stock-charts/axis-types.md similarity index 100% rename from chart-sdk/react/stock-chart/axis-types.md rename to chart-sdk/react/stock-charts/axis-types.md diff --git a/chart-sdk/react/stock-chart/chart-dimensions.md b/chart-sdk/react/stock-charts/chart-dimensions.md similarity index 100% rename from chart-sdk/react/stock-chart/chart-dimensions.md rename to chart-sdk/react/stock-charts/chart-dimensions.md diff --git a/chart-sdk/react/stock-chart/cross-hair.md b/chart-sdk/react/stock-charts/cross-hair.md similarity index 100% rename from chart-sdk/react/stock-chart/cross-hair.md rename to chart-sdk/react/stock-charts/cross-hair.md diff --git a/chart-sdk/react/stock-chart/export-print.md b/chart-sdk/react/stock-charts/export-print.md similarity index 100% rename from chart-sdk/react/stock-chart/export-print.md rename to chart-sdk/react/stock-charts/export-print.md diff --git a/chart-sdk/react/stock-chart/getting-started.md b/chart-sdk/react/stock-charts/getting-started.md similarity index 100% rename from chart-sdk/react/stock-chart/getting-started.md rename to chart-sdk/react/stock-charts/getting-started.md diff --git a/chart-sdk/react/stock-chart/gradient.md b/chart-sdk/react/stock-charts/gradient.md similarity index 100% rename from chart-sdk/react/stock-chart/gradient.md rename to chart-sdk/react/stock-charts/gradient.md diff --git a/chart-sdk/react/stock-chart/images/stock-chart.png b/chart-sdk/react/stock-charts/images/stock-chart.png similarity index 100% rename from chart-sdk/react/stock-chart/images/stock-chart.png rename to chart-sdk/react/stock-charts/images/stock-chart.png diff --git a/chart-sdk/react/stock-chart/legend.md b/chart-sdk/react/stock-charts/legend.md similarity index 100% rename from chart-sdk/react/stock-chart/legend.md rename to chart-sdk/react/stock-charts/legend.md diff --git a/chart-sdk/react/stock-chart/period-selector.md b/chart-sdk/react/stock-charts/period-selector.md similarity index 100% rename from chart-sdk/react/stock-chart/period-selector.md rename to chart-sdk/react/stock-charts/period-selector.md diff --git a/chart-sdk/react/stock-chart/range-selector.md b/chart-sdk/react/stock-charts/range-selector.md similarity index 100% rename from chart-sdk/react/stock-chart/range-selector.md rename to chart-sdk/react/stock-charts/range-selector.md diff --git a/chart-sdk/react/stock-chart/series-types.md b/chart-sdk/react/stock-charts/series-types.md similarity index 100% rename from chart-sdk/react/stock-chart/series-types.md rename to chart-sdk/react/stock-charts/series-types.md diff --git a/chart-sdk/react/stock-chart/stock-events.md b/chart-sdk/react/stock-charts/stock-events.md similarity index 100% rename from chart-sdk/react/stock-chart/stock-events.md rename to chart-sdk/react/stock-charts/stock-events.md diff --git a/chart-sdk/react/stock-chart/technical-indicators.md b/chart-sdk/react/stock-charts/technical-indicators.md similarity index 100% rename from chart-sdk/react/stock-chart/technical-indicators.md rename to chart-sdk/react/stock-charts/technical-indicators.md diff --git a/chart-sdk/react/stock-chart/tool-tip.md b/chart-sdk/react/stock-charts/tool-tip.md similarity index 100% rename from chart-sdk/react/stock-chart/tool-tip.md rename to chart-sdk/react/stock-charts/tool-tip.md diff --git a/chart-sdk/react/stock-chart/trend-lines.md b/chart-sdk/react/stock-charts/trend-lines.md similarity index 100% rename from chart-sdk/react/stock-chart/trend-lines.md rename to chart-sdk/react/stock-charts/trend-lines.md diff --git a/chart-sdk/react/stock-chart/working-with-data.md b/chart-sdk/react/stock-charts/working-with-data.md similarity index 100% rename from chart-sdk/react/stock-chart/working-with-data.md rename to chart-sdk/react/stock-charts/working-with-data.md diff --git a/chart-sdk/react/treemap/getting-started.md b/chart-sdk/react/treemap/getting-started.md index 83d571982..859014524 100644 --- a/chart-sdk/react/treemap/getting-started.md +++ b/chart-sdk/react/treemap/getting-started.md @@ -73,7 +73,7 @@ npm install @syncfusion/ej2-react-treemap Replace the contents of `src/App.jsx` (or `src/App.tsx` for TypeScript) with the following code to render a simple TreeMap: -```tsx +``` import * as React from 'react'; import { TreeMapComponent } from '@syncfusion/ej2-react-treemap'; @@ -86,12 +86,13 @@ export function App() { { State: "Ecuador", Count: 7 }, { State: "Chile", Count: 6 } ]; + const leafItemSettings = { labelPath: 'State' }; return ( ); } @@ -104,7 +105,7 @@ export default App; Open `src/main.jsx` (or `src/main.tsx`) and ensure the `App` component is mounted to the DOM: -```tsx +``` import React from 'react'; import { createRoot } from 'react-dom/client'; import { App } from './App'; @@ -132,7 +133,7 @@ The TreeMap component is segregated into individual feature-wise modules. To use The example below shows how to inject the `TreeMapLegend` module: -```tsx +``` import { TreeMapComponent, Inject, TreeMapLegend } from '@syncfusion/ej2-react-treemap'; diff --git a/chart-sdk/javascript/3d-chart/Chart-types/bar.md b/chart-sdk/typescript/3d-charts/Chart-types/bar.md similarity index 64% rename from chart-sdk/javascript/3d-chart/Chart-types/bar.md rename to chart-sdk/typescript/3d-charts/Chart-types/bar.md index bcbbe4459..a4634f6d3 100644 --- a/chart-sdk/javascript/3d-chart/Chart-types/bar.md +++ b/chart-sdk/typescript/3d-charts/Chart-types/bar.md @@ -1,74 +1,74 @@ --- layout: post -title: Bar Chart in JavaScript 3D Chart control | Syncfusion -description: Learn here all about bar chart in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Bar Chart in TypeScript 3D Chart control | Syncfusion +description: Learn here all about bar chart in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Bar Chart in JavaScript 3D Chart control +# Bar Chart in TypeScript 3D Chart control ## Bar chart To render a [bar series](https://www.syncfusion.com/javascript-ui-controls/js-charts/chart-types/bar-chart), use series [`type`](../../api/chart3d/series3DModel/#type) as `Bar` and inject `BarSeries3D` module using `Chart3D.Inject(BarSeries3D)` method. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/bar-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/bar-cs1" %} ## Bar space and width The [`columnSpacing`](../../api/chart3d/series3DModel/#columnspacing) and [`columnWidth`](../../api/chart3d/series3DModel/#columnwidth) properties are used to customize the space between bars. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/bar-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/bar-cs2" %} ## Grouped bar The data points can be grouped in the bar type charts by using the [`groupName`](../../api/chart3d/series3DModel/#groupname) property. Data points with same group name are grouped together. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/bar-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/bar-cs3" %} ## Cylindrical bar chart To render a cylindrical bar chart, set the [`columnFacet`](../../api/chart3d/series3DModel/#columnfacet) property to `Cylinder` in the chart series. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs4/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs4/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs4/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs4/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/bar-cs4" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/bar-cs4" %} ## Series customization @@ -78,12 +78,13 @@ The following properties can be used to customize the `bar` series. * [opacity](../../api/chart3d/series3DModel/#opacity) – Specifies the opacity of the [fill](../../api/chart3d/series3DModel/#fill) color. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs5/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs5/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/bar-cs5/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/bar-cs5/index.html %} {% endhighlight %} {% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/bar-cs5" %} -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/bar-cs5" %} diff --git a/chart-sdk/javascript/3d-chart/Chart-types/column.md b/chart-sdk/typescript/3d-charts/Chart-types/column.md similarity index 62% rename from chart-sdk/javascript/3d-chart/Chart-types/column.md rename to chart-sdk/typescript/3d-charts/Chart-types/column.md index d1f49ab42..7e26f19ff 100644 --- a/chart-sdk/javascript/3d-chart/Chart-types/column.md +++ b/chart-sdk/typescript/3d-charts/Chart-types/column.md @@ -1,74 +1,74 @@ --- layout: post -title: Column Chart in JavaScript 3D Chart control | Syncfusion -description: Learn here all about column chart in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Column Chart in TypeScript 3D Chart control | Syncfusion +description: Learn here all about column chart in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Column Chart in JavaScript 3D Chart control +# Column Chart in TypeScript 3D Chart control ## Column chart To render a [column series](https://www.syncfusion.com/javascript-ui-controls/js-charts/chart-types/column-chart), use series [`type`](../../api/chart3d/series3DModel/#type) as `Column` and inject `ColumnSeries3D` module using `Chart3D.Inject(ColumnSeries3D)` method. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/column-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/column-cs1" %} ## Column space and width The [`columnSpacing`](../../api/chart3d/series3DModel/#columnspacing) and [`columnWidth`](../../api/chart3d/series3DModel/#columnwidth) properties are used to customize the space between columns. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/column-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/column-cs2" %} ## Grouped column The data points can be grouped in the column type charts by using the [`groupName`](../../api/chart3d/series3DModel/#groupname) property. Data points with same group name are grouped together. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/column-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/column-cs3" %} ## Cylindrical column chart To render a cylindrical column chart, set the [`columnFacet`](../../api/chart3d/series3DModel/#columnfacet) property to `Cylinder` in the chart series. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs4/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs4/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs4/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs4/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/column-cs4" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/column-cs4" %} ## Series customization @@ -78,12 +78,12 @@ The following properties can be used to customize the `column` series. * [opacity](../../api/chart3d/series3DModel/#opacity) – Specifies the opacity of the [fill](../../api/chart3d/series3DModel/#fill) color. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs5/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs5/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs5/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs5/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/column-cs5" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/column-cs5" %} diff --git a/chart-sdk/javascript/3d-chart/Chart-types/stack-bar.md b/chart-sdk/typescript/3d-charts/Chart-types/stack-bar.md similarity index 63% rename from chart-sdk/javascript/3d-chart/Chart-types/stack-bar.md rename to chart-sdk/typescript/3d-charts/Chart-types/stack-bar.md index 5a119b1fe..5f385c5e1 100644 --- a/chart-sdk/javascript/3d-chart/Chart-types/stack-bar.md +++ b/chart-sdk/typescript/3d-charts/Chart-types/stack-bar.md @@ -1,59 +1,59 @@ --- layout: post -title: Stacked Bar Chart in JavaScript 3D Chart control | Syncfusion -description: Learn here all about stacked bar chart in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Stacked Bar Chart in TypeScript 3D Chart control | Syncfusion +description: Learn here all about stacked bar chart in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Stacked bar chart in JavaScript 3D Chart control +# Stacked bar chart in TypeScript 3D Chart control ## Stacked bar chart To render a stacked bar series, use series [`type`](../../api/chart3d/series3DModel/#type) as `StackingBar` and inject `StackingBarSeries3D` module using `Chart3D.Inject(StackingBarSeries3D)` method. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs1" %} ## Stacking group To group the stacked bar, the [`stackingGroup`](../../api/chart3d/series3DModel/#stackinggroup) property can be used. The columns with same group name are stacked on top of each other. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs2" %} ## Cylindrical stacked bar chart To render a cylindrical stacked bar chart, set the [`columnFacet`](../../api/chart3d/series3DModel/#columnfacet) property to `Cylinder` in the chart series. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs3" %} ## Series customization @@ -63,12 +63,13 @@ The following properties can be used to customize the `stacked bar` series. * [opacity](../../api/chart3d/series3DModel/#opacity) – Specifies the opacity of the [fill](../../api/chart3d/series3DModel/#fill) color. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs4/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs4/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs4/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs4/index.html %} {% endhighlight %} {% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stack-bar-cs4" %} -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stack-bar-cs4" %} \ No newline at end of file diff --git a/chart-sdk/javascript/3d-chart/Chart-types/stack-column.md b/chart-sdk/typescript/3d-charts/Chart-types/stack-column.md similarity index 63% rename from chart-sdk/javascript/3d-chart/Chart-types/stack-column.md rename to chart-sdk/typescript/3d-charts/Chart-types/stack-column.md index ca5ed049e..24da0457f 100644 --- a/chart-sdk/javascript/3d-chart/Chart-types/stack-column.md +++ b/chart-sdk/typescript/3d-charts/Chart-types/stack-column.md @@ -1,59 +1,59 @@ --- layout: post -title: Stacked Column Chart in JavaScript 3D Chart control | Syncfusion -description: Learn here all about stacked column chart in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Stacked Column Chart in TypeScript 3D Chart control | Syncfusion +description: Learn here all about stacked column chart in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Stacked column chart in JavaScript 3D Chart control +# Stacked column chart in TypeScript 3D Chart control ## Stacked column chart To render a stacked column series, use series [`type`](../../api/chart3d/series3DModel/#type) as `StackingColumn` and inject `StackingColumnSeries3D` module using `Chart3D.Inject(StackingColumnSeries3D)` method. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs1" %} ## Stacking group To group the stacked column, the [`stackingGroup`](../../api/chart3d/series3DModel/#stackinggroup) property can be used. The columns with same group name are stacked on top of each other. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs2" %} ## Cylindrical stacked column chart To render a cylindrical stacked column chart, set the [`columnFacet`](../../api/chart3d/series3DModel/#columnfacet) property to `Cylinder` in the chart series. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs3" %} ## Series customization @@ -64,12 +64,12 @@ The following properties can be used to customize the `stacked column` series. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs4/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs4/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs4/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs4/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stack-column-cs4" %} \ No newline at end of file + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stack-column-cs4" %} diff --git a/chart-sdk/javascript/3d-chart/Chart-types/stacked-bar.md b/chart-sdk/typescript/3d-charts/Chart-types/stacked-bar.md similarity index 65% rename from chart-sdk/javascript/3d-chart/Chart-types/stacked-bar.md rename to chart-sdk/typescript/3d-charts/Chart-types/stacked-bar.md index 4f78af667..6ed2b0362 100644 --- a/chart-sdk/javascript/3d-chart/Chart-types/stacked-bar.md +++ b/chart-sdk/typescript/3d-charts/Chart-types/stacked-bar.md @@ -1,44 +1,44 @@ --- layout: post -title: 100% Stacked Bar Chart in JavaScript 3D Chart control | Syncfusion -description: Learn here all about 100% stacked bar chart in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: 100% Stacked Bar Chart in TypeScript 3D Chart control | Syncfusion +description: Learn here all about 100% stacked bar chart in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# 100% Stacked bar chart in JavaScript 3D Chart control +# 100% Stacked bar chart in TypeScript 3D Chart control ## 100% Stacked bar chart To render a [100% stacked bar](https://www.syncfusion.com/javascript-ui-controls/js-charts/chart-types/100-stacked-bar-chart) series, use series [`type`](../../api/chart3d/series3DModel/#type) as `StackingBar100` and inject `StackingBarSeries3D` module using `Chart3D.Inject(StackingBarSeries3D)` method. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-bar-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-bar-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-bar-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-bar-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stacked-bar-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stacked-bar-cs1" %} ## 100% Cylindrical stacked bar chart To render a cylindrical 100% stacked bar chart, set the [`columnFacet`](../../api/chart3d/series3DModel/#columnfacet) property to `Cylinder` in the chart series. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-bar-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-bar-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-bar-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-bar-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stacked-bar-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stacked-bar-cs2" %} ## Series customization @@ -48,12 +48,12 @@ The following properties can be used to customize the `100% stacked bar` series. * [opacity](../../api/chart3d/series3DModel/#opacity) – Specifies the opacity of the [fill](../../api/chart3d/series3DModel/#fill) color. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-bar-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-bar-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-bar-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-bar-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stacked-bar-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stacked-bar-cs3" %} diff --git a/chart-sdk/javascript/3d-chart/Chart-types/stacked-column.md b/chart-sdk/typescript/3d-charts/Chart-types/stacked-column.md similarity index 65% rename from chart-sdk/javascript/3d-chart/Chart-types/stacked-column.md rename to chart-sdk/typescript/3d-charts/Chart-types/stacked-column.md index 7561d93ea..92e38e2c3 100644 --- a/chart-sdk/javascript/3d-chart/Chart-types/stacked-column.md +++ b/chart-sdk/typescript/3d-charts/Chart-types/stacked-column.md @@ -1,44 +1,44 @@ --- layout: post -title: 100% Stacked Column Chart in JavaScript 3D Chart control | Syncfusion -description: Learn here all about 100% stacked column chart in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: 100% Stacked Column Chart in TypeScript 3D Chart control | Syncfusion +description: Learn here all about 100% stacked column chart in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# 100% Stacked column chart in JavaScript 3D Chart control +# 100% Stacked column chart in TypeScript 3D Chart control ## 100% Stacked column chart To render a [100% stacked column](https://www.syncfusion.com/javascript-ui-controls/js-charts/chart-types/100-stacked-column-chart) series, use series [`type`](../../api/chart3d/series3DModel/#type) as `StackingColumn100` and inject `StackingColumnSeries3D` module using `Chart3D.Inject(StackingColumnSeries3D)` method. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-column-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-column-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-column-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-column-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stacked-column-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stacked-column-cs1" %} ## 100% Cylindrical stacked column chart To render a 100% cylindrical stacked column chart, set the [`columnFacet`](../../api/chart3d/series3DModel/#columnfacet) property to `Cylinder` in the chart series. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-column-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-column-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-column-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-column-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stacked-column-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stacked-column-cs2" %} ## Series customization @@ -48,12 +48,12 @@ The following properties can be used to customize the `100% stacked column` seri * [opacity](../../api/chart3d/series3DModel/#opacity) – Specifies the opacity of the [fill](../../api/chart3d/series3DModel/#fill) color. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-column-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-column-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/stacked-column-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/stacked-column-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/stacked-column-cs3" %} \ No newline at end of file + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/stacked-column-cs3" %} diff --git a/chart-sdk/javascript/3d-chart/accessibility.md b/chart-sdk/typescript/3d-charts/accessibility.md similarity index 89% rename from chart-sdk/javascript/3d-chart/accessibility.md rename to chart-sdk/typescript/3d-charts/accessibility.md index 636ccfa89..104c2ba68 100644 --- a/chart-sdk/javascript/3d-chart/accessibility.md +++ b/chart-sdk/typescript/3d-charts/accessibility.md @@ -1,7 +1,7 @@ --- layout: post -title: Accessibility in JavaScript 3D Chart control | Syncfusion -description: Learn here all about accessibility in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Accessibility in TypeScript 3D Chart control | Syncfusion +description: Learn here all about accessibility in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk @@ -9,7 +9,7 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Accessibility in JavaScript 3D Chart control +# Accessibility in TypeScript 3D Chart control Accessibility is achieved in the 3D chart control through WAI-ARIA standard and keyboard navigation. The 3D chart features can be effectively accessed through assistive technologies such as screen readers. diff --git a/chart-sdk/javascript/3d-chart/appearance.md b/chart-sdk/typescript/3d-charts/appearance.md similarity index 67% rename from chart-sdk/javascript/3d-chart/appearance.md rename to chart-sdk/typescript/3d-charts/appearance.md index 5ee94f91e..58ddfa440 100644 --- a/chart-sdk/javascript/3d-chart/appearance.md +++ b/chart-sdk/typescript/3d-charts/appearance.md @@ -1,7 +1,7 @@ --- layout: post -title: Appearance in JavaScript 3D Chart control | Syncfusion -description: Learn here all about appearance in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Appearance in TypeScript 3D Chart control | Syncfusion +description: Learn here all about appearance in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk @@ -9,22 +9,22 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Appearance in JavaScript 3D Chart control +# Appearance in TypeScript 3D Chart control ## Custom color palette The default color of series or points can be customized by providing a custom color palette of your choice by using the [`palettes`](../api/chart3d/chart3DModel/#palettes) property. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs1" %} ## Data point customization @@ -35,30 +35,30 @@ The color of an individual data point can be customized using the below options. The color for the points can be bound from the [`dataSource`](../api/chart3d/series3D/#datasource) for the series by utilizing the [`pointColorMapping`](../api/chart3d/series3D/#pointcolormapping) property. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs2" %} ## Point level customization The data label and fill color of each data point can be customized using the [`pointRender`](../api/chart3d/i3DPointRenderEventArgs/) and [`textRender`](../api/chart3d/i3dtextrendereventargs/) events. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs3" %} @@ -70,119 +70,120 @@ The data label and fill color of each data point can be customized using the [`p The background color and border of the 3D chart can be customized using the [`background`](../api/chart3d/chart3DModel/#background) and [`border`](../api/chart3d/chart3DModel/#border) properties. + {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs4/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs4/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs4/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs4/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs4" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs4" %} **Chart margin** The 3D chart's margin can be set from its container using the [`margin`](../api/chart3d/chart3DModel/#margin) property. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs5/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs5/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs5/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs5/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs5" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs5" %} ## Animation To customize the animation for a particular series, the [`animation`](../api/chart3d/series3D/#animation) property can be used. It can be enabled or disabled by using the [`enable`](../api/chart3d/animationModel/#enable) property. The [`duration`](../api/chart3d/animationModel/#duration) property specifies the duration of an animation and the [`delay`](../api/chart3d/animationModel/#delay) property allows us to start the animation at desire time. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs6/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs6/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs6/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs6/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs6" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs6" %} ## Chart rotation The 3D chart can be rotated by using the [`enableRotation`](../api/chart3d/chart3DModel/#enablerotation) property. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs12/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs12/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs12/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs12/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs12" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs12" %} ## Title The 3D chart can be given a title by using [`title`](../api/chart3d/chart3DModel/#title) property, to show the information about the data plotted. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs7/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs7/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs7/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs7/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs7" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs7" %} ### Title position By using the [`position`](../api/chart3d/titleSettingsModel/#position) property in [`titleStyle`](../api/chart3d/chart3DModel/#titlestyle), the [`title`](../api/chart/#title-string) can be positioned at left, right, top or bottom of the 3D chart. The title is positioned at the top of the 3D chart, by default. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs8/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs8/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs8/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs8/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs8" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs8" %} The custom option is used to position the title anywhere in the 3D chart using [`x`](../api/chart3d/titleSettingsModel/#x) and [`y`](../api/chart3d/titleSettingsModel/#y) coordinates. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs9/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs9/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs9/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs9/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs9" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs9" %} ### Title alignment The title can be aligned to the near, far, or center of the 3D chart by using the [`textAlignment`](../api/chart3d/titleSettingsModel/#textalignment) property. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs10/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs10/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs10/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs10/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs10" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs10" %} ### Title customization @@ -198,12 +199,13 @@ The [`titleStyle`](../api/chart3d/chart3DModel/#titlestyle) property of the 3D c * [`textOverflow`](../api/chart3d/titleSettingsModel/#textoverflow) - Specifies the overflow of the title. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs11/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs11/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/appearance-cs11/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/appearance-cs11/index.html %} {% endhighlight %} {% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/appearance-cs11" %} -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/appearance-cs11" %} diff --git a/chart-sdk/javascript/3d-chart/axis-customization.md b/chart-sdk/typescript/3d-charts/axis-customization.md similarity index 65% rename from chart-sdk/javascript/3d-chart/axis-customization.md rename to chart-sdk/typescript/3d-charts/axis-customization.md index 80ad46526..8b0f59586 100644 --- a/chart-sdk/javascript/3d-chart/axis-customization.md +++ b/chart-sdk/typescript/3d-charts/axis-customization.md @@ -1,7 +1,7 @@ --- layout: post -title: Axis customization in JavaScript 3D Chart control | Syncfusion -description: Learn here all about axis customization in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Axis customization in TypeScript 3D Chart control | Syncfusion +description: Learn here all about axis customization in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk @@ -9,82 +9,82 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Axis customization in JavaScript 3D Chart control +# Axis customization in TypeScript 3D Chart control ## Title The title for the axis can be added by using the [`title`](../api/chart3d/axis3D/#title) property. It helps to provide quick information to the user about the data plotted in the axis. Title style can be customized using [`titleStyle`](../api/chart3d/axis3D/#titlestyle) property of the axis. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-cs1" %} ## Title rotation The title can be rotated from 0 to 360 degree by using the [`titleRotation`](../api/chart3d/axis3D/#titlerotation) property. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-cs2" %} ## Tick lines customization The [`width`](../api/chart3d/majorTickModel/#width), [`color`](../api/chart3d/majorTickModel/#color) and [`height`](../api/chart3d/majorTickModel/#height) of the minor and major tick lines can be customized by using the [`majorTickLines`](../api/chart3d/axis3D/#majorticklines) and [`minorTickLines`](../api/chart3d/axis3D/#minorticklines) properties in the axis. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-cs3" %} ## Grid lines customization The [`width`](../api/chart3d/majorGridModel/#width) and [`color`](../api/chart3d/majorGridModel/#color) of the minor and major grid lines can be customized by using the [`majorGridLines`](../api/chart3d/axis3D/#majorgridlines) and [`minorGridLines`](../api/chart3d/axis3D/#minorgridlines) properties in the axis. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs4/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs4/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs4/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs4/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-cs4" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-cs4" %} ## Multiple axis In addition to primary X and Y axis, n number of axis can be added to the chart. Series can be associated with this axis, by mapping with axis's unique name. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs5/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs5/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs5/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs5/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-cs5" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-cs5" %} ## Inversed axis @@ -93,27 +93,27 @@ In addition to primary X and Y axis, n number of axis can be added to the chart. When an axis is inversed, highest value of the axis comes closer to origin and vice versa. To place an axis in inversed manner, set the [`isInversed`](../api/chart3d/axis3D/#isinversed) property to **true**. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs6/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs6/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs6/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs6/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-cs6" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-cs6" %} ## Opposed position To place an axis opposite from its original position, set the [`opposedPosition`](../api/chart3d/axis3D/#opposedposition) property to **true**. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs7/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs7/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-cs7/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-cs7/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-cs7" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-cs7" %} diff --git a/chart-sdk/javascript/3d-chart/axis-labels.md b/chart-sdk/typescript/3d-charts/axis-labels.md similarity index 63% rename from chart-sdk/javascript/3d-chart/axis-labels.md rename to chart-sdk/typescript/3d-charts/axis-labels.md index 115a9d257..4c6bc1d43 100644 --- a/chart-sdk/javascript/3d-chart/axis-labels.md +++ b/chart-sdk/typescript/3d-charts/axis-labels.md @@ -1,7 +1,7 @@ --- layout: post -title: Axis labels in JavaScript 3D Chart control | Syncfusion -description: Learn here all about axis labels in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Axis labels in TypeScript 3D Chart control | Syncfusion +description: Learn here all about axis labels in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk @@ -9,7 +9,7 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Axis labels in JavaScript 3D Chart control +# Axis labels in TypeScript 3D Chart control Axis labels are the labels that are positioned adjacent to the y-axis and beneath the x-axis. It provides descriptive information about the axis. @@ -20,41 +20,41 @@ When the axis labels overlap with each other, [`labelIntersectAction`](../api/c **Case 1**: When setting `labelIntersectAction` as `Hide`. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs1" %} **Case 2**: When setting `labelIntersectAction` as `Rotate45`. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs2" %} **Case 3**: When setting `labelIntersectAction` as `Rotate90`. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs3" %} ## Edge label placement @@ -62,27 +62,27 @@ Labels with long text at the edges of an axis may appear partially in the 3D cha use the [`edgeLabelPlacement`](../api/chart3d/axis3D/#edgelabelplacement) property in axis, which moves the label inside the chart area for better appearance or hides it. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs4/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs4/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs4/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs4/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs4" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs4" %} ## Maximum labels The labels will be rendered based on the count in the [`maximumLabels`](../api/chart3d/axis3D/#maximumlabels) property per 100 pixel. If the range (minimum, maximum, interval) and `maximumLabels` are set, then the priority goes to range. If the range is not set, then the priority goes to `maximumLabels` property. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs5/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs5/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs5/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs5/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/axis-labels-cs5" %} \ No newline at end of file + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/axis-labels-cs5" %} diff --git a/chart-sdk/javascript/3d-chart/category-axis.md b/chart-sdk/typescript/3d-charts/category-axis.md similarity index 62% rename from chart-sdk/javascript/3d-chart/category-axis.md rename to chart-sdk/typescript/3d-charts/category-axis.md index c065c14ea..aa1841539 100644 --- a/chart-sdk/javascript/3d-chart/category-axis.md +++ b/chart-sdk/typescript/3d-charts/category-axis.md @@ -1,7 +1,7 @@ --- layout: post -title: Category axis in JavaScript 3D Chart control | Syncfusion -description: Learn here all about category axis in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Category axis in TypeScript 3D Chart control | Syncfusion +description: Learn here all about category axis in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk @@ -9,20 +9,20 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Category axis in JavaScript 3D Chart control +# Category axis in TypeScript 3D Chart control The category axis is the horizontal axis of a 3D chart that shows text values rather than numerical values. Compared to the vertical axis, this axis has fewer labels. The following sample shows to render the 3D chart using category axis. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/column-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/column-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/column-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/column-cs1" %} >Note: To use category axis, we need to inject `Category3D` module using `Chart3D.Inject(Category3D)` method and set the [`valueType`](../api/chart3d/axis3D/#valuetype) of axis to **Category**. @@ -31,42 +31,43 @@ The category axis is the horizontal axis of a 3D chart that shows text values ra By default, category axis labels are placed between ticks in an axis. It can also be placed on ticks using the [`labelPlacement`](../api/chart3d/axis3D/#labelplacement) property. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/category-axis-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/category-axis-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/category-axis-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/category-axis-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/category-axis-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/category-axis-cs1" %} ## Range The range of the category axis can be customized using [`minimum`](../api/chart3d/axis3D/#minimum), [`maximum`](../api/chart3d/axis3D/#maximum) and [`interval`](../api/chart3d/axis3D/#interval) properties of the axis. + {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/category-axis-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/category-axis-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/category-axis-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/category-axis-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/category-axis-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/category-axis-cs2" %} ## Indexed category axis The category axis can also be rendered based on the index values of the data source. This can be achieved by defining the [`isIndexed`](../api/chart3d/axis3D/#isindexed) property to **true** in the axis. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/category-axis-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/category-axis-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/category-axis-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/category-axis-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/category-axis-cs3" %} \ No newline at end of file + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/category-axis-cs3" %} diff --git a/chart-sdk/javascript/3d-chart/data-labels.md b/chart-sdk/typescript/3d-charts/data-labels.md similarity index 70% rename from chart-sdk/javascript/3d-chart/data-labels.md rename to chart-sdk/typescript/3d-charts/data-labels.md index 3f75848b8..b7ed340b8 100644 --- a/chart-sdk/javascript/3d-chart/data-labels.md +++ b/chart-sdk/typescript/3d-charts/data-labels.md @@ -1,7 +1,7 @@ --- layout: post -title: Data labels in JavaScript 3D Chart control | Syncfusion -description: Learn here all about data labels in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Data labels in TypeScript 3D Chart control | Syncfusion +description: Learn here all about data labels in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk @@ -9,20 +9,20 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Data labels in JavaScript 3D Chart control +# Data labels in TypeScript 3D Chart control Data labels are fields that includes information about the sample point connected to an output. It can be added to a chart series by enabling the [`visible`](../api/chart3d/dataLabelStyleModel/#visible) property in the [`dataLabel`](../api/chart3d/series3DModel/#datalabel). By default, the labels will arrange smartly without overlapping. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/data-label-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/data-label-cs1" %} >Note: To use data label feature, we need to inject `DataLabel3D` module using `Chart3D.Inject(DataLabel3D)` method. @@ -31,60 +31,60 @@ Data labels are fields that includes information about the sample point connecte The [`position`](../api/chart3d/dataLabelStyleModel/#position) property is used to place the label either on `Top`, `Middle`, or `Bottom`. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/data-label-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/data-label-cs2" %} ## Template Label content can be formatted by using the template option. Inside the template, the placeholder text `${point.x}` and `${point.y}` can be added to display corresponding data points x & y value. Using [`template`](../api/chart3d/dataLabelStyleModel/#template) property, the data label template can be set. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/data-label-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/data-label-cs3" %} ## Text mapping Text from the data source can be mapped using the [`name`](../api/chart3d/dataLabelStyleModel/#name) property. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs4/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs4/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs4/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs4/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/data-label-cs4" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/data-label-cs4" %} ## Format Data label for the chart can be formatted using the [`format`](../api/chart3d/dataLabelStyleModel/#format) property. The global formatting options can be used as 'n', 'p', and 'c'. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs5/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs5/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs5/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs5/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/data-label-cs5" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/data-label-cs5" %} @@ -148,42 +148,42 @@ Data label for the chart can be formatted using the [`format`](../api/chart3d/da The [`margin`](../api/chart3d/dataLabelStyleModel/#margin) for data label can be applied by using [`left`](../api/chart3d/marginModel/#left), [`right`](../api/chart3d/marginModel/#right), [`bottom`](../api/chart3d/marginModel/#bottom) and [`top`](../api/chart3d/marginModel/#top) properties. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs6/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs6/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs6/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs6/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/data-label-cs6" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/data-label-cs6" %} ## Customization The `stroke` and `border` of data label can be customized using [`fill`](../api/chart3d/dataLabelStyleModel/#fill) and [`border`](../api/chart3d/dataLabelStyleModel/#border) properties. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs7/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs7/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs7/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs7/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/data-label-cs7" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/data-label-cs7" %} ## Customizing specific label A specific label can be customized by using the [`textRender`](../api/chart3d/i3dtextrendereventargs/) event. The `textRender` event allows you to change the label text for the point. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs8/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs8/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/data-label-cs8/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/data-label-cs8/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/data-label-cs8" %} \ No newline at end of file + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/data-label-cs8" %} diff --git a/chart-sdk/javascript/3d-chart/datetime-axis.md b/chart-sdk/typescript/3d-charts/datetime-axis.md similarity index 70% rename from chart-sdk/javascript/3d-chart/datetime-axis.md rename to chart-sdk/typescript/3d-charts/datetime-axis.md index 93b279e95..a7452a76e 100644 --- a/chart-sdk/javascript/3d-chart/datetime-axis.md +++ b/chart-sdk/typescript/3d-charts/datetime-axis.md @@ -1,7 +1,7 @@ --- layout: post -title: DateTime axis in JavaScript 3D Chart control | Syncfusion -description: Learn here all about DateTime axis in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: DateTime axis in TypeScript 3D Chart control | Syncfusion +description: Learn here all about DateTime axis in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk @@ -10,22 +10,22 @@ domainurl: https://help.syncfusion.com/chart-sdk --- -# DateTime axis in JavaScript 3D Chart control +# DateTime axis in TypeScript 3D Chart control ## DateTime axis DateTime axis uses date time scale and displays the date time values as axis labels in the specified format. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/date-time-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/date-time-cs1" %} >Note: To use datetime axis, we need to inject `DateTime3D` module using `Chart3D.Inject(DateTime3D)` method and set the [`valueType`](../api/chart3d/axis3D/#valuetype) of axis to **DateTime**. @@ -34,15 +34,15 @@ DateTime axis uses date time scale and displays the date time values as axis lab DateTime category axis is used to display the date time values with non-linear intervals. For example, the business days alone have been depicted in a week here. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/date-time-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/date-time-cs2" %} >Note: To use datetime category axis, we need to inject `DateTimeCategory3D` module using the `Chart3D.Inject(DateTimeCategory3D)` method and set the [`valueType`](../api/chart3d/axis3D/#valuetype) of axis to **DateTimeCategory**. @@ -51,15 +51,15 @@ DateTime category axis is used to display the date time values with non-linear i Range of an axis will be calculated automatically based on the provided data. You can also customize the range of an axis using [`minimum`](../api/chart3d/axis3D/#minimum), [`maximum`](../api/chart3d/axis3D/#maximum) and [`interval`](../api/chart3d/axis3D/#interval) properties. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/date-time-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/date-time-cs3" %} ### Interval customization @@ -74,15 +74,15 @@ Date time intervals can be customized by using the [`interval`](../api/chart3d/a * Seconds {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs4/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs4/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs4/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs4/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/date-time-cs4" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/date-time-cs4" %} **Applying padding to the range** @@ -97,60 +97,60 @@ Padding can be applied to the minimum and maximum extremes of the range by using When the [`rangePadding`](../api/chart3d/axis3D/#rangepadding) is set to `None`, minimum and maximum of an axis is based on the data. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs5/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs5/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs5/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs5/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/date-time-cs5" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/date-time-cs5" %} **DateTime - Round** When the [`rangePadding`](../api/chart3d/axis3D/#rangepadding) is set to `Round`, minimum and maximum will be rounded to the nearest possible value, which is divisible by interval. For example, when the minimum is **15th Jan**, interval is **1** and interval type is **Month**, then the axis minimum will be **Jan 1st**. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs6/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs6/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs6/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs6/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/date-time-cs6" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/date-time-cs6" %} **DateTime - Additional** When the [`rangePadding`](../api/chart3d/axis3D/#rangepadding) is set to `Additional`, interval of an axis will be padded to the minimum and maximum of the axis. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs7/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs7/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs7/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs7/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/date-time-cs7" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/date-time-cs7" %} ## Label format The date can be formatted and parsed to all globalize format using the [`labelFormat`](../api/chart3d/axis3D/#labelformat) property in an axis. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs8/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs8/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs8/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs8/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/date-time-cs8" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/date-time-cs8" %} The following table describes the result of applying some common date time formats to the `labelFormat` property. @@ -199,12 +199,12 @@ The following table describes the result of applying some common date time forma Axis also supports custom label format using placeholder like {value}°C, in which the value represent the axis label e.g 20°C. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs9/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs9/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/date-time-cs9/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/date-time-cs9/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/date-time-cs9" %} \ No newline at end of file + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/date-time-cs9" %} diff --git a/chart-sdk/javascript/3d-chart/dimensions.md b/chart-sdk/typescript/3d-charts/dimensions.md similarity index 65% rename from chart-sdk/javascript/3d-chart/dimensions.md rename to chart-sdk/typescript/3d-charts/dimensions.md index e33643eed..bc20a4e8a 100644 --- a/chart-sdk/javascript/3d-chart/dimensions.md +++ b/chart-sdk/typescript/3d-charts/dimensions.md @@ -1,7 +1,7 @@ --- layout: post -title: Dimensions in JavaScript 3D Chart control | Syncfusion -description: Learn here all about dimensions in Syncfusion JavaScript 3D Chart control of Syncfusion Essential JS 2 and more. +title: Dimensions in TypeScript 3D Chart control | Syncfusion +description: Learn here all about dimensions in Syncfusion TypeScript 3D Chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: 3D Chart publishingplatform: chart-sdk @@ -9,7 +9,7 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Dimensions in JavaScript 3D Chart control +# Dimensions in TypeScript 3D Chart control ## Size for container @@ -22,15 +22,15 @@ The 3D chart can be rendered to its container size and it can be set via inline ``` {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/chart-dimension-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/chart-dimension-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/chart-dimension-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/chart-dimension-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/chart-dimension-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/chart-dimension-cs1" %} ## Size for chart @@ -44,29 +44,29 @@ The size of the 3D chart can be set directly through [`width`](../api/chart3d/ch The size of the 3D chart can be set in pixel as demonstrated below. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/chart-dimension-cs2/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/chart-dimension-cs2/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/chart-dimension-cs2/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/chart-dimension-cs2/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/chart-dimension-cs2" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/chart-dimension-cs2" %} **In Percentage** By setting the value in percentage, 3D chart gets its dimension with respect to its container. For example, when the height is **50%**, chart renders to half of the container height. {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/chart-dimension-cs3/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/3d-charts/chart-dimension-cs3/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/3d-charts/chart-dimension-cs3/index.html %} +{% include code-snippet/chart-sdk/typescript/3d-charts/chart-dimension-cs3/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/3d-charts/chart-dimension-cs3" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/3d-charts/chart-dimension-cs3" %} >Note: When you do not specify the size, it takes `450px` as the height and window size as its width. \ No newline at end of file diff --git a/chart-sdk/typescript/3d-charts/getting-started.md b/chart-sdk/typescript/3d-charts/getting-started.md new file mode 100644 index 000000000..dd65b11fc --- /dev/null +++ b/chart-sdk/typescript/3d-charts/getting-started.md @@ -0,0 +1,177 @@ +--- +layout: post +title: Getting started with TypeScript 3D Chart control | Syncfusion +description: Check out and learn about Getting started with TypeScript 3D Chart control of Syncfusion Essential JS 2 and more details. +platform: chart-sdk +control: 3D Chart +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Getting started with TypeScript 3D Chart control + +This document explains how to create a simple 3D Chart and configure its features in TypeScript using the Essential JS 2 webpack [quickstart](https://github.com/SyncfusionExamples/ej2-quickstart-webpack) seed repository. + +> This application is integrated with the `webpack.config.js` configuration and uses the latest version of the [webpack-cli](https://webpack.js.org/api/cli/#commands). It requires node `v14.15.0` or higher. For more information about webpack and its features, refer to the [webpack getting-started guide](https://webpack.js.org/guides/getting-started/). + +## Prerequisites + +Before you begin, ensure you have the following installed on your machine: + +* [Node.js](https://nodejs.org/) (v14.15.0 or higher) +* [Visual Studio Code](https://code.visualstudio.com) (or any text editor) +* [Git](https://git-scm.com/) for cloning the quickstart repository +* A modern web browser (Chrome, Edge, Firefox, or Safari) to view the result + +## Dependencies + +The 3D Chart control ships as part of the `@syncfusion/ej2-charts` package. Below is the list of minimum dependencies required. + +``` +|-- @syncfusion/ej2-charts + |-- @syncfusion/ej2-base + |-- @syncfusion/ej2-data + |-- @syncfusion/ej2-pdf-export + |-- @syncfusion/ej2-file-utils + |-- @syncfusion/ej2-compression + |-- @syncfusion/ej2-svg-base +``` + + +## Quick Setup + +### Step 1: Create a Project Folder + +Create a folder named `my-3d-chart` in your desired location. This folder will contain your Syncfusion 3D Chart TypeScript project. + +### Step 2: Open Command Prompt + +Open the command prompt and navigate to `my-3d-chart` folder created in Step 1. You can do this by: + +* **For Windows**: Open Command Prompt (cmd) or PowerShell and use the `cd` command to navigate to `my-3d-chart` folder. +* **For macOS/Linux**: Open Terminal and use the `cd` command to navigate to `my-3d-chart` folder. + +### Step 3: Clone the Quickstart Repository + +Run the following command to clone the Syncfusion JavaScript (Essential JS 2) quickstart project from [GitHub](https://github.com/SyncfusionExamples/ej2-quickstart-webpack). + +{% tabs %} +{% highlight bash tabtitle="CMD" %} + +git clone https://github.com/SyncfusionExamples/ej2-quickstart-webpack ej2-quickstart + +{% endhighlight %} +{% endtabs %} + +### Step 4: Navigate to Project Folder + +After cloning the application in the `ej2-quickstart` folder, run the following command to navigate to the project directory. + +{% tabs %} +{% highlight bash tabtitle="CMD" %} + +cd ej2-quickstart + +{% endhighlight %} +{% endtabs %} + +### Step 5: Install Required Packages + +Syncfusion JavaScript (Essential JS 2) packages are available on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. You can install all Syncfusion JavaScript (Essential JS 2) controls in a single [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package or individual packages for each control. + +The quickstart application is already preconfigured with the dependent [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package in the `~/package.json` file. Use the following command to install all the dependent npm packages from the command prompt: + +{% tabs %} +{% highlight bash tabtitle="NPM" %} + +npm install + +{% endhighlight %} +{% endtabs %} + +This command will download and install all necessary dependencies for your project. + +### Step 6: Update the HTML Template + +Open the `ej2-quickstart` folder in Visual Studio Code or any text editor of your choice. + +Locate the `~/src/index.html` file in the project, preserve any existing `` and ` +``` + +## Properties + +### accumulationDataLabelModule [`AccumulationDataLabel`](./api-accumulationDataLabel.html) + +`accumulationDataLabelModule` is used to manipulate and add dataLabel in accumulation chart. + +### accumulationLegendModule [`AccumulationLegend`](./api-accumulationLegend.html) + +`accumulationLegendModule` is used to manipulate and add legend in accumulation chart. + +### accumulationSelectionModule [`AccumulationSelection`](./api-accumulationSelection.html) + +`accumulationSelectionModule` is used to manipulate and add selection in accumulation chart. + +### accumulationTooltipModule [`AccumulationTooltip`](./api-accumulationTooltip.html) + +`accumulationTooltipModule` is used to manipulate and add tooltip in accumulation chart. + +### annotationModule [`AccumulationAnnotation`](./api-accumulationAnnotation.html) + +`annotationModule` is used to manipulate and add annotation in chart. + +### annotations `AccumulationAnnotationSettingsModel[]` + +The configuration for annotation in chart. + +### background `string` + +The background color of the chart, which accepts value in hex, rgba as a valid CSS color string. + +Defaults to *null* + +### border `BorderModel` + +Options for customizing the color and width of the chart border. + +### dataSource `Object` | `DataManager` + +Specifies the dataSource for the AccumulationChart. It can be an array of JSON objects or an instance of DataManager. +``` +
      +``` +```ts +let dataManager: DataManager = new DataManager({ + url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/' +}); +let query: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false); +let pie: AccumulationChart = new AccumulationChart({ +... + dataSource: dataManager, + series: [{ + xName: 'Id', + yName: 'Estimate', + query: query + }], +... +}); +pie.appendTo('#Pie'); +``` + +Defaults to *''* + +### enablePersistence `boolean` + +Enable or disable persisting component's state between page reloads. + +Defaults to *false* + +### enableRtl `boolean` + +Enable or disable rendering component in right to left direction. + +Defaults to *false* + +### enableSmartLabels `boolean` + +If set true, labels for the point will be placed smartly without overlapping. + +Defaults to *true* + +### height `string` + +The height of the chart as a string in order to provide input as both like '100px' or '100%'. +If specified as '100%, chart will render to the full height of its parent element. + +Defaults to *null* + +### isMultiSelect `boolean` + +If set true, enables the multi selection in accumulation chart. It requires `selectionMode` to be `Point`. + +Defaults to *false* + +### legendSettings `LegendSettingsModel` + +Options for customizing the legend of accumulation chart. + +### locale `string` + +Overrides the global culture and localization value for this component. Default global culture is 'en-US'. + +Defaults to *undefined* + +### margin `MarginModel` + + Options to customize the left, right, top and bottom margins of accumulation chart. + +### selectedDataIndexes `IndexesModel[]` + +Specifies the point indexes to be selected while loading a accumulation chart. +It requires `selectionMode` to be `Point`. +``` +
      +``` +```ts +let pie: AccumulationChart = new AccumulationChart({ +... + selectionMode: 'Point', + selectedDataIndexes: [ { series: 0, point: 1}, + { series: 2, point: 3} ], +... +}); +pie.appendTo('#Pie'); +``` + +Defaults to *[]* + +### selectionMode `string` + +Specifies whether point has to get selected or not. Takes value either 'None 'or 'Point' + +Defaults to *None* + +### series `AccumulationSeriesModel[]` + +The configuration for series in accumulation chart. + +### theme `string` + +Specifies the theme for accumulation chart. + +Defaults to *'Material'* + +### title `string` + +Title for accumulation chart + +Defaults to *null* + +### titleStyle `FontModel` + +Options for customizing the `title` of accumulation chart. + +### tooltip `TooltipSettingsModel` + +Options for customizing the tooltip of accumulation chart. + +### width `string` + +The width of the chart as a string in order to provide input as both like '100px' or '100%'. +If specified as '100%, chart will render to the full width of its parent element. + +Defaults to *null* + +## Methods + +### addEventListener + +Adds the handler to the given event listener. + +Returns *void* + +### appendTo + +Appends the control within the given HTML element + +| Parameter | Type | Description | +|------|------|-------------| +| selector (*optional*) | `string` | `HTMLElement` | Target element where control needs to be appended
      | + +Returns *void* + +### dataBind + +When invoked, applies the pending property changes immediately to the component. + +Returns *void* + +### export + +Handles the export method for accumulation control. + +Returns *void* + +### getModuleName + +To get Module name + @private + +Returns *string* + +### print + +Handles the print method for accumulation chart control. + +Returns *void* + +### refresh + +Applies all the pending property changes and render the component again. + +Returns *void* + +### removeEventListener + +Removes the handler from the given event listener. + +Returns *void* + +### setAnnotationValue + +Method to set the annotation content dynamically for accumulation. + +Returns *void* + +### Inject + +Dynamically injects the required modules to the component. + +Returns *void* + +## Events + +### animationComplete [`EmitType`](./api-iAccAnimationCompleteEventArgs.html) + +Triggers after animation gets completed for series. + +### annotationRender `EmitType` + +Triggers before the annotation gets rendered. + +### beforePrint `EmitType` + +Triggers before the prints gets started. + +### chartMouseClick `EmitType` + +Triggers on clicking the accumulation chart. + +### chartMouseDown `EmitType` + +Triggers on mouse down. + +### chartMouseLeave `EmitType` + +Triggers while cursor leaves the accumulation chart. + +### chartMouseMove `EmitType` + +Triggers on hovering the accumulation chart. + +### chartMouseUp `EmitType` + +Triggers on mouse up. + +### legendRender `EmitType` + +Triggers before the legend gets rendered. + +### load [`EmitType`](./api-iAccLoadedEventArgs.html) + +Triggers before accumulation chart load. + +### loaded [`EmitType`](./api-iAccLoadedEventArgs.html) + +Triggers after accumulation chart loaded. + +### pointClick `EmitType` + +Triggers on point click. + +### pointMove `EmitType` + +Triggers on point move. + +### pointRender [`EmitType`](./api-iAccPointRenderEventArgs.html) + +Triggers before each points for series gets rendered. + +### resized [`EmitType`](./api-iAccResizeEventArgs.html) + +Triggers after window resize. + +### seriesRender [`EmitType`](./api-iAccSeriesRenderEventArgs.html) + +Triggers before the series gets rendered. + +### textRender [`EmitType`](./api-iAccTextRenderEventArgs.html) + +Triggers before the data label for series gets rendered. + +### tooltipRender [`EmitType`](./api-iAccTooltipRenderEventArgs.html) + +Triggers before the tooltip for series gets rendered. diff --git a/chart-sdk/typescript/accumulation-charts/api-accumulationChartModel.md b/chart-sdk/typescript/accumulation-charts/api-accumulationChartModel.md new file mode 100644 index 000000000..d5543bf83 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-accumulationChartModel.md @@ -0,0 +1,204 @@ +--- +layout: post +title: Api accumulationChartModel in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api accumulationChartModel in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api accumulationChartModel +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api accumulationChartModel in TypeScript Accumulation chart control + +Interface for a class AccumulationChart + +## Properties + +### animationComplete [`EmitType`](./api-iAccAnimationCompleteEventArgs.html) + +Triggers after animation gets completed for series. + +### annotationRender `EmitType` + +Triggers before the annotation gets rendered. + +### beforePrint `EmitType` + +Triggers before the prints gets started. + +### chartMouseClick `EmitType` + +Triggers on clicking the accumulation chart. + +### chartMouseDown `EmitType` + +Triggers on mouse down. + +### chartMouseLeave `EmitType` + +Triggers while cursor leaves the accumulation chart. + +### chartMouseMove `EmitType` + +Triggers on hovering the accumulation chart. + +### chartMouseUp `EmitType` + +Triggers on mouse up. + +### legendRender `EmitType` + +Triggers before the legend gets rendered. + +### load [`EmitType`](./api-iAccLoadedEventArgs.html) + +Triggers before accumulation chart load. + +### loaded [`EmitType`](./api-iAccLoadedEventArgs.html) + +Triggers after accumulation chart loaded. + +### pointClick `EmitType` + +Triggers on point click. + +### pointMove `EmitType` + +Triggers on point move. + +### pointRender [`EmitType`](./api-iAccPointRenderEventArgs.html) + +Triggers before each points for series gets rendered. + +### resized [`EmitType`](./api-iAccResizeEventArgs.html) + +Triggers after window resize. + +### seriesRender [`EmitType`](./api-iAccSeriesRenderEventArgs.html) + +Triggers before the series gets rendered. + +### textRender [`EmitType`](./api-iAccTextRenderEventArgs.html) + +Triggers before the data label for series gets rendered. + +### tooltipRender [`EmitType`](./api-iAccTooltipRenderEventArgs.html) + +Triggers before the tooltip for series gets rendered. + +### annotations `AccumulationAnnotationSettingsModel[]` + +The configuration for annotation in chart. + +### background `string` + +The background color of the chart, which accepts value in hex, rgba as a valid CSS color string. + +### border `BorderModel` + +Options for customizing the color and width of the chart border. + +### dataSource `Object` | `DataManager` + +Specifies the dataSource for the AccumulationChart. It can be an array of JSON objects or an instance of DataManager. +``` +
      +``` +```ts +let dataManager: DataManager = new DataManager({ + url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/' +}); +let query: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false); +let pie: AccumulationChart = new AccumulationChart({ +... + dataSource: dataManager, + series: [{ + xName: 'Id', + yName: 'Estimate', + query: query + }], +... +}); +pie.appendTo('#Pie'); +``` + +### enablePersistence `boolean` + +Enable or disable persisting component's state between page reloads. + +### enableRtl `boolean` + +Enable or disable rendering component in right to left direction. + +### enableSmartLabels `boolean` + +If set true, labels for the point will be placed smartly without overlapping. + +### height `string` + +The height of the chart as a string in order to provide input as both like '100px' or '100%'. +If specified as '100%, chart will render to the full height of its parent element. + +### isMultiSelect `boolean` + +If set true, enables the multi selection in accumulation chart. It requires `selectionMode` to be `Point`. + +### legendSettings `LegendSettingsModel` + +Options for customizing the legend of accumulation chart. + +### locale `string` + +Overrides the global culture and localization value for this component. Default global culture is 'en-US'. + +### margin `MarginModel` + + Options to customize the left, right, top and bottom margins of accumulation chart. + +### selectedDataIndexes `IndexesModel[]` + +Specifies the point indexes to be selected while loading a accumulation chart. +It requires `selectionMode` to be `Point`. +``` +
      +``` +```ts +let pie: AccumulationChart = new AccumulationChart({ +... + selectionMode: 'Point', + selectedDataIndexes: [ { series: 0, point: 1}, + { series: 2, point: 3} ], +... +}); +pie.appendTo('#Pie'); +``` + +### selectionMode `string` + +Specifies whether point has to get selected or not. Takes value either 'None 'or 'Point' + +### series `AccumulationSeriesModel[]` + +The configuration for series in accumulation chart. + +### theme `string` + +Specifies the theme for accumulation chart. + +### title `string` + +Title for accumulation chart + +### titleStyle `FontModel` + +Options for customizing the `title` of accumulation chart. + +### tooltip `TooltipSettingsModel` + +Options for customizing the tooltip of accumulation chart. + +### width `string` + +The width of the chart as a string in order to provide input as both like '100px' or '100%'. +If specified as '100%, chart will render to the full width of its parent element. diff --git a/chart-sdk/typescript/accumulation-charts/api-accumulationDataLabel.md b/chart-sdk/typescript/accumulation-charts/api-accumulationDataLabel.md new file mode 100644 index 000000000..2cda2994c --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-accumulationDataLabel.md @@ -0,0 +1,22 @@ +--- +layout: post +title: Api accumulationDataLabel in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api accumulationDataLabel in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api accumulationDataLabel +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api accumulationDataLabel in TypeScript Accumulation chart control + +AccumulationDataLabel module used to render `dataLabel`. + +## Methods + +### renderDataLabel + +To render the data labels from series points. + +Returns *void* diff --git a/chart-sdk/typescript/accumulation-charts/api-accumulationDataLabelSettings.md b/chart-sdk/typescript/accumulation-charts/api-accumulationDataLabelSettings.md new file mode 100644 index 000000000..bbb16acb2 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-accumulationDataLabelSettings.md @@ -0,0 +1,72 @@ +--- +layout: post +title: Api accumulationDataLabelSettings in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api accumulationDataLabelSettings in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api accumulationDataLabelSettings +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api accumulationDataLabelSettings in TypeScript Accumulation chart control + +Configures the dataLabel in accumulation chart. + +## Properties + +### border `BorderModel` + +Option for customizing the border lines. + +### connectorStyle `ConnectorModel` + +Options for customize the connector line in series. This property is applicable for Pie, Funnel and Pyramid series. The default connector length for Pie series is '4%'. For other series, it is null. + +### fill `string` + +The background color of the data label, which accepts value in hex, rgba as a valid CSS color string. + +Defaults to *'transparent'* + +### font `FontModel` + +Option for customizing the data label text. + +### name `string` + +The DataSource field which contains the data label value. + +Defaults to *null* + +### position `string` + +Specifies the position of data label. They are. +* Outside - Places label outside the point. +* Inside - Places label inside the point. + +Defaults to *'Inside'* + +### rx `number` + +The roundedCornerX for the data label. It requires `border` values not to be null. + +Defaults to *5* + +### ry `number` + +The roundedCornerY for the data label. It requires `border` values not to be null. + +Defaults to *5* + +### template `string` + +Custom template to format the data label content. Use ${point.x} and ${point.y} as a placeholder text to display the corresponding data point. + +Defaults to *null* + +### visible `boolean` + +If set true, data label for series gets render. + +Defaults to *false* diff --git a/chart-sdk/typescript/accumulation-charts/api-accumulationDataLabelSettingsModel.md b/chart-sdk/typescript/accumulation-charts/api-accumulationDataLabelSettingsModel.md new file mode 100644 index 000000000..971b54c03 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-accumulationDataLabelSettingsModel.md @@ -0,0 +1,58 @@ +--- +layout: post +title: Api accumulationDataLabelSettingsModel in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api accumulationDataLabelSettingsModel in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api accumulationDataLabelSettingsModel +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api accumulationDataLabelSettingsModel in TypeScript Accumulation chart control + +Interface for a class AccumulationDataLabelSettings + +## Properties + +### border `BorderModel` + +Option for customizing the border lines. + +### connectorStyle `ConnectorModel` + +Options for customize the connector line in series. This property is applicable for Pie, Funnel and Pyramid series. The default connector length for Pie series is '4%'. For other series, it is null. + +### fill `string` + +The background color of the data label, which accepts value in hex, rgba as a valid CSS color string. + +### font `FontModel` + +Option for customizing the data label text. + +### name `string` + +The DataSource field which contains the data label value. + +### position `string` + +Specifies the position of data label. They are. +* Outside - Places label outside the point. +* Inside - Places label inside the point. + +### rx `number` + +The roundedCornerX for the data label. It requires `border` values not to be null. + +### ry `number` + +The roundedCornerY for the data label. It requires `border` values not to be null. + +### template `string` + +Custom template to format the data label content. Use ${point.x} and ${point.y} as a placeholder text to display the corresponding data point. + +### visible `boolean` + +If set true, data label for series gets render. diff --git a/chart-sdk/typescript/accumulation-charts/api-accumulationLegend.md b/chart-sdk/typescript/accumulation-charts/api-accumulationLegend.md new file mode 100644 index 000000000..c4b8b84c2 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-accumulationLegend.md @@ -0,0 +1,22 @@ +--- +layout: post +title: Api accumulationLegend in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api accumulationLegend in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api accumulationLegend +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api accumulationLegend in TypeScript Accumulation chart control + +AccumulationLegend module used to render `Legend` for Accumulation chart. + +## Methods + +### click + +To show or hide the legend on clicking the legend. + +Returns *void* diff --git a/chart-sdk/typescript/accumulation-charts/api-accumulationSeries.md b/chart-sdk/typescript/accumulation-charts/api-accumulationSeries.md new file mode 100644 index 000000000..73f16c871 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-accumulationSeries.md @@ -0,0 +1,245 @@ +--- +layout: post +title: Api accumulationSeries in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api accumulationSeries in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api accumulationSeries +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api accumulationSeries in TypeScript Accumulation chart control + + Configures the series in accumulation chart. + +## Properties + +### accumulationBound `Rect` + +To find the max bounds of the accumulation segment to place smart legend @private + +### animation `AnimationModel` + +Options for customizing the animation for series. + +### border `BorderModel` + +Options for customizing the border of the series. + +### dataLabel [`AccumulationDataLabelSettingsModel`](./api-accumulationDataLabelSettingsModel.html) + +The data label for the series. + +### dataSource `Object` | `DataManager` + +Specifies the dataSource for the series. It can be an array of JSON objects or an instance of DataManager. +``` +
      +``` +```ts +let dataManager: DataManager = new DataManager({ + url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/' +}); +let query: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false); +let pie: AccumulationChart = new AccumulationChart({ +... + series: [{ + dataSource: dataManager, + xName: 'Id', + yName: 'Estimate', + query: query + }], +... +}); +pie.appendTo('#Pie'); +``` + +Defaults to *''* + +### emptyPointSettings `EmptyPointSettingsModel` + +options to customize the empty points in series + +### enableTooltip `boolean` + +To enable or disable tooltip for a series. + +Defaults to *true* + +### endAngle `number` + +End angle for a series. + +Defaults to *null* + +### explode `boolean` + +If set true, series points will be exploded on mouse click or touch. + +Defaults to *false* + +### explodeAll `boolean` + +If set true, all the points in the series will get exploded on load. + +Defaults to *false* + +### explodeIndex `number` + +Index of the point, to be exploded on load. + +Defaults to *null* + +### explodeOffset `string` + +Distance of the point from the center, which takes values in both pixels and percentage. + +Defaults to *'30%'* + +### gapRatio `number` + +Defines the distance between the segments of a funnel/pyramid series. The range will be from 0 to 1 + +Defaults to *0* + +### groupMode `string` + +AccumulationSeries y values less than groupMode are combined into single slice named others + +Defaults to *Value* + +### groupTo `string` + +AccumulationSeries y values less than groupTo are combined into single slice named others + +Defaults to *null* + +### height `string` + +Defines the height of the funnel/pyramid with respect to the chart area + +Defaults to *'80%'* + +### innerRadius `string` + +When the innerRadius value is greater than 0 percentage, a donut will appear in pie series. It takes values only in percentage. + +Defaults to *'0'* + +### labelBound `Rect` + +To find the max bounds of the data label to place smart legend + @private + +### legendShape `string` + +The shape of the legend. Each series has its own legend shape. They are +* Circle - Renders a circle. +* Rectangle - Renders a rectangle. +* Triangle - Renders a triangle. +* Diamond - Renders a diamond. +* Cross - Renders a cross. +* HorizontalLine - Renders a horizontalLine. +* VerticalLine - Renders a verticalLine. +* Pentagon - Renders a pentagon. +* InvertedTriangle - Renders a invertedTriangle. +* SeriesType -Render a legend shape based on series type. + +Defaults to *'SeriesType'* + +### name `string` + +Specifies the series name + +Defaults to *''* + +### neckHeight `string` + +Defines the height of the funnel neck with respect to the chart area + +Defaults to *'20%'* + +### neckWidth `string` + +Defines the width of the funnel neck with respect to the chart area + +Defaults to *'20%'* + +### opacity `number` + +The opacity of the series. + +Defaults to *1.* + +### palettes `string[]` + +Palette for series points. + +Defaults to *[]* + +### pointColorMapping `string` + +The DataSource field that contains the color value of point It is applicable for series + +Defaults to *''* + +### pyramidMode `string` + +Defines how the values have to be reflected, whether through height/surface of the segments + +Defaults to *'Linear'* + +### query `Query` + +Specifies Query to select data from dataSource. This property is applicable only when the dataSource is `ej.DataManager`. + +Defaults to *null* + +### radius `string` + +Radius of the pie series and its values in percentage. + +Defaults to *'80%'* + +### selectionStyle `string` + +Custom style for the selected series or points. + +Defaults to *null* + +### startAngle `number` + +Start angle for a series. + +Defaults to *0* + +### type `string` + +Specify the type of the series in accumulation chart. + +Defaults to *'Pie'* + +### visible `boolean` + +Specifies the series visibility. + +Defaults to *true* + +### width `string` + +Defines the width of the funnel/pyramid with respect to the chart area + +Defaults to *'80%'* + +### xName `string` + +The DataSource field which contains the x value. + +Defaults to *''* + +### yName `string` + +The DataSource field which contains the y value. + +Defaults to *''* diff --git a/chart-sdk/typescript/accumulation-charts/api-accumulationSeriesModel.md b/chart-sdk/typescript/accumulation-charts/api-accumulationSeriesModel.md new file mode 100644 index 000000000..af812ce70 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-accumulationSeriesModel.md @@ -0,0 +1,179 @@ +--- +layout: post +title: Api accumulationSeriesModel in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api accumulationSeriesModel in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api accumulationSeriesModel +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api accumulationSeriesModel in TypeScript Accumulation chart control + +Interface for a class AccumulationSeries + +## Properties + +### animation `AnimationModel` + +Options for customizing the animation for series. + +### border `BorderModel` + +Options for customizing the border of the series. + +### dataLabel [`AccumulationDataLabelSettingsModel`](./api-accumulationDataLabelSettingsModel.html) + +The data label for the series. + +### dataSource `Object` | `DataManager` + +Specifies the dataSource for the series. It can be an array of JSON objects or an instance of DataManager. +``` +
      +``` +```ts +let dataManager: DataManager = new DataManager({ + url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/' +}); +let query: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false); +let pie: AccumulationChart = new AccumulationChart({ +... + series: [{ + dataSource: dataManager, + xName: 'Id', + yName: 'Estimate', + query: query + }], +... +}); +pie.appendTo('#Pie'); +``` + +### emptyPointSettings `EmptyPointSettingsModel` + +options to customize the empty points in series + +### enableTooltip `boolean` + +To enable or disable tooltip for a series. + +### endAngle `number` + +End angle for a series. + +### explode `boolean` + +If set true, series points will be exploded on mouse click or touch. + +### explodeAll `boolean` + +If set true, all the points in the series will get exploded on load. + +### explodeIndex `number` + +Index of the point, to be exploded on load. + +### explodeOffset `string` + +Distance of the point from the center, which takes values in both pixels and percentage. + +### gapRatio `number` + +Defines the distance between the segments of a funnel/pyramid series. The range will be from 0 to 1 + +### groupMode `string` + +AccumulationSeries y values less than groupMode are combined into single slice named others + +### groupTo `string` + +AccumulationSeries y values less than groupTo are combined into single slice named others + +### height `string` + +Defines the height of the funnel/pyramid with respect to the chart area + +### innerRadius `string` + +When the innerRadius value is greater than 0 percentage, a donut will appear in pie series. It takes values only in percentage. + +### legendShape `string` + +The shape of the legend. Each series has its own legend shape. They are +* Circle - Renders a circle. +* Rectangle - Renders a rectangle. +* Triangle - Renders a triangle. +* Diamond - Renders a diamond. +* Cross - Renders a cross. +* HorizontalLine - Renders a horizontalLine. +* VerticalLine - Renders a verticalLine. +* Pentagon - Renders a pentagon. +* InvertedTriangle - Renders a invertedTriangle. +* SeriesType -Render a legend shape based on series type. + +### name `string` + +Specifies the series name + +### neckHeight `string` + +Defines the height of the funnel neck with respect to the chart area + +### neckWidth `string` + +Defines the width of the funnel neck with respect to the chart area + +### opacity `number` + +The opacity of the series. + +### palettes `string[]` + +Palette for series points. + +### pointColorMapping `string` + +The DataSource field that contains the color value of point +It is applicable for series + +### pyramidMode `string` + +Defines how the values have to be reflected, whether through height/surface of the segments + +### query `Query` + +Specifies Query to select data from dataSource. This property is applicable only when the dataSource is `ej.DataManager`. + +### radius `string` + +Radius of the pie series and its values in percentage. + +### selectionStyle `string` + +Custom style for the selected series or points. + +### startAngle `number` + +Start angle for a series. + +### type `string` + +Specify the type of the series in accumulation chart. + +### visible `boolean` + +Specifies the series visibility. + +### width `string` + +Defines the width of the funnel/pyramid with respect to the chart area + +### xName `string` + +The DataSource field which contains the x value. + +### yName `string` + +The DataSource field which contains the y value. diff --git a/chart-sdk/typescript/accumulation-charts/api-accumulationTooltip.md b/chart-sdk/typescript/accumulation-charts/api-accumulationTooltip.md new file mode 100644 index 000000000..995e6e485 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-accumulationTooltip.md @@ -0,0 +1,26 @@ +--- +layout: post +title: Api accumulationTooltip in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api accumulationTooltip in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api accumulationTooltip +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api accumulationTooltip in TypeScript Accumulation chart control + +`AccumulationTooltip` module is used to render tooltip for accumulation chart. + +## Methods + +### tooltip + +Renders the tooltip. + +| Parameter | Type | Description | +|------|------|-------------| +| event | `PointerEvent` | `TouchEvent` | Mouse move event. | + +Returns *void* diff --git a/chart-sdk/typescript/accumulation-charts/api-iAccAnimationCompleteEventArgs.md b/chart-sdk/typescript/accumulation-charts/api-iAccAnimationCompleteEventArgs.md new file mode 100644 index 000000000..fb6d8b73d --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-iAccAnimationCompleteEventArgs.md @@ -0,0 +1,32 @@ +--- +layout: post +title: Api iAccAnimationCompleteEventArgs in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api iAccAnimationCompleteEventArgs in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api iAccAnimationCompleteEventArgs +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api iAccAnimationCompleteEventArgs in TypeScript Accumulation chart control + +Accumulation Chart AnimationComplete event arguments. + +## Properties + +### accumulation [`AccumulationChart`](./api-accumulationChart.html) + +Defines the accumulation chart instance + +### cancel `boolean` + +Defines the event cancel status + +### name `string` + +Defines the name of the event + +### series [`AccumulationSeries`](./api-accumulationSeries.html) + +Defines the current animation series diff --git a/chart-sdk/typescript/accumulation-charts/api-iAccLoadedEventArgs.md b/chart-sdk/typescript/accumulation-charts/api-iAccLoadedEventArgs.md new file mode 100644 index 000000000..16701a5ad --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-iAccLoadedEventArgs.md @@ -0,0 +1,28 @@ +--- +layout: post +title: Api iAccLoadedEventArgs in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api iAccLoadedEventArgs in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api iAccLoadedEventArgs +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api iAccLoadedEventArgs in TypeScript Accumulation chart control + +Accumulation Chart Load or Loaded event arguments. + +## Properties + +### accumulation [`AccumulationChart`](./api-accumulationChart.html) + +Defines the accumulation chart instance + +### cancel `boolean` + +Defines the event cancel status + +### name `string` + +Defines the name of the event diff --git a/chart-sdk/typescript/accumulation-charts/api-iAccPointRenderEventArgs.md b/chart-sdk/typescript/accumulation-charts/api-iAccPointRenderEventArgs.md new file mode 100644 index 000000000..5dd96871e --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-iAccPointRenderEventArgs.md @@ -0,0 +1,48 @@ +--- +layout: post +title: Api iAccPointRenderEventArgs in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api iAccPointRenderEventArgs in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api iAccPointRenderEventArgs +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api iAccPointRenderEventArgs in TypeScript Accumulation chart control + +Accumulation Chart PointRender event arguments. + +## Properties + +### border `BorderModel` + +Defines the current point border color + +### cancel `boolean` + +Defines the event cancel status + +### fill `string` + +Defines the current point fill color + +### height `number` + +Defines the current point height + +### name `string` + +Defines the name of the event + +### point [`AccPoints`](./api-accPoints.html) + +Defines the current point + +### series [`AccumulationSeries`](./api-accumulationSeries.html) + +Defines the current series of the point + +### width `number` + +Defines the current point width diff --git a/chart-sdk/typescript/accumulation-charts/api-iAccResizeEventArgs.md b/chart-sdk/typescript/accumulation-charts/api-iAccResizeEventArgs.md new file mode 100644 index 000000000..f05af57c4 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-iAccResizeEventArgs.md @@ -0,0 +1,32 @@ +--- +layout: post +title: Api iAccResizeEventArgs in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api iAccResizeEventArgs in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api iAccResizeEventArgs +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api iAccResizeEventArgs in TypeScript Accumulation chart control + +Accumulation Chart Resize event arguments. + +## Properties + +### accumulation [`AccumulationChart`](./api-accumulationChart.html) + +Defines the accumulation chart instance + +### currentSize `Size` + +Defines the current size of the accumulation chart + +### name `string` + +Defines the name of the Event + +### previousSize `Size` + +Defines the previous size of the accumulation chart diff --git a/chart-sdk/typescript/accumulation-charts/api-iAccSeriesRenderEventArgs.md b/chart-sdk/typescript/accumulation-charts/api-iAccSeriesRenderEventArgs.md new file mode 100644 index 000000000..b066b4208 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-iAccSeriesRenderEventArgs.md @@ -0,0 +1,28 @@ +--- +layout: post +title: Api iAccSeriesRenderEventArgs in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api iAccSeriesRenderEventArgs in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api iAccSeriesRenderEventArgs +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api iAccSeriesRenderEventArgs in TypeScript Accumulation chart control + +Accumulation Chart SeriesRender event arguments. + +## Properties + +### data `Object` + +Defines the current data object + +### name `string` + +Defines the current series name + +### series [`AccumulationSeries`](./api-accumulationSeries.html) + +Defines the current series diff --git a/chart-sdk/typescript/accumulation-charts/api-iAccTextRenderEventArgs.md b/chart-sdk/typescript/accumulation-charts/api-iAccTextRenderEventArgs.md new file mode 100644 index 000000000..cd6de6efa --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-iAccTextRenderEventArgs.md @@ -0,0 +1,48 @@ +--- +layout: post +title: Api iAccTextRenderEventArgs in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api iAccTextRenderEventArgs in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api iAccTextRenderEventArgs +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api iAccTextRenderEventArgs in TypeScript Accumulation chart control + +Accumulation Chart TextRender event arguments. + +## Properties + +### border `BorderModel` + +Defines the current label border + +### cancel `boolean` + +Defines the event cancel status + +### color `string` + +Defines the current fill color + +### name `string` + +Defines the name of the event + +### point [`AccPoints`](./api-accPoints.html) + +Defines the current point + +### series [`AccumulationSeriesModel`](./api-accumulationSeriesModel.html) + +Defines the current series + +### template `string` + +Defines the current text template + +### text `string` + +Defines the current text diff --git a/chart-sdk/typescript/accumulation-charts/api-iAccTooltipRenderEventArgs.md b/chart-sdk/typescript/accumulation-charts/api-iAccTooltipRenderEventArgs.md new file mode 100644 index 000000000..285f82baa --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api-iAccTooltipRenderEventArgs.md @@ -0,0 +1,40 @@ +--- +layout: post +title: Api iAccTooltipRenderEventArgs in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api iAccTooltipRenderEventArgs in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api iAccTooltipRenderEventArgs +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api iAccTooltipRenderEventArgs in TypeScript Accumulation chart control + +Accumulation Chart TooltipRender event arguments. + +## Properties + +### cancel `boolean` + +Defines the event cancel status + +### content `string` | `HTMLElement` + +Defines the current tooltip content + +### name `string` + +Defines the name of the event + +### point [`AccPoints`](./api-accPoints.html) + +Defines the current tooltip point + +### series [`AccumulationSeries`](./api-accumulationSeries.html) + +Defines the current tooltip series + +### textStyle `FontModel` + +Defines the current tooltip text style diff --git a/chart-sdk/typescript/accumulation-charts/api.md b/chart-sdk/typescript/accumulation-charts/api.md new file mode 100644 index 000000000..bf15a8a3c --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/api.md @@ -0,0 +1,39 @@ +--- +layout: post +title: Api in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Api in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Api +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Api in TypeScript Accumulation chart control + + +| Name | Description | +|------|-------------| +| [AccumulationChart](./api-accumulationChart.html)| Represents the AccumulationChart control.| +| [AccumulationAnnotation](./api-accumulationAnnotation.html)| `AccumulationAnnotation` module handles the annotation for accumulation chart.| +| [AccumulationAnnotationSettings](./api-accumulationAnnotationSettings.html)| Annotation for accumulation series| +| [AccumulationDataLabelSettings](./api-accumulationDataLabelSettings.html)| Configures the dataLabel in accumulation chart.| +| [AccumulationSeries](./api-accumulationSeries.html)| Configures the series in accumulation chart.| +| [AccumulationDataLabel](./api-accumulationDataLabel.html)| AccumulationDataLabel module used to render `dataLabel`.| +| [AccumulationLegend](./api-accumulationLegend.html)| AccumulationLegend module used to render `Legend` for Accumulation chart.| +| [AccumulationTooltip](./api-accumulationTooltip.html)| `AccumulationTooltip` module is used to render tooltip for accumulation chart.| +| [IAccAnimationCompleteEventArgs](./api-iAccAnimationCompleteEventArgs.html)| Accumulation Chart AnimationComplete event arguments.| +| [IAccLoadedEventArgs](./api-iAccLoadedEventArgs.html)| Accumulation Chart Load or Loaded event arguments.| +| [IAccPointRenderEventArgs](./api-iAccPointRenderEventArgs.html)| Accumulation Chart PointRender event arguments.| +| [IAccResizeEventArgs](./api-iAccResizeEventArgs.html)| Accumulation Chart Resize event arguments.| +| [IAccSeriesRenderEventArgs](./api-iAccSeriesRenderEventArgs.html)| Accumulation Chart SeriesRender event arguments.| +| [IAccTextRenderEventArgs](./api-iAccTextRenderEventArgs.html)| Accumulation Chart TextRender event arguments.| +| [IAccTooltipRenderEventArgs](./api-iAccTooltipRenderEventArgs.html)| Accumulation Chart TooltipRender event arguments.| +| [AccEmptyPointMode](./api-accEmptyPointMode.html)| Defines the empty point mode of the chart.
      * Zero - Used to display empty points as zero.
      * Drop - Used to ignore the empty point while rendering.
      * Average - Used to display empty points as previous and next point average.| +| [AccumulationLabelPosition](./api-accumulationLabelPosition.html)| Defines the AccumulationLabelPosition. They are
      * Inside - Define the data label position for the accumulation series Inside.
      * Outside - Define the data label position for the accumulation series Outside.
      *| +| [AccumulationSelectionMode](./api-accumulationSelectionMode.html)| Defines the SelectionMode, They are.
      * none - Disable the selection.
      * point - To select a point.| +| [AccumulationTheme](./api-accumulationTheme.html)| Defines Theme of the accumulation chart. They are
      * Material - Render a accumulation chart with Material theme.
      * Fabric - Render a accumulation chart with fabric theme.| +| [AccumulationType](./api-accumulationType.html)| Defines the Accumulation Chart series type.| +| [ConnectorType](./api-connectorType.html)| Defines the ConnectorType. They are
      * Line - Accumulation series Connector line type as Straight line.
      * Curve - Accumulation series Connector line type as Curved line.
      *| +| [GroupModes](./api-groupModes.html)| Defines the mode of the group mode
      * Point - When choosing points, the selected points get grouped.
      * Value - When choosing values, the points which less then values get grouped.| +| [PyramidModes](./api-pyramidModes.html)| Defines the mode of the pyramid
      * Linear - Height of the pyramid segments reflects the values
      * Surface - Surface/Area of the pyramid segments reflects the values| diff --git a/chart-sdk/typescript/accumulation-charts/center-label.md b/chart-sdk/typescript/accumulation-charts/center-label.md new file mode 100644 index 000000000..19daab26f --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/center-label.md @@ -0,0 +1,55 @@ +--- +layout: post +title: Center label in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Center label in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Center label +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Center label in TypeScript Accumulation chart control + +Using [`centerLabel`](../api/accumulation-chart/centerLabel) it is now possible to place a label at the center of a pie or doughnut chart. To configure the default text rendered on the center label for the pie and doughnut charts, use the [`text`](../api/accumulation-chart/centerLabel/#text) property in the [`centerLabel`](../api/accumulation-chart/centerLabel). + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/user-interaction-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/user-interaction-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/user-interaction-cs1" %} + +## Hover text + +The default text in the center label can be changed when the mouse pointer hovers over the pie and doughnut charts slice using the [`hoverTextFormat`](../api/accumulation-chart/centerLabel/#hovertextformat) property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/user-interaction-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/user-interaction-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/user-interaction-cs2" %} + +## Customization + +Customize the center label text using the [`textStyle`](../api/accumulation-chart/centerLabel/#textstyle) property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/user-interaction-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/user-interaction-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/user-interaction-cs3" %} diff --git a/chart-sdk/typescript/accumulation-charts/chart-print.md b/chart-sdk/typescript/accumulation-charts/chart-print.md new file mode 100644 index 000000000..34ec70c1a --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/chart-print.md @@ -0,0 +1,43 @@ +--- +layout: post +title: Chart print in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Chart print in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Chart print +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Chart print in TypeScript Accumulation chart control + +## Print + +The rendered chart can be printed directly from the browser by calling the public method print. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/print-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/print-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/print-cs1" %} + +## Export + +The rendered chart can be exported to `Image`(jpeg or png) or `SVG` or `PDF` format by using the export method. +Input parameters for this method are `Export` Type for `format` and `fileName` of result. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/export-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/export-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/export-cs1" %} diff --git a/chart-sdk/typescript/accumulation-charts/data-label.md b/chart-sdk/typescript/accumulation-charts/data-label.md new file mode 100644 index 000000000..6526fedfa --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/data-label.md @@ -0,0 +1,239 @@ +--- +layout: post +title: Data label in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Data label in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Data label +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Data label in TypeScript Accumulation chart control + +Data label can be added to a chart series by enabling the [`visible`](../api/accumulation-chart/accumulationDataLabelSettingsModel/) +option in the dataLabel property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs5/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs5/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs5" %} + +>Note: To use the data label feature, inject the `DataLabel` using the `Chart.Inject(DataLabel)` method. + +## Positioning + +Accumulation chart provides support for placing the data label either `inside` or `outside` the chart. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs6/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs6/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs6" %} + +## Smart labels + +Data labels will be arranged smartly without overlapping with each other. You can enable or disable this feature using the [`enableSmartLabels`](../api/accumulation-chart/accumulationChartModel/#enablesmartlabels) property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs7/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs7/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs7" %} + +## Data Label Template + +Label content can be formatted by using the template option. Inside the template, you can add the placeholder text `${point.x}` and `${point.y}` to display corresponding data points x & y value. Using [`template`](../api/accumulation-chart/accumulationDataLabelSettingsModel/)property, you can set data label template in chart. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs8/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs8/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs8" %} + +## Connector Line + +Connector line will be visible when the data label is placed `outside` the chart. The connector line can be customized using the `type`, `color`, `width`, `length` and `dashArray` properties + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs9/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs9/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs9" %} + +## Text Mapping + +Text from the data source can be mapped to data label using `name` property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs10/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs10/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs10" %} + +## Format + +Data label for the accumulation chart can be formatted using [`format`](../api/accumulation-chart/accumulationChartModel/#format) property. You can use the global formatting options, such as 'n', 'p', and 'c'. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs11/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs11/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs11" %} + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      ValueFormatResultant ValueDescription
      1000n11000.0The number is rounded to 1 decimal place.
      1000n21000.00The number is rounded to 2 decimal places.
      1000n31000.000The number is rounded to 3 decimal place.
      0.01p11.0%The number is converted to percentage with 1 decimal place.
      0.01p21.00%The number is converted to percentage with 2 decimal place.
      0.01p31.000%The number is converted to percentage with 3 decimal place.
      1000c1$1000.0The currency symbol is appended to number and number is rounded to 1 decimal place.
      1000c2$1000.00The currency symbol is appended to number and number is rounded to 2 decimal place.
      + +## Customization + +Individual text can be customized using the `textRender` event. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs12/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs12/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs12" %} + +## Text wrap + +When the data label text exceeds the container, the text can be wrapped by using [`textWrap`](../api/accumulation-chart/accumulationDataLabelSettings/#textwrap) property. End user can also wrap the data label text based on [`maxWidth`](../api/accumulation-chart/accumulationDataLabelSettings/#maxwidth) property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs13/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs13/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs13" %} + +## Show percentages in data labels of pie chart + +You can show the percentages in data labels of pie chart using `textRender` event and `template` option. + +### Using textRender event + +You can customize the data label of pie chart using [textRender](../api/accumulation-chart#textrender) event as follows to show percentage.. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs14/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs14/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs14" %} + +### Using template + +You can display the percentage values in data label of pie chart using `template` option. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs15/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs15/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs15" %} diff --git a/chart-sdk/typescript/accumulation-charts/dynamic-data-update.md b/chart-sdk/typescript/accumulation-charts/dynamic-data-update.md new file mode 100644 index 000000000..e4a5ca83c --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/dynamic-data-update.md @@ -0,0 +1,66 @@ +--- +layout: post +title: Dynamic data update in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about dynamic data update in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Dynamic Data Update +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Dynamic data update in Angular Accumulation Chart component + +## Adding a new data point + +The [`addPoint`](../api/accumulation-chart/accumulationSeries/#addpoint) method is used to dynamically add a new data point to the accumulation chart series. This method is particularly useful when you want to update the chart with a new data point without having to refresh the entire accumulation chart. This method takes two parameters: + +* The first parameter is the new data point to add to your existing data source. +* The optional second parameter specifies the animation duration for adding the new data point. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/addpoint-cs/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/addpoint-cs/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/addpoint-cs" %} + +## Removing an existing data point + +The [`removePoint`](../api/accumulation-chart/accumulationSeries/#removepoint) method is used to dynamically remove a data point from the accumulation chart series. This method is particularly useful when you want to update the accumulation chart by removing an existing data point without having to refresh the entire accumulation chart. This method takes two parameters: + +* The first parameter is the index of the data point that needs to be removed from the existing data source. +* The optional second parameter specifies the animation duration for removing the data point. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/addpoint-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/addpoint-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/addpoint-cs1" %} + +## Replacing entire data points + +To replace the existing data source in the accumulation chart with a new data source, you can simply use the [`setData`](../api/accumulation-chart/accumulationSeries/#setdata) method. This method allows you to replace the existing data points in the accumulation chart series with a new set of data points, enabling you to easily update the accumulation chart with new information. This method takes two parameters: + +* The first parameter is the new set of data points to be updated. +* The optional second parameter specifies the animation duration for updating the new data source. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/addpoint-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/addpoint-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/addpoint-cs2" %} diff --git a/chart-sdk/typescript/accumulation-charts/ej1-api-migration.md b/chart-sdk/typescript/accumulation-charts/ej1-api-migration.md new file mode 100644 index 000000000..8288215f5 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/ej1-api-migration.md @@ -0,0 +1,3121 @@ +--- +layout: post +title: Ej1 api migration in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Ej1 api migration in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Ej1 api migration +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Ej1 api migration in TypeScript Accumulation chart control + +This article describes the API migration process of Chart component from Essential JS 1 to Essential JS 2. + +## Accumulation Chart + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BehaviourAPI in Essential JS 1API in Essential JS 2
      annotations +Property:annotations +
      +
      + +$("#chart").ejChart({ + annotations: [{}]; +}); + +
      +Property:annotations +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ +annotations: [{ }]; +}); +pie.appendTo('#chart'); +
      background +Property:background +
      +
      + +$("#chart").ejChart({ + background: '#DDCCEE' +}); + +
      +Property:background +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + background: 'DDCCEE' +}); +pie.appendTo('#chart'); +
      border +Property:border +
      +
      + +$("#chart").ejChart({ + border: { color: 'red' , width: 2, opacity: 0.5} +}); + +
      +Property:border +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + border: { color: 'red', width: 2} +}); +pie.appendTo('#chart'); +
      dataSource +Not applicable + +Property:border +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + dataSource: [ ]; +}); +pie.appendTo('#chart'); +
      Animation after legend click +Not applicable + +Property:enableAnimation +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + enableAnimation: true +}); +pie.appendTo('#chart'); +
      Persisting component's state between page reloads. +Not applicable + +Property:enablePersistance +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + enablePersistance: true +}); +pie.appendTo('#chart'); +
      Enabling smart labels +Property:series.enableSmartLabels +
      +
      + +$("#chart").ejChart({ + series: [ { enableSmartLabels: true}] +}); + +
      +Property:enableSmartLabels +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + enableSmartLabels: true +}); +pie.appendTo('#chart'); +
      Height of Chart +Property:size.height +
      +
      + +$("#chart").ejChart({ + size: { height: '400' } +}); + +
      +Property:height +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + height: '400' +}); +pie.appendTo('#chart'); +
      Multi selection +Property:selectionSettings.type +
      +
      + +$("#chart").ejChart({ + selectionSettings: { + type: 'multiple' + } +}); + +
      +Property:isMultiSelect +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + isMultiSelect: true +}); +pie.appendTo('#chart'); +
      legend Settings +Property:legend +
      +
      + +$("#chart").ejChart({ + legend: { } +}); + +
      +Property:legendSettings +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + legendSettings: { } +}); +pie.appendTo('#chart'); +
      Margin for the chart +Property:margin +
      +
      + +$("#chart").ejChart({ + margin: { top: 20, bottom: 23, right: 15, left: 10 } +}); + +
      +Property:margin +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + margin: { top: 20, bottom: 23, right: 15, left: 10 } +}); +pie.appendTo('#chart'); +
      SelectedDataIndexes +Property:selectedDataPointIndexes +
      +
      + +$("#chart").ejChart({ + selectedDataPointIndexes : [{}] +}); + +
      +Property:selectedDataIndexes +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + selectedDataIndexes : [ { series: 0, point: 1}] +}); +pie.appendTo('#chart'); +
      Selection Mode +Property:selectionSettings.mode +
      +
      + +$("#chart").ejChart({ + selectionSettings: { mode: 'Point'} +}); + +
      +Property:selectionMode +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + selectionMode : 'Point' +}); +pie.appendTo('#chart'); +
      Series +Property:series +
      +
      + +$("#chart").ejChart({ + series: [] +}); + +
      +Property:series +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [] +}); +pie.appendTo('#chart'); +
      Title text +Property:title.text +
      +
      + +$("#chart").ejChart({ + title: { text: 'Pie Chart' } +}); + +
      +Property:title +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + title: 'Pie Chart' +}); +pie.appendTo('#chart'); +
      Title Styles +Property:title +
      +
      + +$("#chart").ejChart({ + title: { text: 'Pie Chart' } +}); + +
      +Property:titleStyle +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + titleStyle: { fontFamily: 'SegoeUI'} +}); +pie.appendTo('#chart'); +
      Sub Title text +Property:subTitle.text +
      +
      + +$("#chart").ejChart({ + subTitle: { text: 'Pie Chart' } +}); + +
      +Property:subTitle +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + subTitle: 'Pie Chart' +}); +pie.appendTo('#chart'); +
      Sub title Styles +Property:title +
      +
      + +$("#chart").ejChart({ + title: { text: 'Pie Chart' } +}); + +
      +Property:subTitleStyle +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + subTitleStyle: { fontFamily: 'SegoeUI'} +}); +pie.appendTo('#chart'); +
      tooltip +Property:series.toolTip +
      +
      + +$("#chart").ejChart({ + series: [ { tooltip: { }}] +}); + +
      +Property:tooltip +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + tooltip: { } +}); +pie.appendTo('#chart'); +
      Width of Chart +Property:size.width +
      +
      + +$("#chart").ejChart({ + size: { width: '400' } +}); + +
      +Property:width +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + width: '400' +}); +pie.appendTo('#chart'); +
      + +## Annotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BehaviourAPI in Essential JS 1API in Essential JS 2
      annotations +Property:annotations +
      +
      + +$("#chart").ejChart({ + annotations: [{}]; +}); + +
      +Property:annotations +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ +annotations: [{ }]; +}); +pie.appendTo('#chart'); +
      content +Property:annotations +
      +
      + +$("#chart").ejChart({ + annotations: [{content: '
      Pie Chart
      }]; +}); +
      +
      +Property:annotations +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ +annotations: [{content: '
      Pie Chart
      '}]; +}); +pie.appendTo('#chart'); +
      coordinateUnits +Property:annotations +
      +
      + +$("#chart").ejChart({ + annotations: [{coordinateUnit: 'Pixel'}]; +}); + +
      +Property:annotations +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + annotations: [{coordinateUnit: 'Pixel'}]; +}); +pie.appendTo('#chart'); +
      description +Not Applicable + +Property:description +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + annotations: [{description: 'Pixel'}]; +}); +pie.appendTo('#chart'); +
      horizontalAlignment for annotation +Property:annotations.horizontalAlignment +
      +
      + +$("#container").ejChart({ + annotations :[{ horizontalAlignment :"middle"}] +}); + +
      +Property:annotations.horizontalAlignment +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ +annotations: [{ horizontalAlignment: 'Center'}] +}); +chart.appendTo('#chart'); +
      margin for annotation +Property:annotations.margin +
      +
      + +$("#container").ejChart({ + annotations :[{ margin { right: 5, left: 5, top: 5, bottom: 5}}] +}); + +
      +Not applicable +
      Opacity for annotation +Property:annotations.opacity +
      +
      + +$("#container").ejChart({ + annotations :[{ opacity: 0.4 }] +}); + +
      +Not applicable +
      Region for annotation with respect to chart or series +Property:annotations.region +
      +
      + +$("#container").ejChart({ + annotations :[{ region :"chart"}] +}); + +
      +Property:annotations.region +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ +annotations: [{ region: 'Chart'}] +}); +chart.appendTo('#chart'); +
      verticalAlignment for annotation +Property:annotations.verticalAlignment +
      +
      + +$("#container").ejChart({ + annotations :[{ verticalAlignment :"middle"}] +}); + +
      +Property:annotations.verticalAlignment +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ +annotations: [{ verticalAlignment: 'Center'}] +}); +chart.appendTo('#chart'); +
      Visibility of annotations +Property:annotations.visible +
      +
      + +$("#container").ejChart({ + annotations :[{ visible: true }] +}); + +
      +Not applicable +
      X offset for annotation +Property:annotations.x +
      +
      + +$("#container").ejChart({ + annotations :[{ x :"100"}] +}); + +
      +Property:annotations.x +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ +annotations: [{ x: '100'}] +}); +chart.appendTo('#chart'); +
      Y offset for annotation +Property:annotations.y +
      +
      + +$("#container").ejChart({ + annotations :[{ y :"100"}] +}); + +
      +Property:annotations.y +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ +annotations: [{ y: '100'}] +}); +chart.appendTo('#chart'); +
      + +## Series + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BehaviourAPI in Essential JS 1API in Essential JS 2
      series +Property:series +
      +
      + +$("#chart").ejChart({ + series: [{}]; +}); + +
      +Property:series +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ }]; +}); +pie.appendTo('#chart'); +
      animation for series +Property:enableAnimation +
      +
      + +$("#chart").ejChart({ + series: [{ enableAnimation: true}]; +}); + +
      +Property:animation.enable +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ animation: { enable: true }}]; +}); +pie.appendTo('#chart'); +
      animation duration for series +Property:animationDuration +
      +
      + +$("#chart").ejChart({ + series: [{ annimationDuration: 1000}]; +}); + +
      +Property:animation.duration +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ animation: { duration: 1000 }}]; +}); +pie.appendTo('#chart'); +
      animation delay for series +Not Applicable + +Property:animation.duration +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ animation: { delay: 100 }}]; +}); +pie.appendTo('#chart'); +
      Border for series +Property:border +
      +
      + +$("#chart").ejChart({ + series: [{ border: { color: 'pink', width: 2, dashArray: '10,4' }}]; +}); + +
      +Property:border +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ border: { color: 'red', width: 2 }}]; +}); +pie.appendTo('#chart'); +
      DataLabel for series +Property:dataLabel +
      +
      + +$("#chart").ejChart({ + series: [{ dataLabel: {}}]; +}); + +
      +Property:border +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ dataLabel: { }}]; +}); +pie.appendTo('#chart'); +
      DataSource for series +Property:dataSource +
      +
      + +$("#chart").ejChart({ + series: [{ dataSource: [{}] }]; +}); + +
      +Property:dataSource +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ dataSource: [{ }]}]; +}); +pie.appendTo('#chart'); +
      enableTooltip for series +Property:tooltip.visible +
      +
      + +$("#chart").ejChart({ + series: [{ tooltip: { visible: true } }]; +}); + +
      +Property:enableTooltip +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ enableTooltip: true }]; +}); +pie.appendTo('#chart'); +
      start angle +Property:startAngle +
      +
      + +$("#chart").ejChart({ + series: [{ startAngle: 80 }]; +}); + +
      +Property:startAngle +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ startAngle: 90 }]; +}); +pie.appendTo('#chart'); +
      end angle +Property:endAngle +
      +
      + +$("#chart").ejChart({ + series: [{ endAngle: 80 }]; +}); + +
      +Property:endAngle +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ endAngle: 90 }]; +}); +pie.appendTo('#chart'); +
      explode +Property:explode +
      +
      + +$("#chart").ejChart({ + series: [{ explode: true }]; +}); + +
      +Property:explode +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ explode: true }]; +}); +pie.appendTo('#chart'); +
      explodeAll +Property:explodeAll +
      +
      + +$("#chart").ejChart({ + series: [{ explodeAll: true }]; +}); + +
      +Property:explodeAll +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ explodeAll: true }]; +}); +pie.appendTo('#chart'); +
      explodeIndex +Property:explode +
      +
      + +$("#chart").ejChart({ + series: [{ explodeIndex: 0 }]; +}); + +
      +Property:explodeIndex +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ explodeIndex: 1 }]; +}); +pie.appendTo('#chart'); +
      explodeOffset +Property:explodeOffset +
      +
      + +$("#chart").ejChart({ + series: [{ explodeOffset: '30%' }]; +}); + +
      +Property:explodeOffset +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ explodeOffset: '30%' }]; +}); +pie.appendTo('#chart'); +
      gapRatio +Property:gapRatio +
      +
      + +$("#chart").ejChart({ + series: [{ gapRatio: 0.6 }]; +}); + +
      +Property:gapRatio +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ gapRatio: 0.6 }]; +}); +pie.appendTo('#chart'); +
      gapWidth +Property:gapWidth +
      +
      + +$("#chart").ejChart({ + series: [{ gapWidth: 0.6 }]; +}); + +
      +Not Applicable +
      inner radius of the accumulation chart +Property:innerRadius +
      +
      + +$("#chart").ejChart({ + series: [{ innerRadius : '30%' }]; +}); + +
      +Property:innerRadius +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ innerRadius : '30%' }]; +}); +pie.appendTo('#chart'); +
      Legend shape of the series +Not applicable + +Property:legendShape +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ legendShape : 'Rectangle' }]; +}); +pie.appendTo('#chart'); +
      name of the series +Property:name +
      +
      + +$("#chart").ejChart({ + series: [{ name : '30%' }]; +}); + +
      +Property:name +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ name : '30%' }]; +}); +pie.appendTo('#chart'); +
      neck height for funnel series +Property:neckHeight +
      +
      + +$("#chart").ejChart({ + series: [{ neckHeight : '30%' }]; +}); + +
      +Property:neckHeight +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ neckHeight : '30%' }]; +}); +pie.appendTo('#chart'); +
      neck width for funnel series +Property:neckWidth +
      +
      + +$("#chart").ejChart({ + series: [{ neckWidth : '30%' }]; +}); + +
      +Property:neckWidth +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ neckWidth : '30%' }]; +}); +pie.appendTo('#chart'); +
      opacity for series +Property:opacity +
      +
      + +$("#chart").ejChart({ + series: [{ opacity : 0.4 }]; +}); + +
      +Property:opacity +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ opacity : 0.5 }]; +}); +pie.appendTo('#chart'); +
      palettes for series +Property:palette +
      +
      + +$("#chart").ejChart({ + series: [{ palette : [] }]; +}); + +
      +Property:palettes +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ palettes : [] }]; +}); +pie.appendTo('#chart'); +
      point color mapping name for series +Property:pointColorMappingName +
      +
      + +$("#chart").ejChart({ + series: [{ pointColorMappingName : 'color' }]; +}); + +
      +Property:pointColorMapping +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ pointColorMappingName : 'color' }]; +}); +pie.appendTo('#chart'); +
      Mode of pyramid series +Property:pyramidMode +
      +
      + +$("#chart").ejChart({ + series: [{ pyramidMode : 'Surface' }]; +}); + +
      +Property:pyramidMode +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ pyramidMode : 'Linear' }]; +}); +pie.appendTo('#chart'); +
      query for datasource for series +Property:pyramidMode +
      +
      + +$("#chart").ejChart({ + series: [{ query : '' }]; +}); + +
      +Property:query +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ query : '' }]; +}); +pie.appendTo('#chart'); +
      Radius of Pie series +Property:pieCoefficient +
      +
      + +$("#chart").ejChart({ + series: [{ pieCoefficient : 0.5 }]; +}); + +
      +Property:radius +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ radius: '50%' }]; +}); +pie.appendTo('#chart'); +
      Selection Style of Accumulation chart +Not applicable + +Property:selectionStyle +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ selectionStyle: '' }]; +}); +pie.appendTo('#chart'); +
      tooltip Mapping name +Not applicable + +Property:tooltipMappingName +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ tooltipMappingName: '' }]; +}); +pie.appendTo('#chart'); +
      Type of series +Property:type +
      +
      + +$("#chart").ejChart({ + series: [{ type : 'Pie' }]; +}); + +
      +Property:type +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: [{ type: 'Pie' }]; +}); +pie.appendTo('#chart'); +
      Name of the property in the datasource that contains x value for the series. +Property:xName +
      +
      + +$("#chart").ejChart({ + series: [{ xName : 'x' }]; +}); + +
      +Property:xName +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + series: [ { xName: 'x' }]; +}); +chart.appendTo('#chart); + +
      Name of the property in the datasource that contains x value for the series. +Property:yName +
      +
      + +$("#chart").ejChart({ + series: [{ yName : 'x' }]; +}); + +
      +Property:yName +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + series: [ { yName: 'x' }]; +}); +chart.appendTo('#chart); + +
      Name of the property in the datasource that contains x value for the series. +Property:yName +
      +
      + +$("#chart").ejChart({ + series: [{ yName : 'x' }]; +}); + +
      +Property:yName +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + series: [ { yName: 'x' }]; +}); +chart.appendTo('#chart); + +
      Width of funnel series +Property:funnelWidth +
      +
      + +$("#chart").ejChart({ + series: [{ funnelWidth : '100' }]; +}); + +
      +Property:width +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + series: [ { width: '100' }]; +}); +chart.appendTo('#chart); + +
      Grouping +Not Applicable + +Property:groupTo +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + series: [ { groupTo: '100' }]; +}); +chart.appendTo('#chart); + +
      GroupMode +Not Applicable + +Property:groupMode +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + series: [ { groupMode: 'Point' }]; +}); +chart.appendTo('#chart); + +
      + +## DataLabel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BehaviourAPI in Essential JS 1API in Essential JS 2
      dataLabel +Property:series.marker.dataLabel +
      +
      + +$("#chart").ejChart({ + series: [ + { marker: { dataLabel :{ visible: true }}} + ] +}); + +
      +Property:series.dataLabel +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: { dataLabel : { visible: true }} +}); +pie.appendTo('#chart'); +
      border of dataLabel +Property:series.marker.dataLabel.border +
      +
      + +$("#chart").ejChart({ + series: [ + { marker: { dataLabel :{ border: { color: 'red', width: 2 }}}} + ] +}); + +
      +Property:border +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: { dataLabel : { border: { color: 'red', width: 2}}} +}); +pie.appendTo('#chart'); +
      connector style for dataLabel connector line +Property:connectorLine +
      +
      + +$("#chart").ejChart({ + series: [ + { marker: { dataLabel :{ connectorLine: { type: 'Curve', width: 2 }}}} + ] +}); + +
      +Property:connectorStyle +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: { dataLabel : { connectorStyle: { type: 'Curve', width: 2 }}} +}); +pie.appendTo('#chart'); +
      Fill for dataLabel +Property:fill +
      +
      + +$("#chart").ejChart({ + series: [ + { marker: { dataLabel :{ fill: 'red' }}} + ] +}); + +
      +Property:fill +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: { dataLabel : { fill: 'pink'}} +}); +pie.appendTo('#chart'); +
      font for dataLabel +Property:font +
      +
      + +$("#chart").ejChart({ + series: [ + { marker: { dataLabel :{ font: { } }}} + ] +}); + +
      +Property:font +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: { dataLabel : { font: { }}} +}); +pie.appendTo('#chart'); +
      font for dataLabel +Property:font +
      +
      + +$("#chart").ejChart({ + series: [ + { marker: { dataLabel :{ font: { } }}} + ] +}); + +
      +Property:font +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: { dataLabel : { font: { }}} +}); +pie.appendTo('#chart'); +
      position +Property:position +
      +
      + +$("#chart").ejChart({ + series: [ + { marker: { dataLabel :{ position: 'Inside' }}} + ] +}); + +
      +Property:font +
      +
      + +let pie: AccumulationChart = new AccumulationChart({ + series: { dataLabel : { position: 'Outside' }} +}); +pie.appendTo('#chart'); +
      Rounded corner radius X +Not Applicable + +Property:dataLabel.rx +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + series: [ {dataLabel: { rx: 10 } }]; +}); +chart.appendTo('#chart); + +
      Rounded corner radius Y +Not Applicable + +Property:dataLabel.ry +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + series: [ {dataLabel: { ry: 10 } }]; +}); +chart.appendTo('#chart); + +
      HTML template in dataLabel +Property:dataLabel.template +
      +
      + +$("#chart").ejChart({ + series: [{ marker: {dataLabel: { template: '
      Chart
      ' } } }]; +}); +
      +
      +Property:dataLabel.template +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + series: [ {dataLabel: { template: '
      Chart
      ' } }]; +}); +chart.appendTo('#chart); +
      +
      + +## Legend + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BehaviourAPI in Essential JS 1API in Essential JS 2
      Default legend +Property:visible +
      +
      + +$("#container").ejChart({ + legend: { visible: true } +}); + +
      +Property:visible +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { visible: true } +}); + +
      Legend height +Property:size.height +
      +
      + +$("#container").ejChart({ + legend: { size : { height: 50 } } +}); + +
      +Property:height +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { height: '30' } +}); + +
      Legend width +Property:size.width +
      +
      + +$("#container").ejChart({ + legend: { size: { width: 20 } } +}); + +
      +Property:width +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { width: '30' } +}); + +
      Legend location in chart +Property:location +
      +
      + +$("#container").ejChart({ + legend: { location: { x: 3, y: 45} } +}); + +
      +Property:height +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { location: { x: 3, y: 45} } +}); + +
      Legend position in chart +Property:position +
      +
      + +$("#container").ejChart({ + legend: { position: 'top' } +}); + +
      +Property:position +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { position: 'Top' } +}); + +
      Legend padding +Not applicable + +Property:padding +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { padding: 8 } +}); + +
      Legend alignment +Property:position +
      +
      + +$("#container").ejChart({ + legend: { alignment: 'center' } +}); + +
      +Property:position +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { alignment: 'Center' } +}); + +
      text style for legend +Property:font +
      +
      + +$("#container").ejChart({ + legend: { font: { fontFamily: '', fontWeight: '400', fontStyle: 'italic', size: '12' } } +}); + +
      +Property:textStyle +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { textStyle: { size: '12' , color: 'red', fontFamily: 'Italic', fontWeight: '400', fontStyle: 'Normal', opacity: 1, textAlignment: 'Center', textOverFlow: 'Trim'} } +}); + +
      shape height of legend +Property:itemStyle.height +
      +
      + +$("#container").ejChart({ + legend: { itemStyle: { height: 20 } } +}); + +
      +Property:shapeHeight +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { shapeHeight: 20 } +}); + +
      shape width of legend +Property:itemStyle.width +
      +
      + +$("#container").ejChart({ + legend: { itemStyle: { width: 20 } } +}); + +
      +Property:shapeWidth +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { shapeWidth: 20 } +}); + +
      shape width of legend +Property:itemStyle.width +
      +
      + +$("#container").ejChart({ + legend: { itemStyle: { width: 20 } } +}); + +
      +Property:shapeWidth +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { shapeWidth: 20 } +}); + +
      shape border of legend +Property:itemStyle.border +
      +
      + +$("#container").ejChart({ + legend: { itemStyle: { border: { width: 2, color: 'red' } } } +}); + +
      +Not Applicable +
      shape padding of legend +Property:itemPadding +
      +
      + +$("#container").ejChart({ + legend: { itemPadding: 10 } +}); + +
      +Property:shapePadding +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { shapePadding: 20 } +}); + +
      Background of legend +Property:background +
      +
      + +$("#container").ejChart({ + legend: { background: 'transparent' } +}); + +
      +Property:backgorund +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { background: 'transparent' } +}); + +
      Opacity of legend +Property:opacity +
      +
      + +$("#container").ejChart({ + legend: { opacity: 0.3 } +}); + +
      +Property:opacity +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { opacity: 0.4 } +}); + +
      Toggle visibility of series while legend click +Property:toggleSeriesVisibility +
      +
      + +$("#container").ejChart({ + legend: { toggleSeriesVisibility: true } +}); + +
      +Property:toggleVisibility +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendSettings: { toggleVisibility: true } +}); + +
      Title for legend +Property:title +
      +
      + +$("#container").ejChart({ + legend: { title: { text: 'LegendTitle', font: { }, textAlignment: 'middle' } } +}); + +
      +Not applicable +
      Text Overflow for legend +Property:title +
      +
      + +$("#container").ejChart({ + legend: { textOverFlow: 'trim' } +}); + +
      +Property:textStyle.textOverFlow +
      +
      + +let chart: new AccumulationChart({ + legend: { text: { textOverFlow: 'trim' } } +}); + +
      Text width for legend while setting text overflow +Property:textWidth +
      +
      + +$("#container").ejChart({ + legend: { textWidth: 20 } +}); + +
      +Not applicable +
      Scroll bar for legend +Property:enableScrollBar +
      +
      + +$("#container").ejChart({ + legend: { enableScrollBar: true } +}); + +
      +Not applicable +
      Row count for legend +Property:rowCount +
      +
      + +$("#container").ejChart({ + legend: { rowCount: 2 } +}); + +
      +Not applicable +
      Column count for legend +Property:columnCount +
      +
      + +$("#container").ejChart({ + legend: { columnCount: 2 } +}); + +
      +Not applicable +
      Color for legend items +Property:fill +
      +
      + +$("#container").ejChart({ + legend: { fill: '#EEFFCC' } +}); + +
      +Not applicable +
      + +## Methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BehaviourAPI in Essential JS 1API in Essential JS 2
      animation for series +Property:chart.animate +
      +
      + +$("#chart").ejChart({ + animate: () { + + } +}); + +
      +Not applicable +
      Redraw for chart +Property:chart.redraw +
      +
      + +$("#chart").ejChart({ + redraw: () { + + } +}); + +
      +Property:chart.refresh() +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + +}); +chart.appendTo('#chart'); +chart.width = '400'; +chart.refresh(); + +
      Export +Property:chart.export() +
      +
      + +$("#chart").ejChart({ + export: () { + + } +}); + +
      +Property:chart.export() +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + +}); +chart.export('JPEG', 'chart'); +chart.appendTo('#chart'); + +
      Print +Property:chart.print() +
      +
      + +$("#chart").ejChart({ + print: () { + + } +}); + +
      +Property:chart.print() +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + +}); +chart.print('chart'); +chart.appendTo('#chart'); + +
      AddSeries +Not Applicable + +Property:chart.addSeries() +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + +}); +chart.appendTo('#chart'); +chart.addSeries(); + +
      RemoveSeries +Not Applicable + +Property:chart.removeSeries() +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + +}); +chart.appendTo('#chart'); +chart.removeSeries(); + +
      + +## Events + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BehaviourAPI in Essential JS 1API in Essential JS 2
      Fires on annotation click +Property:annotationClick +
      +
      + +$("#chart").ejChart({ + annotationClick: () { + + } +}); + +
      +Not applicable +
      Fires after animation +Property:animationComplete +
      +
      + +$("#chart").ejChart({ + animationComplete: () { + + } +}); + +
      +Property:animationComplete() +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + animationComplete: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires on after chart resize +Property:afterResize +
      +
      + +$("#chart").ejChart({ + afterResize: () { + + } +}); + +
      +Not applicable +
      Fires on before chart resize +Property:beforeResize +
      +
      + +$("#chart").ejChart({ + beforeResize: () { + + } +}); + +
      +Property:resized +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + resized: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires on chart click +Property:chartClick +
      +
      + +$("#chart").ejChart({ + chartClick: () { + + } +}); + +
      +Property:chartMouseClick +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + chartMouseClick: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires on chart mouse move +Property:chartMouseMove +
      +
      + +$("#chart").ejChart({ + chartMouseMove: () { + + } +}); + +
      +Property:chartMouseMove +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + chartMouseMove: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires on chart mouse leave +Property:chartMouseLeave +
      +
      + +$("#chart").ejChart({ + chartMouseLeave: () { + + } +}); + +
      +Property:chartMouseLeave +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + chartMouseLeave: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires on before chart double click +Property:chartDoubleClick +
      +
      + +$("#chart").ejChart({ + chartDoubleClick: () { + + } +}); + +
      +Not applicable +
      Fires on chart mouse up +Not Applicable + +Property:chartmouseUp +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + chartmouseUp: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires on chart mouse down +Not Applicable + +Property:chartmouseDown +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + chartmouseDown: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires during the calculation of chart area bounds. You can use this event to customize the bounds of chart area +Property:chartAreaBoundsCalculate +
      +
      + +$("#chart").ejChart({ + chartAreaBoundsCalculate: () { + + } +}); + +
      +Not applicable +
      Fires when chart is destroyed completely. +Property:destroy +
      +
      + +$("#chart").ejChart({ + destroy: () { + + } +}); + +
      +Not applicable +
      Fires after chart is created. +Property:create +
      +
      + +$("#chart").ejChart({ + create: () { + + } +}); + +
      +Property:loaded +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + loaded: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires before rendering the data labels. +Property:displayTextRendering +
      +
      + +$("#chart").ejChart({ + displayTextRendering: () { + + } +}); + +
      +Property:textRender +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + textRender: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires on clicking the legend item. +Property:legendItemClick +
      +
      + +$("#chart").ejChart({ + legendItemClick: () { + } +}); + +
      +Not applicable +
      Fires when moving mouse over legend item +Property:legendItemMouseMove +
      +
      + +$("#chart").ejChart({ + legendItemMouseMove: () { + } +}); + +
      +Not applicable +
      Fires before rendering the legend item. +Property:legendItemRendering +
      +
      + +$("#chart").ejChart({ + legendItemRendering: () { + + } +}); + +
      +Property:legendRender +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + legendRender: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires before loading the chart. +Property:load +
      +
      + +$("#chart").ejChart({ + load: () { + + } +}); + +
      +Property:load +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + load: () => { + } +}); +chart.appendTo('#chart'); + +
      Fires on clicking a point in chart. +Property:pointRegionClick +
      +
      + +$("#chart").ejChart({ + pointRegionClick: () { + + } +}); + +
      +Property:pointClick +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + pointClick : () => { + } +}); +chart.appendTo('#chart'); + +
      Fires when mouse is moved over a point. +Property:pointRegionMouseMove +
      +
      + +$("#chart").ejChart({ + pointRegionMouseMove: () { + } +}); + +
      +Property:pointMove +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + pointMove : () => { + } +}); +chart.appendTo('#chart'); + +
      Fires before rendering chart. +Property:preRender +
      +
      + +$("#chart").ejChart({ + preRender: () { + } +}); + +
      +Not applicable +
      Fires when point render. +Not Applicable + +Property:pointRender +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + pointRender : () => { + } +}); +chart.appendTo('#chart'); + +
      Fires before rendering a series. +Property:seriesRendering +
      +
      + +$("#chart").ejChart({ + seriesRendering: () { + + } +}); + +
      +Property:seriesRender +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + seriesRender : () => { + } +}); +chart.appendTo('#chart'); + +
      Fires before rendering the Chart title. +Property:titleRendering +
      +
      + +$("#chart").ejChart({ + titleRendering: () { + } +}); + +
      +Not applicable +
      Fires before rendering the Chart sub title. +Property:subTitleRendering +
      +
      + +$("#chart").ejChart({ + subTitleRendering: () { + } +}); + +
      +Not applicable +
      Fires before rendering the tooltip. +Property:toolTipInitialize +
      +
      + +$("#chart").ejChart({ + toolTipInitialize: () { + + } +}); + +
      +Property:tooltipRender +
      +
      + +let chart: AccumulationChart = new AccumulationChart({ + tooltipRender : () => { + } +}); +chart.appendTo('#chart'); + +
      \ No newline at end of file diff --git a/chart-sdk/typescript/accumulation-charts/empty-points.md b/chart-sdk/typescript/accumulation-charts/empty-points.md new file mode 100644 index 000000000..4fd85a302 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/empty-points.md @@ -0,0 +1,55 @@ +--- +layout: post +title: Empty points in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Empty points in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Empty points +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Empty points in TypeScript Accumulation chart control + +The data points those uses the `null` or `undefined` as value are considered as empty points. The empty data points are ignored and not plotted in the chart. You can customize those points, using the `emptyPointSettings` property in series. The default mode of the empty point is `Gap`. Other supported modes are `Average` and `Zero`. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs16/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs16/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs16" %} + +## Customization + +Specific color for an empty point can be set by using the `fill` property in `emptyPointSettings` and the border for an empty point can be set by using the `border` property. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs17/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs17/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs17" %} + +## Handling No Data + +When no data is available to render in the accumulation chart, the `noDataTemplate` property can be used to display a custom layout within the chart area. This layout may include a message indicating the absence of data, a relevant image, or a button to initiate data loading. Styled text, images, or interactive elements can be incorporated to maintain design consistency and improve user guidance. Once data becomes available, the chart automatically updates to display the appropriate visualization. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs497/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs497/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs497" %} \ No newline at end of file diff --git a/chart-sdk/typescript/accumulation-charts/funnel.md b/chart-sdk/typescript/accumulation-charts/funnel.md new file mode 100644 index 000000000..d3cce1c73 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/funnel.md @@ -0,0 +1,154 @@ +--- +layout: post +title: Funnel in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Funnel in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Funnel +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Funnel in TypeScript Accumulation chart control + +To render a funnel series, use the series [`type`](../api/accumulation-chart/accumulationSeriesModel/) as `Funnel` and inject, the `FunnelSeries` module using the `AccumulationChart.Inject(FunnelSeries)` method. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs18/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs18/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs18" %} + +## Size + +The size of the funnel chart can be customized by using the `width` and `height` properties. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs19/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs19/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs19" %} + +## Neck size + +The funnel's neck size can be customized by using the `neckWidth` and `neckHeight` properties. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs20/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs20/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs20" %} + +## Gap between the segments + +Funnel chart provides options to customize the space between the segments by using the `gapRatio` property of the series. It ranges from 0 to 1. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs21/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs21/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs21" %} + +## Explode + +Points can be exploded on mouse click by setting the `explode` property to true. You can also explode the point on load using `explodeIndex`. Explode distance can be set by using `explodeOffset` property. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs22/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs22/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs22" %} + +## Smart data label + +It provides the data label smart arrangement of the funnel and pyramid series. The overlap data label will be placed on left side of the funnel/pyramid series. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs23/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs23/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs23" %} + +## Customization + +Individual points can be customized using the `pointRender` event. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs24/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs24/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs24" %} + +## Modes + +The Funnel chart supports both Standard and Trapezoidal modes of rendering. The default value of the [`funnelMode`](../api/accumulation-chart/funnelModes/) is `Standard`. + +### Standard + +The `Standard` funnel mode follows the traditional funnel shape, with the width continuously narrowing down to a point at the bottom. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs495/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs495/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs495" %} + +### Trapezoidal + +The `Trapezoidal` mode is a modified funnel shape where the width narrows, but features a flattened or parallel section near the top, creating a trapezoidal appearance. This mode helps compare different data points more clearly while maintaining a funnel-like structure. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs489/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs489/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs489" %} + +## See also + +* [Data label](./data-label) +* [Grouping](./grouping) diff --git a/chart-sdk/typescript/accumulation-charts/getting-started.md b/chart-sdk/typescript/accumulation-charts/getting-started.md new file mode 100644 index 000000000..22dcaeb4a --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/getting-started.md @@ -0,0 +1,213 @@ +--- +layout: post +title: Getting started with TypeScript Accumulation Chart control | Syncfusion +description: Check out and learn about Getting started with TypeScript Accumulation Chart control of Syncfusion Essential JS 2 and more details. +platform: chart-sdk +control: Accumulation Chart +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + + +# Getting started with TypeScript Accumulation Chart control + +This document explains how to create a simple Accumulation Chart and configure its features in TypeScript using the Essential JS 2 webpack [quickstart](https://github.com/SyncfusionExamples/ej2-quickstart-webpack) seed repository. + +> This application is integrated with the `webpack.config.js` configuration and uses the latest version of the [webpack-cli](https://webpack.js.org/api/cli/#commands). It requires node `v14.15.0` or higher. For more information about webpack and its features, refer to the [webpack getting-started guide](https://webpack.js.org/guides/getting-started/). + +## Prerequisites + +Before you begin, ensure you have the following installed on your machine: + +* [Node.js](https://nodejs.org/) (v14.15.0 or higher) +* [Visual Studio Code](https://code.visualstudio.com) (or any text editor) +* [Git](https://git-scm.com/) (for cloning the quickstart repository) +* A web browser to view the result + +## Dependencies + +Below is the list of minimum dependencies required to use the Accumulation Chart. + +``` +|-- @syncfusion/ej2-charts + |-- @syncfusion/ej2-base + |-- @syncfusion/ej2-data + |-- @syncfusion/ej2-pdf-export + |-- @syncfusion/ej2-file-utils + |-- @syncfusion/ej2-compression + |-- @syncfusion/ej2-svg-base +``` +> Note: `@syncfusion/ej2-pdf-export`, `@syncfusion/ej2-file-utils`, and `@syncfusion/ej2-compression` are optional and required only for PDF export features. Omit them if you are not using exports. + +## Quick Setup + +### Step 1: Open Command Prompt + +Open the command prompt and navigate to the directory where you want to create the project. + +* **For Windows**: Open Command Prompt (cmd) or PowerShell and use the `cd` command to navigate to your desired directory. +* **For macOS/Linux**: Open Terminal and use the `cd` command to navigate to your desired directory. + +### Step 2: Clone the Quickstart Repository + +Run the following command to clone the Syncfusion JavaScript (Essential JS 2) quickstart project from [GitHub](https://github.com/SyncfusionExamples/ej2-quickstart-webpack). + +{% tabs %} +{% highlight bash tabtitle="CMD" %} + +git clone https://github.com/SyncfusionExamples/ej2-quickstart-webpack ej2-quickstart + +{% endhighlight %} +{% endtabs %} + +This creates an `ej2-quickstart` folder in the current directory that contains the seed project. + +### Step 3: Navigate to Project Folder + +Run the following command to navigate to the cloned project directory. + +{% tabs %} +{% highlight bash tabtitle="CMD" %} + +cd ej2-quickstart + +{% endhighlight %} +{% endtabs %} + +### Step 4: Install Required Packages + +Syncfusion JavaScript (Essential JS 2) packages are available on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. Install either the umbrella package or the individual control package: + +* Umbrella: [`@syncfusion/ej2`](https://www.npmjs.com/package/@syncfusion/ej2) — all Syncfusion controls in a single package. +* Individual: [`@syncfusion/ej2-charts`](https://www.npmjs.com/package/@syncfusion/ej2-charts) — the Accumulation Chart and its required dependencies. + +The quickstart application is preconfigured with the `@syncfusion/ej2` dependency in the `~/package.json` file. Use the following command to install all the npm packages from the command prompt. + +{% tabs %} +{% highlight bash tabtitle="NPM" %} + +npm install + +{% endhighlight %} +{% endtabs %} + +This command downloads and installs all the dependencies required for the project. + +### Step 5: Update the HTML Template + +Open the `ej2-quickstart` folder in Visual Studio Code or any text editor of your choice. + +> Note: Code snippets here use webpack for local development. For online demos or StackBlitz, SystemJS may be used—ignore loader/helper scripts in rendered previews. + +Locate the `~/src/index.html` file in the project add an HTML `
      ` with its `id` attribute set to `element` to host the chart. + +{% tabs %} +{% highlight html tabtitle="index.html" %} + + + + + + Essential JS 2 Accumulation Chart + + + + + + + +

      Syncfusion Accumulation Chart

      + +
      + + + + +{% endhighlight %} +{% endtabs %} + +### Step 6: Create the Accumulation Chart Component with Data + +Locate the `src/app/app.ts` file in your project. Import the `AccumulationChart` component, prepare the sample data, and instantiate the chart. + +By default, a **Pie series** is rendered when JSON data is assigned to the series [`dataSource`](../api/accumulation-chart/accumulationseries#datasource) property. Map JSON fields to the series [`xName`](../api/accumulation-chart/accumulationseries#xname) and [`yName`](../api/accumulation-chart/accumulationseries#yname) properties to bind data correctly. + +{% tabs %} +{% highlight ts tabtitle="app.ts" %} + +import { AccumulationChart } from '@syncfusion/ej2-charts'; + +// Sample data for the Accumulation Chart +let pieData: Object[] = [ + { month: 'Jan', sales: 35 }, + { month: 'Feb', sales: 28 }, + { month: 'Mar', sales: 34 }, + { month: 'Apr', sales: 32 }, + { month: 'May', sales: 40 }, + { month: 'Jun', sales: 32 }, + { month: 'Jul', sales: 35 }, + { month: 'Aug', sales: 55 }, + { month: 'Sep', sales: 38 }, + { month: 'Oct', sales: 30 }, + { month: 'Nov', sales: 25 }, + { month: 'Dec', sales: 32 } +]; + +// Initialize the Accumulation Chart +let chart: AccumulationChart = new AccumulationChart({ + series: [ + { + dataSource: pieData, + xName: 'month', + yName: 'sales', + type: 'Pie' + } + ], + title: 'Sales Data' +}); + +// Render the chart to the target container +chart.appendTo('#element'); + +{% endhighlight %} +{% endtabs %} + +### Step 7: Run the Application + +Open the integrated terminal in Visual Studio Code, or use your command prompt, and run the application with the `npm run start` command. + +{% tabs %} +{% highlight bash tabtitle="NPM" %} + +npm run start + +{% endhighlight %} +{% endtabs %} + +The application compiles and automatically opens in your default web browser. By default, the dev server runs at `http://localhost:4000`. If that port is in use, webpack selects the next available port and prints the URL in the terminal. + +When the build completes, the Syncfusion® Accumulation Chart control renders on the page and is ready for further customization. + +## Output + +The following screenshot shows the output of the Syncfusion Accumulation Chart quick start application: + +![Syncfusion Accumulation Chart Quick Start Output - Pie chart of monthly sales data](./images/accumulation.png "Syncfusion Accumulation Chart displaying monthly sales data") + +## Troubleshooting + +* **`Cannot find module '@syncfusion/ej2-charts'`** — Dependencies are not installed. Run `npm install` in the project root. +* **Port `4000` already in use** — Another process is bound to the port. Stop the conflicting process or change `devServer.port` in `webpack.config.js`. +* **TypeScript build error** — TypeScript version mismatch. Install TypeScript as a dev dependency: `npm install typescript --save-dev`. +* **Chart does not render** — `app.ts` is not compiled or not referenced. Confirm that `app.js` is referenced in `index.html` and that `npm run start` completed without errors. + +## See also + +* [Pie Chart](./pie) +* [Doughnut Chart](./pie-dough-nut) +* [Funnel Chart](./funnel) +* [Pyramid Chart](./pyramid) +* [Accumulation Chart Legend](./legend) +* [Accumulation Chart Data Labels](./data-label) +* [Accumulation Chart Tooltip](./tool-tip) \ No newline at end of file diff --git a/chart-sdk/typescript/accumulation-charts/gradient.md b/chart-sdk/typescript/accumulation-charts/gradient.md new file mode 100644 index 000000000..dbe83bd3d --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/gradient.md @@ -0,0 +1,116 @@ +--- +layout: post +title: Gradient in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Gradient in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Gradient +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Gradient in TypeScript Accumulation chart control + +Gradients add depth and modern styling to charts by smoothly blending multiple colors. The Charts component supports two gradient types: + +- Linear gradient +- Radial gradient + +## Linear gradient + +A linear gradient blends colors along a straight path from a defined start point to an end point. In accumulation charts, a linear gradient can be applied either to the whole series or to each point via the pointRender event. An `linearGradient` is configured with one or more color stops. + +The linear gradient properties are: + +- `x1` - Horizontal start position of the gradient (0 to 1). +- `y1` - Vertical start position of the gradient (0 to 1). +- `x2` - Horizontal end position of the gradient (0 to 1). +- `y2` - Vertical end position of the gradient (0 to 1). + +Properties for `gradientColorStop`: + +- `offset` - Position along the gradient (0 to 100). +- `color` - Base color at the stop. +- `opacity` - Transparency (0 to 1). +- `lighten` - Adjusts lightness (positive lightens, negative darkens). +- `brighten` - Adjusts brightness (positive increases, negative decreases). + +### Apply gradient to the entire series + +A linear gradient may be applied directly at the series level. The same gradient is applied uniformly to all data points, legend symbols and tooltip markers. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs5/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs5/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs5" %} + +### Apply a gradient per point using the point render event + +A diagonal linear gradient can be applied per data point using the pointRender event for a clear light-to-shadow transition. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs6/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs6/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs6" %} + +## Radial gradient + +A radial gradient blends colors outward from a central point, creating a circular or elliptical color progression. Configure it by adding `radialGradient` inside the target element and define one or more color stops to control how colors transition from the center to the outer edge. Set the gradient’s center, optional focal point, and radius using `radialGradient` properties. The color stop values such as `offset`, `color`, `opacity`, `lighten`, and `brighten` are set using the `gradientColorStop` property. + +In the `radialGradient`: + +- `cx` - Sets the normalized horizontal center of the gradient (0 to 1). +- `cy` - Sets the normalized vertical center of the gradient (0 to 1). +- `fx` - Sets the normalized horizontal focal point from which the gradient appears to originate (0 to 1). +- `fy` - Sets the normalized vertical focal point (0 to 1). +- `r` - Sets the normalized radius of the gradient circle (0 to 1). + +In the `gradientColorStop`: + +- `offset` - Specifies the position of the color stop along the gradient (0 to 100). +- `color` - Sets the color at the stop. +- `opacity` - Defines the transparency of the stop (0 to 1). +- `lighten` - Adjusts lightness at the stop. Positive values lighten the color. Range: 0 to 1. +- `brighten` - Adjusts brightness at the stop. Positive values increase brightness; negative values decrease it. Ranges: -1 to 1. + +### Apply a radial gradient to the entire series + +A radial gradient can be applied directly at the series level. The same gradient is applied uniformly to all data points, legend symbols and tooltip markers. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs7/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs7/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs7" %} + +### Apply a radial gradient per point using the point render event + +The following example uses a distinct color palette and an off-center radial gradient to create a clear light-to-shadow effect on each data point. The gradient is configured in pointRender, so each data point receives its own radial gradient derived from its base color. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs8/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs8/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-gradient-cs8" %} \ No newline at end of file diff --git a/chart-sdk/typescript/accumulation-charts/grouping.md b/chart-sdk/typescript/accumulation-charts/grouping.md new file mode 100644 index 000000000..7116fc640 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/grouping.md @@ -0,0 +1,58 @@ +--- +layout: post +title: Grouping in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Grouping in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Grouping +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Grouping in TypeScript Accumulation chart control + +You can club/group few points of the series based on +[`groupTo`](../api/accumulation-chart/accumulationSeries/) property. For example, if the club +value is 11, then the points with value less than 11 is grouped together and will be showed as a single +point with label `others`. The property also takes value in percentage (percentage of total data points value). + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs26/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs26/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs26" %} + +## Group Mode + +Slice can also be grouped based on number of points by specifying the `groupMode` to Point. For example, if the group to value is 11, accumulation chart will show 1st 11 points and will group remaining entries in the collection as a single point. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs27/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs27/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs27" %} + +## Customization + +You can customize the grouped point and its data label using `pointRender` and `textRender` event. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs28/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs28/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs28" %} diff --git a/chart-sdk/typescript/accumulation-charts/images/accumulation.png b/chart-sdk/typescript/accumulation-charts/images/accumulation.png new file mode 100644 index 0000000000000000000000000000000000000000..dea9c3ba288369ed426da034cf0e6213d3616b85 GIT binary patch literal 41428 zcmeFY^;^{K6E?hbFWud6OG<|{(ozaaBhua7-JnQ!cSv`K(k;VU|xU+N3oKxpD8>#j|4hx+O9RvblDagxcfItYqzu~=6k%4EVxy_)!4>)HHIVn)} z1jQln3!=HCiX;eB7mx91j0F6S<{~NyE-xQg9 z3+iF#Ewm!j2o2-amu|B|ic(gQOCF82(U+?pjm2CGb;+ZZb~pZDMfRV@ta@T{T&pGN zhel3|&Ss>GVn9Zs%NN|feVCq}4jfHcnO^tv6vX5e5Gd&Eq+DBDQ`=~&iatHoUk%TY znC$pvJ;9=!^W>hoYsk2=*JtDY-@g*`uj=pl{}q|$(y>#1Iwbv^_!FbqD1nA99qm;# zNuox6ULG8?Dv*6Nu>>8r5p{HQ=E5aWxj85XvQ##x8oGdMCDz`U@$!JoF?a#;%dn;1u0<_&c0n-gg` zfsgp=-%Zqj1Li$HKW{P0go7!E4rfcaxwt@rbOg!_fx&$i1=9V9a9`c5$m}Lqd!CT$ z9sGOQ<_gW@NSW!JgkSB#ijD~Xx80r7?Q}V`)B83Lur^7v&j@Rt5gix}eUbN9h7LY_ z@e{WYGan^3@%YfI3|%`oGv{suTpbyTn@ytMK0rIj*MxaK{4BvVadW-ki#l{@dk?(qz98SD{@K zcO=I9`#CG_=YS+!s>6^xii55JE)^SFudQcj3tzLtm>{k?-B;k;zZx4Gw}97rT+c5$ z?2aUEjSm+p-sEz@F^UkhX+k7=*;dnaBUUcZ>*(INUll|~;K2j>GP1KWf+>Y#5KwMR zju&iOJfL4GvcKTOlMpbOTsd1Bzvq8_uYTEjM^(SNdo{ZJmI0uiDC}MAjS9LPaNV4( zMf*P7RCjOstDbAs456iaisU(RLBsx1Be)@yE$D6uhMPa zZd`1_%(0f(>dECY`QzsSx2b}}=&@L-(NWbxFnE?U9nVA;^@?w&q~c;{z=$IJcB=sk z3;f>m;fT46o+bGXU)4}Wj9;V`zgY>d3sqp+ze$e`kN!vVX?9KyA6FLX)gm3)*;Fp(Vm%}00()%xwVrlZGy+g#st z7@Ut}t4DDmheqJL8IfFv7<^BQbtg*MIvuQ6&&d+M_)M3NYOF?+AL4X>WeL0qWrjd^ zkWvZ<)+CjDdn=|aLa>x_%<>}S`McBO^a;A?XF*+G0$laKKpN1i2o zv89uV(-=3)0G4-h9zQ*Pe3I67u=BtCk*spDs0a%kz}75h6e4bzoE;E41HU^{*NAQS zV5yEj?yXSyG(r+0({C01GBTQdfG3TiGTs>Lx*FBVCA*uw(jL!u`_Q9`nqSW9dVp4j z3k1PRs6M%c6#nYM)Xn>ZW!Q9d=>&jl(i2tmDPg;Z^n!eI@%D2Z!v%zVN78l{8(qF0 zH%sPq&ifq5At61vIEzXBt7n|4q47zdwkZdT3aDjeT%>_&#mml&@&HY%mxDT)i)e%( zck?EmD@tBg*}pHYuE5Tj0^9+)n(ZD6L_i6%J~2o_B_Y6@j;f^aX{bb}&g3DsT;4S( zkV#qv4r`&van}iZDEp&Tq{#Q8~qQ!wV`hvkVdV*N^Oz{8yHphKb37+JIzWUMW zaGBeLR=3Hf7hhF0P_u+A%sNw2UIr5#O$o$RcdCKZd z3AR;)0n?aO(7X1ALrpCpk_a~=JgUEhp31&q66JQAEmrZk_+8>~bMnPC0uL`Zi05-X zrt|Dui1wuwbo!TK#1tIX|CRNQ)3s^m(mZ|(W<gftj$L-E{K;lVaI9be4le*_)oOAs<04Ja1i~{ z3W=8a-j@A8&VhEbIwd^yU*r#mA7m896YvZ>9mp`;?EBuVX@iWE<>hh7R@1{&wdXb; z$L;$7gqTS64ON3zyZql|i}{Dq2C_{5{egjk>;*Y9X?MKswe={g*9QWH5qAP;azRF_ zh62yKyMCDzC*e$pW9s%;tT(?3Zj+OCtmjA75|hRLS*wC?cHR(^LFz}xL7>}Q6zlHW zH-(s(ah?=HNah6Jf3HLnU=~KDBjpURt#Sw;ggmS6J{8p~(D5j?sS@VfgI?me0|604PW-~f=xUQteTiKV+ z)Em3tX0OUB4UZ~V>euL;KJ23`pO}tTS;RV+d?0ds+pj}P51 zD9?vE&uIIThHBLBWzgaz14p)kG`6WHvIfQ<4CSKTQHy<--=3Jh2RW$vaZjvXfyBg{ z-8{_TKz?qmq)P7gLmT{5!wHu5TG`utFGW9;>d|Gu8l9dfxyLsupg?wAgW+NE zXGhV?vHBzFNR~h#M1=mP<-t|1G$XyZoDm=*b`$X#x{Iu%sAR^}Rm3qQ6ymFfWq0fTdTBt%|m!Rk&p0>RTfeW*p&N!V383hG8ZtsVm z^RT)LUleP^FMGg9 zs&~$a?$m$7v`-Nh`|?Z<;a#-HkzBg=a2Vf?qvo4kx;2Wvrc4Ml-XFgEaj#~MmQIoD zagNC;RVxSOmU1;tHA^grW{le#S5Jy&ac`*jXY=+$v=*)AV)$@&>r7aqx8a~ap8&km zdwf)UD}7xQ68aZ*nIw;L{_~K3*rj{ig-NK$!LaAs?sz$>JJdJ|p?tBB2t34K_{8AH zM<<@-Ge0C@xW{S@%DAte*ZSn>4VpIeIT8FCqEX#}zBGCAlD^$SU_ks2jazTmK`4IRn> z8ZzWT&V48T!%2SvE`@X3FJ07cM;wn$XG}nn*4b@c?Ke?%ZTLFAt_`h9W@^uv-sJ=p z7c_Q(Yi|{B)W4Q_nW7Y?zL!Igf4nLY?>BrLG&H(Bdv`>GJID`oJ%)u$(DT#ND9p0fnt|E8e3Iy-eWka%cW<3;|0mnM1h7g-+ZY@ z?avp9&LvCLx3RTh%5Twn`tzZYKubeWuhWar@a|9dR^9M3MqtmiZVjHg3lPtY0h0Ya z)D#=x@%$7)tc;I0c%U@{D;IM=+_>s)l;&L`O#g9JPW^$Z2g70Puv@x;l%~c};}$t# zE?jk=-}Y9$l_n+gP6LlO&E12{Vo-%lA?Npi-XuUb808FfG<8nr6(0EoNFw?hdVP!)- zJc0#i^#NZma%A@E#&^JVThbYE^5NZ3?dm$AJGeZ(YvHM}fI&BGMdF(&)*~^pB`a`p z07t@{eog&~19B%+1{+!Z=?}P(!c|r5jzJ6>shV3fn6AQ@e*je4C?3Dr0qX3(;oWwk z$nuzz3@xF2vXH?$4Cqn$3YUm!Va2pz&bu(V50oLs=_V7J@`$$9$D50v~CtIq+L`OR~y z6&kNMzH|6SxI5)qY>j?{zzgGM8HX;CT%)V`nEPFc|_Ev7)pLN--x*C!D`4+kE z_M(-$s!)o`(o<$cu<)1jpGK^ZgT&1h!GcCZtQm+Q?`Bx3DTzViAeq86y zNQT=SM`HY|=`Zl#%zOSPvGw(!2e94n@4V-h^-9q%#Y%FQ!r2uP1WJs~ zlB}=Qr;xu!<+g-8anAR}WT+)^(G8tP{o&Hk!3K0XqG zpwzz!qxQEdrEWg=r|fR=acub~lX6Uy=Waln>!=mTqBGO>z-7N;(3pwyIswM}p6m#^ z9wiCO$QbwJN)VX7!a$^!aHXy0>s6*KcQd`rFVn#<1 z$0f~feGHnt^HHv&HIcb}Wj`6$Q_Li6;l zHnI$35UkI89~)w}mS38(`=!I(^ZU=EA2gHu_x@~?xhzbmMl{aIL{@K(Ara(=RwU!c zEglbcKdop(`>CJhfy6+%$;=I~Dr85)%f2;R`HR81zrZghd!PQ+ZWHac==C>FW(h^b z^HGo)Bqu2^A06YFRq?9RRrr~rQ(c&cJ3DrDBArACDMWn#;QzUOx`Z+upekk@-}wsri6o*1_|8~0 zDBl{+z6EbRON-Rj9i#gw_{nv;jyp~Kha(#?dMew-a~h7U_bYa_7zGCG|40T_>|ggY>@;9g3_ z13|ep4T!eaqw{ZZ$0g?9h>W_a)xx|85^cz=b z%Dwe9Q=Q(dlsd-Yr%SIpQW5!HoAGyq{A97~hEMbvhHvsd@?iP<=~@uW*XLrWAeFTk z1{`KiZY4&bY}ywfClUWQGXtD?37E=@it*h9#EV17Ep>InjjW<{nDSXmyi|^GRL55t-MR@xI%`g7p!1tGBSMo`jEb&enPd>lKE?|`2g||=C8`LsMAd$T_5%Ru!AMv($UkW zba|{3?FSz(Z^*-0yCEQk?^TRPdBHq7niOWUgew}><;=`*Xh@JPCrwYghcPoB*0`v4 z;6a!bzrCiC3j#oB0vRJ-he=Tf2$>&OR=0#5FEE3aB>a@B1c%|&gj$PRCKr^)g0A$w zL!gN~;Cute`{50a3PW=%VLf)%$5CE1?HYqY!{{qPi1p_?QnUA`B=Z z;4m!`;tjTw?%~BHA;i1Tx3kfG$IsAl4l}SZbuTEjFl@qk_mdFR-ii~;y}#+W+o1O^ z?uB%@@fhoI-``IkumquBAD+IPDpx=|*iO!!=5++7-CRI4(DxPjS8R$YelyJ@2LZCc zq$tk)F8;Sm;=LT-8U z@%hrV+33qZdGQzjb_cSTc^hhrfea6IXIFJXVDR}C??I<~J#;$NX&~`dB78L7{}CS` z`=Vb>1eyJ50biWtF+9EYcX9FE>Ke<(m-(5-7Uph`mK$KOc~sefZf$6~G*(ra0AfI- z+HLC4A<0H%V+i#Nl=^SS9bu#Lt_NTxe3(POWXI}~n4Qz6VMWUJTK%6e|Ca(KVhD6L zd{{IrzoNp5LpXUs%4vs*vGqv1se%!`!2d4Azc-E&xM@i&0KCQeeE7)vSbG|zGX&5c z{TpMtT#pZijm?{rs#GMGBvG*oe5152jz7MChL*i2$QGJxjK{qx;(VgKIp3&Bj--eN z;GeV;>$M)Qid zD~v3nVbb^PQqb=)M2E=-rbHC`#)ynWi%-6)z@( z(sokIbTH`e!b)T_<&xzV~2aI7S`69 z;Sm&}z`@{w!NF*9xgENEw4%QG0SeBSFFe=3Os3fU#_r?9Fr1kdhijLO7)s`t#$ z$!BSG+CzUnJAVf2>jPCI(FD*(zrQbrEvcj!0TkE7yA50%dff9L*xbw&mf1yp4NFM0KKZl-VpW2KW0mcx6XJ|U zYfTzOjo0OefN-p#)#(B`=+Bx*a^*8zT9j=O%xSDE@rQRlH&e&30%Zc(tFB!k=H_Llbmj?o^BK(uL6m_zzb_}n9#1;iDMni54fSW1pm3^2t$hXu#SL@>eBdJk14Hg%A zKEu6~F^YVFeEjDdZOCTK} z_INa<^(blmLs$kXfy!H>56AJ3iMe#SA^21cKWtzpUObN2&_{uiMv=v5nD!SES-dgi zjv8V1uPY>0(;M3AJRCTcH?H}F!19%&MlWVPN~ohJKZM`^*sk#U8sTI$&`px8+V|DQ&i9c@t$+sGDc&Uw~EA_eriHrftW3~MLcqfMI}Z-?@hqGRAuz(QPu$IkQ_TAr5hM}7p7^z_{TKY{C^6h> zg@oe=5@cY)hwEKJltX!lWF4j`B~0`rmyQR+;M+|tRO{(P zVG3^lRVN~G@eV8@$!=j8^*L=Za@&fOGSmE)MAtj?KR1-0Mt5l@MK3Y^fFZ3Mcp6wN zQ5Zbv2nodMMr5EVAi$V6f8O_Z z*zA#X4PdF}Vo}o|U4;qm8u=^NU?1PNL+5(gTi(p!vWC5||F+64LUzd%xrJLx^=Mrt?Wc@#b)U8`w|`65>^#}-dsLCp zS6z=97q-m5RagFGy9~B?v~YXN(~RErGe@%a%FRQ=Y^N@TvkaRyirhyaztG5~!3e^5 zT$}NkO{gvTMYt6uM~L_+LS}lGbwqk}nGmR}X8##_Ba|UXgRqfZDkYZQLD(J;W5zV( z4?qEiXDv|(`zZ6_c!Nj)I?xd~p9vt|^Gj zL{_tJjSf>d*KE|L?gcIE&4%41N$e^ap46uGWMiDCsCtKy8qM(Ki5J>4kKDEuljL;? zdo1iQ(RSo5{LMbfK5>3;N>*gDYu*OS%Eu2#zW5YQr zEocaXMa)x+T{C}HbF;<^r32%IWacMQ*%zhQ>OGVi*G-RTIUt&Vn+u`kO^g>5TujWI zDAIGSE7z?<1YHMn?SlzCP6K-O)aP_f>D@K$}j&_W|-RmVfyhpbnqS@*V- z$Q*kS#!QE;dXYg)nOG?YuItUb&ku(0snF)Pp2pCv2w9y2#=~b0+%FJV*q;uH1Qr@W88OmwO98`_Bkt-%u zp8K5`GTq^Z zGe`xPUvaaK71Pd7gPplUz|eBA2D>9{xmV0JqOY{mj@D~GMcPR#kgn3~lD|;~ZD_gn zkrdH<<11lErvfb-B9-^uTe6i_#K^DFIbpjj2%JxSbpmVJ*MJj)bsgjcylv$)l%AY8 zQ1T+uePIkvoDP->boKmf{uE|InOpeD{Yrg^knRkapK9G8U~2BGqghn`oIuPK$}AYq z@P6+Pl%~zjl!;h^tn`?#yZ<9Tv|iOIzW+(Nit!_N>-ZFQfQ^;CZ zm51HEK3fLHmBrd98^H}aCEi-P7im0^CkwF8{u`{C)ht5yd&Ebcv3`Ls^Hc6fsh279 zYA}@?udY0Q;1}zyFHlwzPmH;|h(tHyLJVzRAW?keVo9L)XnKc2idkwZ_pmZl0Ba6I zxLFX`pU5AO(moZ{`=Zg`-bJ8g`K~jyefH?$c>v{n~4k06Bs{w(yXy5w(4yQxNx|KC$TKL21f0E8S>& z86f{@Jk3)>0q|NCrumkvqRwDhEES2}uyV3J-_a!-Fvm_Z;B4dh&yNfLC<>}>9 zZMjIgD9J#)bn`_e)P~sQzZr#Ex31e|2sK+bXE%jd%864t-Fob}DoWSIlnKhHXuZmu zf%Z#sIH|V@!UUR~RKZFKEJr|fGEVc=C-J!^ZOm-=<3lCt332W4c9CO9PkjD`*RW(9 zI4Wz=_Wuo3DlV^o2ZG$xb7DJ5HRXuEr8HNqGQptaJchfH$*Q(XFLa2)j(?fkCG! zUa zK^^ms)>o*^Q8#HPR_*F#lqc{6YO>n5p737n>@ZMI2J4Ud;%0nRY9GpG*TxmX_mzhh z`kLVqTE#j{=~J1~!-=y_q#&A>UdC!fMY|yP!2&KPD?B!;nCr_^?J1D~Qj;h)09`E7 zD>>oQ^WYzyBPE5aA`#5s?l^aSu^b2YiS1DFHwfd$f)x@!G&?O(a-k~!Wy@&&MJ01k^}SDg#f6E*14aUz zxO5-plm3qJqf$Sd1Zo$Ya$;h7Q1bPg(+wzH!jRJWk>nsb%KY2GgzoKe2)j3;nU|xD z>SwS>ByCP)$zP72bPkR2FrnAJBTvjm9%F$^Stdu z_n&nHrfIbeZ$eedzd^d~B9%e);;Q}sX3C2W-sE8Yro84=1S0U{7mmqH7Lxzz!)Api zXKvA7^5m@Z&|qL{AIK0R@cRu#&ky;xbctSLL~l{;j-yK9MR{)3-D7&IIR)%3BAOG9 z@Y@fI6}sO#6|;r~-9>Nd-&rD>S1GlpjDqe<>3W!j@AwB-}qCEDUSjmqjcslFJZuJL^%Rof2)Ac<{AsHCWSt}Z1_I=^3= z`s&5m`ZpEo%O~+8sxyn;S(GNDZ1Vu?YWrMZl9+FmV1G5$f`Hy?U zjbpLi(Hi4|82nl<|HE82D&PW|$rb_&VereLbb^9lC&&&OHe3lirA5_#m;oyb+aGF+aJvfZdv@n6_2l_fd>&vNJ|}dG#)eAvvZNeUdgaN# zd#(6wg3oSwXx;~=eS$lWQl<{Q=lyF~vyZf@etM174g{&}Iy=M^rt znF%R3>$3j{25v~AgNgxetB>V#EyX%vP9V2+qp-{mhLaZnPHA5O&l%si^#SGv{jLgh zwDX-Ld=+DN)|wAyY|P7tZ>ZEaeu%3QwQ68r9fo`vhB3c`Meky_@Nu&GgS_#=S} zI+O-S(bkh8%76>B9~N zHE+!EbY;Dqe@(TC@m5HD*rK{HdQM&g4oLIaOQho!>FMVB$qqwImD%EdW8XZ%0U4DQ z(2LjyrAY#O!+ghRwtat*)(`VH2g4^!F{rZI0o=iJCR?L2TIJ2&6tda+7%FkvcZ7{T z>^|*l4*5JD8kvxQVSAwaDh4)9zkVQ-^l-D^WgSC1ON=gob{2@_NlQsEU0;8sp{E=_ z)+z_OVNYTmu49QNi@Rx?SWgBnkRN-+v%P(H4m2NvlcApQRQ>odGTcgY@BO=gRhq*&@`jvl&vR)PX>fV75KpuK4-&kN;QfkkOxW z?%7%Y^`mZk54&yAk7FIFX;>Px!w2!0p_Se2E#@I%JwKXB6#wgQK2Y7Pxc8N?@TrKW zrA0LO2WP`83!F&gJ!n06B>>n%p+&hHo(+e@n}gvL+Dx}DqGS)UbkQw-!gSh0l|NHS{Vs8s1)1|DGc!wb4bZ{s?7|P1>1X7;;RTl>$lwE!oC=}d zKtL6H`mR2%Chq5ILB783$6a4Ga+Sv6BxTTCICng_QwVw_%YNU_-r~zlYb^@KeqsjpMs2xwRaW*I_-}~z|te&P1ony zaDYgJ#PIdKh&baIig}~r+=Qm}b56AFrxXAaS7HB4c4Rpaf?cd#LTeEO!jC`g!|kVY zB-(gr^D40O1Q}^)iZ+YQUYB8`gwJU!GEmR|;(~mxq!7A%AF&QJq?CdtB&w{BDkoG4 zv@a(43Shfm8kO<6oXR(K?}QK)&p(E<(8?pK;7^{OYoJ670d=eNEsFP+cwKxw8t>4# zVOIb%5I8p7a+FS)T^CChy5pu~&|-iXZIr=BO#ZZ%KA-;A5S2-BGfayOFHDvo_jl03Jt~s)tAbSg(3-CRd_UtUfj;1tWSv zdi>OFt_^!sacSeIJ;n@%*QXAKm;Gt~LS*-~*t-1sY6mK<3vIeFa~)AfR*afzYWl#g ziHU0Y8hq8E9dSlbD-Ug7u-O(Ku)vyXEN>&WjKPDJ>@#x(aDQ`%x)XF$Gb0abF8WKo zAU_8iX0cU@qXPldeRz#{Tj2eSqMMdu!oyKn;T z9g<|m!)ybFZVMBPpk%L6{C-`ky|3u~Z|TkX9bc4pr-Aa>VB|%X-l|PoUT)xxa7K%5bn#BX$_`esjs}z#siVULQF2-|1sm}-6#s-8 z6tZ~9Kst^o56qeVYII)bR!MO`4;K`%IiL5GiWaukKr3Dvz%E=s(`XNJZa&u>Rrozp z6>2}fkDKY-E-dp~2L6dEcrD&S3OJSH^N>mAc1i7h$}9?`s6Jfo6Q1|G#R^K})tsE9~Jhc3% z-mk+~^pLWlC-wwP4ovWz_{scF#$84noRktIl$K!f?8I((7Nyz9)lj>SQ_{+?4rlFh zl(zLF=gEI=)H3hQzc*PdXl~W`5&K{~<4kGN^4WbZjHfDM)aB~ksPeD>Wk@{*!PR@OkGhKB>TPo61-NV!oOW67iEg$7~ zCF#EWnwDCpX$CexD*5K`pH2sd3Bx=Q9Ooglc$KM~3nc+bDD|~_ z5YXen7H3hQMMLy%pXJ9e3KsYlDuXty&4+$*0vuN!zSYw7SPY&=ia)`#r@hKthjJYa z99$r!%@4%_fFB<4z&=L=jUaY@E*Q85I0NW7zBdiX0?mWCvBHf?IC)O$Ez8*FUyagO z6FMkB&h8znszZ;wy(%I3p77V}7xt5ZG-W;mz)a!NJ{cfRQ0|YjMWx*u2!}I+ZDrMa zO2CXEP4~hPh?qjqZ#RjWBbKd|$&?C5mXP@llrAKHkOgbPW|(O@I1;WVP`?D2;)#Hq z9U-y9E#brw`1QDYV$|bklc@4Ysl!g--KC+ zyG*VT7E!zw@T(;fz~=>6=zQch)Rbhn>pXIaH4<-wfR5FK|R$nG*dR0D}jr#_VlB8m)A8?gWGJ#26ik4_tFvm{)Sc%cCIwdx5?wsVJgqAi3b$j zT8vC_q{G__&FJk3Z89*h4K7!?!7wsgU)2RJt`@n^7gz;m=Pa`7Ajab@{cBH>)=yf2 zlUV3)jzfVt9!MYZkepQ%THdCW+?K0@yC1NcAMJ2x7HALxN;VFO<2K<&D< zncAaqG}o9gt92B^Qxux5pj|mZ*$@zoL;idPSPgHx9WylR{D4C~dq~;w1R(OE19?>} zn6S$6K1V7Nz(Vw?$>qtG@PL8K8RfVxh%J~lqV{D<#XPT&Ez6qMB1g3eu=v1x&-+{Uq`bpCaE4%W6&F|O07h~yD6vu{L zHy6_}(reV-Ns*{Gp>WiGUf)oj8|rli|! z$tF%0P%?7B11XD`kI6HhPtmfKoRxm+pmzDZuV3X;FTVWok$QN3wYh;1*cU=+CB)>U z!)bCIpRF;9rqK3wtHwtpi1Ee%F`wkW-;O)2lbjl(NiqP4ZQ8;yANQ@-ZU*PCbF}Io zCi5C<(2AZ^SdPV`8v+_F716O!Z9|gdbYvyawo{z{gC2Z$ohl3=4Oi^}_Da>-d)vIJ zl%NCz3y%;qfblNf3o#*J3+w*p%e5vHuo)sgnC@D?+nl2xBIIf3n(!TQBa+2t`Cf_# zZ4ny{#9@+EorbJo9ia)*PnFcyT^GbN$! zV872O>bc3sc8txQ7)`B#+E7`6pvv^6&QEiKIyQuW9S@4SHs!a;jwg$)UeX;Tm4wFtUv~gD0V233|5LB6}?CV5+_mm=ty+Q_5b; zO)g+skfiObAU^KC)&v$R3q@9zYelWAgk=cKD+M~){hJ9$S@lA`$6Rsx-;Ek-MayW; z&)^R{n;CxOC=@-jarrhbYtoBO!PZGme36p-#upr2N6!m z;DNZH?<3;9%$5#Xv`#u4^i|E&bjY{fz+x1z-dCp+m(Dn8CqL3Z9}`pr;doLSIq_VL zmO$(A>ekgv3%v*;05AgDC}Lp?6L=eaU|6d+kscphmPW&=#SKGaDjGG?(v3W zmqSV-#>)hs?gIyu1=sgx70u^qmkNZZbCvTC->Slps=i3B?xV{+1<)Fl@3rjb+-iBG z_>jD196o})Poe=E?uPyQHdrJ_K-B$rG5p7=Un7NcnI!g~dvflQ8r;_aIJN#rjTftc z6VXf*qg9c zS54=*tEf{U-J&vXj@QR->lKG&mnF~J<^s991EexV83F7>lD&J-?WPx4m+y$;)pPYM zFnvO_yAgWx`GBh!sry4YtJ+dtefA&y&>Q6O&${+g_p%2vdx$eX4T4M%IsA?vg^jIeivT(q%Q4l???zoq$%vhMmi%Ve zl@FFxZfK|4<2RHVAF{O)Is@)*k^QgRLGNPEv3E(N0OqR*VTDirzQpI=f9Zas(LU^=xZ zRijqfw1L;hm#5)G!a*9|Pi6~xFzXEr`g%P|I;W668)Ad|ii0(ZTo|xU!Gp&Y;O}#1 zRheQjEECp^P55N~3P)4lSQauHQYws4WQMI<#xz?twn66PYUvsg!n)59+V#e7fT2!n z6c=|qSIujags20Ot`kSzJF~J?;g#ar=hT2tr%qsdpD{Qx?oejxR6Ah!Mv8lW)r8V6 zIfl4jnpMbxMK6~9=lKw)mJi%Z^F4KK**&(y*M;!|1@<6JU&HrV8woKRCEqS2%*nGw z8wjJ3zdGZ5)_rnHWwmR}+++YK%g~s9Q&BTTuut?eL07pu+;`f*%$io7=jB|@Z;tWs z<0D&I)ak;fKN5aqF8+*s^M%mjzta9ZA@@AiZm>S7^X8&vA}&eD$`zJ<3{~g1$V}6w z$zTCPTS*fyFd0w%{8j||w?gS#l!O(V(~O8hi&OQ|rCO}k@s#Z|yj7OUVEZL{E}qdU z)&W7xw=!EMRV8|S;uwwfvvZP8ToXV*=$(Ks#saNdzJH37c0LEtZ{Qj`IEh=AjUZbgJ_{CuXoRBMZ4EcV z``HWHJld7TcV?d7QJ=)StI$pZD{KQ$U1g#sz~=OPNOUAJ&q&8yz4DPmF@4|7`Dr>! zRN04P68VUq_u^?je-=0j`8o2U9Jwv~p)C$2c^~j5mz`O$9*mU-N3V$8i2A_<09Ss6S7bv4&7b`=bjs0;3S zw5zSVlNCM10^ty?7e7y=(I>{O0~t7wxpZ=56>I(W?%qW}Sw-fNQM2wCR4#C?HfoH2 znCmcVA}*!)lB*LZ%)^KsnC=e5I}i+t!mJ#Dr!Te209VY-GSxt7cfD06{bZF!m+Mf9 zMd%BJ!Y$jM`$@W4d-makDH@}<<%|*1LP)T=@7IE9X$9cWEFx5+)7u;gFKtzs4{zhX zsiii%a{g!NFU>Be|9@Dz?s%%d|9^3fYrDwiTGy35LNc!F;#yf{l~racduLy>;*yY+ z-7qsEDP1JAc27yjlIJPPwqkv)^CzX<$J5-5v4U#3Z}$N}&~Kc4@%3jt21EP27fuRhv9n=$ z7-FHUNjidJtMbUDJCjH~f19g{}qm6wYwWY!D+6gw*px+OJKGm~SSp%Bz_E z=J~hh-D7<4_v4IF-|KCQhpU23!;ZggXAO4kv1qvNm<5EeNgHnLglT)HS| zyn7$In*j<5ieFX@be{dQDgg;L09<8VfY}p0{Jt0bQ6QwoJ?UQC(%Yxp`g}b+?s>%# z+_vn2;#IcF4*OM{`rXTSKEbtypVukOztDLrD8e4WTTl$r1GzhC?Qrq<(N>+?aCnqf z*__oWIeXAUP-0h#=*uX34R^2ThZpJPnwrj6zhuBj(BG=U;#x|bU7Z8dX<|dP=Z3=nreEq} ztwcdBFX zo@JqKGAKB* zev`Jy99I0iQ`9c~+>*}QIkJKzoWq#a zjRdiW?uhz7!C!}4MiT&=4{G9|eVfte*VmsP3d(qCF5EpBkiEhuoc!nLLq2|F<4rWF zx+9N7{)>E>aE`Y_;Ual2k5$^9x?>k?BcX*i5W@$o2yP9Bf2pLBd?A>H%qtNFW7RY@P~ z%!;yt?p?b%DBk@p>X(wrF}*xXm6nCJ=t=O!(I`#arE8lnm@~|;`k$ww{eW0L0&C|Ae*xs-eO|ZU*kdK8HN-KT6f2kF*bbC@TD?R)> z5#~WK;%RED`KNttFQ+r74Vkuo36r4#QR#AceXztb|3rUs&OkdUwBSnZ=C>#|JIxi4 zcod}PJiYG@gi?$t-gAsN7Y%tiT}2aSN@)Doy(vFAN9bWoym6-dw%l?(KoyTCVy2w z$N)u4_C20vK7F(KJaB@3hfpn7gK2`56;8ayS!t}E}FnYb(5(*!wUV>`uzj@k|@ zpQQ@^EKF6Ol@Hbl{Bi$IBj^zc3c=(E5@aa(6O?=_O8No#3mne)j!*2owqLLyO-n8B zM7I%ka@UTpIE`_g6XTG&vDP{BokC1$FIVgBuyTn7CK~;~Z#AJlyrQz}_AcA-GNNU# zl6UNE7PhSRURhrBGadEcr5n}rF2k>XanKA|(}WKmLkhf%Xh($HObdJW3eiUC;qSHJJkY)K5@R;v0U_Z`ikO}A@% zd0K8iIEpDNmU37)5r)moWf8PLc~-DHT|1m7gPoTI%K}Qb@4bAmK{xQV%|gPc&o{cW z$>WTh!=fwjb@O6u)oL!tU+DgaG>}qax@;IrTL=b0+$w6{DDyx?v%uZnr<2z(45+_Tidt&s(VekxOtu7@RcqPJNERDH!j2z$J11>0*(2P3*di{ zn>5g3{pZdP2DuXZX*n@$0?K#W&OZ1fK2ks~Lf~^WX;<>K%WYR2jHz7xsWO!;j4X4E ze^dU}UbNXB)p{%da_LLgmqLy`U*8VyXN~XFh{gsDivs#X8~EO|gXdhlPZ)^^5K&*h zikZr|fj5%0imT=Lyym6`5-9#leE31U79B-^2mIST`y#S8cyjxr-L^AyQB|pghO00z z14+k{Il&tt&=p6z(hwD)N@naBoZ^`K4WXVRdcT<6c3|TkI>>{pFJ!n7;F4-}r3#l1d_@sMF4Yn{N+#$2i5eo?%KmTqkU!I`h@Ppt{-&JtgAO~_ zxQM8HHmy4ao%Xt z-YvwBt*#OkJEvuq5Yd9EVP~0CaTd-zayhMGJ8Zr@UUnXdr(ki1A5=Ga6gcesf zQNvIcXI<}k*Bsd1el_(k2V zQ;lxY2VNZ)!Az7;COLG_RK5D;o^{ta({E2c{lq!iI!|8Ega1MOW}Lw%@-GKzo!Dq> zq+8V)pDLL>-kIbrl!T zR0qK-3eRZ!Lds{2rzhoQ5m0r8q*5O-6h;SzBKie-EK}XX~y#IE{Dx7L>eX(b>Icpwi?j@s=&^ zr6#lW_O44x_!~OuO7$|&qI|-%dVDtDaf)?Y!R&hWTv=FhZXd{P;l6mC(;rfuPQscM z#zL_%gpOs?ie(5Y^_YpZ|Dqo$pWr12<)?+ri69_`_Co<`1@tNZnQh%Z#rFHJA%BMS zb;Tw_{2E!^wT6LbK8{pU|1(&%@@HT^Smkm^o3i{>P~9XRx~f&LGW0mAvqr=YZPNA9 z>84`giw=uZNszVm>p@A^LKexfr!-$;RM-`&KLqtVcI{ZMC}H~sCEm-dN_akvH>^z- zO2=<>@|}ubcP${mIVJqqg6z-s?^pXbM7(R}J1&5;L0b#Bn4_W2dw(L7=;+U`)sp_m zX;_Zcr_4~_R-qosi)+04IckkO24vK{Jnr@w-?_x`SAVuFl+RHwDfH&|`m+Ghutr4O zcwoU$E(UWNPfW_Mw!QFkk)QBr{845ZAthnyWS49BfZyEnKxH*- zKgXK)XRwCDX+u~nI7RDK3ffN^I_<*F9@o%lS(Vb}6RC2k*R>+&bRzfoe{2=?*3r}U zUpiqfN7o<4KK@N5|KRxYgi#oEbD>llgXpeELwO3E83di5{y9tKsmiu9_!a6B9T{0w zU&u66k+8PXp?Iqmv~QHX+W5sH6DV=&Z%)o@Q$uh2EoS?xnuLDXscfQAUQA<;&WHLa z3_udbwQkwgydMWL$-*}PN9WV!Ef0f`A9S~k!+Mq3^4se$=r<1cXs>4cG@?q!p!G-w zNhI*1D%5PDeUZj8006tgGKWBHgggN@nyC!};Pqz+@YhQSt0w;%<3?YYT4|y;i zU>>1b#5RY-dPFW%b;Ud~z`6c3f3Re8x2x~$ct3O6m6@D;P}=k3`+rrThkvHS6J~R6 z0Q+qi4^DRx#2a$bvXE~ypOrGij9Q;P_XvPplx^vK8rF#XGllmju{^803T1>Ci1Nq2 zp!?Hibo*EMvPN;0P5%E6&Q?_pZ(+o+O%{!!tqIM|{2CG*n5-H5!+L_P;*@UbbM4lO zu=^W9k91`y#By)Oc|gtARDx`hikjwm2&)f051$#AVbdtMvQ&)fb|2$!ihR(OO!`@w zqY<&JNpfONRc%BiDSz7AG!$ze8aS2BPEUH!gxJ@Qzdz8%K{$?VP6@KeRo0^iX>(>f zo!cbq%A3ITu~5Y1>33CFiUkk1-?OZ$$5BuwF9N2ls^fF*QgZ*<)V&SM-J%!B93JCn z%)u`)%iYtDA61;?i|n7(J4`+O#GJ0X^0?;vXTf9g zSffYu4EzyN7FF#HixQ@B#>b;;Aaw^TkxWBf7JkA4xa;H~gZS`&T~uj5UZnF#eY{U& z?P?itMpIlbg!*Aian1E8MXm$Z!R|M#UWdB7u=C@H=O?5)2O_&^^WPbrM2J2=5l`-V z@B!%uP!=p;(2fOTNIT5w0U$Ju_9i4riugq+K*oFDc3+3Eq{VmfmmwtqETYIj* zT^i9SSnwpfaCZM^rWZt7PJgZ{RQ*x;yH#V%XMPjcKkJN)=(f58@&&GmR~_B4Y=1}N ze0@&Lz1Ccu2BDVkIZt<)30+K)s3BP7UiJn4Gb27@o!$lt_*$?_#K$<_efV3a@sZAO4_5Fd(a@!k4 zMi5%Yy+5*H9E~u@XHJ)MA}VvWZ}Hn%v;8xt+A8c-Lx@k(qMzG~5;NPKjmRFg?hXe* zycrD<_og1OJUF?xN_Cm)d~b()Y-sC*69QV|=M4aJ>$7o6=M!>Oz$fr_9lc@F``S>| z=AFdtPr_>>Ie8?^q#(8bBq;XCNkn|jFUQt+sr^h*SX94duY)- zvUVxZ>=A0{SIBfl^p9Yp+xLygOlcV)XlkA;d5^{qC8DY{$&yydiaUuA+(3A!)S|~X zRh91`z5m5`FZKJu>mR!=fegEUS%)3IB|3gx-dXbNSI%tLew4D2$JVRow{I2U0N(r~ zGQ+46OhVW*p6#9(LA@gmTWhi7njD*uzIe0w#Pu~Z!B$k6Q$zA3z-EMexy!^ zsPN8#U(+rSfLJh;(X5$jEK?O4K1f#@YA25LR=DfTBM6hB-E?XYDsT@}CjM_te!LH4 zMLw6o!VF1YE?>Frk)##_sKg2M%kI*;CC>G=6{*Sc4`)L+;@>sX=YvvrNc(KLfTRD- z7?7|EvY_o9)00ma45GM@)KL@P&K|fur?WqbbAgtZpw)^EtNB4)C7+u_Btg33%GrZ( zfyAsjr(NSMT?%p$kl`cxH!efjL0XjYa$^4;gU6%1uU{iNI}|`Rj|^vf!;<8Ov+M>I z_xEQ?qfH_9tCH-s_oLsh@*FrdtF;hB`f0zgofMcww)QGkTqpogI;NEEoi^kMYO!B% zL=SEI)pAwnK=hiP~vIV>E>@N%8ed<|50dtt7s(^Rh9$J0zK*6%3V2PzB^c$!M z8_r9vqAzy%*HeKLebsL0w8=+LMjp%7J*q4?Yt0o^HJHW3-l`Z8KW}GkBizh;E*@(5 z>HYonPQs6z<#ax#%hxIoFJ3&lT2#2iGVMwJBk(8p%_bTt)jD_{Qt@O^5?6L(9vi2` zoT6D$^%C>%Bd_`YJ1@JC5}MHO+qs(Yy^&Bvap<c6&`cOeS|rDqd@M=zIrR#2SB+u9_A4Ac0ESLN5|>oNh*38+MuoJ1vKeIAAQ7>K^}t zi;q{4LQKgxT;(XMFMFBf>}nSe9WZWVz*$ukt^cGRx%{bZ<4(`>$7n1}n>4D7mK&r!m42`e{-8)vh?QHs{?#4herZnG0qr55ZzB`2 zhL0XeceUwyKO|qC4>aIhPKz=Sj}=yj$0Np8A>Nxjn4xdcxH8(U4Lr&O25G7^|1V0@ zn|WY_(4!(PsvIeS1Pkw7V6J?E-1C7?v%>y-3>(~ch4j^tEKqN5@o`a8$EGzp(%MI# zon%(MyFk)zV=v%S&la<}uG4c-YENb88eEwBvF?wRb0A`>RD@<}`0(;^OlcZ1n51F~ zA0|L`ngjE?PTKZqko%>9Wp<{_Di7kbZ7|ElwhOKuf#(JYIS&pNDQe?dVa{8Hb;&$a6=&$d6DJUZCP4;AXa6qp1*vg z$V^Udg^W42KbJPteSIT(ftsX{y_Q~yK!^}U1PkpwMBWrJSY9%8wSjw6_a|2Bla{hr z76v4V(oi{aUA}#%v=!=hd$u$4$PxF*kp9(El7;Vb_?csh6m!;y(p?I26BQ=Lo55+& z|7OO6!wGX zMTE^n_=Be^6cH;dZ@qHfFf=aVSOHt2o|bNMElOT@wC%Q=T^tqU)oxU8t2N+i$uL@U1Uwh;t~0NS;V1iPae5^J9+*l5(n)=zeYL+M&!5~dU5d2Un!Q3Quhpg1Oe8xytdaSPQ zqveHM)CL`{vIPwMiU|25K4&b+)vKsw;xgzt}qu#1_&d_;M3P(t)JAO72WvdlnAd4 znmt#m;M^&Y=|yG0!Xn;8bZ&#LP!ykrTfa>hU{zyjsoXP3PDox&MSe> zmusda1T8ONE>E>D^OT^rMwDy)gg?f^&Y$~aV$RhIO=aIU@sRfB`-VHq#QFsGQEc<& z_zaOC#;?AwYH45jMEAD(Pz8B#VuJ5Ml&hTLJ1_1fe)f@j%H+)nMh$0EWPlsy0YZ#G zU<^Yy-|8H9?erUsn79)|c6rrn8`GCUHc{y^U!qf_dlyzWn=?{Ik9~xPA_`nMdSC7e zY|e!_R_(T{J_M6I#~A$ama(VW`D74B1^4NBnH)|QdH4}65zEpAikw8FOro_gQR-*# zX|(h5f_C{HyfA$4=X~~uKV%a~0X%xq z?*N6*9L4Ieq$6yS86k)Qr_5f<-0n)Q z6H}Uv%|o1P26!r6$FhnW0qd}B-Pv?Oy|*=MC64WxvnX4 zx1I9mSXb?_RMQLS-y6IO@4NGya9sQ3SYI2=WB~|f|3{al$~Q#lGp~};6bi}sUo_+* zt?P$Z$|3hCn5Ug!GV=FHOfe~t^mws5K^QokL%U}oT|f`bOgelt^jgqF@nrYSS#7;< zNcvnsnB$Ly$Ywm4ctwGl%%+dF~~=@M+*Wqii1MyOleh`J4bIdo3)62T{%@-G9OKxhh| zwX!0b`LW2ml*_v3fSpcCUBLTg3Jor#qb~yQuWNlwHzJiyRDRu{Ovn-Tof9L8CqcW*6+D;Ee}1W;KD$wa8KGmj*tCsw9)EnJI7t|>l}*L> zLE*M+9SJ8+6b!kH@~;OE_UM-So`G4YyoqTFDUn9xjd}vmcm*@#P)g7LXN*6NJvZoB zxK4q&l7jijip)9=zx9|iKzuFRxG11Q_(j{;VvmIB$5cWiTt}Z!=~V0z%}QG*4~G4q zH)I!4yD^gXtJrNl7@NdTA+%=>n-paZE`n8PlIA&v zgxzQu%5b$=Z7(+PPwsRzwbmzOJ>vC4(NCGtcnevS4#=eVJftM|;6We3`M`7C@a8O@ z$rx{tZYbJ+wO&pB$%bhnJiB#o=E(0ke&SYcQn_LlqlH0xN(ent2ZH)cK~NlAc``6N zCdH1g9&!joe$PON#vWEtf%~>%JxB3_8@03zfduP5D+)dOC>N9vsNK)1nepXeKaJF7 zsnUK<`vsii3UkW$F&?r7Hc#94Dj)Ln+zDvGW}hGzM~X9#MvEBD^ln~K4eSWN%A-fs zH6mM=;qW%HJX;kN7|6JyA4;rEReX@T>!rqy~ZtL2wU(1+q2R_x4M=}3- z22oj5Q#VvT?(IW`$~S_qqzA)5|j zF8mB7U1c+k$7deg#q?hLTJ(DU7vinwo4lk6^>4KXV9#j$`wH;a0Ki`%9H=+CmhP1G zcO_NzC;$YL;1K1+z6?N^u*A^!P;ZD|DuIH-mj=1_Q)8J;2%7;7WDYPL)ndFpJ@9++ z1*aQM&UAdI_?h!9DUGbm(|_z)PM*5O5_^K1Z5j(RYWT68*)NafurLgBM333CCltU8 z_5HJYHU?N!3tnW^xzq?Dnjjl3utP5~q4@i-4o_(({k>Puv!zoECxTzCO%n~NvCZ(t< zb-sG5V8ZQC1yFlBDGmcC^hIe%WkUwr_}%C)oya};3lYsk?1VA{_4kS7N6LIRgL0hm z{|L!1R$$;8J&JWHJ{Bh>^=(Rnsk{gy&Y%k@$eV~1Ga{+V=c!?dd(ZoIDikKC-)Xn6UrJ~87u(c6aDm*6e zG&k8*d!26Enh|UqS3~5C4xOt668nB(R}2G<_-oB4+tv6=@H3U2F(V{zU$N8RtuOoZ z+1)dR5+e4%T59KqTEqYtGkMRl4s*AGp4J;{fjE#)?Dom9mci!sl3-Sp%y4=Hegff%B)X$9)(+NBaAo^~ zhrjvH;aXh~302097S?2;5@o8tV0>(&C{ixz)^kW?%#7f+*~1gA4sorY8>r0QdYysrOBEA25<4 zJFjFj!iQ9;BmA@k?0G&oXST4@ryLA&6p*-G3S0Olhi?gqBPgpw=H|;11@uWh2Su;- zFW8@dfuv!+v{^%Ql$rMvi1v?t7DhE#g-xel4}Pr}wvmcwPg|WAOjK|a(EnpnuwN!9 zCqPon#X)ooR5uk8YARuqqL6&4$wEC3sZ$}da&JKeeuck-9+YG?YZTtuTR5Z1LLHa&aTBApzR?F~zGB~EIo-|}=Q zhUjU1l9@t(Dc z9{){Et%Ce6-dTjB^|B4E-ts-<%@+pCF0`%|1`%?UFkPyA^EGX1f#wq-LH2@tdm2BD zo&Mf`syTX8A!K#cE*!tN5S#xrimxB@oBmZT;nJV`hc5=VF>&h8T*t0m3vH~x#On(-kVsW!`>BYBcjLF1W0oExv= zrS1}wXZC-7kVSkK2ZuEXx(obBw~~)Iy}9`#Nawom-ZSP&jDJMsr^=}VQ7vVVI?5hn z%Hntb*}PxM4=Em?Lo6vU?0i>=2i~&I;JYzSn=}IFr6KjmfW|S=?)(c#(I)BRr}6WV zp_rQL&Zy-lL@B*xeQ# z9?3mINvPNCXR5Uasl$!EHr4%MUrp#aXccEH}TQD>|>f#>!@8kDOYMwAt@ki5Vv=TM~w_h>5^WelD z1T&cS1s)2F#Ms^z1wJJ$&`rld=E}!Qi}cKcId~{7+LvVdGTCoI@Mt8q3YK}|{CQvE zb5VGlO%DQv-^&6M@l)gOcKh#=h%{NUDa9bd84&@1SH6o}udo0NE!9VIv&GRs`{b3G z<$#oDnQ)f;aiMyhe?JSc$za)VqDJ7fkfeeQ?K;IYLN_oOlEV9hXI=JAT&1C7z?SS) zXkmj?G!m&9P_Pjy7Mzu^R}!|MDve*yZpDc{?Dl!$Ea2zx&bm+tRAoAt^z5>f-v85N z2Z_Z`kYC}37TBaQhUQ$#7p>`9gfnG7bRuEeuhc1mLEgjUJNhMYURp`hqXb!zi1lo6 zD7Zp6^iPOBMU5&+rQ*J47yTS!l(D)%`lR#LAG~u@qzT)Z2D+IVM2U?_S;Q>ESh6f8 zLx}J+B2hkBndQ=(91{ZMsF*=22pIGCM{QE1AyS%0xA^|!)hc+4(@a)*^47Lko%zkoWE^^rX&dHwv!`bq(PA zAN_hv7Wu8CUy1k8#$jZoN27iobf%WhvEs0BR)P#?w;FvVLk_czfq1eyYYsoW|Mhkv zAE;qa_!XpLl8^A~)Rzl9B#M=}gz>wxP&V=!&h@HG79*q~gOgT`mdGtj>om2=> zE{Ws)lyt?*2oiyhh)74Kyy;EOIgSP492;N))=SwaO)~~9^wY3^;KkKe#yJCASsPO< z$47Qh$VMVQtS4fv5mqq>rQo1PnF4M83u_kRkuTu~xlxvWYMjW(u$7Mw!+1ZWql6ZE zk6%Dc^+*AqsqtNt3F{z3qa!JbvI;SR)NPyMTWCrDlk=c9t?) z7YH?U-qF=f^ee13>oqy^08eIP%n-gwhunLDtkXxfd!l9D%J*bv>hwQycsM45Z-pjM zz7c*)%u+b6uxu1Ibr0=*7XrBA;BzpPG9YFr*nY&Ffx9tu3i|{UE;{cx=q844x}1DF z#0uhb>7eCKS{Vk*;M@e{MTTMflRx1)-m&Dt3^QKd{tAfDHjWG zK`&z;ePtmy+$?#X$gV!{Wc%=O4Kbp7ET`fp^R*Cp1=LZLy~Zfw8DSxb)uDu!PB<_h z1<&h9qb4NzTWBd+!Y{a6jF}F&GWOE;*ok%jILekr1qoE&UV)zjxfxabOmi&3nghSM zc)V{wW%%P4mFg7EENsf1QEF17Q zW5BQv1kNPLdT*}8G-uY*PCAEPC>=|GMV5vKRbuOjwZ03bZZf&osr+m?SK5UlHPG%d zb87d|>h74EGW?B>&){kJb^+BeWu6$SkW(FV1aEXydp>P7jcF!LAH` zCM1?%&J&S-p?Uaqpb*4$BDc=FHOo5+XFJhBDMb0u{UHHNsn^ohR z36mu{5q|x9p!*H`tPL4yz8lBS)Q}SzH;2g zJ5;Tl7u>g1vk_2&+lL7rS*~g6xy=U{$dbfAx>h`X{k3M=2k;Gr7oHZ=9$x3W z=ct=HK531Ee1jidX8zrUJVzYEbfgp}@DYTJ4i~r$d9CRsI%uGom~&KqtNf%VHuRX{KYeSFUoY5r>5!}oyng$J{`kk4<6$0P*V&uX0o0eLer($S_L z0*A?ELm;K9F9=T&$1K{%6%9{QZ}7}aM%v$#sh(Rm4BQ}`1=bbRW^`<$95MDKAkV`?+ty~g8EEG zvQ;XkZ<**Us#}rYE9gH|5KFYRxu2JKN~l4B;$i2lh19RqL$69S0MtNip7ZGkn!^dn zVCRREXYh<*!5Yrrd2N=GF8QS%^u`mqa3_HouH8?K?6IOQ(uKrDS$Il+DWGQ>#JxOi z$h(iYoxpc~NppNb%2X`swh{AVS(5hanbBk2KI8nLO;cjh(RGdjn*q?{fHR^bfe63O z&!3VKp`Q#{>sx8~huqsnC?rCgCtpKm^O(_q58C15#`Ku-?ah3tvogH#-dKVObnjr1 z5KDjYN?0HZ&)G^-2~`QZ$xLbmtA7^60{a8J!`~oAF0G+n3Rm$7qWwUj|CqR~ zqlEgr0(l|V6UYVO<-1W@=qJ|mlIk^GSr!!A-VrtgR3GNAwdHZ>OgD++_>Co5NAcZ` z>x^x!w6AXZ|JUijP!4MgSN{W=W9r4gHh6&Swct1ye|VFH|5oC2*a$92a^` z(fV>JZSBc3&2a>uI7;B8BixT_{Y9VF&Pjse=JSqzsMo6&FUo|^YddI|mm}&EV(4x3 zXE?|oHQ|mcs+d|;;vdgP=F-e)fx~ZG;H)Feam>&!z2iu8bkb{z=|35i@j~)fI78N( zVOU?Dsm^4*3Q%XxzJ?K!BN;YjH|k_~Lixtz!JDRXjD8BP?2R*r_vRj=UKS$pi-IdZ zX8Z>JThg*N7|5#mM2VNC+=!phsOZ2XJovE-a&~3lCk%(pc-eM{Wbg zQgI-#X{gzIb1vF8@UayItXRAZZ<|w=^gnr*hP%41f0>q8<9pzqG|c+gd7kRhREPo2 z5xM2Om~b-jBVO`zS$e{JEF;9!p!hl^Az+fxdvhC6(Z?XseKb&?{#m!U>b3d%G*@n5 z&P|Eliiy-V5001~BP+tk?tDwSd>_j!FsCS2MmpLa+fEKD?-h&dx+1EhBE_WQ2d=9v zfcmllaB=R!K{T}ii}s{b>{4RFxY+0X?I|7kPI^lHn+a_Rz>*!wea7x!(Y> zBjsK0I`i`5{pR+Y(acSOj9kL;M3;&>7YAEdl??cnKA9Bd&?`Z#mmyic(}m7fdr(p;&ksKRnbSivo%=qF!ZIZJ z2DJG&CHE(Hm$lK(?N+ta7a|2a%D%8Iz=ia<;SuIRwbsZcH9MZ5ghz-W?DO@LSN!a z;%DpPBqRy9Oyw)c;>8vTKqs2(D2Fvd3~VYJHmPCM;zW60#3x;HJ=1#nnQZA;h%C2C5#ueYgvXKR zod@nOU!VD4VD>Q|Ez{s=aVx+f%;<(2P*?t)${>6ShM};^AG7;O#|;HMBs7# zb0qHag22cu?!OZ?lVG}>2$8-)TY%-d7RRmoCE!x-gY-@%q<#AbiZgOQJW3hwr~ObN zph6iVFMR$Z^Qr-~Ir8u#!ABQTADlXXgh+3Q#w=I`JK7bKDBbs+f7~wYmxkIgKsSD# zeQjBh#ApaEI=WdiXc~W&(%v^ieC%TlyLPAb&eR+H>8&BXQjQptyj{gPYTyG4bs!O? z8dWcszzA=Hmj#$t8R!IGe4e#naEV?mCg>Kt6qoe*nTP=Yc1<$SgAK+UJ7QP7frLq4 z;3aJ@5edWD#eI%~SUPM{3N@Mj{(@_Qau!l+l!BbOecN8dpB!L-LaZyX-&~_#{F+XD zDF{mEM^~Q$Q+6;#xV##9a!o2=uVvK_f|K;?WGDxCZXVHff;L3+c<4kZK-0bTc zt!`5ziyAiehPs#hyCw10nHeLS>YGfue(9$vgbTbv07uG*iBqfM6==rtAhRym#+uAn zx61M~DU8PDqP%pkxvBOt#wru!Z;rvCro# zD<)<1vFXTw%7%wukGmkJ8I@pN_!{#gT3j$FgD*y9$)nThlO&EM4CCrKXh$hg3mP=H09`{#z7|2w`$2mSi9pCJ)+Gjm`8#*$ zm8`5QFYWG0X@IM1I4R9OZ+*@+eDxwr>b`gk6C5dYmEy`9!7rusa6^69o~uzd%lEdni0zE%q z5owI~t+PoQvPC1|3D|V1e1(;(xAHP0(9Q%lS$;4=P8)E~bRCE{V)X}O-6g@h9KpLV zy@TUk$M>Ecl;S8T^k^?xdjm?;5Qh-SEJ}a!ou;Fo)42Ces=2X}ldnSvzzVLbd#`Vhbm(7B9iDt8UEEMK)k3Q;z}VCdo_{t{Mp+bzX{r}_j}YV3jd@~<+`Wx*22>vX=`J)o_} zvM54@7S~#PnbiDHubv&OQ#06PM^r0>_`u+XF=ac>;6MDqjCn2&8g{I*x=sAX6)Fh| zR}*rRdYBFj^xuBsh)KvKxJoxwkN+s7XL`)fpa1JRI{UnYpBhjSdboyfSx)u(PUiVa z0{?{r3GCP6QuFGJZ2D=vwdaCuX>)WQj(~6=7KU>LuE?n{9^8N9uMw(#Cf%rAj~Ok-ciby<}a&%z znk5ru>7Sf20{!;Jjl9h87mx4XrSk;e)lQ3f{@%6%t_7rPgvB%TXDhGBZkR97(y-`H z>{eNOD$E7TFZa%m7U?nuj)e0LA~O&pmX&=s@>vHg`ms#s%D(rycYLo6=|?WKkankG zo209;o7X5^X+Pyli^4gf3V)?ulBGRbXHZPBqG~--0G_N6Y>l~ZVcC9ETt%earjLiF z@LVYb979d(wxgv!A$Us}uwSZf)@Kv$ze)F4{4)Rdi|d0%9a+~`h`!q7iF9;u8gd59 zW+oC69%ZmhQ5h#oBLkASPx{s_N~^!h8Y7?G0=y^p+~WQ-&y}dtWEApsJuk@Xvqoy6 zdVT(mEVw}wD5l6o-GIe8Vyfm-1rzBg$i4A}7@mgjjuILIiM(s00sI*}hI*)8mzv#? z;%5XU=JlQnk{Wu}!5cP=EAN1fU1VqJmAP;GJhBkO=9^1H0KT07$Vg*^3b>tWSIc=O zM{RbCNBnQinTli$jp-=iz-{rUoSfKi@u~}J0wymhB~`%ls|1HMtt7gzmzk6Re>olu zQtBx_hq*a>C3lWdfouS6e+@m(EJ!i2U~=YMD;+2^U+(K`@-4T0M$Zo&HqVbwH7&H< z&A<86=KCi~YGcC<(oF3s;XvE1Q)Gb)Xx7`m5r1yQ39j?tH(H{!>4OO@g*3+@Dr z_2yfwg9r%~sF9${A}SS0lX0Cad37wGXUD@M(r-{${E`5eY)l44`040$r|~RrohV@B zm+9Ig1g*jI(KIFm^+6-<3hGFF7II_!!U8t22s31lJOId;XP);Uu&$G4ZNN7nWWl*2jXG*BkLVvH=`D)Fp%KC7nf_5X{QJ{9p42d#BEj??q_&%&j5R|DBOJU}Oq6hF>I7shTlOj2xQQMF4iDbnAnILs zrHS=A?;g@)xF%a2=)h@o4^VU@W1b!uOB{)#mz<9!Zf#xtF8$39my0ZTN|j!)PIg}R zd2x;hfwQ~zyH$+F%`F1HRY&hUNFj3K_v@CdqXdIb>+>DfX}ivPf^zU zulLKV)|EEyYu8IbP467T0q5gd*xZFXMgy9Y0y@#{rL$VNtC>BNB+E}5(9dhH@$e_Q zgF%k@@&vAB*P0m5)?_2RY^1E95kZ9vF`Z@fBL=Xwr#&1oy>Gzoai~p}F#8#4ZV8)= z3IRvi49E*CwlL2BIY(Jr;6|FN^M(mRMdBs})B_0-EGoH|Ic;I`KgF97-D#dK?e)t* zXgG}#bW4I<8#3zXVpwcnjr{PEu#Qhdjl>$4?w4t@AUWk7Yt~F0b={v$mbU+$3*~1C zJu0L`)Fc9lGz{3^H5E5gVw->W&hHcnvE9kMF_```MR;l-H4jCUd>}7+PWh%gUhT|z zxuhSAuM_-$^H=3pxi@!&ukZ`Y!4Nusg5W+Zp4$A>>kG$s@;O}S)Ls-}tQE8CIxjX} z_+FL-7Y5R)0^MKv`Z{LbiB5PZy(6Rrwp;r)8nBHDM+bd?0r%L`t_A&DdLbx_A|;Pz zvhWxjfq1aTB5h6{t|u5j_Cm5P1%ZGi=`=5)?-TT{-t9g=pdn?+$D@-`epksgh;&z&SpHg z5%8t^8>FnZ_50@4i$YBNLN^Mvt;{3js7C}Ku9)+^A4S{cAiQyfuCm)BRv{!o*&wYN z%y(r`sWK~r8eHm7dEf#k6!15vM$^^c3^o>2~gn0@_@>}Uoc zN>l+5WH|HK9D2V{{`*RD`0w3o`_`>x;}Z43CRK1MjtzSwwHgq{L?do ztIk6MKcq!`oUiuC{rvf+V?(H?906`_Z$W8 ztAvJUR+Etq3XVoW40J@`aQO5t?j*OA36C0^!XL=%x7w~KXEzb%In~We6ye(!&#b%O zd)%C>Mu#O1nTDnm5A>G$u0g{XBengxf~>dyId2hzw0oAF=LX^IId{n^J7oNS=klW2 zi{WqR=(F-=mQhVD0+@(`=dnfsW(X3=R4W?*6=Q9! zXg7}op8H(gv4)(kquE|m77o0BEewm}mCbrz>&V7CQH{raypZacyf4_eCQwA#bwh=y zfu?<5-~4+Ky-_){7W*>|k~=E)CuG`7AdEq1&GQxCzFwGL$8`6wr@Aieswv5?j%DXD z$TlH%wMhAvo@&P~2Cp4Oo%vqy>-S>O;#5z17{x%xAWWs7-8@B9bK3dqt5-wpNlI=m{f24$+)PGw;_hEO(Xd5b)kwmGP^rCk6Q>Ncgcw$3D_prSXcrD5?y?!1de$MkAnl~ZBl zh{lQgw(py;nY;YJ1N)b?X8K#M_Lf|qqb{gQr2-Jl1BJ(3T1y~GTBs~BQj7gNyN`~k z=b;a0rBmH)wmXPYN>}EiD<9>8OBtOf}!!Bz}4KuSi-0;6N8nPedN)Qdv z9z<61DLZ7Jd#?q^So9m$Yi2^ zj^->?RaLFb&F>OrMOq3v*@BoBmod&h@4rW{Xohyycug8&xtSG#e=J|)_ z0%oDeh#tn$#xo||U4vvW@NWkk=O)#|U|w$wxe6x}+-8dMbczS@!-FSTe10ZE4t2ez4bQ$R1A??nE1{5WZQt(B6u2*SCj4CtP z)Vc{5nxrugCcvxBmFtK`%^x*B&RGW??ezC|76fhk#G;tlO1?*a&`tHl*j*Xiv*FOkn*@c3xaQdr*Dw@I(aO9#7(uBMQu8dTpT6uSgVA1 zYJ5Lt{#cvKelt_MoUjQYvL;d?Dvob%A1%&C))X9f)U;GF#KxNW8?VbS;ctKIf?`SQ zN~;Sz0?5%F(9D~KzMM?mBAObPqj>Gug>49MPD)Ca6FwD(UE>JJb8JhKha@B}|vl}{dQ(88?d7=D-OWwL$s7e)QK%)qD#u*20M`gKvZBch4$5_FlV79%?=d zt^>dT6(aJIIJWiuKT;k(Hxr_%r+YM6cSVcwgAF_pANllkBb^b~-nC?j( zJve!7Yv9oNYl|9q5S;@=%#7N_UH%+_7uR7^cc@)|vRY`pwyuI`3BX+53v=g@fQo6o zC93Je^;IxnfLl8jw=oQO(UVgue}^M@_RoDhpc9EEl0VI=;}dG3W-njM^I zu;{S9zw7Rd;be#F=nQD{T2}sEE?PQ(d6xmO+bTrSq079sXNUFcDewbrUVrX`L<_A> zU)h*qhu$D)zDAOWA1p`)0ezF|O@(q@H+!`){Tq~d9^hSQ4xk>f%@(}2vv0 z@$%oh8(O)#+-UPNS} z4#LChVHMMDtsc-iL4j zF$WpEJ)mti284;iiEkOY2ciNm8~r@+CM|u9Gsk(SqA!HDUZ!fCd-E_fIH^a=q%<=) zd;@3T(+f9zfFT1P<{i@Bg$5F*Ux)W(LItnD)sM*xRpbEvW$bXyQ~QA+^2>Cc zp3MAFpKaaOOk%q0>?`tkh8PuA<1+y}7EqFz=e%?>k(V3nP&orB0z$IzpWtEMuBc?x z{gOFi5wTy(+q*9Noj7bWXMk>I>FlA*iM!Hv3Sa_eOmxY6KiiRurx|_=>?8Uw;_^j3 zwcQ7KFcH!2i{o`O64#PqR!`O^x;nXhjDZ<588I8!kZmzn`k+R-!yRcNnN z!^C14Z#Y!3mGnKA`RyJ3=)F-nf7cXYX=L@yiIk6+%0f);V%SpF$RjDDh-=xs4H9LY z8@;>JP^l$pB*}tR8}7C}Dt@p9xdkua&=R$ICm|Hf7xYxa$icq|m64sI1#kKSM390| zNd$g2r&3{}l#!k4kn8dK=lf->#-q?|k0;(H2012KkdkVr{K9lz9*jJ9$SMp&$@v@% z4Mx^G<=DNEI`?V30MCEiN`jT71NXerl|WUGJND5|y50S|(G8c9l(q6P3zmS=*;*`b;W#sUdz+F%s?1rCCtuLv$w(j>Q5xaLLGd$;E z+0^?lUsP-pLdVpjIkldl)?OOA=`?0SNqO`^u>ikuB)B%Q%MdLXP8=%9r!>44`P#Mh z=yEBQ+Z2^B`O9WJ`0c=16?Yc0dE2V#@GpG=C zxTL352d*V+vH$1PFCtP#;|cx1tLXKH&Nu{n!4z1zSH--Fhm6@(<<^kxy z?DNvq`!u)~$;5YXnNV&8g&^+fdG|pXAI({&92UmH(5_&8~Bi95omNUDp=V4O+pou%9BK9PA>k zX|`a!bGEh=7-BttZVUzpLcrUw9eb6Hw-+WkT5B#1P)5)yRLD(VPKFx-*y{ipYdQJl z${q;U=F>|dRx7DI9rBm%z%R+!^Sb6F}E>okdVm%y zwDNp2NiVZ)XH&IDlVl-c>u{~W)i zGZQt)g4q)D=o%O#fqwfgwNm`$-pC6DrgBpmcjDIMKx2ZN@KmkFqOh-vkBtv8n1{G_Tfb2LqCGXXoPR)gEr~GAcqrW*P@i+ed(Uwujyex(q zmNu8{@JNV_!M5MRHu}x1{?OHS|5X7ZW8u}njyWaS7Zw%N zKjt`D#KXp(N}qNT0K%?9r2Knn*d+FKVEQSS=Myf}*D&wOs8QrM4V_|%8TSMCKKOcd+csnU z1<-edt#4Xk<#UEwn`;{psdH>inVvxCl8OOvOQ&(qxc@)tiW1u10P8VC7M;oh8f`G6R7&bElwx6aZpZx0o_r%1Q zza z^^Bhk3;6v06mI=3;S+s{c#PDXrR74?9g=;~9KQ2+YTYdVNdn-TxFGeB`M>(=H52ZO7cxRiJ^+s^S*QfHf_!r*7yo? z9&!{{87=~|buZhVY})c*wF1p1geexC{qY|+piZSi1XMUIPd?TSkvBXKTnyh$b;b#l z%LwOQ;V%gA{2c{^e?Zb@uc)>3N30Pc_wo=9osj+9R&N;RyC6E^pQ=wBO3uv>bin(w zGA9R1D4g{4UYs72Es5zh8&{D#cTQ6Y9d5*>a5OGCIoCE7*t*Nzf1$e(9XPKs*{Sjz zka%JMgk~f)$B*szQRrqjSESU%$|X&@Th0fAR0RCymTu@>rEj}ETs>^(lRCJ9PWG`1sdO$^kz zVRp%Z@!hQW8}x@oKkVl69q{Au*uOFJlZ0o~WI`E%Vi~jm7TodxI)e~m-RzGB%UuCW zBQDZ=efhg9MbD|IY>_S>wo3P9;*%T4-{4Jo;<0_Fj;9=DS2H3u&Z1Pp+@1We=;<`@3tPCTVJX%$@h%?btG1K&?ky+$g zd3ajOOC)kTxbdVxyxqv~+_3}N=TCLGC$>uA#v>ve%qwJ>N0#e!Nw8FW<;455uT1xa zY{FRea$ZxdVsAeH2!qlNbj6C0Qc4CeN?I~XJ|au|L}}c(_^YIRH_>vo!~rdyX&&DS zZD@G(>|0`q&i6{4{!0CR_hQ4()f$DOx$0_hEwekP`R7gfEvFGJ=@Dlii2i@CISuGu zZORzTyV=G{)Xi{*p_Cpt6TiD1CpE-G-6UFQb?lYT!Jl$i~st-50>d*GXQHju>Ic$UMk(@YY}&i-z~VF OkJe*7^$JzH@c#j1`JV~^ literal 0 HcmV?d00001 diff --git a/chart-sdk/typescript/accumulation-charts/legend.md b/chart-sdk/typescript/accumulation-charts/legend.md new file mode 100644 index 000000000..d87ab9d0a --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/legend.md @@ -0,0 +1,209 @@ +--- +layout: post +title: Legend in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Legend in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Legend +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Legend in TypeScript Accumulation chart control + +As like a chart, the legend is also available for accumulation charts, which gives information about the points. By default, the legend will be placed on the right, if the width of the chart is high or will be placed on the bottom, if the height of the chart is high. Other customization features regarding the legend element are same as the [`chart legend`](http://ej2.syncfusion.com/documentation/chart/legend). Here, the legend for a point can be collapsed by giving the empty string to the x value of the point. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs30/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs30/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs30" %} + +> Note: To use the legends feature, inject the `AccumulationLegend` using the `Chart.Inject(AccumulationLegend)` method. + +## Position and alignment + +By using the position property, you can position the legend at the `left`, `right`, `top` or `bottom` of the chart. You can also align the legend to `center`, `far` or `near` of the chart using the alignment property. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs31/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs31/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs31" %} + +## Legend reverse + +You can reverse the order of the legend items by using the [`reverse`](https://ej2.syncfusion.com/documentation/api/accumulation-chart/legendSettingsModel/#reverse) property. By default, legend for the first series in the collection will be placed first. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs32/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs32/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs32" %} + +## Legend shape + +To change the legend icon shape, use the `legendShape` property in the `series`. By default, legend icon shape is `seriesType`. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs33/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs33/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs33" %} + +## Legend size + +The legend size can be changed by using the `width` and `height` properties of the `legendSettings`. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs34/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs34/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs34" %} + +## Legend item size + +You can customize the size of the legend items by using the `shapeHeight` and `shapeWidth` properties. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs35/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs35/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs35" %} + +## Paging for legend + +Paging will be enabled by default, when the legend items exceeds the legend bounds. You can view the each legend item by navigating between the pages using the navigation buttons. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs36/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs36/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs36" %} + +## Legend text wrap + +When the legend text exceeds the container, the text can be wrapped by using `textWrap` Property. End user can also wrap the legend text based on the `maximumLabelWidth` property. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs37/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs37/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs37" %} + +## Legend title + +You can set title for legend using `title` property in `legendSettings`. You can also customize the `fontStyle`, `size`, `fontWeight`, `color`, `textAlignment`, `fontFamily`, `opacity` and `textOverflow` of legend title. `titlePosition` is used to set the legend position in `Top`, `Left` and `Right` position. `maximumTitleWidth` is used to set the width of the legend title. By default, it will be `100px`. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs38/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs38/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs38" %} + +## Arrow page navigation + +By default, the page number will be enabled while legend paging. Now, you can disable that page number and also you can get left and right arrows for page navigation. You have to set `false` value to `enablePages` to get this support. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs39/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs39/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs39" %} + +## Legend item padding + +The [`itemPadding`](../api/accumulation-chart/legendSettings/#itempadding) property can be used to adjust the space between the legend items. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs40/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs40/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs40" %} + +## Legend layout + +The [`layout`](../api/accumulation-chart/legendSettingsModel/#layout) property in [`legendSettings`](../api/accumulation-chart/#legendsettings) allows you to display the legend either horizontally or vertically. By default, the [`layout`](../api/accumulation-chart/legendSettingsModel/#layout) is set to **Auto**. The [`maximumColumns`](../api/accumulation-chart/legendSettingsModel/#maximumcolumns) property in [`legendSettings`](../api/accumulation-chart/#legendsettings) defines the maximum number of columns that can be displayed within the available space when using the auto layout. Additionally, enabling the [`fixedWidth`](../api/accumulation-chart/legendSettingsModel/#fixedwidth) property in [`legendSettings`](../api/accumulation-chart/#legendsettings) ensures that all legend items are displayed with equal widths. The width of each item is determined by the maximum width among the legend items. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs473/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs473/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs473" %} + +## Legend template + +Legend templates allow you to replace default legend icons and text with custom HTML for each series. This enables branded styles, richer content (icons, multi-line text, badges), improved readability, and localization. + +You can customize the legend items by using the [`template`](https://ej2.syncfusion.com/documentation/api/accumulation-chart/legendSettingsModel) property of [`legendSettings`](https://ej2.syncfusion.com/documentation/api/accumulation-chart/legendSettingsModel). Legend interactions (click to toggle series) remain unless [`ToggleVisibility`] (https://ej2.syncfusion.com/documentation/api/accumulation-chart/legendsettings#togglevisibility) is set to false. Templates work with all legend positions, alignments, and paging. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs474/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs474/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs474" %} diff --git a/chart-sdk/typescript/accumulation-charts/pie-dough-nut.md b/chart-sdk/typescript/accumulation-charts/pie-dough-nut.md new file mode 100644 index 000000000..a7c733710 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/pie-dough-nut.md @@ -0,0 +1,229 @@ +--- +layout: post +title: Pie dough nut in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Pie dough nut in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Pie dough nut +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Pie dough nut in TypeScript Accumulation chart control + +## Pie chart + +To render a pie series, use the series [`type`](../api/accumulation-chart/accumulationSeriesModel/#type) as `Pie` and inject the `PieSeries` module using `AccumulationChart.Inject(PieSeries)` method. If the `PieSeries` module is not injected, this module will be loaded by default. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs41/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs41/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs41" %} + +## Radius customization + +By default, radius of the pie series will be 80% of the size (minimum of chart width and height). You can customize this using [`radius`](../api/accumulation-chart/accumulationSeriesModel/#radius) property of the series. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs42/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs42/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs42" %} + +## Pie center + +The center position of the pie can be changed by Center X and Center Y. By default, center value of the pie series x and y is 50%. You can customize this using [`center`](../api/accumulation-chart/accumulationChartModel/#center) property of the series. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs43/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs43/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs43" %} + +## Various radius pie chart + +You can use radius mapping to render the slice with different [`radius`](../api/accumulation-chart/accumulationSeries/#radius) pie and also use [`border`](../api/accumulation-chart/accumulationSeries/#border) , fill properties to customize the point. dataLabel is used to represent individual data and its value. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs44/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs44/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs44" %} + +## Doughnut chart + +To achieve a doughnut in pie series, customize the [`innerRadius`](../api/accumulation-chart/accumulationSeries/#innerradius) property of the series. By setting value greater than 0%, a doughnut will appear. The `innerRadius` property takes value from 0% to 100% of the pie radius. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs45/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs45/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs45" %} + +## Multiple Donut + +You can create multiple donuts within a single chart by adding multiple series with different [`innerRadius`](../api/accumulation-chart/accumulationSeries/#innerradius) and [`radius`](../api/accumulation-chart/accumulationSeries/#radius) values. This allows you to compare multiple data sets with the same categories. Each series can have different data, colors, and customizations. You can also use the [`mappingKey`](../api/accumulation-chart/accumulationLegendSettings/#mappingkey) property in `legendSettings` to map the legend items based on the specified field from the data source. When set, points with matching `mappingKey` values are grouped into a single legend item. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs500/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs500/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs500" %} + +## Start and end angles + +You can customize the start and end angle of the pie series using the [`startAngle`](../api/accumulation-chart/accumulationSeries/#startangle) and [`endAngle`](../api/accumulation-chart/accumulationSeries/#endangle) properties. The default value of `startAngle` is 0 degree, and `endAngle` is 360 degrees. By customizing this, you can achieve a semi pie series. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs46/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs46/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs46" %} + +## Color & text mapping + +The fill color and the text in the data source can be mapped to the chart using `pointColorMapping` in series and `name` in datalabel respectively. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs47/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs47/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs47" %} + +## Border radius + +You can create rounded corners for each slice by using the [borderRadius](../api/accumulation-chart/accumulationSeriesModel/#borderradius) option, which gives the chart a modern and polished appearance. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/border-radius/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/border-radius/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/border-radius" %} + +## Palette + +The default palette for the pie series can be customized by using the [`palettes`](../api/accumulation-chart/accumulationSeriesModel/#palettes) property in the series. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/palette/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/palette/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/palette" %} + +## Customization + +Individual points can be customized using the `pointRender` event. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs48/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs48/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs48" %} + +## Patterns + +You can apply different patterns to the pie slices using the [`applyPattern`](../api/accumulation-chart/accumulationSeriesModel/#applypattern) property in the series and the [`pointRender`](../api/accumulation-chart/iAccPointRenderEventArgs/) event. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/patterns/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/patterns/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/patterns" %} + +## Hide pie or doughnut border + +By default, the border will appear in the pie/doughnut chart while mouse hover on the chart. You can disable the the border by setting `enableBorderOnMouseMove` property is `false`. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs49/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs49/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs49" %} + +## Multi-level pie chart + +You can achieve a multi-level drill down in pie and doughnut charts using [pointClick](../../api/accumulation-chart/accumulationChartModel/#pointclick) event. If user clicks any point in the chart, that corresponding data will be shown in the next level and so on based on point clicked. + +You can also achieve drill-up (back to the initial state) by using [chartMouseClick](../../api/accumulation-chart/accumulationChartModel/#chartmouseclick) event. In below sample, you can drill-up by clicking back button in the center of the chart. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/grid-visual-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/grid-visual-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/grid-visual-cs1" %} + +## See also + +* [Data label](./data-label/) +* [Grouping](./grouping/) \ No newline at end of file diff --git a/chart-sdk/typescript/accumulation-charts/pie.md b/chart-sdk/typescript/accumulation-charts/pie.md new file mode 100644 index 000000000..ab5b9c872 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/pie.md @@ -0,0 +1,107 @@ +--- +layout: post +title: Pie in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Pie in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Pie +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Pie in TypeScript Accumulation chart control + +## Pie Chart + +To render a pie series, use the series [`type`](../api/accumulation-chart/accumulationSeriesModel/#type) as `Pie` and inject the `PieSeries` module using `AccumulationChart.Inject(PieSeries)` method. If the `PieSeries` module is not injected, this module will be loaded by default. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs50/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs50/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs50" %} + +## Radius Customization + +By default, radius of the pie series will be 80% of the size (minimum of chart width and height). You can customize this using [`radius`](../api/accumulation-chart/accumulationSeries/#radius) property of the series. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs51/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs51/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs51" %} + +## Doughnut Chart + +To achieve a [doughnut](https://www.syncfusion.com/javascript-ui-controls/js-charts/chart-types/donut-chart) in pie series, customize the [`innerRadius`](../api/accumulation-chart/accumulationSeries/#innerradius) property of the series. By setting value greater than 0%, a doughnut will appear. The `innerRadius` property takes value from 0% to 100% of the pie radius. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs52/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs52/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs52" %} + +## Start and End angles + +You can customize the start and end angle of the pie series using the [`startAngle`](../api/accumulation-chart/accumulationSeries/#startangle) and [`endAngle`](../api/accumulation-chart/accumulationSeries/#endangle) properties. The default value of `startAngle` is 0 degree, and `endAngle` is 360 degrees. By customizing this, you can achieve a semi pie series. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs53/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs53/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs53" %} + +## Color & Text Mapping + +The fill color and the text in the data source can be mapped to the chart using `pointColorMapping` in series and `name` in datalabel respectively. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs54/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs54/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs54" %} + +## Customization + +Individual points can be customized using the `pointRender` event. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs55/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs55/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs55" %} + +## See Also + +* [Data label](./data-label.md) +* [Grouping](./grouping.md) \ No newline at end of file diff --git a/chart-sdk/typescript/accumulation-charts/pyramid.md b/chart-sdk/typescript/accumulation-charts/pyramid.md new file mode 100644 index 000000000..52edfaac7 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/pyramid.md @@ -0,0 +1,105 @@ +--- +layout: post +title: Pyramid in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Pyramid in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Pyramid +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Pyramid in TypeScript Accumulation chart control + +To render a pyramid series, use the series [`type`](../api/accumulation-chart/accumulationSeriesModel/) as `Pyramid` and inject `PyramidSeries` module using the `AccumulationChart.Inject(PyramidSeries)` method. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs56/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs56/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs56" %} + +## Mode + +The Pyramid chart supports linear and surface modes of rendering. The default type of the `pyramidMode` is `linear`. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs57/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs57/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs57" %} + +## Size + +The size of the pyramid chart can be customized by using the `width` and `height` properties. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs58/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs58/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs58" %} + +## Gap between the segments + +Pyramid chart provides options to customize the space between the segments by using the `gapRatio` property of the series. It ranges from 0 to 1. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs59/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs59/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs59" %} + +## Explode + +Points can be exploded on mouse click by setting the `explode` property to true. You can also explode the point on load using `explodeIndex`. Explode distance can be set by using `explodeOffset` property. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs60/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs60/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs60" %} + +## Customization + +Individual points can be customized using the `pointRender` event. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs61/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs61/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs61" %} + +## See also + +* [Data label](./data-label/) +* [Grouping](./grouping/) diff --git a/chart-sdk/typescript/accumulation-charts/title-and-sub-title.md b/chart-sdk/typescript/accumulation-charts/title-and-sub-title.md new file mode 100644 index 000000000..78b77c5c4 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/title-and-sub-title.md @@ -0,0 +1,102 @@ +--- +layout: post +title: Title and sub title in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Title and sub title in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Title and sub title +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Title and sub title in TypeScript Accumulation chart control + +## Title + +Accumulation Chart can be given a title using [`title`](../api/accumulation-chart/accumulationChartModel/#title) property, to show the information about the data plotted. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs62/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs62/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs62" %} + +## Title customization + +Accumulation Chart can be customizing a title using [`titleStyle`](../api/accumulation-chart/accumulationChartModel/#titlestyle) property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs63/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs63/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs63" %} + +### Position + +The [`position`](../api/accumulation-chart/titlePosition/) property customizes the placement of the accumulation chart title. It supports the following options: `Right`, `Left`, `Bottom`, `Top`, and `Custom`. The custom option allows you to position the title anywhere on the chart using x and y coordinates, providing flexible title alignment based on layout requirements. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs496/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs496/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs496" %} + +## SubTitle + +Accumulation Chart can be given a subtitle using [`subTitle`](../api/accumulation-chart/accumulationChartModel/#subtitle) property, to show the information about the data plotted. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs64/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs64/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs64" %} + +## SubTitle customization + +Accumulation Chart can be customizing a subtitle using [`subTitleStyle`](../api/accumulation-chart/accumulationChartModel/#subtitlestyle) property, to show the information about the data plotted. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs65/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs65/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs65" %} + +### Position + +The [`position`](../api/accumulation-chart/titleStyleSettings/#position) property customizes the placement of the accumulation chart subtitle. It supports the following options: `Right`, `Left`, `Bottom`, `Top`, and `Custom`. The Custom option allows you to position the subtitle anywhere on the chart using x and y coordinates, providing flexible subtitle alignment based on layout requirements. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs496/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs496/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs496" %} \ No newline at end of file diff --git a/chart-sdk/typescript/accumulation-charts/tool-tip.md b/chart-sdk/typescript/accumulation-charts/tool-tip.md new file mode 100644 index 000000000..2c51030b2 --- /dev/null +++ b/chart-sdk/typescript/accumulation-charts/tool-tip.md @@ -0,0 +1,211 @@ +--- +layout: post +title: Tooltip in TypeScript Accumulation chart control | Syncfusion +description: Learn here all about Tooltip in Syncfusion TypeScript Accumulation chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Tooltip +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Tooltip in TypeScript Accumulation chart control + +Tooltip for the accumulation chart can be enabled by using the [`enable`](../api/accumulation-chart/tooltipSettingsModel/#enable) property. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs66/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs66/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs66" %} + +>Note: To use tooltip feature, inject the `AccumulationTooltip` using the `Chart.Inject(AccumulationTooltip)` method. + +## Header + +We can specify header for the tooltip using [`header`](../api/accumulation-chart/tooltipSettingsModel/#header) property. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs67/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs67/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs67" %} + +## Format + +By default, tooltip shows information of x and y value in points. In addition to that, you can show more information in tooltip. For example the format `${series.name} ${point.x}` shows series name and point x value. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs68/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs68/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs68" %} + +## Inline tooltip formatting + +The tooltip content can be formatted directly within the [`format`](../api/accumulation-chart/tooltipSettingsModel/#format) property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. + +A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. + +For example: + +```js +tooltip: { + enable: true, + format: '${series.name}
      ${point.x} : ${point.y:n2}
      Percentage: ${point.percentage:p1}
      Opacity: ${series.opacity}' +} +``` + +In the above example, `point.y` is displayed with two decimal places, `point.percentage` is displayed in percentage format, and `series.opacity` displays the opacity value applied to the series. + +Inline formatting can be applied to the following tooltip tokens: + +- `point.x` – Specifies the x-value or category value of the accumulation chart point. +- `point.y` – Specifies the numeric y-value of the accumulation chart point. +- `point.percentage` – Specifies the percentage contribution of the point value in the accumulation chart. +- `point.text` – Specifies the text value mapped to the point, when text mapping is configured. +- `point.tooltip` – Specifies the tooltip value mapped from the data source, when tooltip mapping is configured. +- `point.index` – Specifies the index position of the point in the accumulation chart. +- `point.color` – Specifies the fill color applied to the point. +- `point.visible` – Specifies the visibility state of the point. +- `series.name` – Specifies the name assigned to the accumulation chart series. +- `series.type` – Specifies the rendering type of the accumulation chart series, such as `Pie`, `Doughnut`, `Pyramid`, or `Funnel`. +- `series.opacity` – Specifies the opacity value applied to the accumulation chart series. This value controls the visual transparency of the series and can be customized in the series configuration. + +**Important:** The availability of point-specific tokens depends on the values configured in the data source and the accumulation chart series type. For example, `point.percentage` is useful for pie and doughnut charts, while `point.text` and `point.tooltip` depend on the corresponding field mappings. The `series.name` and `series.type` tokens return string values, so DateTime or number formatting is not applied to these tokens. + +The following format types are supported: + +- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` +- Number formats such as: + - `n2` – number with two decimal places + - `n0` – number without decimals + - `c2` – currency format + - `p1` – percentage format + - `e1` – exponential notation + +If the specified format does not match the resolved value type, the original value is displayed. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-format/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-format/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-format" %} + +## Tooltip Template + +Any HTML element can be displayed in the tooltip by using the [`template`](../api/accumulation-chart/tooltipSettingsModel/#template) property. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs69/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs69/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs69" %} + +## Fixed tooltip + +By default, tooltip track the mouse movement, but you can set a fixed position for the tooltip by using the [`location`](../api/accumulation-chart/tooltipSettingsModel/#location) property. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs180/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs180/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs180" %} + +## Customization + +The [`fill`](../api/accumulation-chart/tooltipSettingsModel/#fill) and [`border`](../api/accumulation-chart/tooltipSettingsModel/#border) properties are used to customize the background color and border of the tooltip respectively. The [`textStyle`](../api/accumulation-chart/tooltipSettingsModel/#textstyle) property in the tooltip is used to customize the font of the tooltip text. The [`highlightColor`](../api/accumulation-chart/accumulationChartModel/#highlightcolor) property can be used to change the color of the data point when hovering. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs70/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs70/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs70" %} + +## To customize individual tooltip + +Using [`tooltipRender`](../api/accumulation-chart/iAccTooltipRenderEventArgs/) event, you can customize a tooltip for particular point. event, you can customize a tooltip for particular point. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs71/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs71/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs71" %} + +## Enable highlight + +By setting the [`enableHighlight`](../api/accumulation-chart/tooltipSettingsModel/#enablehighlight) property to **true**, the hovered pie slice is highlighted, while the remaining slices are dimmed, enhancing focus and clarity. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs476/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs476/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/chart-types-cs476" %} + +## Follow pointer + +The follow pointer feature enables the tooltip to follow the mouse cursor or touch pointer as users interact with the accumulation chart. This provides a more dynamic and intuitive experience by keeping the tooltip close to the user's point of interaction. + +Enable this feature by setting the [`followPointer`](../api/accumulation-chart/tooltipSettingsModel#followpointer) property to **true**: + +```js +tooltip: { + enable: true, + followPointer: true +} +``` +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-followPointer-Acc/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-followPointer-Acc/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/accumulation-chart/tooltip-followPointer-Acc" %} diff --git a/chart-sdk/javascript/range-selector/accessibility.md b/chart-sdk/typescript/bullet-charts/accessibility.md similarity index 50% rename from chart-sdk/javascript/range-selector/accessibility.md rename to chart-sdk/typescript/bullet-charts/accessibility.md index 6e41222ea..04710d97e 100644 --- a/chart-sdk/javascript/range-selector/accessibility.md +++ b/chart-sdk/typescript/bullet-charts/accessibility.md @@ -1,7 +1,7 @@ --- layout: post -title: Accessibility in JavaScript Range navigator control | Syncfusion -description: Learn here all about Accessibility in Syncfusion JavaScript Range navigator control of Syncfusion Essential JS 2 and more. +title: Accessibility in TypeScript Bullet chart control | Syncfusion +description: Learn here all about Accessibility in Syncfusion TypeScript Bullet chart control of Syncfusion Essential JS 2 and more. platform: chart-sdk control: Accessibility publishingplatform: chart-sdk @@ -9,11 +9,11 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Accessibility in JavaScript Range navigator control +# Accessibility in TypeScript Bullet chart control -The Range navigator control followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility. +The Bullet chart control followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility. -The accessibility compliance for the Range navigator control is outlined below. +The accessibility compliance for the Bullet chart control is outlined below. | Accessibility Criteria | Compatibility | | -- | -- | @@ -42,28 +42,31 @@ The accessibility compliance for the Range navigator control is outlined below. ## WAI-ARIA attributes -The Range navigator control followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Range navigator control: +The Bullet chart control followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Bullet chart control: -* region (role) +* img (role) +* button (role) * aria-label (attribute) +* aria-pressed (attribute) ## Keyboard interaction -The Range navigator control followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Range navigator control. +The Bullet chart control followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Bullet chart control. | **Press** | **To do this** | | --- | --- | -| Tab | Moves the focus to the Range navigator element. | -| Ctrl + P | Prints the Range navigator. | +| Tab | Moves the focus to the next element in the Bullet chart. | +| Shift + Tab | Moves the focus to the previous element in the Bullet chart. | +| Ctrl + P | Prints the Bullet chart. | ## Ensuring accessibility -The Range navigator control's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. +The Bullet chart control's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. -The accessibility compliance of the Range navigator control is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/range-navigator.html) in a new window to evaluate the accessibility of the Range navigator control with accessibility tools. +The accessibility compliance of the Bullet chart control is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/bullet-chart.html) in a new window to evaluate the accessibility of the Bullet chart control with accessibility tools. -{% previewsample "https://ej2.syncfusion.com/accessibility/range-navigator.html" %} +{% previewsample "https://ej2.syncfusion.com/accessibility/bullet-chart.html" %} ## See also -* [Accessibility in Syncfusion JavaScript controls](../common/accessibility) +* [Accessibility in Syncfusion TypeScript controls](../common/accessibility) diff --git a/chart-sdk/typescript/bullet-charts/axis-customization.md b/chart-sdk/typescript/bullet-charts/axis-customization.md new file mode 100644 index 000000000..665473655 --- /dev/null +++ b/chart-sdk/typescript/bullet-charts/axis-customization.md @@ -0,0 +1,218 @@ +--- +layout: post +title: Axis customization in TypeScript Bullet chart control | Syncfusion +description: Learn here all about Axis customization in Syncfusion TypeScript Bullet chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Axis customization +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Axis customization in TypeScript Bullet chart control + +## MajorTickLines and MinorTickLines Customization + +You can customize the `width`, `color`, and `size` of minor and major tick lines using the [`majorTickLines`](../api/bullet-chart/bulletChartModel/) and [`minorTickLines`](../api/bullet-chart/bulletChartModel/) properties of the bullet-chart. + +The following properties can be used to customize `majorTicklines` and `minorTicklines`. + +* **width** - Specifies the width of ticklines. +* **height** - Specifies the height of ticklines. +* **color** - Specifies the color of ticklines. +* **useRangeColor** - Specifies the color of ticklines and represents the color from corresponding range colors. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs1" %} + +## Tick Placement + +You can place major and minor ticks `inside` or `outside` the ranges using the [`tickPosition`](../api/bullet-chart/bulletChartModel/) property of bullet-chart. The major and the minor ticks can be placed **inside** or **outside** the ranges using the `tickPosition` property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs2" %} + +## Label Format + +***Axis Label Format*** + +Axis numeric labels can be formatted by using the [`labelFormat`](../api/bullet-chart/bulletChartModel/#labelformat)property. Axis labels support all globalize formats. The following table describes the result of applying some commonly used label formats on numeric axis values. +Axis numeric labels can be formatted by using the `labelFormat` property. Axis labels support all globalize formats. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs3" %} + +The following table describes the result of applying some commonly used formats to numeric axis labels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Label ValueLabel Format property valueResult Description
      1000n11000.0The Number is rounded to 1 decimal place
      1000n21000.00The Number is rounded to 2 decimal place
      1000n31000.000The Number is rounded to 3 decimal place
      0.01p11.0%The Number is converted to percentage with 1 decimal place
      0.01p21.00%The Number is converted to percentage with 2 decimal place
      0.01p31.000%The Number is converted to percentage with 3 decimal place
      1000c1$1000.0The Currency symbol is appended to number and number is rounded to 1 decimal place
      1000c2$1000.00The Currency symbol is appended to number and number is rounded to 2 decimal place
      + +## GroupingSeparator + +To separate groups of thousands, use the [`enableGroupSeparator`](../api/bullet-chart/bulletChartModel/#enablegroupseparator) property of bullet-chart. +To separate the groups of thousands, set the `enableGroupSeparator` property to **true**. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs4/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs4/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs4" %} + +## Custom Label Format + +Using the `labelFormat` property, axis labels can be specified with a custom defined format in addition to the axis value. The label format uses a placeholder such as **${value}K**, which represents the axis label. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs5/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs5/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs5" %} + +## Label Placement + +You can customize the axis labels `inside` or `outside` the bullet-chart using the [`labelPosition`](../api/bullet-chart/bulletChartModel/#labelposition) property. Label can be placed **Inside** or **Outside** of the ranges using the `labelPosition` property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs6/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs6/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs6" %} + +## Opposed Position + +To place an axis opposite to its original position, set the [`opposedPosition`](../api/bullet-chart/bulletChartModel/#opposedposition) property to true. To place an axis opposite to its original position, set the `opposedPosition`] property to **true**. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs7/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs7/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs7" %} + +## Category Label + +The Bullet Chart supports X-axis label by specifying the property from the data source to the `categoryField`. It helps to understand the input data in a more efficient way. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs8/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs8/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs8" %} + +## Category Label Customization + +The label color, opacity, font size, font family, font weight, and font style can be customized by using the `categoryLabelStyle` setting for category and the `labelStyle` setting for axis label. The `useRangeColor` property specifies the color of the axis label and represents the color from the corresponding range colors. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs9/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs9/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-axis-cs9" %} \ No newline at end of file diff --git a/chart-sdk/typescript/bullet-charts/bullet-chart-dimensions.md b/chart-sdk/typescript/bullet-charts/bullet-chart-dimensions.md new file mode 100644 index 000000000..dfd2a8575 --- /dev/null +++ b/chart-sdk/typescript/bullet-charts/bullet-chart-dimensions.md @@ -0,0 +1,66 @@ +--- +layout: post +title: Bullet chart dimensions in TypeScript Bullet chart control | Syncfusion +description: Learn here all about Bullet chart dimensions in Syncfusion TypeScript Bullet chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Bullet chart dimensions +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Bullet chart dimensions in TypeScript Bullet chart control + +## Size for Container + +The size of the Bullet Chart is determined by the container size, and it can be changed inline or via CSS as following. + +```javascript +
      +
      +
      +``` + + {% tabs %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-dimensions-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-dimensions-cs1" %} + +## Size for Bullet Chart + +The `width` and `height` properties are used to adjust the size of the Bullet Chart. + +### Pixel + +Can set the size of the Bullet Chart in pixels as shown below. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-dimensions-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-dimensions-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-dimensions-cs2" %} + +### Percentage + +By setting a value in percentage, the Bullet Chart gets its dimension with respect to its container. For example, when the height is **50%**, the Bullet Chart renders to half of the container’s height. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-dimensions-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-dimensions-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/bullet-chart-dimensions-cs3" %} + +>If the size is not specified, the Bullet Chart will be rendered with a height of **126px** and a width of the window. \ No newline at end of file diff --git a/chart-sdk/typescript/bullet-charts/comparative-bar.md b/chart-sdk/typescript/bullet-charts/comparative-bar.md new file mode 100644 index 000000000..44ecdba43 --- /dev/null +++ b/chart-sdk/typescript/bullet-charts/comparative-bar.md @@ -0,0 +1,59 @@ +--- +layout: post +title: Comparative bar in TypeScript Bullet chart control | Syncfusion +description: Learn here all about Comparative bar in Syncfusion TypeScript Bullet chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Comparative bar +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + + +# Comparative bar in TypeScript Bullet chart control + +The line marker that runs perpendicular to the orientation of the graph is known as the **Comparative Measure** and it is used as a target marker to compare against the feature measure value. This is also called as the **Target Bar** in the Bullet Chart. To display the target bar, the [`targetField`](../api/bullet-chart#targetfield) should be mapped to the appropriate field from the datasource. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/targetbar-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/targetbar-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/targetbar-cs1" %} + +## Types of target bar + +The shape of the target bar can be customized using the [`targetTypes`](../api/bullet-chart#targettypes) property and it supports **Circle**, **Cross**, and **Rect** shapes. The default type of the target bar is **Rect**. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/targetbar-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/targetbar-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/targetbar-cs2" %} + +## Target bar customization + +The following properties can be used to customize the target bar. Also, you can bind the color for the target bar from [`dataSource`](../api/bullet-chart/#datasource) for the bullet chart. + +* [`targetColor`](../api/bullet-chart#targetcolor) - Specifies the fill color of target bar. +* [`targetWidth`](../api/bullet-chart#targetwidth) - Specifies the width of target bar. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/targetbar-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/targetbar-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/targetbar-cs3" %} \ No newline at end of file diff --git a/chart-sdk/typescript/bullet-charts/customization.md b/chart-sdk/typescript/bullet-charts/customization.md new file mode 100644 index 000000000..cff2e24b0 --- /dev/null +++ b/chart-sdk/typescript/bullet-charts/customization.md @@ -0,0 +1,73 @@ +--- +layout: post +title: Customization in TypeScript Bullet chart control | Syncfusion +description: Learn here all about Customization in Syncfusion TypeScript Bullet chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Customization +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + + +# Customization in TypeScript Bullet chart control + +## Orientation + +The Bullet Chart can be rendered in different orientations such as **Horizontal** or **Vertical** via the `orientation` property. By default, the Bullet Chart is rendered in the **Horizontal** orientation. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/customize-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/customize-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/customize-cs1" %} + +## Right-to-left (RTL) + +The Bullet Chart supports the right-to-left rendering that can be enabled by setting the `enableRtl` property to **true**. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/customize-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/customize-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/customize-cs2" %} + +## Animation + +The actual and the target bar supports the linear animation via the `animation` setting. The speed and the delay are controlled using the `duration` and `delay` properties respectively. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/customize-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/customize-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/customize-cs3" %} + +## Theme + +The Bullet Chart supports different type of themes via the `theme` property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/customize-cs4/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/customize-cs4/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/customize-cs4" %} \ No newline at end of file diff --git a/chart-sdk/typescript/bullet-charts/data-binding.md b/chart-sdk/typescript/bullet-charts/data-binding.md new file mode 100644 index 000000000..827c6f383 --- /dev/null +++ b/chart-sdk/typescript/bullet-charts/data-binding.md @@ -0,0 +1,26 @@ +--- +layout: post +title: Data binding in TypeScript Bullet chart control | Syncfusion +description: Learn here all about Data binding in Syncfusion TypeScript Bullet chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Data binding +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + + +# Data binding in TypeScript Bullet chart control + +The `dataSource` property accepts a collection of values as input that helps to display measures, and compares them to a target bar. To display the actual and target bar, specify the property from the datasource into the `valueField` and `targetField` respectively. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/dataSource-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/dataSource-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/dataSource-cs1" %} \ No newline at end of file diff --git a/chart-sdk/typescript/bullet-charts/data-label.md b/chart-sdk/typescript/bullet-charts/data-label.md new file mode 100644 index 000000000..cf95f0615 --- /dev/null +++ b/chart-sdk/typescript/bullet-charts/data-label.md @@ -0,0 +1,41 @@ +--- +layout: post +title: Data label in TypeScript Bullet chart control | Syncfusion +description: Learn here all about Data label in Syncfusion TypeScript Bullet chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Data label +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + + +# Data label in TypeScript Bullet chart control + +Data Labels are used to identify the value of actual bar in the Bullet Chart component. The Data Labels will be shown by specifying the `dataLabel` setting's `enable` property to **true**. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/datalabel-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/datalabel-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/datalabel-cs1" %} + +## Data Label Customization + +Data Labels color, opacity, font size, font family, font weight, and font style can be customized using the `labelStyle`. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/datalabel-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/bullet-chart/datalabel-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/bullet-chart/datalabel-cs2" %} \ No newline at end of file diff --git a/chart-sdk/typescript/bullet-charts/getting-started.md b/chart-sdk/typescript/bullet-charts/getting-started.md new file mode 100644 index 000000000..322977534 --- /dev/null +++ b/chart-sdk/typescript/bullet-charts/getting-started.md @@ -0,0 +1,169 @@ +--- +layout: post +title: Getting started with TypeScript Bullet Chart control | Syncfusion +description: Check out and learn about Getting started with TypeScript Bullet Chart control of Syncfusion Essential JS 2 and more details. +platform: chart-sdk +control: Bullet Chart +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Getting started with TypeScript Bullet Chart control + +This document explains how to create a simple Bullet Chart and configure its features in TypeScript using the Essential JS 2 webpack [quickstart](https://github.com/SyncfusionExamples/ej2-quickstart-webpack) seed repository. + +> This application is integrated with the `webpack.config.js` configuration and uses the latest version of the [webpack-cli](https://webpack.js.org/api/cli/#commands). It requires node `v14.15.0` or higher. For more information about webpack and its features, refer to the [webpack getting-started guide](https://webpack.js.org/guides/getting-started/). + +## Prerequisites + +Before you begin, ensure you have the following installed on your machine: + +* [Node.js](https://nodejs.org/) (v14.15.0 or higher) +* [Visual Studio Code](https://code.visualstudio.com) (or any text editor) +* [Git](https://git-scm.com/) for cloning the quickstart repository +* A modern web browser (Chrome, Edge, Firefox, or Safari) to view the result + +## Dependencies + +The Bullet Chart control ships as part of the `@syncfusion/ej2-charts` package. Below is the list of minimum dependencies required. + +``` +|-- @syncfusion/ej2-charts + |-- @syncfusion/ej2-base + |-- @syncfusion/ej2-data + |-- @syncfusion/ej2-pdf-export + |-- @syncfusion/ej2-file-utils + |-- @syncfusion/ej2-compression + |-- @syncfusion/ej2-svg-base +``` + +## Quick Setup + +### Step 1: Create a Project Folder + +Create a folder named `my-bullet-chart` in your desired location. This folder will contain your Syncfusion Bullet Chart TypeScript project. + +### Step 2: Open Command Prompt + +Open the command prompt and navigate to `my-bullet-chart` folder created in Step 1. You can do this by: + +* **For Windows**: Open Command Prompt (cmd) or PowerShell and use the `cd` command to navigate to `my-bullet-chart` folder. +* **For macOS/Linux**: Open Terminal and use the `cd` command to navigate to `my-bullet-chart` folder. + +### Step 3: Clone the Quickstart Repository + +Run the following command to clone the Syncfusion JavaScript (Essential JS 2) quickstart project from [GitHub](https://github.com/SyncfusionExamples/ej2-quickstart-webpack). + +{% tabs %} +{% highlight bash tabtitle="CMD" %} + +git clone https://github.com/SyncfusionExamples/ej2-quickstart-webpack ej2-quickstart + +{% endhighlight %} +{% endtabs %} + +### Step 4: Navigate to Project Folder + +After cloning the application in the `ej2-quickstart` folder, run the following command to navigate to the project directory. + +{% tabs %} +{% highlight bash tabtitle="CMD" %} + +cd ej2-quickstart + +{% endhighlight %} +{% endtabs %} + +### Step 5: Install Required Packages + +Syncfusion JavaScript (Essential JS 2) packages are available on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. You can install all Syncfusion JavaScript (Essential JS 2) controls in a single [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package or individual packages for each control. + +The quickstart application is already preconfigured with the dependent [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package in the `~/package.json` file. Use the following command to install all the dependent npm packages from the command prompt: + +{% tabs %} +{% highlight bash tabtitle="NPM" %} + +npm install + +{% endhighlight %} +{% endtabs %} + +This command will download and install all necessary dependencies for your project. + +### Step 6: Update the HTML Template + +Open the `ej2-quickstart` folder in Visual Studio Code or any text editor of your choice. + +Locate the `~/src/index.html` file in the project, preserve any existing `` and ` + +``` + +**Step 2**: + +Set the element id to the `template` property in `tooltipSettings` to show the tooltip template. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/how-to-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/how-to-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/how-to-cs2" %} diff --git a/chart-sdk/typescript/heatmap-charts/legend.md b/chart-sdk/typescript/heatmap-charts/legend.md new file mode 100644 index 000000000..9a3537a57 --- /dev/null +++ b/chart-sdk/typescript/heatmap-charts/legend.md @@ -0,0 +1,159 @@ +--- +layout: post +title: Legend in TypeScript Heatmap chart control | Syncfusion +description: Learn here all about Legend in Syncfusion TypeScript Heatmap chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Legend +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Legend in TypeScript Heatmap chart control + +The legend is used to provide the information about the heat map cell. You can enable the legend by setting the [visible](../api/heatmap/legendSettings/#visible) property to **true** and injecting the `Legend` module using the `HeatMap.Inject(Legend)`. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs1" %} + +## Legend types + +Heat map supports two legend types: Gradient and list type. + +* Gradient: This is a continuous color legend with smooth color transition between palette color values. +* List: List is a fixed color legend. Each palette color information is shown separately in the list item. + +You can change the legend type by using the [type](../api/heatmap/paletteSettings/#type) property in the `paletteSettings` property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs2" %} + +## Placement + +You can place the legend at left, right, top, or bottom to the heat map layout by using the [position](../api/heatmap/legendSettings/#position)property. The legend is positioned at the right to the heat map by default. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs3" %} + +## Alignment + +You can align the legend as center, far, or near to the heat map using the [alignment](../api/heatmap/legendSettings/#alignment) property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs4/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs4/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs4" %} + +## Legend dimensions + +You can change the legend dimensions with values in pixels or percentage by using the [width](../api/heatmap/legendSettings/#width) and [height](../api/heatmap/legendSettings/#height) properties. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs5/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs5/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs5" %} + +## Paging for legend + +Paging is available only for the list type legend in the heat map, and it can be enabled by default, when the legend items exceed the legend bounds. You can view each legend items by navigating between the pages using navigation buttons. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs6/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs6/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs6" %} + +>Note: To use legend feature, we need to inject `Legend` using `HeatMap.Inject(Legend)`. + +## Smart Legend + +Smart legend is another way of showing list type legend with responsiveness and readability, when the palette has more number of items. You can enable this smart legend by using the [enableSmartLegend](../api/heatmap/legendSettings/#enablesmartlegend) property when the palette type is set to **Fixed**. + +In smart legend, you can change the display type of legend labels by using the [labelDisplayType](../api/heatmap/legendSettings/#labeldisplaytype) property. + +The following are the legend label display types: +* All: Displays all labels in the legend. +* Edge: Displays the legend labels only at extreme ends. +* None: None of the labels are displayed. The tooltip will appear for this type of label display when hovering over the legend item. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs7/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs7/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs7" %} + +## Legend Selection + +In the HeatMap, the legend selection is used to toggle the visibility of cell for view the specific range value. You can enable the legend selection using [toggleVisibility](../api/heatmap/legendSettings/#togglevisibility). + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs8/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs8/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs8" %} + +## Legend Title + +The legend title displays a specific information about the legend. You can enable the legend title by setting the [title](../api/heatmap/legendSettings/#title) property by providing the text and customizing the legend title text style using the [textStyle](../api/heatmap/legendSettings/titleModel/#textStyle) property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs9/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs9/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/legend-cs9" %} \ No newline at end of file diff --git a/chart-sdk/typescript/heatmap-charts/palette.md b/chart-sdk/typescript/heatmap-charts/palette.md new file mode 100644 index 000000000..f48f5f1ed --- /dev/null +++ b/chart-sdk/typescript/heatmap-charts/palette.md @@ -0,0 +1,101 @@ +--- +layout: post +title: Palette in TypeScript Heatmap chart control | Syncfusion +description: Learn here all about Palette in Syncfusion TypeScript Heatmap chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Palette +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Palette in TypeScript Heatmap chart control + +In heat map, each data point is displayed as a cell with applied color based on the data value. The palette in the heat map is used to define the color range for cells and gradient type for colors. You can define the colors either in RGB or hex codes using the [color](../api/heatmap/paletteCollection#color) property in the `palette`. The defined colors are applied to the cell background based on the palette type and cell value. + +## Palette types + +You can display the heat map cells either in gradient colors or fixed colors. + +### Gradient + +The smooth transition between the given palette colors can be applied for the heat map cells based on value. The heat map calculates all the gradient colors between the start and end colors for all distinct data values. Default start color and end color will be considered for gradient calculation, if the colors are not defined. The palette type must be defined as **Gradient** for the [type](../api/heatmap/paletteSettings#type) property in `paletteSettings` property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs1" %} + +### Fixed + +In fixed palette type, solid colors are applied to the heat map cells. The data values can be grouped based on the number of colors defined for the heat map. The palette type should be defined as **Fixed** for the [type](../api/heatmap/paletteSettings#type) property in the `paletteSettings` property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs2" %} + +## Defining color stops + +You can define the colors ranges or color stops for data values in both gradient and fixed palette types. You need to define the data value in the `value` property for `palette` property to calculate the color stops. The heat map automatically calculates the color stops if the `value` property is is not defined. The [label](../api/heatmap/paletteCollection#label) property is used to provide the additional information about the color that is to be displayed in the legend. If the label is not provided, the [value](../api/heatmap/paletteCollection#value) is displayed in the legend. The labels can be automatically calculated based on data values, if both the values and labels are not defined. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs3" %} + +## Color range + +The color range support is used to provide a specific color for specific range in heat map. The `startValue` and `endValue` properties are used to define the range start and end value. The `minColor` and `maxColor` properties represent the colors of given range. It's possible to set the cell color for the value not in the given range using the `fillColor` property. + +> In Fixed type, the `minColor` value is used for cell color. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs4/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs4/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/palette-cs4" %} + +## Add custom cell palette + +The default palette settings of the HeatMap cells can be customized by using the [paletteSettings](../api/heatmap#palettesettings) property. +Using the [palette](../api/heatmap/paletteSettings#palette) property in `paletteSettings` object, you can change the color set for the cells. +You can change the color mode of the cells to fixed or gradient mode using the [type](../api/heatmap/paletteSettings#type) property. + +{% tabs %} +{% highlight js tabtitle="index.js" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/getting-started-cs6/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/getting-started-cs6/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/getting-started-cs6" %} + +## See Also + +* [How to enable smart legend](./legend#smart-legend) diff --git a/chart-sdk/typescript/heatmap-charts/rendering-mode.md b/chart-sdk/typescript/heatmap-charts/rendering-mode.md new file mode 100644 index 000000000..2ee5cc576 --- /dev/null +++ b/chart-sdk/typescript/heatmap-charts/rendering-mode.md @@ -0,0 +1,28 @@ +--- +layout: post +title: Rendering mode in TypeScript Heatmap chart control | Syncfusion +description: Learn here all about Rendering mode in Syncfusion TypeScript Heatmap chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Rendering mode +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Rendering mode in TypeScript Heatmap chart control + +Heat map can be displayed using **Canvas** or **Scalable Vector Graphics (SVG)** rendering logic to improve the initial load performance and scalability. Heat map can also be automatically switched between **Canvas** and **SVG** modes based on dataset size. You can enable this mode by +setting the [renderingMode](../api/heatmap/#renderingmode) property as **Auto**. + +> If the `Auto` mode is enabled in the heat map and there are more than 10,000 data points, then the heat map will be rendered in a `Canvas` mode; Otherwise, the heat map will be rendered in a `SVG` mode. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/rendering-mode-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/rendering-mode-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/rendering-mode-cs1" %} diff --git a/chart-sdk/typescript/heatmap-charts/selection.md b/chart-sdk/typescript/heatmap-charts/selection.md new file mode 100644 index 000000000..693fee9fe --- /dev/null +++ b/chart-sdk/typescript/heatmap-charts/selection.md @@ -0,0 +1,63 @@ +--- +layout: post +title: Selection in TypeScript Heatmap chart control | Syncfusion +description: Learn here all about Selection in Syncfusion TypeScript Heatmap chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Selection +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Selection in TypeScript Heatmap chart control + +In the HeatMap, the cell selection is used to select single or multiple HeatMap cells at runtime and get the selected cell details using the [cellSelected](../api/heatmap/#cellselected) event. You can enable the cell selection using the [allowSelection](../api/heatmap/#allowselection) property. + +The HeatMap cells can be selected using the following interactions, as shown in the table below. + +| Modes of Interactions | Description | +|------------------------ | -------------------------------------------------------------------------------------------------------------------| +| Mouse | HeatMap cells can be selected by clicking or dragging and dropping over them. | +| Touch | HeatMap cells can be selected by tapping or dragging and dropping over them. | +| Keyboard | The **Ctrl** key on the keyboard can be used to enable multiple cell selection with mouse and touch interaction. The **Ctrl** key can only be used if the `enableMultiSelect` property is set to **true** in order to enable multiple cell selection. | + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/selection-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/selection-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/selection-cs1" %} + +## Enable single cell selection + +In the HeatMap, the [enableMultiSelect](../api/heatmap/#enablemultiselect) property is used to allow single cell selection. When you set the `enableMultiSelect` property to **false**, only one cell is selected. By default, `enableMultiSelect` property is set to **true**. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/selection-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/selection-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/selection-cs2" %} + +### Clearing cell selection + +The [clearSelection](../api/heatmap#clearselection) method can be used to clear all the selected cells. The below example illustrates the same. + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/selection-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/selection-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/selection-cs3" %} \ No newline at end of file diff --git a/chart-sdk/typescript/heatmap-charts/tooltip.md b/chart-sdk/typescript/heatmap-charts/tooltip.md new file mode 100644 index 000000000..fbcbc52f4 --- /dev/null +++ b/chart-sdk/typescript/heatmap-charts/tooltip.md @@ -0,0 +1,61 @@ +--- +layout: post +title: Tooltip in TypeScript Heatmap chart control | Syncfusion +description: Learn here all about Tooltip in Syncfusion TypeScript Heatmap chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Tooltip +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Tooltip in TypeScript Heatmap chart control + +Tooltip is used to provide the details of the heat map cell, and this can be displayed, while hovering the cursor over the cell or performing tap action in touch devices. + +## Default Tooltip + +You can enable the tooltip by setting the [showTooltip](../api/heatmap/#showtooltip) property to **true** and injecting the `Tooltip` module using the `HeatMap.Inject(Tooltip)`. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/tooltip-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/tooltip-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/tooltip-cs1" %} + +## Tooltip template + +In heat map, you can customize the tooltip using the [tooltipRender](../api/heatmap/#tooltiprender) client-side event. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/tooltip-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/tooltip-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/tooltip-cs2" %} + +## Customize the appearance of Tooltip + +The [fill](../api/heatmap/tooltipSettings/#fill) and [border](../api/heatmap/tooltipSettings/#border) properties are used to customize the background color and border of the tooltip respectively. The [textStyle](../api/heatmap/tooltipSettings/#textStyle) property in the tooltip is used to customize the font of the tooltip text. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/tooltip-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/tooltip-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/tooltip-cs3" %} + +>Note: To use tooltip feature, we need to inject `Tooltip` using `HeatMap.Inject(Tooltip)`. diff --git a/chart-sdk/typescript/heatmap-charts/working-with-data.md b/chart-sdk/typescript/heatmap-charts/working-with-data.md new file mode 100644 index 000000000..b42fd3eb1 --- /dev/null +++ b/chart-sdk/typescript/heatmap-charts/working-with-data.md @@ -0,0 +1,121 @@ +--- +layout: post +title: Working with data in TypeScript Heatmap chart control | Syncfusion +description: Learn here all about Working with data in Syncfusion TypeScript Heatmap chart control of Syncfusion Essential JS 2 and more. +platform: chart-sdk +control: Working with data +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Working with data in TypeScript Heatmap chart control + +Heat map visualizes the JSON data and two-dimensional array data. Using the data adaptor support, data can be bound to the heat map. + +## Data adaptor + +Heat map supports the following types of data binding with the adaptor support. + +* Array + * Table binding + * Cell binding +* JSON data + * Table binding + * Cell binding + +### Array - table binding + +This data type is a collection of one dimensional array objects, at which each inner array contains data points for an X-axis data label. +This is the default data binding type for heat map. You can also directly bind the array object to the [dataSource](../api/heatmap/#datasource) property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs1" %} + +### Array - cell binding + +This data type is a collection of array objects that contain information about the row index, column index, and data value for each cell. You can bind the data to heat map by using the [data](../api/heatmap/data/#data) property in the [dataSource](../api/heatmap/#datasource) and setting the [adaptorType](../api/heatmap/data/#adaptortype) property to **Cell**. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs2" %} + +### JSON data - table binding + +In JSON table data binding, each JSON object contains an X-axis data point as row header and all the corresponding Y-axis data values. +You can bind the JSON table data to the heat map using the [data](../api/heatmap/data/#data) property in [dataSource](../api/heatmap/#datasource). To achieve this, you should enable the [isJsonData](../api/heatmap/data/#isjsondata) property and define the [adaptorType](../api/heatmap/data/#adaptortype)property as **Table**. The [xDataMapping](../api/heatmap/data/#xdatamapping) property is used to map the row header in JSON data. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs3" %} + +### JSON data - Cell binding + +In JSON cell data binding, each JSON object consists a value for each cell along with a mapping value for row and column. You can bind the JSON cell data having information for each cell to the heat map using the [data](../api/heatmap/data/#data) property in [dataSource](../api/heatmap/#datasource). To achieve this, you should define the [adaptorType](../api/heatmap/data/#adaptortype) property as **Cell**, and enable the [isJsonData](../api/heatmap/data/#isjsondata) property. Now, map the fields of data by using the [valueMapping](../api/heatmap/data/#valuemapping), [xDataMapping](../api/heatmap/data/#xdatamapping) and [yDataMapping](../api/heatmap/data/#ydatamapping) properties. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs4/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs4/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs4" %} + +## Empty points + +The data points that use the **null** or **undefined** or empty string as value are considered as empty points. Empty data points are ignored and not displayed in the heat map, and these points are rendered with default palette. You can customize the empty data point color value using the [emptyPointColor](../api/heatmap/paletteSettings/#emptypointcolor) property. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs5/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs5/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs5" %} + +## Binding nested JSON data + +In complex data binding, you can bind the nested JSON data to the data points in the heat map. The nested data can be mapped using the [xDataMapping](../api/heatmap/data/#xdatamapping), [yDataMapping](../api/heatmap/data/#ydatamapping), [valueMapping](../api/heatmap/data/#valuemapping) and [bubbleDataMapping](../api/heatmap/data/#bubbledatamapping) properties as string value concatenated by a dot. + + {% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs6/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs6/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/heatmap-chart/working-with-data-cs6" %} + +## See Also + +* [To bind data for bubble heat map with size and color attributes](./bubble-heatmap/#binding-data-for-bubble-heat-map-with-size-and-color-attributes) diff --git a/chart-sdk/javascript/sankey/accessibility.md b/chart-sdk/typescript/sankey-diagram/accessibility.md similarity index 93% rename from chart-sdk/javascript/sankey/accessibility.md rename to chart-sdk/typescript/sankey-diagram/accessibility.md index b223f411c..40cdb5eaf 100644 --- a/chart-sdk/javascript/sankey/accessibility.md +++ b/chart-sdk/typescript/sankey-diagram/accessibility.md @@ -1,7 +1,7 @@ --- layout: post -title: Accessibility in JavaScript Sankey Chart component | Syncfusion -description: Learn here all about Accessibility in Syncfusion JavaScript Sankey Chart component of Syncfusion Essential JS 2 and more. +title: Accessibility in TypeScript Sankey Chart component | Syncfusion +description: Learn here all about Accessibility in Syncfusion TypeScript Sankey Chart component of Syncfusion Essential JS 2 and more. control: Accessibility platform: chart-sdk publishingplatform: chart-sdk @@ -9,7 +9,7 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Accessibility in JavaScript Sankey Chart component +# Accessibility in TypeScript Sankey Chart component The Sankey Chart component follows the accessibility guidelines and standards, including [ADA](https://www.ada.gov), [Section 508](https://www.section508.gov), [WCAG 2.2](https://www.w3.org/TR/WCAG22), and relevant [WAI-ARIA](https://www.w3.org/TR/wai-aria#roles) roles. @@ -76,4 +76,4 @@ The accessibility compliance of the Sankey Chart component is shown in the follo ## See also -* [Accessibility in Syncfusion® JavaScript components](../common/accessibility) \ No newline at end of file +* [Accessibility in Syncfusion® TypeScript components](../common/accessibility) \ No newline at end of file diff --git a/chart-sdk/javascript/sankey/appearance.md b/chart-sdk/typescript/sankey-diagram/appearance.md similarity index 69% rename from chart-sdk/javascript/sankey/appearance.md rename to chart-sdk/typescript/sankey-diagram/appearance.md index a199662ab..f1406ed21 100644 --- a/chart-sdk/javascript/sankey/appearance.md +++ b/chart-sdk/typescript/sankey-diagram/appearance.md @@ -1,7 +1,7 @@ --- layout: post -title: Appearance in JavaScript Sankey Chart component | Syncfusion -description: Learn here all about Appearance in Syncfusion JavaScript Sankey Chart component of Syncfusion Essential JS 2 and more. +title: Appearance in TypeScript Sankey Chart component | Syncfusion +description: Learn here all about Appearance in Syncfusion TypeScript Sankey Chart component of Syncfusion Essential JS 2 and more. control: Appearance platform: chart-sdk publishingplatform: chart-sdk @@ -9,7 +9,7 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Appearance in JavaScript Sankey Chart component +# Appearance in TypeScript Sankey Chart component The Sankey Chart provides comprehensive customization options to control visual appearance, dimensions, responsiveness, colors, borders, and themes. These appearance settings enable you to create diagrams that match your application's design system and user experience requirements. @@ -27,30 +27,30 @@ Control the size of the Sankey Chart using the `width` and `height` properties. | height | string | null | Height of the chart as a CSS value (e.g., '420px' or '100%'). | {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/dimensions-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/dimensions-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/dimensions-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/dimensions-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/appearance/dimensions-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/appearance/dimensions-cs1" %} ## Responsive Sizing Use percentage-based dimensions for responsive layouts that adapt to container sizes. This is recommended for applications that need to work across different device sizes and screen orientations: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/responsive-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/responsive-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/responsive-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/responsive-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/appearance/responsive-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/appearance/responsive-cs1" %} ## Background Customization @@ -64,15 +64,15 @@ Customize the background of the Sankey Chart with solid colors or background ima | backgroundImage | string | null | Background image URL. | {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/background-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/background-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/background-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/background-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/appearance/background-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/appearance/background-cs1" %} ## Border Customization @@ -86,16 +86,17 @@ Customize the border of the Sankey Chart container. | border.width | number | 1 | Border width in pixels. | | border.dashArray | string | '' | Sets the length of dashes in the stroke of border. | + {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/border-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/border-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/border-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/border-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/appearance/border-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/appearance/border-cs1" %} ## Margin Customization @@ -111,15 +112,15 @@ Control the spacing around the chart content using margins. | margin.bottom | number | 10 | Bottom margin in pixels. | {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/margin-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/margin-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/margin-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/margin-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/appearance/margin-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/appearance/margin-cs1" %} ## Theme @@ -128,12 +129,12 @@ The Sankey Chart provides multiple built-in themes to customize the visual appea ### Theme Configuration {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/theme-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/theme-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/appearance/theme-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/appearance/theme-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/appearance/theme-cs1" %} \ No newline at end of file + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/appearance/theme-cs1" %} \ No newline at end of file diff --git a/chart-sdk/javascript/sankey/customization.md b/chart-sdk/typescript/sankey-diagram/customization.md similarity index 72% rename from chart-sdk/javascript/sankey/customization.md rename to chart-sdk/typescript/sankey-diagram/customization.md index a1ca3e2cc..15042ad4f 100644 --- a/chart-sdk/javascript/sankey/customization.md +++ b/chart-sdk/typescript/sankey-diagram/customization.md @@ -1,7 +1,7 @@ --- layout: post -title: Customization in JavaScript Sankey Chart component | Syncfusion -description: Learn here all about Customization in Syncfusion JavaScript Sankey Chart component of Syncfusion Essential JS 2 and more. +title: Customization in TypeScript Sankey Chart component | Syncfusion +description: Learn here all about Customization in Syncfusion TypeScript Sankey Chart component of Syncfusion Essential JS 2 and more. control: Customization platform: chart-sdk publishingplatform: chart-sdk @@ -9,7 +9,7 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Customization in JavaScript Sankey Chart component +# Customization in TypeScript Sankey Chart component The Sankey Chart provides extensive customization options to create visualizations that match your specific design requirements and data presentation needs. From styling and theming to advanced visual techniques, the component enables complete control over appearance and behavior. @@ -31,30 +31,30 @@ The Sankey Chart supports multiple levels of styling customization: Apply consistent styling to all nodes using the `nodeStyle` property: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/node-styling-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/node-styling-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/node-styling-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/node-styling-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/customization/node-styling-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/customization/node-styling-cs1" %} ### Global Link Styling Configure link appearance using the `linkStyle` property: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/link-styling-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/link-styling-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/link-styling-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/link-styling-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/customization/link-styling-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/customization/link-styling-cs1" %} ## Individual Element Customization @@ -63,30 +63,30 @@ Configure link appearance using the `linkStyle` property: Customize individual nodes by setting properties on each node object: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/individual-nodes-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/individual-nodes-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/individual-nodes-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/individual-nodes-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/customization/individual-nodes-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/customization/individual-nodes-cs1" %} ### Custom Node Labels Customize individual node labels with specific text, styling, and positioning: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/individual-labels-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/individual-labels-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/individual-labels-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/individual-labels-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/customization/individual-labels-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/customization/individual-labels-cs1" %} ## Color Customization @@ -107,15 +107,15 @@ const nodes = [ Map colors to specific categories or value ranges: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/color-mapping-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/color-mapping-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/color-mapping-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/color-mapping-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/customization/color-mapping-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/customization/color-mapping-cs1" %} ## Theme Customization @@ -136,15 +136,15 @@ return ( ### Custom Theme Colors {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/custom-theme-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/custom-theme-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/custom-theme-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/custom-theme-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/customization/custom-theme-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/customization/custom-theme-cs1" %} ## Tooltip Customization @@ -153,15 +153,15 @@ return ( Create custom tooltip templates for rich content: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/tooltip-template-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/tooltip-template-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/tooltip-template-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/tooltip-template-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/customization/tooltip-template-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/customization/tooltip-template-cs1" %} ## Advanced Customization Patterns @@ -260,15 +260,15 @@ For charts with many nodes and links, optimize rendering performance: ## Example: Comprehensive Customization {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/comprehensive-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/comprehensive-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/customization/comprehensive-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/customization/comprehensive-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/customization/comprehensive-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/customization/comprehensive-cs1" %} ## Related Topics diff --git a/chart-sdk/javascript/sankey/events.md b/chart-sdk/typescript/sankey-diagram/events.md similarity index 65% rename from chart-sdk/javascript/sankey/events.md rename to chart-sdk/typescript/sankey-diagram/events.md index 178f6c979..c2bb4688c 100644 --- a/chart-sdk/javascript/sankey/events.md +++ b/chart-sdk/typescript/sankey-diagram/events.md @@ -1,7 +1,7 @@ --- layout: post -title: Events in JavaScript Sankey Chart component | Syncfusion -description: Learn here all about Events in Syncfusion JavaScript Sankey Chart component of Syncfusion Essential JS 2 and more. +title: Events in TypeScript Sankey Chart component | Syncfusion +description: Learn here all about Events in Syncfusion TypeScript Sankey Chart component of Syncfusion Essential JS 2 and more. control: Events platform: chart-sdk publishingplatform: chart-sdk @@ -9,7 +9,7 @@ documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Events in JavaScript Sankey Chart component +# Events in TypeScript Sankey Chart component The Sankey Chart provides comprehensive events that allow you to customize behavior, respond to user interactions, and hook into the chart lifecycle. These events enable advanced customization scenarios including data transformation, analytics tracking, and dynamic UI updates. @@ -45,30 +45,30 @@ This guide covers lifecycle events, rendering events, interaction events, and ex The `load` event triggers before the Sankey Chart begins rendering. Use this event to customize configuration, apply themes, or prepare data before the chart loads: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/load-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/load-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/load-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/load-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/load-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/load-cs1" %} ### Loaded Event The `loaded` event triggers after the Sankey Chart is completely rendered and ready for interaction. Use this event to initialize calculations, perform analytics, or trigger dependent components: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/loaded-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/loaded-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/loaded-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/loaded-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/loaded-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/loaded-cs1" %} ## Interaction Events @@ -77,30 +77,30 @@ The `loaded` event triggers after the Sankey Chart is completely rendered and re Handle node click and hover events to respond to user actions and provide interactive feedback: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/node-interaction-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/node-interaction-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/node-interaction-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/node-interaction-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/node-interaction-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/node-interaction-cs1" %} ## Link Interaction Events Handle link click and hover events: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/link-interaction-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/link-interaction-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/link-interaction-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/link-interaction-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/link-interaction-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/link-interaction-cs1" %} ## Rendering Events @@ -111,87 +111,89 @@ Use rendering events to customize elements dynamically based on data values, con The `nodeRendering` event triggers before each node is rendered, allowing dynamic node customization: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/node-interaction-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/node-interaction-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/node-interaction-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/node-interaction-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/node-interaction-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/node-interaction-cs1" %} ### Link Rendering Event The `linkRendering` event triggers before each link is rendered, allowing dynamic link customization: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/link-interaction-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/link-interaction-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/link-interaction-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/link-interaction-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/link-interaction-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/link-interaction-cs1" %} ### Label Rendering Event The `labelRendering` event triggers before each label is rendered, allowing dynamic label customization: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/complete-handler-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/complete-handler-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/complete-handler-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/complete-handler-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/complete-handler-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/complete-handler-cs1" %} ### Legend Item Rendering Event The `legendItemRendering` event triggers before a legend item is rendered, allowing custom legend item styling: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/complete-handler-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/complete-handler-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/complete-handler-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/complete-handler-cs1/index.html %} {% endhighlight %} {% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/complete-handler-cs1" %} -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/complete-handler-cs1" %} ## Size Changed Event Respond when the chart size changes (e.g., window resize): {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/size-changed-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/size-changed-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/size-changed-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/size-changed-cs1/index.html %} {% endhighlight %} {% endtabs %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/size-changed-cs1" %} -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/size-changed-cs1" %} ## Complete Event Handler Example Combine multiple events for comprehensive handling: {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/complete-handler-cs1/index.js %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/complete-handler-cs1/index.ts %} {% endhighlight %} {% highlight html tabtitle="index.html" %} -{% include code-snippet/chart-sdk/javascript/sankey-diagram/events/complete-handler-cs1/index.html %} +{% include code-snippet/chart-sdk/typescript/sankey-diagram/events/complete-handler-cs1/index.html %} {% endhighlight %} {% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/javascript/sankey-diagram/events/complete-handler-cs1" %} + +{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/typescript/sankey-diagram/events/complete-handler-cs1" %} diff --git a/chart-sdk/typescript/sankey-diagram/getting-started.md b/chart-sdk/typescript/sankey-diagram/getting-started.md new file mode 100644 index 000000000..bdbf80b19 --- /dev/null +++ b/chart-sdk/typescript/sankey-diagram/getting-started.md @@ -0,0 +1,175 @@ +--- +layout: post +title: Getting started with TypeScript Sankey control | Syncfusion +description: Check out and learn about Getting started with TypeScript Sankey control of Syncfusion Essential JS 2 and more details. +platform: chart-sdk +control: Sankey +publishingplatform: chart-sdk +documentation: ug +domainurl: https://help.syncfusion.com/chart-sdk +--- + +# Getting started with TypeScript Sankey control + +This document explains how to create a simple Sankey diagram and configure its features in TypeScript using the Essential JS 2 webpack [quickstart](https://github.com/SyncfusionExamples/ej2-quickstart-webpack) seed repository. + +> This application is integrated with the `webpack.config.js` configuration and uses the latest version of the [webpack-cli](https://webpack.js.org/api/cli/#commands). It requires node `v14.15.0` or higher. For more information about webpack and its features, refer to the [webpack getting-started guide](https://webpack.js.org/guides/getting-started/). + +## Prerequisites + +Before you begin, ensure you have the following installed on your machine: + +* [Node.js](https://nodejs.org/) (v14.15.0 or higher) +* [Visual Studio Code](https://code.visualstudio.com) (or any text editor) +* [Git](https://git-scm.com/) for cloning the quickstart repository +* A modern web browser (Chrome, Edge, Firefox, or Safari) to view the result + +## Dependencies + +Below is the list of minimum dependencies required to use the Sankey control, which is part of the charts package. + +``` +|-- @syncfusion/ej2-charts + |-- @syncfusion/ej2-base + |-- @syncfusion/ej2-data + |-- @syncfusion/ej2-pdf-export + |-- @syncfusion/ej2-file-utils + |-- @syncfusion/ej2-compression + |-- @syncfusion/ej2-svg-base +``` + +Note: `@syncfusion/ej2-pdf-export`, `@syncfusion/ej2-file-utils`, and `@syncfusion/ej2-compression` are optional—required only for PDF export features. + +## Quick Setup + +### Step 1: Create a Project Folder + +Create a folder named `my-sankey` in your desired location. This folder will contain your Syncfusion Sankey TypeScript project. + +### Step 2: Open Command Prompt + +Open the command prompt and navigate to `my-sankey` folder created in Step 1. You can do this by: + +* **For Windows**: Open Command Prompt (cmd) or PowerShell and use the `cd` command to navigate to `my-sankey` folder. +* **For macOS/Linux**: Open Terminal and use the `cd` command to navigate to `my-sankey` folder. + +### Step 3: Clone the Quickstart Repository + +Run the following command to clone the Syncfusion JavaScript (Essential JS 2) quickstart project from [GitHub](https://github.com/SyncfusionExamples/ej2-quickstart-webpack). + +{% tabs %} +{% highlight bash tabtitle="CMD" %} + +git clone https://github.com/SyncfusionExamples/ej2-quickstart-webpack ej2-quickstart + +{% endhighlight %} +{% endtabs %} + +### Step 4: Navigate to Project Folder + +After cloning the application in the `ej2-quickstart` folder, run the following command to navigate to the project directory. + +{% tabs %} +{% highlight bash tabtitle="CMD" %} + +cd ej2-quickstart + +{% endhighlight %} +{% endtabs %} + +### Step 5: Install Required Packages + +Syncfusion JavaScript (Essential JS 2) packages are available on the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. You can install all Syncfusion JavaScript (Essential JS 2) controls in a single [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package or individual packages for each control. + +The quickstart application is already preconfigured with the dependent [@syncfusion/ej2](https://www.npmjs.com/package/@syncfusion/ej2) package in the `~/package.json` file. Use the following command to install all the dependent npm packages from the command prompt: + +{% tabs %} +{% highlight bash tabtitle="NPM" %} + +npm install + +{% endhighlight %} +{% endtabs %} + +### Step 6: Update the HTML Template + +Open the `ej2-quickstart` folder in Visual Studio Code or any text editor of your choice. + +Locate the `~/src/index.html` file in the project, preserve any existing `` and ` - -{% endhighlight %} -{% endtabs %} - -**Step 2:** In the `template` section, define the 3D Chart component. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -Here is the complete code for the above steps in the **src/App.vue** file: - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -## Run the Project - -Save the changes and start the development server using either npm or yarn. - -**npm** - -```bash -npm run serve -``` - -**yarn** - -```bash -yarn run serve -``` - -Open the local URL displayed in the terminal, such as `http://localhost:8080`, and verify that the 3D Chart displays the monthly sales data. - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs1" %} - -## Module Registration - -The 3D Chart component is divided into feature-specific modules. Register the modules required by the application using the component's `provide` option. - -The following modules are used in this guide: - -- `ColumnSeries3D` enables the 3D column series. -- `Category3D` enables category values on the horizontal axis. -- `DataLabel3D` enables data labels. -- `Tooltip3D` enables tooltips. - -Register `ColumnSeries3D` when the series `type` is `Column`. Register `Category3D` when `primaryXAxis.valueType` is `Category`. Register `DataLabel3D` and `Tooltip3D` only when their corresponding features are enabled. - -```javascript -import { - Chart3DComponent, Chart3DSeriesCollectionDirective, Chart3DSeriesDirective, - ColumnSeries3D, Category3D, Legend3D, Tooltip3D, DataLabel3D -} from "@syncfusion/ej2-vue-charts"; - -export default { - components: { - 'ejs-chart3d': Chart3DComponent, - 'e-chart3d-series-collection': Chart3DSeriesCollectionDirective, - 'e-chart3d-series': Chart3DSeriesDirective - }, - provide: { - chart3d: [ColumnSeries3D, Category3D, Legend3D, Tooltip3D, DataLabel3D] - } -}; -``` - -> **Note:** Register only the modules used by the application to keep the bundle size smaller. The `provide` key for the 3D Chart component must be `chart3d`. - -## Populate the 3D Chart with Data - -The 3D Chart series uses the following properties to bind data: - -- [`dataSource`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#datasource) specifies the array of data objects. -- [`xName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#xname) maps the horizontal-axis field. -- [`yName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#yname) maps the numeric value field. -- [`type`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#type) specifies the series type. -- [`valueType`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3daxismodel#valuetype) specifies the type of values used on an axis. - -```javascript -export default { - data() { - return { - seriesData: [ - { month: 'Jan', sales: 35 }, { month: 'Feb', sales: 28 }, - { month: 'Mar', sales: 34 }, { month: 'Apr', sales: 32 }, - { month: 'May', sales: 40 }, { month: 'Jun', sales: 32 }, - { month: 'Jul', sales: 35 }, { month: 'Aug', sales: 55 }, - { month: 'Sep', sales: 38 }, { month: 'Oct', sales: 30 }, - { month: 'Nov', sales: 25 }, { month: 'Dec', sales: 32 } - ] - }; - } -}; -``` - -Because the `month` field in this example contains category values, set `primaryXAxis.valueType` to `Category` and register the `Category3D` module. The default axis value type is `Numeric`. - -The sales values are expressed in thousands. Set `primaryYAxis.labelFormat` to `${value}K` to add a dollar-sign prefix and a `K` suffix to each vertical-axis label. - -Each data object must contain the fields assigned to `xName` and `yName`. The field assigned to `yName` must contain a numeric value. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs2/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs2" %} - -## Troubleshooting - -- **The 3D Chart is not rendered.** Verify that `Chart3DComponent`, `Chart3DSeriesCollectionDirective`, and `Chart3DSeriesDirective` are imported and registered. Check the browser console for component, module, data, or licensing errors. -- **The column series is not displayed.** Import `ColumnSeries3D` and add it to the `chart3d` array in the `provide` option. -- **Category values are not displayed correctly.** Set `primaryXAxis.valueType` to `Category`, import `Category3D`, and add it to the `chart3d` array. -- **No data is displayed.** Verify that `dataSource` contains data, `xName` and `yName` match the fields in each data object, and the field assigned to `yName` contains numeric values. -- **Module registration is not recognized.** Ensure that the `provide` option uses the exact `chart3d` key. -- **A package or Vue version error occurs.** Confirm that the installed `@syncfusion/ej2-vue-charts` release supports Vue 2 and that all Syncfusion packages use compatible versions. - -## See Also - -- [Vue 3D Chart examples](https://ej2.syncfusion.com/vue/demos/#/material3/three-dimension-chart/column.html) -- [Vue 3D Chart API reference](https://ej2.syncfusion.com/vue/documentation/api/chart3d) -- [Getting Started with Vue 3 using Composition API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-composition) -- [Getting Started with Vue 3 using Options API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-options) - -> You can refer to our `Vue 3D Charts` feature tour page for its groundbreaking feature representations. You can also explore our [Vue 3D Charts example](https://ej2.syncfusion.com/vue/demos/#/material3/three-dimension-chart/column.html) that shows various 3D Chart types and how to represent time-dependent data, showing trends in data at equal intervals. \ No newline at end of file diff --git a/chart-sdk/vue/3d-chart/images/vue2-terminal.png b/chart-sdk/vue/3d-chart/images/vue2-terminal.png deleted file mode 100644 index b0ec451526671e4ab4aa1393d56a76d8ad9d8283..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7221 zcmeI1eLR!z-~XqQB6NdQWc86sNODucgpeYka&JWua$knc)R02|#r$MyL=u79q-evjWD=leX4<8hwv_jw%W`F+Ow_MOJ`HODlpr^DX^KjEIW zK0Y6cXUE_+#!yw>=Htxp#XT)PVXxUg;}JK$88p;Q#ItI40vRw@&tTp z<$T|8#{=lOJ55}+c&Tq?b_tA^cke;e(yKS`oActNZgIX%a&E_;IlkIEyb>{r$W~Y2 z4KtTSDBcWDkU*wj{@~YAeMt%7V1AK0=L0n)emh-rbnzw%cx@k2PaF|$^3`b4dhvPC zh}GpqsZmW;_!GG{(mY}5jycWZCU<|hE}s@VIxfw;{~s6F>;liPQpOpR5ogWKW}1Y& z**@!-ug3fCow`$M{3fOxLBrntYi5=s>{gc2T1c=6(B1f0#_UO1_49p$3;8a#hAit- zL}SPWb!TBr`T)|;Z1rI#wyzfjtHbFDo(YE3({t)ylE3#`$bvUU9TvG+OjdH3#fcoF`<4X3pB^QQG{>Fb@^#+%jQJI4WX#z_!Qc z=@AT+`jd5kbfwWe*>}h-G}Nr`AUQL|3(eeLf{2={j&b-@la=Ij!uO!Kb*kIrTyYt% ztFsqa^5DM9WLkOXLR+BCm9uMx`(NKS*UQQC)9%xDdl_uVU6MXsRFw~jD>O=&%d}Z< z=Dop>IE58nA^mX-bJmdA5ZXJ}nHUo#{G9yoYLL9nq%W}O&A zJHHw5y`?@Y{b=5C)TZygUP>z+8cz!Rw}jNH4cGh}h8KR;_w6-OBhgJ26;SwmDw1mi z?F_Vz*70+JvCpRtw9gluL=fO;QVeGKFk*aIO%AD8x-V&s2$6{ zvubmOV@lI6xVpGP_pNO%6dH50At}P#Cmg=4502x+sdG0Oc@J;rw05eCH z_jyj?Y_0JA2+F3q(XpX_$>z^CVNZ>v10^s{{voL(hSoYH8MqvIF!anEm%Q=J>tpb$ zH+5#`vBJN6JsqMtd$A_UF9snafhW|QWATWA&=#7|H4ix>jDw#J`B(sLQNIoE24hm{ zyFjDO;rM}0#io~Xw?fUT$Z;J9Lq@==PiEa?Z^Od!{R-KHGpy2eo$@)4AbAYQ>Ja=D zQ=0Z}H+*e+v1H%zne-RO_#4k&m=a$L3(-#}lg&L;9{ufp=uN^{edqDm4~oNfl&
    • U{98&wf~4 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 F{CE7ap#}f| diff --git a/chart-sdk/vue/3d-chart/images/vue3-3d-chart-demo.png b/chart-sdk/vue/3d-chart/images/vue3-3d-chart-demo.png deleted file mode 100644 index 8893c635688436b48ad92363abb20b767b9c1699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18970 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 - -# Legend in Vue 3D Chart component - - - -Legend provides information about the series rendered in the 3D chart. - -## Enable legend - -You can use legend for the 3D Chart by setting the [`visible`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dlegendsettingsmodel#visible) property to true in [`legendSettings`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel#legendsettings) object and by injecting the `Legend3D` into the `provide`. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs4/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs4/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs4" %} - -## Position and alignment - -By using the [`position`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#position) property, the legend can be positioned at left, right, top or bottom of the 3D chart. The legend is positioned at the bottom of the 3D chart, by default. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/position/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/position/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/position" %} - -The custom position helps you to position the legend anywhere in the 3D chart using x and y coordinates. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/custom-position/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/custom-position/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/custom-position" %} - -### Legend reverse - -The order of the legend items can be reversed by using the [`reverse`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#reverse) property. By default, legend for the first series in the collection will be placed first. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/reverse/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/reverse/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/reverse" %} - -### Legend alignment - -The legend can be aligned at near, far or center to the 3D chart using the [`alignment`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#alignment) property. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/alignment/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/alignment/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/alignment" %} - -## Legend customization - -To change the legend icon shape, [`legendShape`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/series3D/#legendshape) property in the [`series`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/series3D/) can be used. By default, the legend icon shape is `seriesType`. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/custom/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/custom/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/custom" %} - -### Legend size - -By default, legend takes 20% - 25% of the 3D chart's height horizontally, when it is placed on top or bottom position and 20% - 25% of the 3D chart's width vertically, when it is placed on left or right position. You can change this default legend size by using the [`height`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#height) and [`width`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#width) properties of the `legendSettings`. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/size/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/size/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/size" %} - -### Legend item size - -The size of the legend items can be customised by using the [`shapeHeight`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#shapeheight) and [`shapeWidth`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#shapewidth) properties. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/item-size/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/item-size/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/item-size" %} - -### Paging for legend - -Paging will be enabled by default, when the legend items exceeds the legend bounds. Each legend items can be viewed by navigating between the pages using navigation buttons. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/paging/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/paging/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/paging" %} - -### Legend text wrap - -When the legend text exceeds the container, the text can be wrapped by using the [`textWrap`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#textwrap) property. End user can also wrap the legend text based on the [`maximumLabelWidth`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#maximumlabelwidth) property. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/text-wrap/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/text-wrap/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/text-wrap" %} - -## Series selection through legend - -By default, you can collapse the series visibility by clicking the legend. On the other hand, turn off the [`toggleVisibility`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#togglevisibility) property if you must use a legend click to choose a series. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/legend-selection/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/legend-selection/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/legend-selection" %} - -## Collapsing legend item - -By default, series name will be displayed as legend. To skip the legend for a particular series, you can give empty string to the series name. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/collapse/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/collapse/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/collapse" %} - -## Legend title - -You can set title for legend using [`title`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#title) property in [`legendSettings`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings). The [`size`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/fontModel/#size), [`color`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/fontModel/#color), [`opacity`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/fontModel/#opacity), [`fontStyle`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/fontModel/#fontstyle), [`fontWeight`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/fontModel/#fontweight), [`fontFamily`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/fontModel/#fontfamily), [`textAlignment`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/fontModel/#textalignment), and [`textOverflow`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/fontModel/#textoverflow) of legend title can be customized by using the [`titleStyle`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#titlestyle) property in [`legendSettings`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/). The [`titlePosition`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#titleposition) is used to set the legend position in `Top`, `Left` and `Right` position. The [`maximumTitleWidth`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#maximumtitlewidth) is used to set the width of the legend title. By default, it will be `100px`. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/title/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/title/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/title" %} - -## Arrow page navigation - -The page number will always be visible while using legend paging. It is now possible to disable the page number and enable page navigation with the left and right arrows. The [`enablePages`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#enablepages) property needs to be set to **false** in order to render the arrow page navigation. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/arrow-page/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/arrow-page/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/arrow-page" %} - -## Legend item padding - -The [`itemPadding`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettings/#itempadding) property can be used to adjust the space between the legend items. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/item-padding/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/item-padding/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/item-padding" %} - ->Note: To use legend feature, we need to inject `Legend3D` into the `provide`. diff --git a/chart-sdk/vue/3d-chart/logarithmic-axis.md b/chart-sdk/vue/3d-chart/logarithmic-axis.md deleted file mode 100644 index e2bd9da44..000000000 --- a/chart-sdk/vue/3d-chart/logarithmic-axis.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -layout: post -title: Logarithmic axis in Vue 3D Chart component | Syncfusion -description: Learn here all about logarithmic axis in Syncfusion 3D Chart component of Syncfusion Essential JS 2 and more. -control: 3D Chart -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Logarithmic axis in Vue 3D Chart component - -Logarithmic axis uses logarithmic scale and it is very useful in visualizing data, when it has numerical values in both lower order of magnitude (eg: 10-6) and higher order of magnitude (eg: 106). - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/log/log/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/log/log/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/log/log" %} - ->Note: To use logarithmic axis, we need to inject `Logarithmic3D` into the `provide` and set the [`valueType`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#valuetype) of the axis to **Logarithmic**. - -## Range - -The range of an axis will be calculated automatically based on the provided data and it can also be customized by using the [`minimum`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#minimum), [`maximum`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#maximum) and [`interval`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#interval) properties of the axis. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/log/range/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/log/range/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/log/range" %} - -## Logarithmic base - -Logarithmic base can be customized by using the [`logBase`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#logbase) property of the axis. For example when the logBase is 5, the axis values follows 5-2, 5-1, 50, 51, 52 etc. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/log/base/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/log/base/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/log/base" %} - -## Logarithmic interval - -The interval of the logarithmic axis can be customized by using the [`interval`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#interval) property in the axis. When the logarithmic base is 10 and logarithmic **interval** is 2, then the axis labels are placed at an interval of 102. The default value of the [`interval`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#interval) is **1**. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/log/interval/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/log/interval/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/log/interval" %} \ No newline at end of file diff --git a/chart-sdk/vue/3d-chart/mutiple-panes.md b/chart-sdk/vue/3d-chart/mutiple-panes.md deleted file mode 100644 index 4d2288f48..000000000 --- a/chart-sdk/vue/3d-chart/mutiple-panes.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -layout: post -title: Multiple panes in Vue 3D Chart component | Syncfusion -description: Learn here all about multiple panes in Syncfusion 3D Chart component of Syncfusion Essential JS 2 and more. -control: 3D Chart -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Multiple panes in Vue 3D Chart component - -The chart area can be divided into multiple panes using [`rows`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#rows) and [`columns`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#columns). - -## Rows - -To split the chart area vertically into number of rows, use [`rows`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#rows) property of the 3D chart. - -* The space for each row can be allocated by using the [`height`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/threeDimensionRowModel/#height) property. The value can be either in percentage or in pixel. -* To associate a vertical axis to a particular row, specify its index to [`rowIndex`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3DModel/#rowindex) property of the axis. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/row/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/row/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/row" %} - -For spanning the vertical axis along multiple rows, use [`span`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3DModel/#span) property of an axis. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/row-span/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/row-span/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/row-span" %} - -## Columns - -To split the chart area horizontally into number of columns, use [`columns`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#columns) property of the 3D chart. - -* The space for each column can be allocated by using the [`width`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/threeDimensionColumnModel/#width) property. The given width can be either in percentage or in pixel. -* To associate a horizontal axis to a particular column, specify its index to [`columnIndex`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3DModel/#columnindex) property of the axis. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/column/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/column/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/column" %} - -For spanning the vertical axis along multiple column, you can use [`span`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3DModel/#span) property of an axis. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/column-span/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/column-span/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/column-span" %} \ No newline at end of file diff --git a/chart-sdk/vue/3d-chart/numeric-axis.md b/chart-sdk/vue/3d-chart/numeric-axis.md deleted file mode 100644 index 317cfa0c4..000000000 --- a/chart-sdk/vue/3d-chart/numeric-axis.md +++ /dev/null @@ -1,233 +0,0 @@ ---- -layout: post -title: Numeric axis in Vue 3D Chart component | Syncfusion -description: Learn here all about numeric axis in Syncfusion 3D Chart component of Syncfusion Essential JS 2 and more. -control: 3D Chart -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - - - -# Numeric axis in Vue 3D Chart component - -The [numeric axis](https://www.syncfusion.com/vue-components/vue-charts/chart-axis) can be used to represent the numeric values of data in 3D chart. By default, the [`valueType`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#valuetype) of an axis is **Double**. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/numeric-axis/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/numeric-axis/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/numeric-axis" %} - -## Range - -The range of an axis will be calculated automatically based on the provided data, and it can also be customized by using the [`minimum`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#maximum), [`maximum`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#maximum) and [`interval`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#interval) properties of the axis. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/range/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/range/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/range" %} - -## Range padding - -Padding can be applied to the minimum and maximum extremes of an axis range by using the [`rangePadding`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#rangepadding) property. Numeric axis supports the following types of padding. - -* None -* Round -* Additional -* Normal -* Auto - -**Numeric - None** - -When the [`rangePadding`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#rangepadding) is set to **None**, minimum and maximum of the axis is based on the data. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/none/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/none/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/none" %} - -**Numeric - Round** - -When the [`rangePadding`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#rangepadding) is set to **Round**, minimum and maximum will be rounded to the nearest possible value, which is divisible by interval. For example, when the minimum is **3.5** and the [`interval`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#interval) is **1**, then the minimum will be rounded to **3**. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/round/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/round/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/round" %} - -**Numeric - Additional** - -When the [`rangePadding`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#rangepadding) is set to **Additional**, interval of an axis will be added to the minimum and maximum of the axis. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/additional/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/additional/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/additional" %} - -**Numeric - Normal** - -When the [`rangePadding`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#rangepadding) is set to **Normal**, padding is applied to the axis based on default range calculation. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/normal/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/normal/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/normal" %} - -**Numeric - Auto** - -When the [`rangePadding`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#rangepadding) is set to **Auto**, horizontal numeric axis takes **None** as padding calculation, while the vertical numeric axis takes **Normal** as padding calculation. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/auto/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/auto/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/auto" %} - -## Label format - -**Numeric label format** - -Numeric labels can be formatted by using the [`labelFormat`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/axis3D/#labelformat) property. Also, it supports all globalize format. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/label-format/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/label-format/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/label-format" %} - -The following table describes the result of applying some commonly used label formats on numeric values. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Label ValueLabel Format property valueResult Description
      1000n11000.0The Number is rounded to 1 decimal place.
      1000n21000.00The Number is rounded to 2 decimal place.
      1000n31000.000The Number is rounded to 3 decimal place.
      0.01p11.0%The Number is converted to percentage with 1 decimal place.
      0.01p21.00%The Number is converted to percentage with 2 decimal place.
      0.01p31.000%The Number is converted to percentage with 3 decimal place.
      1000c1$1000.0The Currency symbol is appended to number and number is rounded to 1 decimal place.
      1000c2$1000.00The Currency symbol is appended to number and number is rounded to 2 decimal place.
      - -## Grouping separator - -To separate the y-axis labels to groups of thousands, set the [`useGroupingSeparator`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#usegroupingseparator) property to **true** in the 3D chart. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/group-separator/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/group-separator/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/group-separator" %} - -## Custom label format - -The axis supports custom label format using placeholder like **{value}°C**, in which the value represent the axis label e.g 20°C. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/custom-label/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/axis/numeric/custom-label/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/axis/numeric/custom-label" %} \ No newline at end of file diff --git a/chart-sdk/vue/3d-chart/print-export.md b/chart-sdk/vue/3d-chart/print-export.md deleted file mode 100644 index 815750402..000000000 --- a/chart-sdk/vue/3d-chart/print-export.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Print and Export in Vue 3D Chart component | Syncfusion -description: Learn here all about print and export in Syncfusion 3D Chart component of Syncfusion Essential JS 2 and more. -control: 3D Chart -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Print and Export in Vue 3D Chart component - -## Print - -The rendered 3D chart can be printed directly from the browser by calling the public method print. The ID of the 3D chart's div element must be passed as the input parameter to that method. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/print/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/print/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/print" %} - -## Export - -The rendered 3D chart can be exported to `JPEG`, `PNG`, `SVG`, or `PDF` format using the export method. The input parameters for this method are `type` for format and `fileName` for result. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/export/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/export/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/export" %} \ No newline at end of file diff --git a/chart-sdk/vue/3d-chart/selection.md b/chart-sdk/vue/3d-chart/selection.md deleted file mode 100644 index 72b702130..000000000 --- a/chart-sdk/vue/3d-chart/selection.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: post -title: Selection in Vue 3D Chart component | Syncfusion -description: Learn here all about selection in Syncfusion 3D Chart component of Syncfusion Essential JS 2 and more. -control: 3D Chart -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - - - -# Selection in Vue 3D Chart component - -The 3D chart provides selection support for the series and its data points on mouse click. - ->When mouse is clicked on the data points, the corresponding series legend will also be selected. - -We have different types of selection mode for selecting a data. - -* None -* Point -* Series -* Cluster - -## Point - -To select a point, set the [`selectionMode`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#selectionmode) property to **Point**. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/point-selection/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/point-selection/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/point-selection" %} - -## Series - -To select a series, set the [`selectionMode`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#selectionmode) property to **Series**. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/series-selection/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/series-selection/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/series-selection" %} - -## Cluster - -To select the points that corresponds to the same index in all the series, set the [`selectionMode`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#selectionmode) property to **Cluster**. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/cluster-selection/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/cluster-selection/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/cluster-selection" %} - -## Selection type - -To select multiple points or series, enable the [`isMultiSelect`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#ismultiselect) property. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/selection-type/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/selection-type/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/selection-type" %} - -## Selection during initial loading - -In a 3D chart, selecting a point or series during initial loading can only be done programmatically. The [`selectedDataIndexes`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel/#selecteddataindexes) property can be used for this. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/selection-load/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/selection-load/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/selection-load" %} - -## Selection through legend - -To select a point or series through legend use the [`toggleVisibility`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettingsModel/#togglevisibility) property. Also, use [`enableHighlight`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/legendSettingsModel/#enablehighlight) property for highlighting the series through legend. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/selection-legend/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/selection-legend/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/selection-legend" %} \ No newline at end of file diff --git a/chart-sdk/vue/3d-chart/tooltip.md b/chart-sdk/vue/3d-chart/tooltip.md deleted file mode 100644 index 723271f1d..000000000 --- a/chart-sdk/vue/3d-chart/tooltip.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -layout: post -title: Tooltip in Vue 3D Chart component | Syncfusion -description: Learn here all about tooltip in Syncfusion 3D Chart component of Syncfusion Essential JS 2 and more. -control: 3D Chart -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Tooltip in Vue 3D Chart component - - - -The 3D Chart will display details about the points through tooltip, when the mouse is moved over the specific point. - -## Default tooltip - -By default, tooltip is not visible. The tooltip can be enabled by setting the [`enable`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/tooltipSettings#enable) property in `tooltipSettings` to **true** and by injecting `Tooltip3D` into the `provide`. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/tooltip/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/tooltip/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/tooltip" %} - - - -## Fixed tooltip - -By default, tooltip track the mouse movement, but the tooltip can be set in fixed position by using the [`location`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/tooltipSettings#location) property. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/fixed-tooltip/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/fixed-tooltip/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/fixed-tooltip" %} - -## Format the tooltip - - - -By default, tooltip shows information of x and y value in points. In addition to that, more information can be shown in tooltip by using the [`format`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/tooltipSettings#format) property. For example the format `${series.name} : ${point.y}` shows series name and point x value. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/format-tooltip/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/format-tooltip/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/format-tooltip" %} - -## Inline tooltip formatting - -The tooltip content can be formatted directly within the [`format`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/tooltipsettings#format) property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. - -A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. - -For example: - -```typescript -const tooltip = { - enable: true, - format: '${series.name} (${series.type})
      ${point.x:MMM yyyy} : ${point.y:n2}
      Opacity: ${series.opacity}' -} -``` - -In the above example, `point.x` is displayed in month-year format, `point.y` is displayed with two decimal places, and `series.opacity` displays the opacity value applied to the series. - -Inline formatting can be applied to the following tooltip tokens: - -- `point.x` – Specifies the x-value of the data point, such as DateTime or category values. -- `point.y` – Specifies the numeric y-value of the data point. -- `series.name` – Specifies the name assigned to the series. -- `series.type` – Specifies the rendering type of the series, such as `Column`, `Bar`, `Line`, or `StackingColumn`. -- `series.opacity` – Specifies the opacity value applied to the series. This value controls the visual transparency of the series and can be customized in the series configuration. - -**Important:** The availability of point-specific tokens depends on the values configured in the data source and the 3D chart series type. The `series.name` and `series.type` tokens return string values, so DateTime or number formatting is not applied to these tokens. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimal places - - `c2` – currency format - - `p1` – percentage format - - `e1` – exponential notation - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/tooltip-format/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/tooltip-format/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/tooltip-format" %} - -## Tooltip template - -Any HTML elements can be displayed in the tooltip by using the [`template`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/tooltipSettings#template) property of the tooltip. The ${x} and ${y} can be used as place holders in the HTML element to display the x and y values of the corresponding data point. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/tooltip-template/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/tooltip-template/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/tooltip-template" %} - -## Customize the appearance of tooltip - -The [`fill`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/tooltipSettings#fill) and [`border`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/tooltipSettings#border) properties are used to customize the background color and border of the tooltip respectively. The [`textStyle`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/tooltipSettings#textstyle) property in the tooltip is used to customize the font of the tooltip text. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/custom-tooltip/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/custom-tooltip/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/custom-tooltip" %} \ No newline at end of file diff --git a/chart-sdk/vue/3d-chart/vue-3-getting-started.md b/chart-sdk/vue/3d-chart/vue-3-getting-started.md deleted file mode 100644 index de31140fb..000000000 --- a/chart-sdk/vue/3d-chart/vue-3-getting-started.md +++ /dev/null @@ -1,408 +0,0 @@ ---- -layout: post -title: Vue 3 Getting Started with the 3D Chart Component | Syncfusion -description: Create a Vite-based Vue 3 project and integrate the Syncfusion Essential JS 2 3D Chart component using the Composition API or Options API. -control: Vue 3 getting started -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Getting Started with the Vue 3D Chart Component in Vue 3 - -This article provides a step-by-step guide to setting up a [Vite](https://vite.dev/) project with JavaScript and integrating the Syncfusion® Vue 3D Chart component using either the [Composition API](https://vuejs.org/guide/introduction.html#composition-api) or the [Options API](https://vuejs.org/guide/introduction.html#options-api). - -The **Composition API** groups related logic into reusable functions and is suitable for larger code bases. The **Options API** organizes component logic with options such as `data`, `methods`, and life cycle hooks. Choose the API that best fits the application's structure and maintainability requirements. - -## Prerequisites - -Ensure that the development environment meets the [system requirements for Syncfusion Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements). - -## Set Up the Vite Project - -Create a Vite project using either npm or yarn. - -**npm** - -```bash -npm create vite@latest my-app -- --template vue -``` - -**yarn** - -```bash -yarn create vite my-app --template vue -``` - -If Vite prompts you to install dependencies and start the project immediately, select **No**. The Syncfusion package is installed in a later step. - -Navigate to the project directory: - -```bash -cd my-app -``` - -Install the project dependencies using either npm or yarn. - -**npm** - -```bash -npm install -``` - -**yarn** - -```bash -yarn install -``` - -Now that `my-project` is ready, add Syncfusion® Vue components to the project. - -> **Note:** To create a TypeScript project, use `npm create vite@latest my-app -- --template vue-ts` or `yarn create vite my-app --template vue-ts`. - -## Add Syncfusion® Vue Package - -Syncfusion Vue packages are available on [npm](https://www.npmjs.com/search?q=ej2-vue). - -Install the `@syncfusion/ej2-vue-charts` package. Use a package release that supports Vue 3 and the Node.js version used by the project. - -**npm** - -```bash -npm install @syncfusion/ej2-vue-charts -``` - -**yarn** - -```bash -yarn add @syncfusion/ej2-vue-charts -``` - -> Note: npm v5+ saves packages to `dependencies` by default; `--save` is not required. - -## Add Syncfusion® Vue 3D Chart Component - -Follow these steps to add the Vue 3D Chart component using the Composition API or Options API. - -**Step 1:** Import and Register the Component - -Import the 3D Chart component, its child directives, and the modules required by the example in the `script` section of **src/App.vue**. - -The example uses these modules: - -- `ColumnSeries3D` renders the 3D column series. -- `Category3D` supports category values on the horizontal axis. - -When using the Composition API, alias the imported component and directive names so they match the custom elements used in the template. Components imported in ` - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% endtabs %} - -> **Note:** The module injection key must be `chart3d`. Register only the modules required by the features used in the application. - -**Step 2:** Define the Data and Chart Configuration - -Define the chart data and horizontal-axis configuration in the `script` section. - -Because the `month` field contains category values, set `primaryXAxis.valueType` to `Category` and register the `Category3D` module. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% endtabs %} - -**Step 3:** Define the 3D Chart in the Template - -Add the 3D Chart and its series directives to the `template` section of **src/App.vue**. - -The series uses the following properties: - -- [`dataSource`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#datasource) specifies the array of data objects. -- [`xName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#xname) maps the category field. -- [`yName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#yname) maps the numeric field. -- [`type`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#type) specifies the series type. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -The following examples combine component registration, module injection, data configuration, and template markup. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - - - -{% endhighlight %} -{% endtabs %} - -## Run the Project - -Save **src/App.vue**, and then start the development server. - -**npm** - -```bash -npm run dev -``` - -**yarn** - -```bash -yarn run dev -``` - -Open the local URL displayed in the terminal, commonly `http://localhost:5173`, and verify that a 3D column chart titled **Sales Analysis** displays monthly sales values from January through December. - -![Vue 3 3D Chart sample showing a column chart titled Sales Analysis](./images/vue3-3d-chart-demo.png) - -> **Sample:** Explore the [Vue 3D Chart getting-started project](https://github.com/SyncfusionExamples/getting-started-with-the-vue-3d-chart-component). - -For information about migrating an application from Vue 2 to Vue 3, see the [Vue 3 Migration Guide](https://v3-migration.vuejs.org/). - -## Troubleshooting - -- **The 3D Chart is not rendered.** Verify that the component and both child directives are imported. In the Options API, also verify that they are registered in `components`. Check the browser console for component, module, data, or licensing errors. -- **The column series is not displayed.** Import `ColumnSeries3D` and add it to the array provided with the exact `chart3d` key. -- **Category values are not displayed correctly.** Set `primaryXAxis.valueType` to `Category`, import `Category3D`, and provide it with the `chart3d` key. -- **No data is displayed.** Verify that `dataSource` contains records, `xName` and `yName` match fields in each data object, and the field mapped by `yName` contains numeric values. -- **An import or runtime error is displayed.** Verify that `@syncfusion/ej2-vue-charts` is installed and that its version supports the project's Vue and Node.js versions. - -For additional assistance, refer to the [Vue 3D Chart API documentation](https://ej2.syncfusion.com/vue/documentation/api/chart3d). - -## See Also - -- [Vue 3D Chart examples](https://ej2.syncfusion.com/vue/demos/#/material3/three-dimension-chart/column.html) -- [Getting Started with Vue UI Components using the Composition API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-composition) -- [Getting Started with Vue UI Components using the Options API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-options) diff --git a/chart-sdk/vue/3d-chart/working-with-data.md b/chart-sdk/vue/3d-chart/working-with-data.md deleted file mode 100644 index 392f2598b..000000000 --- a/chart-sdk/vue/3d-chart/working-with-data.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -layout: post -title: Working with data source in Vue 3D Chart component | Syncfusion -description: Learn here all about working with data source in Syncfusion 3D Chart component of Syncfusion Essential JS 2 and more. -control: 3D Chart -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - - - -# Working with data in Vue 3D Chart component - -## Local data - -A simple JSON data can be bound to the 3D chart using [`dataSource`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/series3DModel/#datasource) property in series. Now map the fields in JSON to [`xName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/series3DModel/#xname) and [`yName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/series3DModel/#yname) properties. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/local-data/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/local-data/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/local-data" %} - -## Remote data - -The remote data can be bound to the 3D chart using the `DataManager`. The `DataManager` requires minimal information like web service URL, adaptor and cross domain to interact with service endpoint properly. Assign the instance of the `DataManager` to the [`dataSource`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/series3DModel/#datasource) property in series and map the fields of data to [`xName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/series3DModel/#xname) and [`yName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/series3DModel/#yname) properties. You can also use the [`query`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/series3DModel/#query) property of the series to filter the data. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/remote-data/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/remote-data/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/remote-data" %} - -## Binding data using ODataAdaptor - -`OData` is a standardized protocol for creating and consuming data. You can retrieve data from OData service using the `DataManager`. Refer to the following code example for remote data binding using OData service. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/binding-data/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/binding-data/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/binding-data" %} - -## Empty points - -The data points that uses the `null` or `undefined` as value are considered as empty points. The empty data points are ignored and is not plotted in the chart. When the data is provided by using the points property, by using [`emptyPointSettings`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/threeDimensionalEmptyPointSettingsModel/) property in series, the empty can be customized. The default [`mode`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/threeDimensionalEmptyPointSettingsModel/#mode) of the empty point is **Gap**. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/empty-points/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/empty-points/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/empty-points" %} - -**Customizing empty point** - -The specific color for empty point can be set by the [`fill`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/threeDimensionalEmptyPointSettingsModel/#fill) property in [`emptyPointSettings`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/threeDimensionalEmptyPointSettingsModel/). - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/empty-points-custom/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/3d-charts/user-interaction/empty-points-custom/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/user-interaction/empty-points-custom" %} \ No newline at end of file diff --git a/chart-sdk/vue/3d-charts/getting-started.md b/chart-sdk/vue/3d-charts/getting-started.md index 85b9fbfb8..b43bc934f 100644 --- a/chart-sdk/vue/3d-charts/getting-started.md +++ b/chart-sdk/vue/3d-charts/getting-started.md @@ -1,24 +1,24 @@ --- layout: post -title: Getting started with Vue 3D Chart component | Syncfusion -description: Checkout and learn how to get started with the Syncfusion Essential JS 2 Vue 3D Chart component, along with detailed steps and examples. -control: Getting started +title: Getting Started with Vue 3D Chart Component | Syncfusion +description: Set up a Vue 2 application and integrate the Syncfusion EJ2 Vue 3D Chart component with module registration, and data binding. +control: Getting started platform: chart-sdk documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Getting started with the 3D Chart component (Vue 2) +# Getting Started with the Vue 3D Chart Component in Vue 2 -This article provides a step-by-step guide for setting up a Vue 2 project using [Vue-CLI](https://cli.vuejs.org) and integrating the Syncfusion® 3D Chart component. +This section provides a step-by-step guide to creating a Vue 2 application using [Vue CLI](https://cli.vuejs.org/) and integrating the Syncfusion Vue 3D Chart component. ## Prerequisites -[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements) +Ensure that the development environment meets the [system requirements for Syncfusion Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements). ## Dependencies -Below is the list of minimum dependencies required to use the 3D Chart component. +The following are the minimum dependencies required to use the Vue 3D Chart component: ``` |-- @syncfusion/ej2-vue-charts @@ -32,80 +32,73 @@ Below is the list of minimum dependencies required to use the 3D Chart component |-- @syncfusion/ej2-svg-base ``` -## Setting up the Vue 2 project +Only the `@syncfusion/ej2-vue-charts` package must be installed directly. Its required dependencies are installed automatically. -To generate a Vue 2 project using Vue-CLI, use the [vue create](https://cli.vuejs.org#getting-started) command. Follow these steps to install Vue CLI and create a new project: +Use a package release that supports Vue 2. Before upgrading, check the [Vue system requirements](https://ej2.syncfusion.com/vue/documentation/system-requirements) and the package release notes. + +## Setting Up the Vue 2 Project + +Install Vue CLI globally using either npm or yarn, and create a project with the [`vue create`](https://cli.vuejs.org/#getting-started) command. + +**npm** ```bash npm install -g @vue/cli vue create quickstart -cd quickstart -npm run serve ``` -or +**yarn** ```bash yarn global add @vue/cli vue create quickstart -cd quickstart -yarn run serve ``` -When creating a new project, choose the option `Default ([Vue 2] babel, eslint)` from the menu. +When creating the project, select `Default ([Vue 2] babel, eslint)` from the menu. If this preset is unavailable, select the manual configuration option and choose Vue 2 when prompted for the Vue version. ![Terminal showing Vue CLI creating a Vue 2 project](../appearance/images/vue2-terminal.png) -Once the `quickstart` project is set up with default settings, proceed to add Syncfusion® components to the project. +After the project is created, navigate to its directory: + +```bash +cd quickstart +``` + +## Add the Syncfusion Vue Package -## Add Syncfusion® Vue packages +Syncfusion Vue packages are available on [npm](https://www.npmjs.com/search?q=ej2-vue). -Syncfusion® packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). To use Vue components, install the required npm package. +Install the `@syncfusion/ej2-vue-charts` package using either npm or yarn. -This article uses the `Vue 3D Chart component` as an example. Install the `@syncfusion/ej2-vue-charts` package by running: +**npm** ```bash npm install @syncfusion/ej2-vue-charts ``` -or + +**yarn** ```bash yarn add @syncfusion/ej2-vue-charts ``` -> Note: npm v5+ saves packages to `dependencies` by default; `--save` is not required. +> **Note:** npm v5 and later save installed packages to `dependencies` by default, so the `--save` option is not required. -## Add Syncfusion® Vue component +## Add the Syncfusion Vue 3D Chart Component -Follow the steps below to add the 3D Chart component: +Follow the steps below to add the Vue 3D Chart component: -1. First, import and register the 3D Chart component in the `script` section of the **src/App.vue** file. +**Step 1:** Import and register the 3D Chart component in the `script` section of the **src/App.vue** file. {% tabs %} {% highlight html tabtitle="~/src/App.vue" %} - - @@ -113,7 +106,7 @@ export default { {% endhighlight %} {% endtabs %} -2\. In the `template` section, define the 3D Chart component. +**Step 2:** In the `template` section, define the 3D Chart component. {% tabs %} {% highlight html tabtitle="~/src/App.vue" %} @@ -127,7 +120,7 @@ export default { {% endhighlight %} {% endtabs %} -Here is the summarized code for the above steps in the **src/App.vue** file: +Here is the complete code for the above steps in the **src/App.vue** file: {% tabs %} {% highlight html tabtitle="~/src/App.vue" %} @@ -135,38 +128,43 @@ Here is the summarized code for the above steps in the **src/App.vue** file: {% endhighlight %} {% endtabs %} -## Run the project +## Run the Project + +Save the changes and start the development server using either npm or yarn. -To run the project, use the following command: +**npm** ```bash npm run serve ``` -or +**yarn** ```bash yarn run serve ``` - + +Open the local URL displayed in the terminal, such as `http://localhost:8080`, and verify that the 3D Chart displays the monthly sales data. + {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs1" %} -## Module registration +## Module Registration + +The 3D Chart component is divided into feature-specific modules. Register the modules required by the application using the component's `provide` option. -The 3D Chart component is organized into feature-specific modules. In Vue, enable a feature by registering its module(s) in the component's `provide` option. The following features are demonstrated in the examples: +The following modules are used in this guide: -* `ColumnSeries3D` — Module for column series. -* `Legend3D` — Module for legend support. -* `Tooltip3D` — Module for tooltip support. -* `DataLabel3D` — Module for data labels. -* `Category3D` — Module for category axis support. +- `ColumnSeries3D` enables the 3D column series. +- `Category3D` enables category values on the horizontal axis. +- `DataLabel3D` enables data labels. +- `Tooltip3D` enables tooltips. -The sample code below shows how to register the required modules in the component `provide` option: +Register `ColumnSeries3D` when the series `type` is `Column`. Register `Category3D` when `primaryXAxis.valueType` is `Category`. Register `DataLabel3D` and `Tooltip3D` only when their corresponding features are enabled. ```javascript -import { +import { Chart3DComponent, Chart3DSeriesCollectionDirective, Chart3DSeriesDirective, - Chart3D, ColumnSeries3D, Category3D, Legend3D, Tooltip3D, DataLabel3D + ColumnSeries3D, Category3D, Legend3D, Tooltip3D, DataLabel3D } from "@syncfusion/ej2-vue-charts"; export default { @@ -176,14 +174,22 @@ export default { 'e-chart3d-series': Chart3DSeriesDirective }, provide: { - chart3d: [Chart3D, ColumnSeries3D, Category3D, Legend3D, Tooltip3D, DataLabel3D] + chart3d: [ColumnSeries3D, Category3D, Legend3D, Tooltip3D, DataLabel3D] } }; ``` -## Populate 3D chart with data +> **Note:** Register only the modules used by the application to keep the bundle size smaller. The `provide` key for the 3D Chart component must be `chart3d`. + +## Populate the 3D Chart with Data + +The 3D Chart series uses the following properties to bind data: -This section explains how to plot below JSON data to the 3D Chart. +- [`dataSource`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#datasource) specifies the array of data objects. +- [`xName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#xname) maps the horizontal-axis field. +- [`yName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#yname) maps the numeric value field. +- [`type`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#type) specifies the series type. +- [`valueType`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3daxismodel#valuetype) specifies the type of values used on an axis. ```javascript export default { @@ -202,9 +208,11 @@ export default { }; ``` -* Add a series object to the 3D Chart by using [`series`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel) property. Now map the field names `month` and `sales` in the JSON data to the [`xName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#xname) and [`yName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#yname) properties of the series, then set the JSON data to [`dataSource`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#datasource) property. +Because the `month` field in this example contains category values, set `primaryXAxis.valueType` to `Category` and register the `Category3D` module. The default axis value type is `Numeric`. -Since the JSON contains category data, set the [`valueType`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/valueType) for horizontal axis to `Category`. By default, the axis valueType is `Numeric`. +The sales values are expressed in thousands. Set `primaryYAxis.labelFormat` to `${value}K` to add a dollar-sign prefix and a `K` suffix to each vertical-axis label. + +Each data object must contain the fields assigned to `xName` and `yName`. The field assigned to `yName` must contain a numeric value. {% tabs %} {% highlight html tabtitle="~/src/App.vue" %} @@ -214,68 +222,20 @@ Since the JSON contains category data, set the [`valueType`](https://ej2.syncfus {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs2" %} -* The sales data are in thousands. Format the vertical axis labels by adding $ as a prefix and K as a suffix by setting the axis `labelFormat` to '${value}K' using the [`labelFormat`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3daxismodel#labelformat) property. Here, `{value}` is a placeholder for each axis label. - -## Verify the chart - -After starting the dev server, confirm the 3D chart renders correctly: - -- Start the dev server with `npm run serve` or `yarn run serve`. -- Open the project URL shown in the terminal and verify the chart displays. -- If the chart does not render, check the browser console for errors related to missing modules, incorrect imports, or incompatible Vue versions. +## Troubleshooting -## Troubleshooting (common issues) +- **The 3D Chart is not rendered.** Verify that `Chart3DComponent`, `Chart3DSeriesCollectionDirective`, and `Chart3DSeriesDirective` are imported and registered. Check the browser console for component, module, data, or licensing errors. +- **The column series is not displayed.** Import `ColumnSeries3D` and add it to the `chart3d` array in the `provide` option. +- **Category values are not displayed correctly.** Set `primaryXAxis.valueType` to `Category`, import `Category3D`, and add it to the `chart3d` array. +- **No data is displayed.** Verify that `dataSource` contains data, `xName` and `yName` match the fields in each data object, and the field assigned to `yName` contains numeric values. +- **Module registration is not recognized.** Ensure that the `provide` option uses the exact `chart3d` key. +- **A package or Vue version error occurs.** Confirm that the installed `@syncfusion/ej2-vue-charts` release supports Vue 2 and that all Syncfusion packages use compatible versions. -- Chart not rendering: ensure required 3D modules are registered in `provide` and that `seriesData` contains valid data. -- Incorrect module key: some sample code uses the `chart3d` key in `provide`; keep the key consistent with the examples used in the project. -- Version mismatch: confirm `@syncfusion/ej2-vue-charts` is compatible with the project's Vue version. +## See Also -## Add 3D chart title - -You can add a title using [`title`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel#title) property to the 3D Chart to provide quick information to the user about the data plotted in the 3D Chart. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs3/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs3" %} - -## Enable legend - -You can use legend for the 3D Chart by setting the [`visible`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dlegendsettingsmodel#visible) property to true in [`legendSettings`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel#legendsettings) object and by injecting the `Legend3D` into the `provide`. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs4/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs4" %} - -## Add data label - -You can add data labels to improve the readability of the 3D Chart. This can be achieved by setting the [`visible`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3ddatalabelsettingsmodel#visible) property to true in the [`dataLabel`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#datalabel) object and by injecting `DataLabel3D` into the `provide`. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs5/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs5" %} - -## Enable tooltip - -The tooltip is useful when you cannot display information by using the data labels due to space constraints. You can enable tooltip by setting the [`enable`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dtooltipsettingsmodel#enable) property as true in [`tooltip`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3DModel#tooltip) object and by injecting `Tooltip3D` into the `provide`. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs6/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/3d-charts/getting-started/sample-cs6" %} +- [Vue 3D Chart examples](https://ej2.syncfusion.com/vue/demos/#/material3/three-dimension-chart/column.html) +- [Vue 3D Chart API reference](https://ej2.syncfusion.com/vue/documentation/api/chart3d) +- [Getting Started with Vue 3 using Composition API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-composition) +- [Getting Started with Vue 3 using Options API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-options) > You can refer to our `Vue 3D Charts` feature tour page for its groundbreaking feature representations. You can also explore our [Vue 3D Charts example](https://ej2.syncfusion.com/vue/demos/#/material3/three-dimension-chart/column.html) that shows various 3D Chart types and how to represent time-dependent data, showing trends in data at equal intervals. \ No newline at end of file diff --git a/chart-sdk/vue/3d-charts/images/vue3-3d-chart-demo.png b/chart-sdk/vue/3d-charts/images/vue3-3d-chart-demo.png index 2cae53e5806a6a0a9433870dce675c18f143cfea..8893c635688436b48ad92363abb20b767b9c1699 100644 GIT binary patch literal 18970 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® Vue 3D Chart component using either the [Composition API](https://vuejs.org/guide/introduction.html#composition-api) or the [Options API](https://vuejs.org/guide/introduction.html#options-api). +This article provides a step-by-step guide to setting up a [Vite](https://vite.dev/) project with JavaScript and integrating the Syncfusion® Vue 3D Chart component using either the [Composition API](https://vuejs.org/guide/introduction.html#composition-api) or the [Options API](https://vuejs.org/guide/introduction.html#options-api). -The Composition API, introduced in Vue 3, organizes related logic into reusable composition functions and is recommended for larger or composition-oriented code bases. The Options API organizes component logic with `data`, `methods`, and life cycle hooks and may be preferable for smaller components or teams familiar with Vue 2 patterns. +The **Composition API** groups related logic into reusable functions and is suitable for larger code bases. The **Options API** organizes component logic with options such as `data`, `methods`, and life cycle hooks. Choose the API that best fits the application's structure and maintainability requirements. ## Prerequisites -[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements) +Ensure that the development environment meets the [system requirements for Syncfusion Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements). -## Set up the Vite project +## Set Up the Vite Project -A recommended approach for beginning with Vue is to scaffold a project using [Vite](https://vitejs.dev). To create a new Vite project, use one of the commands that are specific to either NPM or Yarn. +Create a Vite project using either npm or yarn. -```bash -npm create vite@latest -``` - -or +**npm** ```bash -yarn create vite +npm create vite@latest my-app -- --template vue ``` - -Using one of the above commands starts an interactive setup. Follow these steps: - -1. Define the project name. For this article use `my-project`. +**yarn** ```bash -? Project name: » my-project +yarn create vite my-app --template vue ``` -2. Select `Vue` as the framework to create a Vue 3 project. - -```bash -? Select a framework: » - Use arrow-keys. Return to submit. -Vanilla -> Vue - React - Preact - Lit - Svelte - Others -``` +If Vite prompts you to install dependencies and start the project immediately, select **No**. The Syncfusion package is installed in a later step. -3. Choose `JavaScript` as the project variant. +Navigate to the project directory: ```bash -? Select a variant: » - Use arrow-keys. Return to submit. -> JavaScript - TypeScript - Customize with create-vue ↗ - Nuxt ↗ +cd my-app ``` +Install the project dependencies using either npm or yarn. -4. After creating the project, install dependencies by running: +**npm** ```bash -cd my-project npm install ``` -or +**yarn** ```bash -cd my-project yarn install ``` -Now that `my-project` is ready with default settings, add Syncfusion® Vue components to the project. +Now that `my-project` is ready, add Syncfusion® Vue components to the project. + +> **Note:** To create a TypeScript project, use `npm create vite@latest my-app -- --template vue-ts` or `yarn create vite my-app --template vue-ts`. -## Add Syncfusion® Vue packages +## Add Syncfusion® Vue Package -Syncfusion® Vue component packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). To use Syncfusion® Vue components in the project, install the corresponding npm package. +Syncfusion Vue packages are available on [npm](https://www.npmjs.com/search?q=ej2-vue). -This article uses the Vue 3D Chart component as an example. Install the `@syncfusion/ej2-vue-charts` package with: +Install the `@syncfusion/ej2-vue-charts` package. Use a package release that supports Vue 3 and the Node.js version used by the project. + +**npm** ```bash npm install @syncfusion/ej2-vue-charts ``` -or +**yarn** ```bash yarn add @syncfusion/ej2-vue-charts @@ -99,37 +80,33 @@ yarn add @syncfusion/ej2-vue-charts > Note: npm v5+ saves packages to `dependencies` by default; `--save` is not required. -## Add Syncfusion® Vue component +## Add Syncfusion® Vue 3D Chart Component + +Follow these steps to add the Vue 3D Chart component using the Composition API or Options API. + +**Step 1:** Import and Register the Component -Follow the steps below to add the Vue 3D Chart component using the Composition API or Options API. +Import the 3D Chart component, its child directives, and the modules required by the example in the `script` section of **src/App.vue**. -1. Import and register the 3D Chart component, its child directives, and required modules in the `script` section of **src/App.vue**. - **Important:** When using Composition API, also import `provide` from 'vue' and inject the modules — this is required or the series will not render. +The example uses these modules: + +- `ColumnSeries3D` renders the 3D column series. +- `Category3D` supports category values on the horizontal axis. + +When using the Composition API, alias the imported component and directive names so they match the custom elements used in the template. Components imported in ` @@ -138,37 +115,251 @@ provide('chart3d', [ColumnSeries3D, Category3D]); {% highlight html tabtitle="Options API (~/src/App.vue)" %} + +{% endhighlight %} +{% endtabs %} + +> **Note:** The module injection key must be `chart3d`. Register only the modules required by the features used in the application. + +**Step 2:** Define the Data and Chart Configuration + +Define the chart data and horizontal-axis configuration in the `script` section. + +Because the `month` field contains category values, set `primaryXAxis.valueType` to `Category` and register the `Category3D` module. + +{% tabs %} +{% highlight html tabtitle="Composition API (~/src/App.vue)" %} + + + +{% endhighlight %} +{% highlight html tabtitle="Options API (~/src/App.vue)" %} + + + +{% endhighlight %} +{% endtabs %} + +**Step 3:** Define the 3D Chart in the Template + +Add the 3D Chart and its series directives to the `template` section of **src/App.vue**. + +The series uses the following properties: + +- [`dataSource`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#datasource) specifies the array of data objects. +- [`xName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#xname) maps the category field. +- [`yName`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#yname) maps the numeric field. +- [`type`](https://ej2.syncfusion.com/vue/documentation/api/chart3d/chart3dseriesmodel#type) specifies the series type. + +{% tabs %} +{% highlight html tabtitle="~/src/App.vue" %} + + + +{% endhighlight %} +{% endtabs %} + +The following examples combine component registration, module injection, data configuration, and template markup. + +{% tabs %} +{% highlight html tabtitle="Composition API (~/src/App.vue)" %} + + + + + +{% endhighlight %} +{% highlight html tabtitle="Options API (~/src/App.vue)" %} + + + + @@ -176,47 +367,42 @@ export default { {% endhighlight %} {% endtabs %} -> **Critical – Do not skip this step** -> You **must** provide the required modules (`ColumnSeries3D`, `Category3D`, etc.) using `provide`. -> If you forget → the chart container appears **empty** (no bars/series visible), usually with **no console error**. -> This is the most common reason the 3D Chart fails to display data in Vue 3 projects. -## Run the project +## Run the Project -To run the project, use the following command: +Save **src/App.vue**, and then start the development server. + +**npm** ```bash npm run dev ``` -or +**yarn** ```bash yarn run dev ``` -The output will appear as follows: +Open the local URL displayed in the terminal, commonly `http://localhost:5173`, and verify that a 3D column chart titled **Sales Analysis** displays monthly sales values from January through December. ![Vue 3 3D Chart sample showing a column chart titled Sales Analysis](./images/vue3-3d-chart-demo.png) -## Verify the chart - -After starting the development server, confirm the chart renders correctly: +> **Sample:** Explore the [Vue 3D Chart getting-started project](https://github.com/SyncfusionExamples/getting-started-with-the-vue-3d-chart-component). -- Start the development server with `npm run dev` or `yarn run dev`. -- Open the project URL shown in the terminal (commonly `http://localhost:5173`) and verify the chart displays. -- If the chart does not render, open the browser console and check for errors related to missing modules, incorrect imports, or incompatible Vue versions. +For information about migrating an application from Vue 2 to Vue 3, see the [Vue 3 Migration Guide](https://v3-migration.vuejs.org/). -## Troubleshooting (common issues) +## Troubleshooting -- Chart not rendering: ensure chart modules (for example, `ColumnSeries3D`, `Category3D`, `Legend3D`, `Tooltip`) are provided via `provide` (Composition API) or `provide`/`provide:` (Options API). -- Wrong package version: confirm `@syncfusion/ej2-vue-charts` matches the project's Vue version. -- Missing child directives: ensure `Chart3DSeriesCollectionDirective` and `Chart3DSeriesDirective` are registered when using directives. -- Console errors: inspect import paths and verify dependencies are installed. +- **The 3D Chart is not rendered.** Verify that the component and both child directives are imported. In the Options API, also verify that they are registered in `components`. Check the browser console for component, module, data, or licensing errors. +- **The column series is not displayed.** Import `ColumnSeries3D` and add it to the array provided with the exact `chart3d` key. +- **Category values are not displayed correctly.** Set `primaryXAxis.valueType` to `Category`, import `Category3D`, and provide it with the `chart3d` key. +- **No data is displayed.** Verify that `dataSource` contains records, `xName` and `yName` match fields in each data object, and the field mapped by `yName` contains numeric values. +- **An import or runtime error is displayed.** Verify that `@syncfusion/ej2-vue-charts` is installed and that its version supports the project's Vue and Node.js versions. -> **Sample**: `vue-3-3d-chart-getting-started`. -For migrating from Vue 2 to Vue 3, refer to the `migration` documentation. +For additional assistance, refer to the [Vue 3D Chart API documentation](https://ej2.syncfusion.com/vue/documentation/api/chart3d). -## See also +## See Also -* [Getting Started with Vue UI Components using Composition API and TypeScript](../getting-started/vue-3-ts-composition.md) -* [Getting Started with Vue UI Components using Options API and TypeScript](../getting-started/vue-3-ts-options.md) \ No newline at end of file +- [Vue 3D Chart examples](https://ej2.syncfusion.com/vue/demos/#/material3/three-dimension-chart/column.html) +- [Getting Started with Vue UI Components using the Composition API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-composition) +- [Getting Started with Vue UI Components using the Options API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-options) diff --git a/chart-sdk/vue/3d-circular-charts/getting-started.md b/chart-sdk/vue/3d-circular-charts/getting-started.md index da52c5e61..3cd3500a3 100644 --- a/chart-sdk/vue/3d-circular-charts/getting-started.md +++ b/chart-sdk/vue/3d-circular-charts/getting-started.md @@ -1,16 +1,16 @@ ---- + --- layout: post -title: Getting Started with 3D Circular Chart (Vue 2) | Syncfusion -description: Set up a Vue 2 app and integrate Syncfusion EJ2 3D Circular Chart, including setup steps, module registration, and practical example usage. -control: Getting started +title: Getting Started with the Vue 3D Circular Chart Component | Syncfusion +description: Set up a Vue 2 application and integrate the Syncfusion EJ2 Vue 3D Circular Chart with project setup, module registration, and data binding. +control: Getting started platform: chart-sdk documentation: ug domainurl: https://help.syncfusion.com/chart-sdk --- -# Getting started with 3D Circular Chart (Vue 2) +# Getting Started with the Vue 3D Circular Chart Component in Vue 2 -This article provides a step-by-step guide for setting up a Vue 2 project using [Vue-CLI](https://cli.vuejs.org) and integrating the Syncfusion® 3D Circular Chart component. +This section provides a step-by-step guide to creating a Vue 2 application using [Vue CLI](https://cli.vuejs.org/) and integrating the Syncfusion® Vue 3D Circular Chart component. To get started quickly with 3D Circular Charts, watch the following introduction video: @@ -18,11 +18,13 @@ To get started quickly with 3D Circular Charts, watch the following introduction ## Prerequisites -[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements) +Ensure that the development environment meets the [system requirements for Syncfusion Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements). + +> **Note:** Vue CLI is in maintenance mode. This guide uses Vue CLI because it describes integration with a Vue 2 application. ## Dependencies -Below is the list of minimum dependencies required to use the 3D Circular Chart component. +The following are the minimum dependencies required to use the Vue 3D Circular Chart component: ``` |-- @syncfusion/ej2-vue-charts @@ -36,90 +38,96 @@ Below is the list of minimum dependencies required to use the 3D Circular Chart |-- @syncfusion/ej2-svg-base ``` -## Setting up the Vue 2 project +Only the `@syncfusion/ej2-vue-charts` package must be installed directly. Its required dependencies are installed automatically. + +Use a package release that supports Vue 2. Before upgrading, check the [Vue system requirements](https://ej2.syncfusion.com/vue/documentation/system-requirements) and the package release notes. -To generate a Vue 2 project using Vue-CLI, use the [vue create](https://cli.vuejs.org#getting-started) command. Follow these steps to install Vue CLI and create a new project: +## Setting Up the Vue 2 Project + +Install Vue CLI globally using either npm or yarn, and create a project with the [`vue create`](https://cli.vuejs.org/#getting-started) command. + +**npm** ```bash npm install -g @vue/cli vue create quickstart -cd quickstart -npm run serve ``` -or +**yarn** ```bash yarn global add @vue/cli vue create quickstart -cd quickstart -yarn run serve ``` -When creating a new project, choose the option `Default ([Vue 2] babel, eslint)` from the menu. +When creating the project, select `Default ([Vue 2] babel, eslint)` from the menu. If this preset is unavailable, select the manual configuration option and choose Vue 2 when prompted for the Vue version. -![Terminal showing Vue CLI creating a Vue 2 project](images/vue2-terminal.png) +![Terminal showing Vue CLI creating a Vue 2 project](../appearance/images/vue2-terminal.png) -Once the `quickstart` project is set up with default settings, proceed to add Syncfusion® components to the project. +After the project is created, navigate to its directory: -## Add Syncfusion® Vue packages +```bash +cd quickstart +``` + +## Add the Syncfusion® Vue Package + +Syncfusion® Vue packages are available on [npm](https://www.npmjs.com/search?q=ej2-vue). -Syncfusion® packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). To use Vue components, install the required npm package. +Install the `@syncfusion/ej2-vue-charts` package using either npm or yarn. -This article uses the `Vue 3D Circular Chart component` as an example. Install the `@syncfusion/ej2-vue-charts` package by running: +**npm** ```bash npm install @syncfusion/ej2-vue-charts ``` -or + +**yarn** ```bash yarn add @syncfusion/ej2-vue-charts ``` -> Note: npm v5+ saves packages to `dependencies` by default; `--save` is not required. +> **Note:** npm v5 and later save installed packages to `dependencies` by default, so the `--save` option is not required. -## Add Syncfusion® Vue component +## Add the Syncfusion® Vue 3D Circular Chart Component -Follow the steps below to add the 3D Circular Chart component: +Follow these steps to add the Vue 3D Circular Chart component. -1. First, import and register the 3D Circular Chart component and provide the required 3D series module in the `script` section of **src/App.vue**. The example below is a complete, copy-paste-ready Vue 2 `App.vue` with a concrete `seriesData` array and `provide` registration for `PieSeries3D`. +**Step 1:** Import and locally register the 3D Circular Chart component and its series directives in the `script` section of **src/App.vue**. {% tabs %} {% highlight html tabtitle="~/src/App.vue" %} +{% endhighlight %} +{% endtabs %} + +**Step 2:** Define the 3D Circular Chart component and its series collection in the `template` section. + +{% tabs %} +{% highlight html tabtitle="~/src/App.vue" %} + {% endhighlight %} @@ -262,7 +202,6 @@ provide("sankey", [SankeyTooltip, SankeyLegend]); @@ -289,15 +228,12 @@ import { SankeyNodeDirective, SankeyLinksCollectionDirective, SankeyLinkDirective, - SankeyTooltip, - SankeyLegend } from "@syncfusion/ej2-vue-charts"; export default { name: "App", data() { return { - tooltip: { enable: true } }; }, components: { @@ -307,49 +243,45 @@ export default { "e-sankey-links-collection": SankeyLinksCollectionDirective, "e-sankey-link": SankeyLinkDirective }, - provide: { - sankey: [SankeyTooltip, SankeyLegend] - } }; {% endhighlight %} {% endtabs %} -## Run the project + +## Run the Project To run the project, use the following command: +**npm** ```bash npm run dev ``` -or - +**yarn** ```bash yarn run dev ``` +The development server will start and display a message with the port number (typically `http://localhost:5173`). Open your browser and navigate to this URL to view the Sankey Chart. + The output will appear as follows: -![Vue 3 Sankey Chart sample showing with tooltip](./images/vue3-sankey-tooltip.png) +![Vue 3 Sankey Chart sample](./images/vue3-sankey-tooltip.png) -## Verify the chart +## Troubleshooting -After starting the development server, confirm the chart renders correctly: +The following are common issues and solutions when integrating the Sankey Chart component: -- Start the development server with `npm run dev` or `yarn run dev`. -- Open the project URL shown in the terminal (commonly `http://localhost:5173`) and verify the chart displays. -- If the chart does not render, open the browser console and check for errors related to missing modules, incorrect imports, or incompatible Vue versions. +- **Chart not rendering**: Ensure that all required modules are registered in the `provide` option. Verify that both nodes and links are defined with proper structure. -## Troubleshooting (common issues) +- **Module import errors**: Confirm that all required modules are imported from `@syncfusion/ej2-vue-charts` and that the component is registered correctly with proper directive naming. -- Chart not rendering: ensure the Sankey modules and directives are registered in `provide` and that `sankeyLinks` contains valid data. -- Version mismatch: confirm `@syncfusion/ej2-vue-charts` is compatible with Vue version used in the project. +- **Data not displaying**: Verify that the links data structure includes `sourceId`, `targetId`, and `value` properties. Each link must reference valid node IDs to display correctly. -> **Sample**: `vue-3-sankey-chart-getting-started`. -For migrating from Vue 2 to Vue 3, refer to the `migration` documentation. +- **Version mismatch**: Confirm that the `@syncfusion/ej2-vue-charts` package version is compatible with Vue 3.0+ used in your project. Install the latest compatible version if needed. -## See also +## See Also -* [Getting Started with Vue UI Components using Composition API and TypeScript](../getting-started/vue-3-ts-composition.md) -* [Getting Started with Vue UI Components using Options API and TypeScript](../getting-started/vue-3-ts-options.md) \ No newline at end of file +* [Getting Started with Vue UI Components using Composition API and TypeScript](../getting-started/vue-3-ts-composition) +* [Getting Started with Vue UI Components using Options API and TypeScript](../getting-started/vue-3-ts-options) \ No newline at end of file diff --git a/chart-sdk/vue/sankey/accessibility.md b/chart-sdk/vue/sankey/accessibility.md deleted file mode 100644 index a0f434446..000000000 --- a/chart-sdk/vue/sankey/accessibility.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -layout: post -title: Accessibility in Vue Sankey Chart component | Syncfusion -description: Learn here all about Accessibility in Syncfusion Vue Sankey Chart component of Syncfusion Essential JS 2 and more. -control: Accessibility -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Accessibility in Vue Sankey Chart component - -The Sankey Chart component follows the accessibility guidelines and standards, including [ADA](https://www.ada.gov), [Section 508](https://www.section508.gov), [WCAG 2.2](https://www.w3.org/TR/WCAG22), and relevant [WAI-ARIA](https://www.w3.org/TR/wai-aria#roles) roles. - -The Sankey Chart component's accessibility compliance is outlined below. - -| Accessibility Criteria | Compatibility | -| -- | -- | -| [WCAG 2.2](https://www.w3.org/TR/WCAG22) Support | Yes | -| [Section 508](https://www.section508.gov) Support | Yes | -| Screen Reader Support | Yes | -| Right-To-Left Support | Yes | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Yes | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | -| [Axe-core](https://www.npmjs.com/package/axe-core) Accessibility Validation | Yes | - - -
      Yes - All features of the component meet the requirement.
      - -
      Intermediate - Some features of the component do not meet the requirement.
      - -
      No - The component does not meet the requirement.
      - -## WAI-ARIA attributes - -The Sankey Chart component follows the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert) patterns to meet the accessibility. The following ARIA attributes are used in the Sankey Chart component: - -* img (role) -* button (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) -* aria-pressed (attribute) - -## Keyboard interaction - -The Sankey Chart component follows the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert#keyboardinteraction) guidelines, making it easier for assistive technology users and keyboard-only users to navigate the chart. The following keyboard shortcuts are supported by the Sankey Chart component. - -| **Press** | **To do this** | -| --- | --- | -| Alt + J | Moves the focus to the Sankey Chart element. | -| Tab | Moves the focus to the next element in the chart. | -| Shift + Tab | Moves the focus to the previous element in the chart. | -| Down Arrow | Moves the focus to the node or link below from the selected element. | -| Up Arrow | Moves the focus to the node or link above from the selected element. | -| Left Arrow | Moves the focus to the next node or link from the selected element. | -| Right Arrow | Moves the focus to the previous node or link from the selected element. | -| ESC | Cancel the tooltip for the node or link. | -| Ctrl + P | Prints the Sankey Chart. | - -## Ensuring accessibility - -The Sankey Chart component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Sankey Chart component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/sankey.html) in a new window to evaluate the accessibility of the Sankey Chart component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/sankey.html" %} - -## See also - -* [Accessibility in Syncfusion® Vue components](../common/accessibility) - diff --git a/chart-sdk/vue/sankey/appearance.md b/chart-sdk/vue/sankey/appearance.md deleted file mode 100644 index 9953d1a3f..000000000 --- a/chart-sdk/vue/sankey/appearance.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -layout: post -title: Appearance in Vue Sankey Chart component | Syncfusion -description: Learn here all about Appearance in Syncfusion Vue Sankey Chart component of Syncfusion Essential JS 2 and more. -control: Appearance -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Appearance in Vue Sankey Chart component - -The Sankey Chart provides comprehensive customization options to control visual appearance, dimensions, responsiveness, colors, borders, and themes. These appearance settings enable you to create diagrams that match your application's design system and user experience requirements. This guide covers dimension configuration, responsive sizing, backgrounds, borders, margins, and theme selection. - -## Dimensions -Control the size of the Sankey Chart using the `width` and `height` properties. You can specify dimensions in pixels (px) or percentages (%) to create fixed or responsive layouts. - -### Width and Height Properties - -| Property | Type | Default | Description | -|----------|--------|---------|--------------------------------------------------| -| width | string | null | Width of the chart as a CSS value (e.g., '700px' or '100%'). | -| height | string | null | Height of the chart as a CSS value (e.g., '420px' or '100%'). | - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/dimensions-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/dimensions-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/appearance/dimensions-cs1" %} - -## Responsive Sizing -Use percentage-based dimensions for responsive layouts that adapt to container sizes. This is recommended for applications that need to work across different device sizes and screen orientations: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/responsive-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/responsive-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/appearance/responsive-cs1" %} - -## Background Customization -Customize the background of the Sankey Chart with solid colors or background images to match your application's theme or create specific visual effects. - -### Background Properties - -| Property | Type | Default | Description | -|-----------------|--------|---------|--------------------------------------| -| background | string | null | Background color of the chart (CSS color value). | -| backgroundImage | string | null | Background image URL. | - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/background-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/background-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/appearance/background-cs1" %} - -## Border Customization -Customize the border of the Sankey Chart container. - -### Border Properties - -| Property | Type | Default | Description | -|-------------------|--------|---------|--------------------------------------------------| -| border.color | string | '' | Border color. Accepts values in hex or RGBA as valid CSS color strings. | -| border.width | number | 1 | Border width in pixels. | -| border.dashArray | string | '' | Sets the length of dashes in the stroke of border. | - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/border-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/border-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/appearance/border-cs1" %} - -## Margin Customization -Control the spacing around the chart content using margins. - -### Margin Properties - -| Property | Type | Default | Description | -|----------------|--------|---------|------------------------------| -| margin.left | number | 10 | Left margin in pixels. | -| margin.right | number | 10 | Right margin in pixels. | -| margin.top | number | 10 | Top margin in pixels. | -| margin.bottom | number | 10 | Bottom margin in pixels. | - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/margin-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/margin-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/appearance/margin-cs1" %} - -## Theme -The Sankey Chart provides multiple built-in themes to customize the visual appearance. Apply a theme using the `theme` property. - -### Theme Configuration - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/theme-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/appearance/theme-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/appearance/theme-cs1" %} \ No newline at end of file diff --git a/chart-sdk/vue/sankey/customization.md b/chart-sdk/vue/sankey/customization.md deleted file mode 100644 index 7872267c3..000000000 --- a/chart-sdk/vue/sankey/customization.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -layout: post -title: Customization in Vue Sankey Chart component | Syncfusion -description: Learn here all about Customization in Syncfusion Vue Sankey Chart component of Syncfusion Essential JS 2 and more. -control: Customization -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Customization in Vue Sankey Chart component - -The Sankey Chart provides extensive customization options to create visualizations that match your specific design requirements and data presentation needs. From styling and theming to advanced visual techniques, the component enables complete control over appearance and behavior. - -This guide covers comprehensive customization techniques including styling, theming, color mapping, and visual customization strategies. - -## Styling Overview - -The Sankey Chart supports multiple levels of styling customization: - -- **Global Styling**: Apply consistent styles to all elements -- **Element-Level Styling**: Customize specific nodes, links, or labels -- **Data-Driven Styling**: Apply styles based on data values or conditions -- **Theme-Based Styling**: Use predefined themes or create custom themes - -## Node and Link Styling - -### Global Node Styling - -Apply consistent styling to all nodes using the `nodeStyle` property: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/node-styling-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/node-styling-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - - {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/node-styling-cs1" %} - -### Global Link Styling - -Configure link appearance using the `linkStyle` property: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/link-styling-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/link-styling-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - - {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/link-styling-cs1" %} - -## Individual Element Customization - -### Custom Node Appearance - -Customize individual nodes by setting properties on each node object: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/individual-nodes-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/individual-nodes-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - - {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/individual-nodes-cs1" %} - -### Custom Node Labels - -Customize individual node labels with specific text, styling, and positioning: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/individual-labels-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/individual-labels-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - - {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/individual-labels-cs1" %} - -## Color Customization - -### Predefined Color Palettes - -Apply predefined color palettes to automatically color nodes: - -```typescript -const nodes = [ - { id: 'Source1', label: { text: 'Source 1' }, color: '#3DA6D4' }, - { id: 'Source2', label: { text: 'Source 2' }, color: '#FFA500' }, - { id: 'Target', label: { text: 'Target' }, color: '#28A745' } -]; -``` - -### Color Mapping - -Map colors to specific categories or value ranges: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/color-mapping-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/color-mapping-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - - {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/color-mapping-cs1" %} - -## Theme Customization - -### Apply Theme - -```typescript -const theme = 'Material'; // or 'Fabric', 'Bootstrap', 'HighContrast' -``` - -### Custom Theme Colors - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/custom-theme-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/custom-theme-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - - {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/custom-theme-cs1" %} - -## Tooltip Customization - -### Template-Based Tooltips - -Create custom tooltip templates for rich content: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/tooltip-template-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/tooltip-template-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - - {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/tooltip-template-cs1" %} - -## Advanced Customization Patterns - -### Conditional Styling Based on Data - -Apply different styles based on data conditions or value ranges: - -```typescript -const onNodeRendering = (args) => { - const value = args.node.value || 0; - - if (value > 200) { - args.node.color = '#00A651'; // High flow - green - } else if (value > 100) { - args.node.color = '#FFB81C'; // Medium flow - orange - } else { - args.node.color = '#E81B23'; // Low flow - red - } -}; -``` -### Category-Based Styling - -Assign colors and styles based on node categories: - -```typescript -const categoryColors = { - 'Energy': '#FF6B6B', - 'Transport': '#4ECDC4', - 'Industry': '#95E1D3', - 'Residential': '#FFD93D' -}; - -const onNodeRendering = (args) => { - const category = extractCategory(args.node.id); - args.node.color = categoryColors[category] || '#999'; -}; -``` - -### Interactive Styling - -Apply different styles for hover and focus states: - -```typescript -const onNodeEnter = (args) => { - // Highlight node on hover - args.node.highlightOpacity = 1; -}; - -const onNodeLeave = (args) => { - // Reset to normal state - args.node.highlightOpacity = 0.3; -}; -``` - -## Performance Optimization - -### Large Dataset Customization - -For charts with many nodes and links, optimize rendering performance: - -1. **Use Global Styles**: Apply global `nodeStyle` and `linkStyle` instead of individual customization -2. **Minimize Calculations**: Reduce complex calculations in rendering events -3. **Conditional Rendering**: Only customize visible elements in viewport -4. **Cache Results**: Cache computed styles and colors - -## Customization Best Practices - -### Key Considerations - -1. **Consistency** - - Maintain consistent color schemes across nodes and links - - Use meaningful colors that represent data categories - - Apply visual hierarchy through size and opacity - -2. **Performance** - - Avoid complex calculations in rendering events - - Use global styles when possible - - Optimize for large datasets - -3. **Accessibility** - - Don't rely solely on color for information - - Ensure sufficient contrast ratios - - Provide alternative representations - -4. **User Experience** - - Use intuitive color mapping - - Provide clear visual feedback for interactions - - Maintain visual consistency with your application - -5. **Maintainability** - - Document custom styling logic - - Use reusable style functions - - Separate styling from business logic - -## Example: Comprehensive Customization - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/comprehensive-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/comprehensive-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - - {% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/comprehensive-cs1" %} - -## Related Topics - -- [Appearance](appearance.md) -- [Nodes](nodes.md) -- [Links](links.md) -- [Labels](labels.md) -- [Legend](legend.md) -- [Events](events.md) \ No newline at end of file diff --git a/chart-sdk/vue/sankey/events.md b/chart-sdk/vue/sankey/events.md deleted file mode 100644 index 57cc9ac91..000000000 --- a/chart-sdk/vue/sankey/events.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -layout: post -title: Events in Vue Sankey Chart component | Syncfusion -description: Learn here all about Events in Syncfusion Vue Sankey Chart component of Syncfusion Essential JS 2 and more. -control: Events -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Events in Vue Sankey Chart component - -The Sankey Chart provides comprehensive events that allow you to customize behavior, respond to user interactions, and hook into the chart life cycle. These events enable advanced customization scenarios including data transformation, analytics tracking, and dynamic UI updates. - -This guide covers life cycle events, rendering events, interaction events, and export/print events. - -## Event List - -| Event | Description | -|-------|-------------| -| load | Triggers before the Sankey loads. Allows customization before rendering. | -| loaded | Triggers after the Sankey is fully loaded and rendered. | -| legendItemRendering | Triggers before a legend item is rendered. Allows customization of legend items. | -| labelRendering | Triggers before a label is rendered. Allows customization of label text and style. | -| nodeRendering | Triggers before a node is rendered. Allows customization of node appearance. | -| linkRendering | Triggers before a link is rendered. Allows customization of link appearance. | -| tooltipRendering | Triggers before a tooltip is rendered. Allows customization of tooltip content. | -| nodeClick | Triggers when a node is clicked. | -| nodeEnter | Triggers when the mouse enters a node area. | -| nodeLeave | Triggers when the mouse leaves a node area. | -| linkClick | Triggers when a link is clicked. | -| linkEnter | Triggers when the mouse enters a link area. | -| linkLeave | Triggers when the mouse leaves a link area. | -| sizeChanged | Triggers when the chart size changes. | -| beforeExport | Triggers before the export process starts. | -| afterExport | Triggers after the export process completes. | -| exportCompleted | Triggers when export is completed. | -| beforePrint | Triggers before the print process starts. | - -## Lifecycle Events - -### Load Event - -The `load` event triggers before the Sankey Chart begins rendering. Use this event to customize configuration, apply themes, or prepare data before the chart loads: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/load-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/load-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/events/load-cs1" %} - -### Loaded Event - -The `loaded` event triggers after the Sankey Chart is completely rendered and ready for interaction. Use this event to initialize calculations, perform analytics, or trigger dependent components: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/loaded-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/loaded-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/events/loaded-cs1" %} - -## Interaction Events - -### Node Interaction Events - -Handle node click and hover events to respond to user actions and provide interactive feedback: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/node-interaction-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/node-interaction-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/events/node-interaction-cs1" %} - -## Link Interaction Events - -Handle link click and hover events: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/link-interaction-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/link-interaction-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/events/link-interaction-cs1" %} - -## Rendering Events - -Use rendering events to customize elements dynamically based on data values, conditions, or business logic. This is the most powerful approach for data-driven styling. - -### Node Rendering Event - -The `nodeRendering` event triggers before each node is rendered, allowing dynamic node customization: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/node-rendering-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/node-rendering-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/node-rendering-cs1" %} - -### Link Rendering Event - -The `linkRendering` event triggers before each link is rendered, allowing dynamic link customization: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/link-rendering-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/link-rendering-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/link-rendering-cs1" %} - -### Label Rendering Event - -The `labelRendering` event triggers before each label is rendered, allowing dynamic label customization: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/label-rendering-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/label-rendering-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/customization/label-rendering-cs1" %} - -### Legend Item Rendering Event - -The `legendItemRendering` event triggers before a legend item is rendered, allowing custom legend item styling: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/legend-rendering-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/customization/legend-rendering-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/legend-rendering-cs1" %} - -## Size Changed Event - -Respond when the chart size changes (e.g., window resize): - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/size-changed-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/size-changed-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/events/size-changed-cs1" %} - -## Complete Event Handler Example - -Combine multiple events for comprehensive handling: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/complete-handler-cs1/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/events/complete-handler-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/events/complete-handler-cs1" %} \ No newline at end of file diff --git a/chart-sdk/vue/sankey/getting-started.md b/chart-sdk/vue/sankey/getting-started.md deleted file mode 100644 index 1e67b8e15..000000000 --- a/chart-sdk/vue/sankey/getting-started.md +++ /dev/null @@ -1,221 +0,0 @@ ---- -layout: post -title: Getting Started with Vue Sankey Chart Component | Syncfusion -description: Quick guide to create a Vue 2 project and integrate the Syncfusion Vue Sankey Chart component; includes setup, module registration, data binding, and examples. -control: Getting started -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - - -# Getting Started with Vue Sankey Chart Component in Vue 2 - -This article provides a step-by-step guide for setting up a Vue 2 project using [Vue-CLI](https://cli.vuejs.org) and integrating the Syncfusion® Vue Sankey chart component. - -## Prerequisites - -Ensure your development environment meets the following requirements as listed in [System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements) - - -## Dependencies - -The following list shows the minimum dependencies required to use the Sankey Chart component: - -``` - -|-- @syncfusion/ej2-vue-charts - |-- @syncfusion/ej2-base - |-- @syncfusion/ej2-data - |-- @syncfusion/ej2-charts - |-- @syncfusion/ej2-vue-base - |-- @syncfusion/ej2-pdf-export - |-- @syncfusion/ej2-file-utils - |-- @syncfusion/ej2-compression - |-- @syncfusion/ej2-svg-base - -``` - -## Setting up the Vue 2 project - -To generate a Vue 2 project using Vue-CLI, use the [vue create](https://cli.vuejs.org#getting-started) command. Follow these steps to install Vue CLI and create a new project: - -```bash -npm install -g @vue/cli -vue create quickstart -``` - -or - -```bash -yarn global add @vue/cli -vue create quickstart -``` - -When creating a new project, choose the option `Default ([Vue 2] babel, eslint)` from the menu. - -![Terminal showing Vue CLI creating a Vue 2 project](../appearance/images/vue2-terminal.png) - -Once the `quickstart` project is set up with default settings, navigate to the project directory: - -```bash -cd quickstart -``` - -Now, proceed to add Syncfusion® packages to the project. - -## Add Syncfusion® Vue packages - -Syncfusion® packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). To use Vue components, install the required npm package. - -This article uses the `Vue Sankey Chart component` as an example. Install the `@syncfusion/ej2-vue-charts` package by running: - -```bash -npm install @syncfusion/ej2-vue-charts -``` -or - -```bash -yarn add @syncfusion/ej2-vue-charts -``` - -> **Note:** npm v5+ saves packages to `dependencies` by default; `--save` is not required. - -## Add Syncfusion® Vue Component - -Follow the steps below to add the Sankey Chart component: - -**Step 1:** Import and register the Sankey Chart component in the `script` section of the **src/App.vue** file. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -**Step 2:** In the `template` section, define the Sankey Chart component: - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -Here is the summarized code for the above steps in the **src/App.vue** file: - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/getting-started/initialize-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -## Run the Project - -To run the project, use either npm or Yarn: - -**npm** - -```bash -npm run serve -``` - -**yarn** - -```bash -yarn run serve -``` - -Open your browser and navigate to `http://localhost:8080` to view the Sankey Chart. - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/getting-started/initialize-cs1" %} - -## Module Registration - -The Sankey Chart component is organized into feature-specific modules. In Vue, enable a feature by registering its module(s) in the component's `provide` option. The following features are demonstrated in the examples: - -* `SankeyLegend` — Module for legend support. -* `SankeyTooltip` — Module for tooltip support. - -The sample code below shows how to register the required modules in the component `provide` option: - -```javascript -import { - SankeyComponent, - SankeyLegend, - SankeyTooltip -} from '@syncfusion/ej2-vue-charts'; - -export default { - components: { 'ejs-sankey': SankeyComponent }, - provide: { - sankey: [ - SankeyLegend, - SankeyTooltip, - ] - } -}; -``` - -## Populate Sankey Chart with Data - -This section explains how to bind JSON data to the Sankey Chart. The data structure requires three properties: - -- **source** — The starting node name for the link -- **target** — The ending node name for the link -- **weight** — The value that determines the width of the link - -Here is an example data structure: - -```javascript -export default { - data() { - return { - sankeyLinks: [ - { source: 'A', target: 'B', weight: 5 }, - { source: 'A', target: 'C', weight: 3 }, - { source: 'B', target: 'D', weight: 2 }, - { source: 'C', target: 'D', weight: 4 } - ] - }; - } -}; -``` - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/sankey-diagram/getting-started/data-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sankey-diagram/getting-started/data-cs1" %} - -## Troubleshooting - -The following are common issues and solutions when integrating the Sankey Chart component: - -- **Chart not rendering**: Ensure that all required modules (`SankeyLegend`, `SankeyTooltip`) are registered in the `provide` option. Verify that the `dataSource` property contains valid data with `source`, `target`, and `weight` properties. - -- **Module import errors**: Confirm that all required modules are imported from `@syncfusion/ej2-vue-charts` and that the component is registered correctly using the corresponding component-name directive. - -- **Data not displaying**: Verify that the data structure matches the expected format. Each link object must have `source`, `target`, and `weight` properties. Check the browser console for any data-related errors. - -- **Version mismatch**: Confirm that the `@syncfusion/ej2-vue-charts` package version is compatible with Vue 2.6+ used in your project. Install the latest compatible version if needed. - -- **Tooltip not showing**: If the tooltip feature is enabled but not displaying, verify that `SankeyTooltip` is registered in the `provide` option and the `tooltip` object has `enable: true`. \ No newline at end of file diff --git a/chart-sdk/vue/sankey/images/vue3-sankey-tooltip.png b/chart-sdk/vue/sankey/images/vue3-sankey-tooltip.png deleted file mode 100644 index d4070e7a4298fdf1dff2bbbed7aa0caeca19f298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17986 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 Y<;Cu=ZW>_zHw>1HBn® Vue Sankey Chart component with either the [`Composition API`](https://vuejs.org/guide/introduction.html#composition-api) or the [`Options API`](https://vuejs.org/guide/introduction.html#options-api). The Sankey Chart visualizes the flow of values between source and target nodes, which is useful for representing energy, budget, or material transfers. - -The **Composition API** groups related logic into reusable functions and is recommended for larger, composition-friendly code bases. The **Options API** uses `data`, `methods`, and life cycle options and may be preferable for smaller components or teams familiar with Vue 2 patterns. Choose the API that best fits your project's structure and long-term maintainability. - -## Prerequisites - -Ensure your development environment meets the following requirements as listed in [System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements). - -## Set Up the Vite Project - -Create a Vite project using either npm or Yarn. - -**npm** - -```bash -npm create vite@latest my-app -- --template vue -``` - -**yarn** - -```bash -yarn create vite my-app --template vue -``` - -If Vite prompts you to install dependencies and start the project immediately, select **No**. The Syncfusion package is installed in a later step. - -Navigate to the project directory: - -```bash -cd my-app -``` - -Install the project dependencies using either npm or Yarn. - -**npm** - -```bash -npm install -``` - -**yarn** - -```bash -yarn install -``` - -Now that `my-project` is ready, add Syncfusion® Vue components to the project. Remove the default `HelloWorld`/`App.vue` boilerplate before continuing, so that the file only contains the code shown in the next steps. - -> **Note:** To create a TypeScript project, use `npm create vite@latest my-app -- --template vue-ts` or `yarn create vite my-app --template vue-ts`. - -## Add Syncfusion® Vue Packages - -Syncfusion® Vue component packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). To use Syncfusion® Vue components in the project, install the corresponding npm package. - -This article uses the [`Vue Sankey Chart component`](https://www.syncfusion.com/vue-components/vue-charts) as an example. To use the Vue Sankey Chart component in the project, install the `@syncfusion/ej2-vue-charts` package using either npm or Yarn. The package is compatible with Vue 3.0 and later versions. - -**npm** - -```bash -npm install @syncfusion/ej2-vue-charts --save -``` - -**yarn** - -```bash -yarn add @syncfusion/ej2-vue-charts -``` - -> **Note:** For TypeScript support, refer to [Getting Started with Vue UI Components using Composition API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-composition) or [Getting Started with Vue UI Components using Options API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-options). - -## Add Syncfusion® Vue Sankey Chart Component - -Follow the steps below to add the Vue Sankey Chart component using the `Composition API` or `Options API`: - -**Step 1:** First, import and register the Sankey Chart component and its child directives in the `script` section of **src/App.vue**. If using the `Composition API`, add the `setup` attribute to the `script` tag. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - -{% endhighlight %} -{% endtabs %} - -**Step 2:** In the `template` section, define the Sankey Chart component with nodes and links: - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -Here is the complete summarized code for the **src/App.vue** file: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - - - -{% endhighlight %} -{% endtabs %} - -## Run the Project - -To run the project, use the following command: - -**npm** -```bash -npm run dev -``` - -**yarn** -```bash -yarn run dev -``` - -The development server will start and display a message with the port number (typically `http://localhost:5173`). Open your browser and navigate to this URL to view the Sankey Chart. - -The output will appear as follows: - -![Vue 3 Sankey Chart sample](./images/vue3-sankey-tooltip.png) - -## Troubleshooting - -The following are common issues and solutions when integrating the Sankey Chart component: - -- **Chart not rendering**: Ensure that all required modules are registered in the `provide` option. Verify that both nodes and links are defined with proper structure. - -- **Module import errors**: Confirm that all required modules are imported from `@syncfusion/ej2-vue-charts` and that the component is registered correctly with proper directive naming. - -- **Data not displaying**: Verify that the links data structure includes `sourceId`, `targetId`, and `value` properties. Each link must reference valid node IDs to display correctly. - -- **Version mismatch**: Confirm that the `@syncfusion/ej2-vue-charts` package version is compatible with Vue 3.0+ used in your project. Install the latest compatible version if needed. - -## See Also - -* [Getting Started with Vue UI Components using Composition API and TypeScript](../getting-started/vue-3-ts-composition) -* [Getting Started with Vue UI Components using Options API and TypeScript](../getting-started/vue-3-ts-options) \ No newline at end of file diff --git a/chart-sdk/vue/smith-chart/getting-started.md b/chart-sdk/vue/smith-chart/getting-started.md deleted file mode 100644 index ad2d0390a..000000000 --- a/chart-sdk/vue/smith-chart/getting-started.md +++ /dev/null @@ -1,278 +0,0 @@ ---- -layout: post -title: Getting started with Vue Smith Chart component | Syncfusion -description: Checkout and learn about Getting started with Vue Smith Chart component of Syncfusion Essential JS 2 and more details. -control: Getting started -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - -# Getting Started with the Vue Smith Chart Component in Vue 2 - -This article provides a step-by-step guide for setting up a Vue 2 project using [Vue-CLI](https://cli.vuejs.org) and integrating the Syncfusion® Vue Smith Chart component. - -## Prerequisites - -[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements) - -## Dependencies - -The following minimum dependencies are required to use the Smith Chart component: - -``` -|-- @syncfusion/ej2-vue-charts - |-- @syncfusion/ej2-charts - |-- @syncfusion/ej2-base - |-- @syncfusion/ej2-data - |-- @syncfusion/ej2-svg-base - |-- @syncfusion/ej2-pdf-export - |-- @syncfusion/ej2-compression - |-- @syncfusion/ej2-file-utils - |-- @syncfusion/ej2-vue-base -``` - -## Setup the Vue 2 project - -To generate a Vue 2 project using Vue CLI, run the [vue create](https://cli.vuejs.org/#getting-started) command. Follow these steps to install Vue CLI and create a new project: - -```bash -npm install -g @vue/cli -vue create quickstart -cd quickstart -npm run serve -``` - -or - -```bash -yarn global add @vue/cli -vue create quickstart -cd quickstart -yarn run serve -``` - -When creating a new project, choose the option `Default ([Vue 2] babel, eslint)` from the menu. - -![Vue 2 project](./images/vue2-terminal.png) - -Once the `quickstart` project is set up with default settings, proceed to add Syncfusion® components to the project. - -## Add Syncfusion® Vue packages - -Syncfusion® packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). Install the package required for the Smith Chart component. - -This article uses the [Vue Smith Chart component](https://www.syncfusion.com/vue-components/vue-smith-chart) as an example. Install the `@syncfusion/ej2-vue-charts` package by running the following command: - -```bash -npm install @syncfusion/ej2-vue-charts --save -``` -or - -```bash -yarn add @syncfusion/ej2-vue-charts -``` - -> The **--save** option will instruct NPM to include the Progress Bar package inside of the `dependencies` section of the `package.json`. - -## Add Syncfusion® Vue component - -Follow these steps to add the Vue Smith Chart component: - -1\. First, import and register the Smith Chart component in the `script` section of the **src/App.vue** file. - -{% tabs %} -{% highlight html tabtitle="~src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -2\. In the `template` section, define the Smith Chart component. - -{% tabs %} -{% highlight html tabtitle="~src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - - -## Run the project - -To run the project, use the following command: - -```bash -npm run serve -``` - -or - -```bash -yarn run serve -``` - -The following example shows a basic Smith Chart component instance. - -``` - - - - - -``` - -## Module Injection - -The Smith Chart component is modular: optional features are provided as separate modules that must be imported and injected. To enable a feature, import its module and inject it using the `provide` option in the component definition (Vue 2). - -Available feature modules include: - -- `SmithchartLegend` — Provides the legend feature. -- `TooltipRender` — Provides the tooltip feature. - -The example below shows how to import these modules and inject them into the Smith Chart via `provide`. - -``` - - - -``` - -## Add series to Smith chart - -The Smith Chart supports two ways to specify series: - -- [`dataSource`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/smithchartseriesmodel#datasource) — Bind a data object that specifies resistance and reactance values. -- [`points`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/smithchartseriesmodel#points) — Provide a collection of resistance and reactance points for the series. - -The following examples demonstrate two approaches to add series to the Smith Chart: - -- The first series, `Transmission1`, is bound using `dataSource`. -- The second series, `Transmission2`, is defined using `points`. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs1" %} - -## Add title to Smith chart - -The following Smith Chart APIs control the chart title: - -- [`title`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/titlemodel) — Configures the chart title. -- [`text`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/titlemodel#text) — Sets the title text. -- [`visible`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/titlemodel#visible) — Shows or hides the title. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs2/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs2" %} - -## Enable marker to the Smith chart - -To enable and customize markers for a series, use the series [`marker`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/seriesmarkermodel) API. Set the marker's [`visible`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/seriesmarkermodel#visible) property to `true` for the series that should display markers. The following sample enables the marker for the first series only. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs3/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs3" %} - -## Enable data label to marker - -To display and customize data labels on markers, use the marker [`dataLabel`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/seriesmarkerdatalabelmodel) settings. Set the data label's [`visible`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/seriesmarkerdatalabelmodel#visible) property to `true` within the series [`marker`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/seriesmarkermodel) configuration. The following sample enables data labels for the first series marker. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs4/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs4" %} - -## Enable legend for Smith chart - -The legend displays series identifiers. Inject the `SmithchartLegend` module using the `provide` option and enable the legend by setting the [`visible`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/smithchartlegendsettingsmodel#visible) property to `true` in [`legendSettings`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/smithchartlegendsettingsmodel). Series names can be customized using the series [`name`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/smithchartseriesmodel#name) property. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs5/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs5" %} - -## Enable tooltip for the Smith chart series - -Tooltips show point values on hover. Inject the `TooltipRender` module using the `provide` option and enable tooltips by setting [`visible`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/seriestooltipmodel#visible) to `true` in [`tooltipSettings`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/seriestooltipmodel). The following sample shows tooltip configuration for the Smith Chart series collection. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs6/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs6" %} - -## See also - -* [Getting Started with Vue 3 Smith Chart](vue-3-getting-started) -* [Getting Started with Vue 3 using Composition API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-composition) -* [Getting Started with Vue 3 using Options API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-options) \ No newline at end of file diff --git a/chart-sdk/vue/smith-chart/images/vue2-terminal.png b/chart-sdk/vue/smith-chart/images/vue2-terminal.png deleted file mode 100644 index 39beefaa25348abb1ec9d6bcb4b2f0e1a0e60b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9489 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

      #F`I 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

    • U{98&wf~4 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 F{CE7ap#}f| diff --git a/chart-sdk/vue/smith-chart/smithchart-legend.md b/chart-sdk/vue/smith-chart/smithchart-legend.md deleted file mode 100644 index f4defbfee..000000000 --- a/chart-sdk/vue/smith-chart/smithchart-legend.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -layout: post -title: Smithchart legend in Vue Smithchart component | Syncfusion -description: Learn here all about Smithchart legend in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Smithchart legend -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - - - -# Smithchart legend in Vue Smithchart component - -Legend is a key used in smithchart, that contains symbol and descriptions. It provides valuable information for interpreting what the smithchart is displaying and can be represented in various colors, shapes or other identifiers based on the data. In simple words, we can define that legend is used to denote the series rendered in the smithchart. - -## Position and Alignment - -By default visibility of the legend is false. To enable the legend, kindly set visible as true in legendSettings. Default position for the legend is bottom. By using [`position`] property, you can change the position of the legend. You can either place the legend at bottom, top, right and left side of the smithchart. To use the legend in smithchart, you need to import and inject the SmithchartLegend from chart. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs13/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs13/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs13" %} - -### Custom Position - -Other than these positions, you can place the legend anywhere in the smithchart. To achieve this, you have to set position as custom in legendSettings and specify the x and y coordinates using the x and y properties in the location. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs14/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs14/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs14" %} - -### Legend Alignment - -Other than positioning the legend in the smithchart, you can customize its alignment also. By default, legend is aligned at center. Using the [`alignment`] property, you can align the legend in near and far locations of the smithchart. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs15/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs15/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs15" %} - -## Customization - -### Legend Shape - -By default, legend is rendered in the circle shape and the color of the shape is as same as series color in the smithchart. Using the property [`shape`] in legend settings, you can change the icon shape of the legend as rectangle, triangle and so on. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs16/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs16/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs16" %} - -### Legend Size - -By default, legend takes 20% - 25% of the chart's height horizontally, when it is placed on top or bottom position and 20% - 25% of the width vertically, while placing on left or right position of the chart. You can change this default legend size by using the [`width`] and [`height`] property of the legendSettings. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs17/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs17/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs17" %} - -### Padding - -You can customize the space between two legend items and space between legend shape and text as per your requirement. For customizing the space between two legend items, you can use [`itemPadding`] property. To control space between legend shape and text, you can use [`shapePadding`] property. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs18/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs18/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs18" %} - -## Toggle Visibility - -By default series name is displayed in the legend. You can collapse the visibility of the series by clicking the legend for the particular series. You can toggle the series visibility as true or false using the [`toggleVisibility`] property. By default it is true. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs19/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs19/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs19" %} diff --git a/chart-sdk/vue/smith-chart/vue-3-getting-started.md b/chart-sdk/vue/smith-chart/vue-3-getting-started.md deleted file mode 100644 index fb7674808..000000000 --- a/chart-sdk/vue/smith-chart/vue-3-getting-started.md +++ /dev/null @@ -1,415 +0,0 @@ ---- -layout: post -title: Vue 3 getting started with the Smith Chart component | Syncfusion -description: Check out and learn about Vue 3 getting started with the Vue Smith Chart component of Syncfusion Essential JS 2 and more details. -control: Vue 3 getting started -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Getting started with the Vue Smith Chart component in Vue 3 - -This article provides a step-by-step guide for setting up a [Vite](https://vitejs.dev/) project with a JavaScript environment and integrating the Syncfusion® Vue Smith Chart component using the [Composition API](https://vuejs.org/guide/introduction.html#composition-api) / [Options API](https://vuejs.org/guide/introduction.html#options-api). - -The `Composition API` is a new feature introduced in Vue.js 3 that provides an alternative way to organize and reuse component logic. It allows developers to write components as functions that use smaller, reusable functions called composition functions to manage their properties and behavior. - -The `Options API` is the traditional way of writing Vue.js components, where the component logic is organized into a series of options that define the component's properties and behavior. These options include data, methods, computed properties, watchers, life cycle hooks, and more. - -## Prerequisites - -[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements) - -## Setup the Vite project - -A recommended approach for beginning with Vue is to scaffold a project using [Vite](https://vitejs.dev). To create a new Vite project, use one of the commands that are specific to either NPM or Yarn. - -```bash -npm create vite@latest -``` - -or - -```bash -yarn create vite -``` - -Using one of the above commands will lead you to set up additional configurations for the project as below: - -1. Define the project name: We can specify the name of the project directly. Let's specify the name of the project as `my-project` for this article. - -```bash -? Project name: » my-project -``` - -2. Select `Vue` as the framework. It will create a Vue 3 project. - -```bash -? Select a framework: » - Use arrow-keys. Return to submit. -Vanilla -> Vue - React - Preact - Lit - Svelte - Others -``` - -3. Choose `JavaScript` as the framework variant to build this Vite project using JavaScript and Vue. - -```bash -? Select a variant: » - Use arrow-keys. Return to submit. -> JavaScript - TypeScript - Customize with create-vue ↗ - Nuxt ↗ -``` - -4. Upon completing the aforementioned steps to create the `my-project`, run the following command to install its dependencies: - -```bash -cd my-project -npm install -``` - -or - -```bash -cd my-project -yarn install -``` - -Now that `my-project` is ready to run with default settings, let's add Syncfusion® components to the project. - -## Add Syncfusion® Vue packages - -Syncfusion® Vue component packages are available at [npmjs.com](https://www.npmjs.com/search?q=ej2-vue). To use Syncfusion® Vue components in the project, install the corresponding npm package. - -This article uses the [Vue Smith Chart component](https://www.syncfusion.com/vue-components/vue-bullet-chart) as an example. To use the Vue Smith Chart component in the project, the `@syncfusion/ej2-vue-charts` package needs to be installed using the following command: - -```bash -npm install @syncfusion/ej2-vue-charts --save -``` - -or - -```bash -yarn add @syncfusion/ej2-vue-charts -``` - -> The **--save** option will instruct NPM to include the Progress Bar package inside of the `dependencies` section of the `package.json`. - -> Note: Syncfusion components require a valid license for production use. See the Syncfusion documentation and system requirements for licensing details. - -## Add Syncfusion® Vue component - -Follow the below steps to add the Vue Smith Chart component using `Composition API` or `Options API`: - -1. First, import and register the Smith Chart component and its child directives in the `script` section of the **src/App.vue** file. If you are using the `Composition API`, you should add the `setup` attribute to the `script` tag to indicate that Vue will be using the `Composition API`. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% endtabs %} - -2. In the `template` section, define the Smith Chart component with the [`dataSource`](https://ej2.syncfusion.com/vue/documentation/api/smithchart/smithchartseriesmodel#datasource) property. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -3. Declare the values for the `dataSource` property in the `script` section. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% endtabs %} - -Here is the summarized code for the above steps in the **src/App.vue** file: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - - - -{% endhighlight %} -{% endtabs %} - -## Run the project - -To run the project, use the following command: - -```bash -npm run dev -``` - -or - -```bash -yarn run dev -``` - -The output will appear as follows: - -![vue3-smith-chart-demo](./images/vue3-smith-chart-demo.png) - -> **Sample**: [vue-3-smith-chart-getting-started](https://github.com/SyncfusionExamples/vue3-smith-chart-getting-started). - -## See also - -* [Getting Started with Vue UI Components using Composition API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-composition) -* [Getting Started with Vue UI Components using Options API and TypeScript](https://ej2.syncfusion.com/vue/documentation/getting-started/vue-3-ts-options) \ No newline at end of file diff --git a/chart-sdk/vue/smith-chart/accessibility.md b/chart-sdk/vue/smith-charts/accessibility.md similarity index 100% rename from chart-sdk/vue/smith-chart/accessibility.md rename to chart-sdk/vue/smith-charts/accessibility.md diff --git a/chart-sdk/vue/smithchart/getting-started.md b/chart-sdk/vue/smith-charts/getting-started.md similarity index 100% rename from chart-sdk/vue/smithchart/getting-started.md rename to chart-sdk/vue/smith-charts/getting-started.md diff --git a/chart-sdk/vue/heatmap-chart/images/vue2-terminal.png b/chart-sdk/vue/smith-charts/images/vue2-terminal.png similarity index 100% rename from chart-sdk/vue/heatmap-chart/images/vue2-terminal.png rename to chart-sdk/vue/smith-charts/images/vue2-terminal.png diff --git a/chart-sdk/vue/smithchart/images/vue3-smith-chart-demo.png b/chart-sdk/vue/smith-charts/images/vue3-smith-chart-demo.png similarity index 100% rename from chart-sdk/vue/smithchart/images/vue3-smith-chart-demo.png rename to chart-sdk/vue/smith-charts/images/vue3-smith-chart-demo.png diff --git a/chart-sdk/vue/heatmap-chart/images/vue3-terminal.png b/chart-sdk/vue/smith-charts/images/vue3-terminal.png similarity index 100% rename from chart-sdk/vue/heatmap-chart/images/vue3-terminal.png rename to chart-sdk/vue/smith-charts/images/vue3-terminal.png diff --git a/chart-sdk/vue/smith-chart/index.md b/chart-sdk/vue/smith-charts/index.md similarity index 100% rename from chart-sdk/vue/smith-chart/index.md rename to chart-sdk/vue/smith-charts/index.md diff --git a/chart-sdk/vue/smith-chart/smithchart-axis.md b/chart-sdk/vue/smith-charts/smithchart-axis.md similarity index 100% rename from chart-sdk/vue/smith-chart/smithchart-axis.md rename to chart-sdk/vue/smith-charts/smithchart-axis.md diff --git a/chart-sdk/vue/smith-chart/smithchart-dimensions.md b/chart-sdk/vue/smith-charts/smithchart-dimensions.md similarity index 100% rename from chart-sdk/vue/smith-chart/smithchart-dimensions.md rename to chart-sdk/vue/smith-charts/smithchart-dimensions.md diff --git a/chart-sdk/vue/smithchart/smithchart-legend.md b/chart-sdk/vue/smith-charts/smithchart-legend.md similarity index 100% rename from chart-sdk/vue/smithchart/smithchart-legend.md rename to chart-sdk/vue/smith-charts/smithchart-legend.md diff --git a/chart-sdk/vue/smith-chart/smithchart-marker.md b/chart-sdk/vue/smith-charts/smithchart-marker.md similarity index 100% rename from chart-sdk/vue/smith-chart/smithchart-marker.md rename to chart-sdk/vue/smith-charts/smithchart-marker.md diff --git a/chart-sdk/vue/smith-chart/smithchart-print.md b/chart-sdk/vue/smith-charts/smithchart-print.md similarity index 100% rename from chart-sdk/vue/smith-chart/smithchart-print.md rename to chart-sdk/vue/smith-charts/smithchart-print.md diff --git a/chart-sdk/vue/smith-chart/smithchart-series.md b/chart-sdk/vue/smith-charts/smithchart-series.md similarity index 100% rename from chart-sdk/vue/smith-chart/smithchart-series.md rename to chart-sdk/vue/smith-charts/smithchart-series.md diff --git a/chart-sdk/vue/smith-chart/smithchart-tooltip.md b/chart-sdk/vue/smith-charts/smithchart-tooltip.md similarity index 100% rename from chart-sdk/vue/smith-chart/smithchart-tooltip.md rename to chart-sdk/vue/smith-charts/smithchart-tooltip.md diff --git a/chart-sdk/vue/smith-chart/title-subtitle.md b/chart-sdk/vue/smith-charts/title-subtitle.md similarity index 100% rename from chart-sdk/vue/smith-chart/title-subtitle.md rename to chart-sdk/vue/smith-charts/title-subtitle.md diff --git a/chart-sdk/vue/smithchart/vue-3-getting-started.md b/chart-sdk/vue/smith-charts/vue-3-getting-started.md similarity index 100% rename from chart-sdk/vue/smithchart/vue-3-getting-started.md rename to chart-sdk/vue/smith-charts/vue-3-getting-started.md diff --git a/chart-sdk/vue/smith-chart/working-with-data.md b/chart-sdk/vue/smith-charts/working-with-data.md similarity index 100% rename from chart-sdk/vue/smith-chart/working-with-data.md rename to chart-sdk/vue/smith-charts/working-with-data.md diff --git a/chart-sdk/vue/smithchart/accessibility.md b/chart-sdk/vue/smithchart/accessibility.md deleted file mode 100644 index 7bbaaf995..000000000 --- a/chart-sdk/vue/smithchart/accessibility.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -layout: post -title: Accessibility in Vue Smithchart component | Syncfusion -description: Learn here all about Accessibility in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Accessibility -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Accessibility in Vue Smithchart component - -The Smith chart component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility. - -The accessibility compliance for the Smith chart component is outlined below. - -| Accessibility Criteria | Compatibility | -| -- | -- | -| [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Support | Intermediate | -| [Section 508](https://www.section508.gov/) Support | Intermediate | -| Screen Reader Support | Intermediate | -| Color Contrast | Yes | -| Mobile Device Support | Yes | -| Keyboard Navigation Support | Intermediate | -| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | Yes | -| [Axe-core](https://www.npmjs.com/package/axe-core) Accessibility Validation | Yes | - - -
      Yes - All features of the component meet the requirement.
      - -
      Intermediate - Some features of the component do not meet the requirement.
      - -
      No - The component does not meet the requirement.
      - - -## WAI-ARIA attributes - -The Smith chart component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) patterns to meet the accessibility. The following ARIA attributes are used in the Smith chart component: - -* img (role) -* region (role) -* aria-label (attribute) -* aria-hidden (attribute) - -## Keyboard interaction - -The Smith chart component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Smith chart component. - -| **Press** | **To do this** | -| --- | --- | -| Tab | Moves the focus to the next element in the Smith chart. | -| Shift + Tab | Moves the focus to the previous element in the Smith chart. | -| Ctrl + P | Prints the Smith chart. | - -## Ensuring accessibility - -The Smith chart component's accessibility levels are ensured through an [accessibility-checker](https://www.npmjs.com/package/accessibility-checker) and [axe-core](https://www.npmjs.com/package/axe-core) software tools during automated testing. - -The accessibility compliance of the Smith chart component is shown in the following sample. Open the [sample](https://ej2.syncfusion.com/accessibility/smith-chart.html) in a new window to evaluate the accessibility of the Smith chart component with accessibility tools. - -{% previewsample "https://ej2.syncfusion.com/accessibility/smith-chart.html" %} - -## See also - -* [Accessibility in Syncfusion® Vue components](../common/accessibility) - diff --git a/chart-sdk/vue/smithchart/images/vue2-terminal.png b/chart-sdk/vue/smithchart/images/vue2-terminal.png deleted file mode 100644 index 39beefaa25348abb1ec9d6bcb4b2f0e1a0e60b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9489 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
    • U{98&wf~4 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 F{CE7ap#}f| diff --git a/chart-sdk/vue/smithchart/index.md b/chart-sdk/vue/smithchart/index.md deleted file mode 100644 index 6fc73ed11..000000000 --- a/chart-sdk/vue/smithchart/index.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: post -title: Index in Vue Smithchart component | Syncfusion -description: Learn here all about Index in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Index -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - -# Index in Vue Smithchart component - -The Smith chart control is one of the most useful data visualization tools for high frequency circuit applications. It contains two sets of circles to plot the parameters of transmission lines. - -## Key features - -* Supports any number of series and points. -* Supports impedance and admittance series render type. -* Supports tooltip user interaction feature in mouse and touch actions. -* Supports markers and data labels to get more information about series points. -* Supports legends that are used to toggle series visibility. \ No newline at end of file diff --git a/chart-sdk/vue/smithchart/smithchart-axis.md b/chart-sdk/vue/smithchart/smithchart-axis.md deleted file mode 100644 index f31c7ba0a..000000000 --- a/chart-sdk/vue/smithchart/smithchart-axis.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -layout: post -title: Smithchart axis in Vue Smithchart component | Syncfusion -description: Learn here all about Smithchart axis in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Smithchart axis -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - -# Smithchart axis in Vue Smithchart component - -Like chart, Smithchart is having support for two types of axis. -* Horizontal axis - axis drawn as straight line in the horizontal direction of the chart. -* Radial axis - axis is drawn as circular path. - -## Labels Customization - -Axis labels are used to denote what kind of data is bound for smithchart. Using axis labels, you can easily identify in which interval chart is rendered. Using following properties we can customize the axis labels for horizontal and radial axis. - -* [`labelPosition`] - used to place the labels either inside or outside the axis line. -* [`labelIntersectAction`] - used to hide the labels when intersect with other one. -* [`labelStyle`] - used to customize the properties such as font size, family, weight, opacity. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs7/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs7/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs7" %} - -## Gridlines - -To make the data in a chart that displays axes easier to read, you can display horizontal and radial axis gridlines. Gridlines extend from any horizontal and radial axes across the plot area of the smithchart. -Both horizontal and radial axis are having support for major as well as minor gridlines. Major gridlines are drawn from the position in which labels are rendered. Minor gridlines are drawn between two major gridlines as per the count we set in settings. - -We can customize following things, in major as well as minor gridlines. - -* [`width`] - used to customize the width of gridlines. -* [`dashArray`] - used to customize whether gridline have to render as normal line or dashed line. -* [`visible`] - used to enable or disable the visibility of the gridlines. -* [`opacity`] - used to customize the opacity of the major gridlines. -* [`count`] - used to customize the count of the minor gridlines. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs8/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs8/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs8" %} - -## Axisline - -As name suggests that, it is a line in smithchart that can be configured to denotes the axis. By default, visibility of the axis line is true. You can customize its visibility by using visible property in axis Line. Other than visibility of the axis line, you can customize the following properties of the axis line. - -* [`width`] - used to customize the width of the axis line. -* [`dashArray`] - used to render the axis line as dashed line. -* [`visible`] - used to enable or disable the visibility of the axis line. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs9/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs9/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs9" %} \ No newline at end of file diff --git a/chart-sdk/vue/smithchart/smithchart-dimensions.md b/chart-sdk/vue/smithchart/smithchart-dimensions.md deleted file mode 100644 index 0fe0ad025..000000000 --- a/chart-sdk/vue/smithchart/smithchart-dimensions.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -layout: post -title: Smithchart dimensions in Vue Smithchart component | Syncfusion -description: Learn here all about Smithchart dimensions in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Smithchart dimensions -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - -# Smithchart dimensions in Vue Smithchart component - -You can render the smithchart either corresponding to its container size or you can set the size of the smithchart as per your requirement. To render the smithchart corresponding to its container size, you need to set the size for the smithchart container. Else to set the size for the smithchart as per your requirement, you can use the width and height properties in the smithchart. - -## Size for Container - -You can render smithchart to it's container size. To achieve this, you need to specify the width and height of the smithchart's container via inline or CSS as demonstrated below. - -```javascript -
      -
      -
      -``` - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs10/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs10/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs10" %} - -## Size for Smithchart - - - -You can also set size for smithchart directly through [`width`] and [`height`] properties. Using this properties, you can directly mention the width and height of the smithchart in pixels or you can set the width and height in percentage. - -**In Pixel** - -In smithchart's width and height property, you can directly give values in pixels like below demonstration. This will render smithchart in same size as you mentioned in you code. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs11/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs11/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs11" %} - -**In percentage** - -You can also specify the width and height of the smithchart in percentage. If you mention the width and height in percentage, then smithchart will be render as per the percentage of it's container size. You can set the values in percentage like below demonstration. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs12/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs12/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs12" %} diff --git a/chart-sdk/vue/smithchart/smithchart-marker.md b/chart-sdk/vue/smithchart/smithchart-marker.md deleted file mode 100644 index fbf2204d8..000000000 --- a/chart-sdk/vue/smithchart/smithchart-marker.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -layout: post -title: Smithchart marker in Vue Smithchart component | Syncfusion -description: Learn here all about Smithchart marker in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Smithchart marker -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - - - -# Smithchart marker in Vue Smithchart component - -Markers and Datalabels are used to provide information about the data points in the series. You can add a shape to adorn each data point. By default marker and datalabel both are disabled in smithchart. You can enable both of them by setting visible property as true in marker and datalabel settings - -## Marker - -Default visibility of marker is false. You can enable the marker by setting property visible as true in marker settings. This will add marker for each point in the series. Using marker setting, you can customize marker differently for each series in smithchart. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs20/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs20/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs20" %} - -**Marker Customization** - -Using marker settings in series, you can customize the marker for each series differently. Using marker settings, you can customize following properties differently for each series in the smithchart. - -* [`width`] - To control the width of the marker. -* [`height`] - To control the height of the marker. -* [`fill`] - Used to customize the fill color of the marker. -* [`opacity`] - Used to customize the opacity of the marker. -* [`border`] - Used to control the width and color of the marker's border. -* [`shape`] - Used to change the shape of the marker. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs21/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs21/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs21" %} - -## Datalabels - -By default, datalabel is disabled. You can enable the datalabel by setting property visible as true in datalabel settings. For each point in series, data label is created. Datalabel for each series can be customized differently using datalabel settings. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs22/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs22/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs22" %} - -**Datalabel customization** - -Using datalabel settings in marker, you can customize the datalabel for each series differently. In datalabel, you can customize the following properties differently for each series. - -* [`fill`] - Used to changes the fill color of the data label's shape. -* [`opacity`] - Used to control the opacity of the data label's shape. -* [`border`] - Used to customize the width and color of the border. -* [`textStyle`] - Used to customize the font color, width and size. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs23/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs23/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs23" %} diff --git a/chart-sdk/vue/smithchart/smithchart-print.md b/chart-sdk/vue/smithchart/smithchart-print.md deleted file mode 100644 index a5bce5a61..000000000 --- a/chart-sdk/vue/smithchart/smithchart-print.md +++ /dev/null @@ -1,182 +0,0 @@ ---- -layout: post -title: Smithchart print in Vue Smithchart component | Syncfusion -description: Learn here all about Smithchart print in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Smithchart print -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Smithchart print in Vue Smithchart component - -## Print - -The rendered smithchart can be printed directly from the browser by calling the public method print. ID of the smithchart's div element must be passed as argument to that method. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - - -{% endhighlight %} -{% endtabs %} - -## Export - -The rendered smithchart can be exported to JPEG , PNG, SVG or PDF format by using export method in smithchart. Input parameters for this method are Export Type for format and fileName of result. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - - -{% endhighlight %} -{% endtabs %} diff --git a/chart-sdk/vue/smithchart/smithchart-series.md b/chart-sdk/vue/smithchart/smithchart-series.md deleted file mode 100644 index 6ad3983f9..000000000 --- a/chart-sdk/vue/smithchart/smithchart-series.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: post -title: Smithchart series in Vue Smithchart component | Syncfusion -description: Learn here all about Smithchart series in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Smithchart series -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - -# Smithchart series in Vue Smithchart component - -You can add any number of series to the smithchart as per your requirement. You can use series setting to either add or customize the data. For the points or datasource added in the series, line is drawn. You can customize the each series as per your requirement with marker, datalabel, animation, opacity and so on. - -## points or datasource - -For adding values in the smithchart, you can use either points or datasource in the series. Points and datasource both should be array of object which should contain the field names resistance and rectangle. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs24/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs24/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs24" %} - -## Series customization - -Using following options in series settings, you can customize each series in smithchart as per your requirement. - -* [`fill`] - Used to customize the fill color for the series. -* [`enableSmartLabels`] - Used to place the data labels on the smithchart without overlapping with each other. -* [`visibility`] - Used to handle the visibility of the series. -* [`opacity`] - Used to control the opacity of the series line. -* [`width`] - Used to customize the width of the series line. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs25/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs25/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs25" %} \ No newline at end of file diff --git a/chart-sdk/vue/smithchart/smithchart-tooltip.md b/chart-sdk/vue/smithchart/smithchart-tooltip.md deleted file mode 100644 index 9eaaf80a9..000000000 --- a/chart-sdk/vue/smithchart/smithchart-tooltip.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: post -title: Smithchart tooltip in Vue Smithchart component | Syncfusion -description: Learn here all about Smithchart tooltip in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Smithchart tooltip -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - -# Smithchart tooltip in Vue Smithchart component - -Smithchart will display details about the points through tooltip, when the mouse is moved over the point. By default, tooltip is disabled. To enable the tooltip for smithchart, you need to import and inject TooltipRender module from chart. And also set the property visible as true, in tooltip settings. You can customize the tooltip's visibility and appearance differently each series in the smithchart. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs26/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs26/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs26" %} diff --git a/chart-sdk/vue/smithchart/title-subtitle.md b/chart-sdk/vue/smithchart/title-subtitle.md deleted file mode 100644 index f60e0341f..000000000 --- a/chart-sdk/vue/smithchart/title-subtitle.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: post -title: Title subtitle in Vue Smithchart component | Syncfusion -description: Learn here all about Title subtitle in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Title subtitle -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - -# Title subtitle in Vue Smithchart component - -## Enable title - -Title and subtitle is used to depicts the information about the data plotted in the smithchart. You can set the title and subtitle of the smithchart using the [`text`] property in title and subtitle. By default visibility of the title as well as subtitle is enabled. You need to set simply text for title and subtitle in your sample as like below. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs27/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs27/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs27" %} - -## Title trim - -Both title and subtitle of the smithchart can be trimmed if it exceeds the certain length. Trimming is enabled using [`enableTrim`] for title as well as subtitle. This length can be changed using the property [`maximumWidth`]. Also [`font`], [`textAlignment`] and [`visibility`] can be customized for title as well as subtitle. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs28/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs28/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs28" %} \ No newline at end of file diff --git a/chart-sdk/vue/smithchart/working-with-data.md b/chart-sdk/vue/smithchart/working-with-data.md deleted file mode 100644 index b6e9ddd33..000000000 --- a/chart-sdk/vue/smithchart/working-with-data.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -title: Working with data in Vue Smithchart component | Syncfusion -description: Learn here all about Working with data in Syncfusion Vue Smithchart component of Syncfusion Essential JS 2 and more. -control: Working with data -platform: ej2-vue -documentation: ug -domainurl: ##DomainURL## ---- - -# Working with data in Vue Smithchart component - -Smithchart can visualise the data bound from local data. The data you bind for the smithchart, should be an array of object and that should contain the field resistance and rectangle. This should be bind to points or datasource in the smithchart. - -## Data Binding - -You can bind simple JSON data to smithchart using point property in series. JSON data should contain [`resistance`] and [`reactance`] fields. This JSON data should be bind to points or datasource in the smithchart. You can any number of JSON for points or datasource as per your requirement. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs29/app-composition.vue %} -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} -{% include code-snippet/chart-sdk/vue/smithchart/getting-started-cs29/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/smithchart/getting-started-cs29" %} \ No newline at end of file diff --git a/chart-sdk/vue/sparkline-charts/appearance.md b/chart-sdk/vue/sparkline-charts/appearance.md deleted file mode 100644 index 744b0f20b..000000000 --- a/chart-sdk/vue/sparkline-charts/appearance.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -layout: post -title: Appearance in Vue Sparkline component | Syncfusion -description: Learn here all about Appearance in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: Appearance -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Appearance in Vue Sparkline component - -The appearance of the sparkline can be customized using margin, container Area border, and container Area background. - -## Sparkline border - -The `container Area border` of the sparkline is used to render border to cover sparkline area. - -The following code example shows the sparkline with overall border. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs1/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs1" %} - -## Sparkline padding - -Padding is used to specify padding value between container and sparkline. By default, padding value of the sparkline is 5. Sparkline `padding` values are specified by the left, right, top, and bottom. - -The following code example shows the sparkline with overall padding is set to 20. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs2/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs2" %} - -## Sparkline area customization - -The background color of the sparkline area can be customized using the `containerArea background` color. By default, the sparkline background color is `transparent`. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs3/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs3" %} - -## Sparkline theme - -Datalabel and track line colors of the sparkline will be changed based on theme. For example, for dark theme, the color of datalabel and track line should be white; for light theme, their value should be black. The possible values for sparkline theme are `Material`, `Fabric`, `Bootstrap`, and `Highcontrast`. - -The following code example shows the color for datalabel and track line is set to white for dark theme. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs4/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs4" %} diff --git a/chart-sdk/vue/sparkline-charts/axis-customization.md b/chart-sdk/vue/sparkline-charts/axis-customization.md deleted file mode 100644 index fb7bcb34f..000000000 --- a/chart-sdk/vue/sparkline-charts/axis-customization.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -layout: post -title: Axis customization in Vue Sparkline component | Syncfusion -description: Learn here all about Axis customization in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: Axis customization -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Axis customization in Vue Sparkline component - -You can customize axis value types and min and max values of the sparkline. - -## Change value type of the sparkline - -You can change the sparkline value type by setting the [`valueType`] property to [`Numeric`], [`Category`], or [`DateTime`]. - - -### DateTime - -You can assign date-time values to the sparkline by setting the [`valueType`] property to [`DateTime`]. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs5/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs5" %} - - -### Category - -You can assign category values to the sparkline by setting [`valueType`] to [`Category`]. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs6/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs6" %} - -### Numeric - -You can assign numeric values to the sparkline by setting the [`valueType`] to [`Numeric`]. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs7/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs7" %} - - -## Change min and max values of axis - -You can change the min and max values of x-axis by setting the [`minX`] and [`maxX`] values to the [`axisSettings`] property. You can also change the min and max values of y-axis by setting the [`minY`] and [`maxY`] values to the [`axisSettings`] property. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs8/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs8" %} - -## Change value of axis - -You can set horizontal axis line value of the sparkline by setting [`value`] to the [`axisSettings`] property. The following code example shows this. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs9/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs9" %} - -## Axis line customization - -Axis of the sparkline can be collapsed using the [`visible`] property in [`lineSettings`]; this is not applicable for win-loss. You can customize the [`color`], [`width`], [`opacity`], and [`dashArray`] of axis line. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs10/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs10" %} \ No newline at end of file diff --git a/chart-sdk/vue/sparkline-charts/data-labels.md b/chart-sdk/vue/sparkline-charts/data-labels.md deleted file mode 100644 index 78b501447..000000000 --- a/chart-sdk/vue/sparkline-charts/data-labels.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: post -title: Data labels in Vue Sparkline component | Syncfusion -description: Learn here all about Data labels in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: Data labels -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Data labels in Vue Sparkline component - -Data labels are used to display values of data points to improve the readability. - -## Enable data label - -To enable data label for sparkline series, provide `visible` of the `dataLabelSettings` as following possible values: - -* All - Enables data label of all points. -* Start - Enables data label of the start point. -* End - Enables data label of the end point. -* High - Enables data label of the high point. -* Low - Enables data label of the low point. -* Negative - Enables data labels of the negative points. - -The following example shows enabling sparkline data label for all points. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs11/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs11" %} - -## Customize data label - -Data labels can be customized using the fill, border, opacity, and textStyle. The following code example shows customizing data label border, text color, and fill color. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs12/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs12" %} - -## Format data label text - -The text of data labels can be formatted using the `format` API in the sparkline `dataLabelSettings`. By default, data label shows the y-value of point. The following code example shows how to display x and y-values for points. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs13/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs13" %} diff --git a/chart-sdk/vue/sparkline-charts/getting-started.md b/chart-sdk/vue/sparkline-charts/getting-started.md deleted file mode 100644 index 90dac6ff0..000000000 --- a/chart-sdk/vue/sparkline-charts/getting-started.md +++ /dev/null @@ -1,216 +0,0 @@ ---- -layout: post -title: Getting started with Vue Sparkline component | Syncfusion -description: Checkout and learn how to set up and use the Vue Sparkline component from Syncfusion Essential JS 2. -control: Getting started -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Getting Started with the Vue Sparkline Component in Vue 2 - -This article provides a step-by-step guide for creating a Vue 2 project with [Vue-CLI](https://cli.vuejs.org) and integrating the Syncfusion® Vue Sparkline component. - -To get started quickly with Vue Sparkline, watch this video: - -{% youtube "https://www.youtube.com/watch?v=XdDcvJ0ZJrE" %} - -## Prerequisites - -[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements) - -## Dependencies - -The following minimum dependencies are required to use the sparkline: - -```js -|-- @syncfusion/ej2-vue-charts - |-- @syncfusion/ej2-base - |-- @syncfusion/ej2-data - |-- @syncfusion/ej2-pdf-export - |-- @syncfusion/ej2-file-utils - |-- @syncfusion/ej2-compression - |-- @syncfusion/ej2-svg-base - |-- @syncfusion/ej2-sparkline - |-- @syncfusion/ej2-vue-base -``` - -## Setting up the Vue 2 project - -To generate a Vue 2 project using Vue-CLI, use the [vue create](https://cli.vuejs.org/#getting-started) command. Follow these steps to install Vue CLI and create a new project: - -```bash -npm install -g @vue/cli -vue create quickstart -cd quickstart -npm run serve -``` - -or - -```bash -yarn global add @vue/cli -vue create quickstart -cd quickstart -yarn run serve -``` - -When creating a new project, choose the option `Default ([Vue 2] babel, eslint)` from the menu. - -![Vue 2 project](./images/vue2-terminal.png) - -Once the `quickstart` project is set up with default settings, add Syncfusion® components to the project. - -## Add Syncfusion® Vue packages - -Syncfusion® packages are available on npm. The Vue Sparkline component is provided in the `@syncfusion/ej2-vue-charts` package, which includes the necessary Sparkline modules. For advanced or custom integrations, developers can install the lower-level `@syncfusion/ej2-sparkline` package together with `@syncfusion/ej2-vue-base`. - -This article uses the Vue Sparkline component as an example. Install the `@syncfusion/ej2-vue-charts` package by running the following command: - -```bash -npm install @syncfusion/ej2-vue-charts --save -``` -or - -```bash -yarn add @syncfusion/ej2-vue-charts -``` - -## Add Syncfusion® Vue component - -Follow these steps to add the Vue Sparkline component: - -1. Import and register the Sparkline component in the `script` section of the **src/App.vue** file. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -2. In the `template` section, define the Sparkline component. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -## Run the project - -To run the project, use the following command: - -```bash -npm run serve -``` - -or - -```bash -yarn run serve -``` - -The following example shows a basic Sparkline. - -``` - - - -``` - -Since no data source is provided, the sparkline renders an empty SVG element. - -## Module Injection - -The Sparkline component is split into feature modules. To enable a feature, import its module and provide it to the component using the `provide` option. Available modules include: - -- SparklineTooltip — enables tooltip display for points and series. - -The example below demonstrates enabling the tooltip feature by importing `SparklineTooltip` and providing it to the component. - -``` - - -``` - -## Bind data source to Sparkline - -Use the `dataSource` property to bind data to the sparkline. This property accepts a collection (for example, an array of objects) as input. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs14/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs14" %} - -## Change the type of Sparkline - -Change the sparkline type by setting the `type` property to `Line`, `Column`, `WinLoss`, `Pie`, or `Area`. The example below uses the `area` type. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs15/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs15" %} - -## Enable tooltip for Sparkline - -The sparkline displays additional information in a tooltip when hovering over points. Enable tooltips by setting `tooltipSettings.visible` to `true` and injecting the `SparklineTooltip` module via the `provide` option. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs16/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs16" %} diff --git a/chart-sdk/vue/sparkline-charts/images/vue2-terminal.png b/chart-sdk/vue/sparkline-charts/images/vue2-terminal.png deleted file mode 100644 index 39beefaa25348abb1ec9d6bcb4b2f0e1a0e60b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9489 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 PhlY`XxqgMNYt;V%0%U(> diff --git a/chart-sdk/vue/sparkline-charts/images/vue3-terminal.png b/chart-sdk/vue/sparkline-charts/images/vue3-terminal.png deleted file mode 100644 index b0ec451526671e4ab4aa1393d56a76d8ad9d8283..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7221 zcmeI1eLR!z-~XqQB6NdQWc86sNODucgpeYka&JWua$knc)R02|#r$MyL=u79q-evjWD=leX4<8hwv_jw%W`F+Ow_MOJ`HODlpr^DX^KjEIW zK0Y6cXUE_+#!yw>=Htxp#XT)PVXxUg;}JK$88p;Q#ItI40vRw@&tTp z<$T|8#{=lOJ55}+c&Tq?b_tA^cke;e(yKS`oActNZgIX%a&E_;IlkIEyb>{r$W~Y2 z4KtTSDBcWDkU*wj{@~YAeMt%7V1AK0=L0n)emh-rbnzw%cx@k2PaF|$^3`b4dhvPC zh}GpqsZmW;_!GG{(mY}5jycWZCU<|hE}s@VIxfw;{~s6F>;liPQpOpR5ogWKW}1Y& z**@!-ug3fCow`$M{3fOxLBrntYi5=s>{gc2T1c=6(B1f0#_UO1_49p$3;8a#hAit- zL}SPWb!TBr`T)|;Z1rI#wyzfjtHbFDo(YE3({t)ylE3#`$bvUU9TvG+OjdH3#fcoF`<4X3pB^QQG{>Fb@^#+%jQJI4WX#z_!Qc z=@AT+`jd5kbfwWe*>}h-G}Nr`AUQL|3(eeLf{2={j&b-@la=Ij!uO!Kb*kIrTyYt% ztFsqa^5DM9WLkOXLR+BCm9uMx`(NKS*UQQC)9%xDdl_uVU6MXsRFw~jD>O=&%d}Z< z=Dop>IE58nA^mX-bJmdA5ZXJ}nHUo#{G9yoYLL9nq%W}O&A zJHHw5y`?@Y{b=5C)TZygUP>z+8cz!Rw}jNH4cGh}h8KR;_w6-OBhgJ26;SwmDw1mi z?F_Vz*70+JvCpRtw9gluL=fO;QVeGKFk*aIO%AD8x-V&s2$6{ zvubmOV@lI6xVpGP_pNO%6dH50At}P#Cmg=4502x+sdG0Oc@J;rw05eCH z_jyj?Y_0JA2+F3q(XpX_$>z^CVNZ>v10^s{{voL(hSoYH8MqvIF!anEm%Q=J>tpb$ zH+5#`vBJN6JsqMtd$A_UF9snafhW|QWATWA&=#7|H4ix>jDw#J`B(sLQNIoE24hm{ zyFjDO;rM}0#io~Xw?fUT$Z;J9Lq@==PiEa?Z^Od!{R-KHGpy2eo$@)4AbAYQ>Ja=D zQ=0Z}H+*e+v1H%zne-RO_#4k&m=a$L3(-#}lg&L;9{ufp=uN^{edqDm4~oNfl&
    • U{98&wf~4 z-M~J6zH%x-7_HG%M+^LXqNaG({T>SMZ0h?-mm)%4C%Msa?9o4Tuf}=|F}9wr9ZwqY z(f`TGDN4t0A#n8lRFR60&aNcp{Mb16Y7jQR0}N2#GzSAdU6Yjl-!{Gpo2cQHVU$H* z7@SwS>0lvZT2%5BQWw_D4=GsW6ISz?W4-+9O$WN5D^4vnd?WOuDM2g(b^F7(OulH( zZ9=OWVr5{MKpEw1OyGvhuF&+&*0SC#M?sd2wm*9PVhUiPvY6|G9#(yR* zH_eX^H!sA3GsQJKzyp|82WPa*8ihec)K8AiaY~)Ok-nxJos?nRh0W9nh5yifWA`d;_FvlHw(R>S*NRx){+hD zMM>PD?>50+%Yx6MXJ8^RGqTGcqI%05sYh0V%ZJDUn!bo5t_Ye9baN<-E9qFJcbb$b zSUtnldq014%Jf?(5xQ{vgXU9Dq*HXIJfNw6J6aD*_*79`vJ*@{*6P|LebN5BN_RPO z;L_ZmUZ~Eznq7pKRH#V7-9?TNH&_eN05mI~;%DOzIu@UuB|?8{u&_ztdxGr~zaL&u zf){gNLH#g{^!2z}c@IFd^dyhpkHVd?X*t3-w7g!TO9~8&Yvu;Ky<0j<4i~rC ziX1ox%3mXRA_vAk=t=H5!naxye?4>U1JtlPq(=JYUcp->`V|?v$!8jWNWC>2D?{1R);LayE+ZEK8uBa`$7{U=`rX5J`6sYxu!AfX8!py6n^A{ z^6hC#Ew@sWPs?orSpb>?j_@;FjufVhXT>Q6C7lXlb%fhGKXC2g?s{SO46Fw1XSc&$ zw7dNIxFEvT7f7d%_ZC%H$1^Zw)H&XiU}WndK-jnr9{`B`onQY`R#`2!idapRn*zvO zA)3p((wpi8&L{Av(i;ZA-B?)nM51WD0!QT~isR$a5M!A~0qLfMjsYhrek!&k{#=Vi ztJqAo@$&nWwXHJrxjOnlSlto6;9SdQykH|%4J=H4xXm^@VPw98%c6e+CVT(6-kvSj zl$8{&jjU5dD(-g$^9jPWm8(n*C#}!4@xHlX7H=+L51h3Jp0FGKDfa_$u8m8TOaqW6 z`aDJkJ&V7v`T6}wz}EpF+7W&9as4XH&H}jnBg(kqXo2V2a(AFJ{*GvfAqOSDd06|k z`nLTrjU9q^K-&nfSlcz&dZFh1`VD#ra3Ka&A?5vgH$0WuEnaOaBG5xxs0L++qir-? zb7hHhY2YOMBp-dOqwTbb*4GK6G-fyGKb|pA?H%SIk`=buIV| zm5hCXT6(Q1%SAtH|MI6GYc}lOS|~L)A#{hi{l_Op6r7NeZrzmtrY(I{PcI@}SA_$7 zb8Hq{mst;O4l7-7eX8N&oRyZ?e10GgSi8>r^x_;pz~57)Cnw?6)95{EjUy9-+fdq5 zm610o`6JkAkADw)&Q(voK3KR~|okJR{i!Yi&Ll=WkHYk6Ie)E^4b9aOb}9=dWft^s}sKCoAKd$Jn}5|_F{XK+}iq-G=)WfJJzDS zm)^0fj`f<)Yv{I6aH&Y0`%R*YkCnM?T82s??xltJWBd$C{pV16l*6#m=jUH}Hj7ev z)=hSW8pBV-R}6pAq-e*Gbz6}r#?}ba9R!6PV5H(F_F+l7Ss(cagA*|Du-LqbmbiUp z6Rbo_FJ{E%Io4($GXXoUP9uOSh10+aMf&=e71U;&k%%hnajO7T^GmmkPDk)5EBLmH z(dPxM)X-?zgbi`kceZD%Kwklbh%>HKPvF$t?X}>~ypBPSPDWUmb0WgFW`_}>&9K~} zDL{QuMJj$36ad^s6%3wN<5Z*`H{ow=#1|G2+A34=GsdcLNFIV$xK2<=t-G42t8~Pz zj9@03I$-q+*oKmwch(w#zi&%sEU*2D4$spUGK3_(ww&?WVv`B+me-3Nnhz8S{3Mn| zFK((fax->UNoDFhXG_XPHgT>lqBCJ9F|hfO#}jI_imz$Ky*6>C)yW6j=ntDmaxo<8 zxAd8PyZ>tPNg5dYbsI~B7Tcj-?;=q0ULu`jUtw;4NcFVT1??j21P4&Ij-zSic!uBNPLwH=RN!KHh1;89PAGk+Jfcnn5@2V} z&>#0>RlmA>3cl73bXr~1FS1dcT!IGmVnlpip50$V2Tx@Z9S{z*)yci5RN#ccN{hiP z-x*yieHHUHL-y3-rLE;|iz)0v4&RXOm4h63FQuZK+4#s_T2~(IMw>!>p&toeN0f0> zjAhUVm~TJLcHN&<=9(UIx?(|D%_6rP?~C;$-!uq#+jn2yi8}O9A=ImDWZrD+$oJ9;(^E9qk}4Vc~d{!-^j1%uu{o@i7%gT$Q{*AQRR z-UM|O8+1;f{EzjvPB^gymlD=W z4ms^lO=wknl&7B_qS-Q`&A&Wn{{EYo2#tRbx=-YA` ztrTCC!;a3sQW}lmm%Rb6tp~=A^ZPsL{RTTL*J&(KV=ZbVP_K#<4M!>c%dvW0L(?&S zGqa;8MiH!PSZP{7t}-zxo2AReV;I`(O&8)Q(-f>hD}*=eoWzy9Bvfd{>(XK$h*lNA zs?90fpSv6v`-DMW=n2*vPio?PLLRu>c!-ssR5u*A{pG?zxbf5MKe(LO2cU(Y;~p!Y z2iYMLU;rM866t}W&FQALFIZ|4l}E4Sg^7A8F0|z zOWHgylAm;|Zxp^YR6%mjdwVUeo^RVdzJ&8@AT(d@G~o%Rmfl1h4k6Bw3RrfsXWlx! z75RY-*pE3DE#K{8+ht4@kU4Qdqc|Jg*ls1_3qax!FA7CtaB)t;aKo;WYF9V zuQ|*DLKcN?s&x%b$Z%OaFwgA&FW6k!j4RxWN4G0Z-&X(|bh&Qg^z-97>Gtc!V$AOc z)2NAa%3ErzuKCTi?+1&pS zV$YzHVhd)|3;FfnhAWF$sT`rP!Rj8M(M_9F!I1HosoA zwAbR8ojShWgr9xwTZYM5o{L4z@927zrDof=N|&$1bV?5qk%e%$ex18KFu8g-{&5Hmz!2h_v^@S>1*+nycW1w167;l z?&<|9{qF?s0)A|~R7rLF7lQjA8dok04gW<-%2IOV*r+z}aN2)Dm@IiIYi-PQ&Mmkl z`H7tt-}^^jI=_VviCnzVPRjgRyBX!6OKf^roxRM@5eb*f=l&a*8~d3()sv@)&{N`5 zE3=b^Xjtp-=|r$_cQrPXo3-VdK|o|p@+kA+8hINC3a2iJ4?(<-hD>H>TL&ZDru)*{ zz=pxpg|(~1N`XR8)A}u(Q(sGP^!IoB;i{wd7;u_Id>;p$O21rtqP#9BZ9+xz?ZZeg zid(b6Wy(Ed_=FQxu+Ul*BGhYj8m^RpGa-8M;XCV6IpSPx<5{KZUa5NNGg^MS!mK3j z^|8_^)|yc`cWs8F-VVz)_SMxXdmlO@)bgoMN$}{wgZf&q>Q44>88lTLrQ6hMivi~` z^34UF;P`Y<;*&pKZ9|3(t6wlW^>PLQ+YX_)-P@N^tK0RJW+d9L%hHgx>_vBka0AF{ zdYdNQ<}u_9k6?|~B6;wn-_bzUx-@A!TCV2TjhN?(V7F?gWc(J$%fK^_|Byy!aRv%> zu=Kx0I!ejL-|O9bR^9s}$7Kc!88f_DByG62XRtQfe!tye6h3C@uNz(<$HfCdmZ+5W zJ6N31jC#uq|% zBbud!KOgd9L%k!hYh%%C z=i6*;7o`ACtp35AfiE87fGW?1PZXF>)CEU}hDG+)OLmgK^FiG8XU2ep2Xcgt@s5={ zX(N)YWuWNZx`-L7RNFBb79V?3Cb^;ygB!^eEpa0YeC}B|Dnf;bfcVSni=4-$FaVfy@qPM0VtjLh$4V;jT3ZJy+}8lmG!_%nA@veg_qsmU)Q^=+q1lXDqc zyGG3UoZii%G_t4^CyY+v%}<_cbZl#TmR_JYQX#7Lc_4FGdD)w&!`8-1R^H$o)GS$r z+{ud$SFaSV)V(eXz1e?-ib}l0E|~l1PJc7gY!pnaJPawukDOSnIT8q1sRilRAPZ3*woeMM?DoXr`? z1yyoM(jkVneYt0AL4ejUVxZHS>*F(9pTg|4GZ6qBUim&J-zv!xF+xXm6H(dg^tXJ9y>b5t;kV{ zL%A5yG}&gTt7tcwfY&fn^DEKhSBs6!23unzWSEkV*)=Z^SNQ9gQ|-lz7#SM{6Jcw|No;if!z{Cp*u zpm@QjiSZ)sMvHDiuk(eE?eU1Z2kn(25}{@IthKs@ F{CE7ap#}f| diff --git a/chart-sdk/vue/sparkline-charts/localization.md b/chart-sdk/vue/sparkline-charts/localization.md deleted file mode 100644 index d7d92ca30..000000000 --- a/chart-sdk/vue/sparkline-charts/localization.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: post -title: Localization in Vue Sparkline component | Syncfusion -description: Learn here all about Localization in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: Localization -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Localization in Vue Sparkline component - -The sparkline control supports localization. The default culture for localization is `en-US`. You can change the culture using the `setCulture` method. - -## Tooltip format - -Sparkline tooltip supports localization. The following code sample shows tooltip text with currency format based on culture. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs17/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs17" %} - -## Rtl - -If you set the `enableRtl` property to true, then the sparkline will be rendered from rigt-to-left direction. - -The following example shows the sparkline is render from "Right-to-left". - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs18/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs18" %} \ No newline at end of file diff --git a/chart-sdk/vue/sparkline-charts/marker.md b/chart-sdk/vue/sparkline-charts/marker.md deleted file mode 100644 index 03707576e..000000000 --- a/chart-sdk/vue/sparkline-charts/marker.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: post -title: Marker in Vue Sparkline component | Syncfusion -description: Learn here all about Marker in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: Marker -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Marker in Vue Sparkline component - -This section explains how to add markers to the sparklines. - -## Adding marker to the sparkline - -To add marker to the sparkline, specify the `visible` of `markerSettings` as following values. The `visible` will accept multiple values too. - -* All - Enables markers for all points. -* Start - Enables marker for the start point. -* End - Enables marker for the end point. -* High - Enables marker for the high point. -* Low - Enables marker for the low point. -* Negative - Enables markers for the negative points. - -The following code example shows enabling markers for all points. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs19/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs19" %} - -## Adding marker to special point - -In sparkline, markers can be enabled for particular points such as the start, end, low, high, or negative. The following code examples shows enabling markers for the high and low points. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs20/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs20" %} - -## Customizing markers - -Sparkline markers can be customized in terms of fill color, border color, width, opacity, and size. The following code example shows customizing marker's fill, border, and size. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs21/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs21" %} diff --git a/chart-sdk/vue/sparkline-charts/range-band.md b/chart-sdk/vue/sparkline-charts/range-band.md deleted file mode 100644 index 5c86d6457..000000000 --- a/chart-sdk/vue/sparkline-charts/range-band.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: post -title: Range band in Vue Sparkline component | Syncfusion -description: Learn here all about Range band in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: Range band -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Range band in Vue Sparkline component - -This section explains how to customize the sparkline with multiple range bands. - -## Range band customization - -The range band feature is used to highlight a particular range along with the y-axis using the [`startRange`] and [`endRange`] properties. You can also customize the [`color`] and [`opacity`] of the range band. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs22/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs22" %} - -## Multiple range band customization - -You can define multiple range bands to a sparkline as shown in the following code sample. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs23/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs23" %} diff --git a/chart-sdk/vue/sparkline-charts/sparkline-dimensions.md b/chart-sdk/vue/sparkline-charts/sparkline-dimensions.md deleted file mode 100644 index cf6ace5a5..000000000 --- a/chart-sdk/vue/sparkline-charts/sparkline-dimensions.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: post -title: Sparkline dimensions in Vue Sparkline component | Syncfusion -description: Learn here all about Sparkline dimensions in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: Sparkline dimensions -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Sparkline dimensions in Vue Sparkline component - -## Size for container - -Sparkline can be rendered to its container size. You can set the size through inline or CSS as shown in the following code. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs24/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs24" %} - - -## Size for sparkline - - - -You can also set the size for sparkline directly using the [`width`](https://ej2.syncfusion.com/vue/documentation/api/sparkline/#width-string) and [`height`](https://ej2.syncfusion.com/vue/documentation/api/sparkline/#height-string) properties. - -### In pixel - -You can set the size for sparkline in pixel as demonstrated in the following code. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs25/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs25" %} - -### In percentage - -By setting values in percentage, sparkline gets its dimension with respect to its container. For example, when the height is set to ‘50%’, sparkline is rendered to half of its container height. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs26/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs26" %} diff --git a/chart-sdk/vue/sparkline-charts/sparkline-types.md b/chart-sdk/vue/sparkline-charts/sparkline-types.md deleted file mode 100644 index b20eae789..000000000 --- a/chart-sdk/vue/sparkline-charts/sparkline-types.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -layout: post -title: Sparkline types in Vue Sparkline component | Syncfusion -description: Learn here all about Sparkline types in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: Sparkline types -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Sparkline types in Vue Sparkline component - -Different types of shapes can be used to represent the sparkline. You can change the sparkline type by setting the type property. Sparkline supports the following types: - -* Line -* Column -* Win-Loss -* Pie -* Area - -The following code sample shows different types of sparklines. - - - -**Line** - -The [`Line`] type is used to render the sparkline series as line. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs27/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs27" %} - -**Column** - -The [`Column`] type is used to render the sparkline series as column. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs28/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs28" %} - -**Pie** - -The [`Pie`] type is used to render the sparkline series as pie. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs29/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs29" %} - -**Win Loss** - -The [`WinLoss`] type is used to render the sparkline series as Win Loss. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs30/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs30" %} - -**Area** - -The [`Area`] type is used to render the sparkline series as area. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs31/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs31" %} diff --git a/chart-sdk/vue/sparkline-charts/special-points-customization.md b/chart-sdk/vue/sparkline-charts/special-points-customization.md deleted file mode 100644 index 26dfde7c2..000000000 --- a/chart-sdk/vue/sparkline-charts/special-points-customization.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -layout: post -title: Special points customization in Vue Sparkline component | Syncfusion -description: Learn here all about Special points customization in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: Special points customization -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Special points customization in Vue Sparkline component - -You can customize the points by initializing the point colors. The customization options allows to differentiate the [`start`], [`end`], [`positive`], [`negative`], and [`low`] points. This customization is only applicable for line, column, and area type sparklines. - - - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs32/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs32" %} - -## Tie point color - -Tie point color is used to configure the win-loss series type sparkline's y-value point color. The following code sample shows the tie point color of sparkline series. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs33/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs33" %} diff --git a/chart-sdk/vue/sparkline-charts/user-interaction.md b/chart-sdk/vue/sparkline-charts/user-interaction.md deleted file mode 100644 index 7effdd0ac..000000000 --- a/chart-sdk/vue/sparkline-charts/user-interaction.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -layout: post -title: User interaction in Vue Sparkline component | Syncfusion -description: Learn here all about User interaction in Syncfusion Vue Sparkline component of Syncfusion Essential JS 2 and more. -control: User interaction -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# User interaction in Vue Sparkline component - -Sparkline has two user interaction features: tooltip and tracker line. - -## Tooltip - -The sparkline provides options to display details about values of data points through tooltips when hovering the mouse over data point. To use tooltip in sparkline, inject the `SparklineTooltip` module to sparkline using the inject method. - -The following code example shows enabling tooltip for sparkline with format. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs34/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs34" %} - -### Tooltip customization - -The fill color, text styles, format, and border of the tooltip can be customized. The following code example shows customization of tooltip's fill color and text style. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs35/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs35" %} - -### Inline tooltip formatting - -The tooltip content can be formatted directly within the [`format`] property by adding DateTime or number format specifiers to supported tooltip tokens. This allows you to control how point and series values are displayed without using additional events. - -A format specifier can be applied to a tooltip token by adding a colon (`:`) followed by the required format. - -For example: - -```typescript -tooltipSettings = { - visible: true, - format: '${x:MMM yyyy} : ${y:n2}' -} -``` - -In the above example, `x` is displayed in month-year format and `y` is displayed with two decimal places. - -Inline formatting can be applied to the following tooltip tokens: - -- `${x}` or `${x:MMM yyyy}` – Specifies the x-value of the Sparkline data point, such as DateTime or category values. -- `${y}` or `${y:n2}` – Specifies the numeric y-value of the Sparkline data point. - -**Important:** DateTime formatting is applied when the resolved value is a Date object, and number formatting is applied when the resolved value is numeric. - -The following format types are supported: - -- DateTime formats such as `MMM yyyy`, `MM:yy`, and `dd MMM` -- Number formats such as: - - `n2` – number with two decimal places - - `n0` – number without decimals - - `c2` – currency format - - `p1` – percentage format - -If the specified format does not match the resolved value type, the original value is displayed. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs38/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs38" %} - -### Tooltip template - -Sparkline tooltip has template support. By using tooltip template, you can customize tooltips. The following code example shows more customization options provided to `sparkline-tooltip` css class that is used in tooltip template div. Using this template, images also can be added to tooltip. - -``` -.sparkline-tooltip { - border-radius: 5px; - background: #008cff; - color: #FFFFFF !important; - font-size: 16px; - font-style: italic; - padding: 8px; -} -``` - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs36/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs36" %} - -## Track line - -The track line tracks data points that are closer to the mouse position or touch contact. - -To enable track lines for sparkline, specify the `visible` option of `trackLineSettings` to true. Based on theme, tracker color will be changed. The default value of tracker color is black. - -To use track line in sparkline, inject the `SparklineTooltip` module to sparkline using the inject method. - -{% tabs %} -{% highlight html tabtitle="app.vue" %} -{% include code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs37/app.vue %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "https://help.syncfusion.com/code-snippet/chart-sdk/vue/sparkline-charts/getting-started-cs37" %} diff --git a/chart-sdk/vue/sparkline-charts/vue-3-getting-started.md b/chart-sdk/vue/sparkline-charts/vue-3-getting-started.md deleted file mode 100644 index 441ecdd5b..000000000 --- a/chart-sdk/vue/sparkline-charts/vue-3-getting-started.md +++ /dev/null @@ -1,310 +0,0 @@ ---- -layout: post -title: Vue 3 getting started with the Sparkline component | Syncfusion -description: Quick guide to set up and use the Vue Sparkline component with Vue 3 (Vite), including data binding and tooltip configuration. -control: Vue 3 getting started -platform: chart-sdk -documentation: ug -domainurl: https://help.syncfusion.com/chart-sdk ---- - -# Getting Started with the Vue Sparkline Component in Vue 3 - -This article provides a step-by-step guide for creating a [Vite](https://vitejs.dev) project (JavaScript) and integrating the Syncfusion® Vue Sparkline component using either the Composition API or the Options API. - -The Composition API is function-based and groups related logic into reusable composition functions. The Options API organizes component logic into options such as `data`, `methods`, `computed`, and life cycle hooks. Both approaches are supported; choose the one that best fits the project. - -## Prerequisites - -[System requirements for Syncfusion® Vue UI components](https://ej2.syncfusion.com/vue/documentation/system-requirements) - -## Set up the Vite project - -A recommended approach for beginning with Vue is to scaffold a project using [Vite](https://vitejs.dev). To create a new Vite project, use one of the commands that are specific to either NPM or Yarn. - -```bash -npm create vite@latest -``` - -or - -```bash -yarn create vite -``` - -Follow the prompts to configure the project as shown below: - -1. Define the project name. For this article, use `my-project`. - -```bash -? Project name: » my-project -``` - -2. Select `Vue` as the framework to create a Vue 3 project. - -```bash -? Select a framework: » - Use arrow-keys. Return to submit. -Vanilla -> Vue - React - Preact - Lit - Svelte - Others -``` - -3. Choose `JavaScript` as the project variant. - -```bash -? Select a variant: » - Use arrow-keys. Return to submit. -> JavaScript - TypeScript - Customize with create-vue ↗ - Nuxt ↗ -``` - -4. After project creation, install dependencies: - -```bash -cd my-project -npm install -``` - -or - -```bash -cd my-project -yarn install -``` - -With the project created, add Syncfusion® components to the project. - -## Add Syncfusion® Vue packages - -Syncfusion® Vue component packages are available on npm. The Vue Sparkline component is included in the `@syncfusion/ej2-vue-charts` package. For advanced or custom integrations, the lower-level packages `@syncfusion/ej2-sparkline` and `@syncfusion/ej2-vue-base` can be installed instead. - -This article uses the Vue Sparkline component as an example. Install the `@syncfusion/ej2-vue-charts` package using one of the commands below: - -```bash -npm install @syncfusion/ej2-vue-charts --save -``` - -or - -```bash -yarn add @syncfusion/ej2-vue-charts -``` - -## Add Syncfusion® Vue component - -Follow the below steps to add the Vue Sparkline component using `Composition API` or `Options API`: - -1.First, import and register the Sparkline component and its child directives in the `script` section of the **src/App.vue** file. If you are using the `Composition API`, you should add the `setup` attribute to the `script` tag to indicate that Vue will be using the `Composition API`. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% endtabs %} - -2.In the `template` section, define the Sparkline component with the [dataSource](https://helpej2.syncfusion.com/vue/documentation/api/sparkline#datasource) property. - -{% tabs %} -{% highlight html tabtitle="~/src/App.vue" %} - - - -{% endhighlight %} -{% endtabs %} - -3.Declare the values for the `dataSource` property in the `script` section. - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - -{% endhighlight %} -{% endtabs %} - -Here is the summarized code for the above steps in the **src/App.vue** file: - -{% tabs %} -{% highlight html tabtitle="Composition API (~/src/App.vue)" %} - - - - - -{% endhighlight %} -{% highlight html tabtitle="Options API (~/src/App.vue)" %} - - - - - -{% endhighlight %} -{% endtabs %} - -## Run the project - -To run the project, use the following command: - -```bash -npm run dev -``` - -or - -```bash -yarn run dev -``` - -The output will appear as follows: - -![vue3-sparkline-charts-demo](./images/vue3-sparkline-charts-demo.png) - -> **Sample**: [vue-3-sparkline-charts-getting-started](https://github.com/SyncfusionExamples/vue3-sparkline-charts-getting-started). -For migrating from Vue 2 to Vue 3, refer to the `migration` documentation. - -## See also - -* [Getting Started with Vue UI Components using Composition API and TypeScript](../getting-started/vue-3-ts-composition.md) -* [Getting Started with Vue UI Components using Options API and TypeScript](../getting-started/vue-3-ts-options.md) \ No newline at end of file diff --git a/chart-sdk/vue/stock-chart/images/vue3-terminal.png b/chart-sdk/vue/stock-chart/images/vue3-terminal.png deleted file mode 100644 index b0ec451526671e4ab4aa1393d56a76d8ad9d8283..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7221 zcmeI1eLR!z-~XqQB6NdQWc86sNODucgpeYka&JWua$knc)R02|#r$MyL=u79q-evjWD=leX4<8hwv_jw%W`F+Ow_MOJ`HODlpr^DX^KjEIW zK0Y6cXUE_+#!yw>=Htxp#XT)PVXxUg;}JK$88p;Q#ItI40vRw@&tTp z<$T|8#{=lOJ55}+c&Tq?b_tA^cke;e(yKS`oActNZgIX%a&E_;IlkIEyb>{r$W~Y2 z4KtTSDBcWDkU*wj{@~YAeMt%7V1AK0=L0n)emh-rbnzw%cx@k2PaF|$^3`b4dhvPC zh}GpqsZmW;_!GG{(mY}5jycWZCU<|hE}s@VIxfw;{~s6F>;liPQpOpR5ogWKW}1Y& z**@!-ug3fCow`$M{3fOxLBrntYi5=s>{gc2T1c=6(B1f0#_UO1_49p$3;8a#hAit- zL}SPWb!TBr`T)|;Z1rI#wyzfjtHbFDo(YE3({t)ylE3#`$bvUU9TvG+OjdH3#fcoF`<4X3pB^QQG{>Fb@^#+%jQJI4WX#z_!Qc z=@AT+`jd5kbfwWe*>}h-G}Nr`AUQL|3(eeLf{2={j&b-@la=Ij!uO!Kb*kIrTyYt% ztFsqa^5DM9WLkOXLR+BCm9uMx`(NKS*UQQC)9%xDdl_uVU6MXsRFw~jD>O=&%d}Z< z=Dop>IE58nA^mX-bJmdA5ZXJ}nHUo#{G9yoYLL9nq%W}O&A zJHHw5y`?@Y{b=5C)TZygUP>z+8cz!Rw}jNH4cGh}h8KR;_w6-OBhgJ26;SwmDw1mi z?F_Vz*70+JvCpRtw9gluL=fO;QVeGKFk*aIO%AD8x-V&s2$6{ zvubmOV@lI6xVpGP_pNO%6dH50At}P#Cmg=4502x+sdG0Oc@J;rw05eCH z_jyj?Y_0JA2+F3q(XpX_$>z^CVNZ>v10^s{{voL(hSoYH8MqvIF!anEm%Q=J>tpb$ zH+5#`vBJN6JsqMtd$A_UF9snafhW|QWATWA&=#7|H4ix>jDw#J`B(sLQNIoE24hm{ zyFjDO;rM}0#io~Xw?fUT$Z;J9Lq@==PiEa?Z^Od!{R-KHGpy2eo$@)4AbAYQ>Ja=D zQ=0Z}H+*e+v1H%zne-RO_#4k&m=a$L3(-#}lg&L;9{ufp=uN^{edqDm4~oNfl&
    • U{98&wf~4 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 F{CE7ap#}f| diff --git a/chart-sdk/vue/stock-chart/accessibility.md b/chart-sdk/vue/stock-charts/accessibility.md similarity index 100% rename from chart-sdk/vue/stock-chart/accessibility.md rename to chart-sdk/vue/stock-charts/accessibility.md diff --git a/chart-sdk/vue/stock-chart/appearance.md b/chart-sdk/vue/stock-charts/appearance.md similarity index 100% rename from chart-sdk/vue/stock-chart/appearance.md rename to chart-sdk/vue/stock-charts/appearance.md diff --git a/chart-sdk/vue/stock-chart/axis-customization.md b/chart-sdk/vue/stock-charts/axis-customization.md similarity index 100% rename from chart-sdk/vue/stock-chart/axis-customization.md rename to chart-sdk/vue/stock-charts/axis-customization.md diff --git a/chart-sdk/vue/stock-chart/axis-types.md b/chart-sdk/vue/stock-charts/axis-types.md similarity index 100% rename from chart-sdk/vue/stock-chart/axis-types.md rename to chart-sdk/vue/stock-charts/axis-types.md diff --git a/chart-sdk/vue/stock-chart/chart-dimensions.md b/chart-sdk/vue/stock-charts/chart-dimensions.md similarity index 100% rename from chart-sdk/vue/stock-chart/chart-dimensions.md rename to chart-sdk/vue/stock-charts/chart-dimensions.md diff --git a/chart-sdk/vue/stock-chart/cross-hair.md b/chart-sdk/vue/stock-charts/cross-hair.md similarity index 100% rename from chart-sdk/vue/stock-chart/cross-hair.md rename to chart-sdk/vue/stock-charts/cross-hair.md diff --git a/chart-sdk/vue/stock-chart/export-print.md b/chart-sdk/vue/stock-charts/export-print.md similarity index 100% rename from chart-sdk/vue/stock-chart/export-print.md rename to chart-sdk/vue/stock-charts/export-print.md diff --git a/chart-sdk/vue/stock-chart/getting-started.md b/chart-sdk/vue/stock-charts/getting-started.md similarity index 100% rename from chart-sdk/vue/stock-chart/getting-started.md rename to chart-sdk/vue/stock-charts/getting-started.md diff --git a/chart-sdk/vue/stock-chart/gradient.md b/chart-sdk/vue/stock-charts/gradient.md similarity index 100% rename from chart-sdk/vue/stock-chart/gradient.md rename to chart-sdk/vue/stock-charts/gradient.md diff --git a/chart-sdk/vue/stock-chart/images/vue2-stockchart-demo.png b/chart-sdk/vue/stock-charts/images/vue2-stockchart-demo.png similarity index 100% rename from chart-sdk/vue/stock-chart/images/vue2-stockchart-demo.png rename to chart-sdk/vue/stock-charts/images/vue2-stockchart-demo.png diff --git a/chart-sdk/vue/stock-chart/images/vue3-stockchart-demo.png b/chart-sdk/vue/stock-charts/images/vue3-stockchart-demo.png similarity index 100% rename from chart-sdk/vue/stock-chart/images/vue3-stockchart-demo.png rename to chart-sdk/vue/stock-charts/images/vue3-stockchart-demo.png diff --git a/chart-sdk/vue/range-selector/images/vue3-terminal.png b/chart-sdk/vue/stock-charts/images/vue3-terminal.png similarity index 100% rename from chart-sdk/vue/range-selector/images/vue3-terminal.png rename to chart-sdk/vue/stock-charts/images/vue3-terminal.png diff --git a/chart-sdk/vue/stock-chart/legend.md b/chart-sdk/vue/stock-charts/legend.md similarity index 100% rename from chart-sdk/vue/stock-chart/legend.md rename to chart-sdk/vue/stock-charts/legend.md diff --git a/chart-sdk/vue/stock-chart/period-selector.md b/chart-sdk/vue/stock-charts/period-selector.md similarity index 100% rename from chart-sdk/vue/stock-chart/period-selector.md rename to chart-sdk/vue/stock-charts/period-selector.md diff --git a/chart-sdk/vue/stock-chart/range-selector.md b/chart-sdk/vue/stock-charts/range-selector.md similarity index 100% rename from chart-sdk/vue/stock-chart/range-selector.md rename to chart-sdk/vue/stock-charts/range-selector.md diff --git a/chart-sdk/vue/stock-chart/series-types.md b/chart-sdk/vue/stock-charts/series-types.md similarity index 100% rename from chart-sdk/vue/stock-chart/series-types.md rename to chart-sdk/vue/stock-charts/series-types.md diff --git a/chart-sdk/vue/stock-chart/stock-events.md b/chart-sdk/vue/stock-charts/stock-events.md similarity index 100% rename from chart-sdk/vue/stock-chart/stock-events.md rename to chart-sdk/vue/stock-charts/stock-events.md diff --git a/chart-sdk/vue/stock-chart/technical-indicators.md b/chart-sdk/vue/stock-charts/technical-indicators.md similarity index 100% rename from chart-sdk/vue/stock-chart/technical-indicators.md rename to chart-sdk/vue/stock-charts/technical-indicators.md diff --git a/chart-sdk/vue/stock-chart/tool-tip.md b/chart-sdk/vue/stock-charts/tool-tip.md similarity index 100% rename from chart-sdk/vue/stock-chart/tool-tip.md rename to chart-sdk/vue/stock-charts/tool-tip.md diff --git a/chart-sdk/vue/stock-chart/trend-lines.md b/chart-sdk/vue/stock-charts/trend-lines.md similarity index 100% rename from chart-sdk/vue/stock-chart/trend-lines.md rename to chart-sdk/vue/stock-charts/trend-lines.md diff --git a/chart-sdk/vue/stock-chart/vue-3-getting-started.md b/chart-sdk/vue/stock-charts/vue-3-getting-started.md similarity index 100% rename from chart-sdk/vue/stock-chart/vue-3-getting-started.md rename to chart-sdk/vue/stock-charts/vue-3-getting-started.md diff --git a/chart-sdk/vue/stock-chart/working-with-data.md b/chart-sdk/vue/stock-charts/working-with-data.md similarity index 100% rename from chart-sdk/vue/stock-chart/working-with-data.md rename to chart-sdk/vue/stock-charts/working-with-data.md diff --git a/chart-toc.html b/chart-toc.html index 0d9a00425..a1d49ec2c 100644 --- a/chart-toc.html +++ b/chart-toc.html @@ -44,210 +44,210 @@ React
    • -
      - -
      - - -