sirena 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/build_deploy.yml +59 -0
- data/.github/workflows/links.yml +85 -0
- data/.github/workflows/rake.yml +15 -0
- data/.github/workflows/release.yml +27 -0
- data/.gitignore +68 -0
- data/.rspec +3 -0
- data/.rubocop.yml +14 -0
- data/.rubocop_todo.yml +70 -0
- data/ARCHITECTURE.md +744 -0
- data/Gemfile +12 -0
- data/LICENSE +25 -0
- data/README.adoc +357 -0
- data/Rakefile +11 -0
- data/docs/.gitignore +1 -0
- data/docs/Gemfile +13 -0
- data/docs/_config.yml +182 -0
- data/docs/_diagram_types/architecture-diagram.adoc +314 -0
- data/docs/_diagram_types/block-diagram.adoc +345 -0
- data/docs/_diagram_types/c4-diagram.adoc +559 -0
- data/docs/_diagram_types/class-diagram.adoc +816 -0
- data/docs/_diagram_types/er-diagram.adoc +719 -0
- data/docs/_diagram_types/error-diagram.adoc +114 -0
- data/docs/_diagram_types/examples/flowchart-examples.adoc +29 -0
- data/docs/_diagram_types/flowchart.adoc +488 -0
- data/docs/_diagram_types/gantt-chart.adoc +502 -0
- data/docs/_diagram_types/git-graph.adoc +600 -0
- data/docs/_diagram_types/index.adoc +192 -0
- data/docs/_diagram_types/info-diagram.adoc +103 -0
- data/docs/_diagram_types/kanban-diagram.adoc +262 -0
- data/docs/_diagram_types/mindmap.adoc +603 -0
- data/docs/_diagram_types/packet-diagram.adoc +378 -0
- data/docs/_diagram_types/pie-chart.adoc +335 -0
- data/docs/_diagram_types/quadrant-chart.adoc +406 -0
- data/docs/_diagram_types/radar-chart.adoc +528 -0
- data/docs/_diagram_types/requirement-diagram.adoc +416 -0
- data/docs/_diagram_types/sankey-diagram.adoc +357 -0
- data/docs/_diagram_types/sequence-diagram.adoc +664 -0
- data/docs/_diagram_types/state-diagram.adoc +658 -0
- data/docs/_diagram_types/timeline.adoc +352 -0
- data/docs/_diagram_types/treemap-diagram.adoc +462 -0
- data/docs/_diagram_types/user-journey.adoc +602 -0
- data/docs/_features/index.adoc +129 -0
- data/docs/_guides/cli-reference.adoc +203 -0
- data/docs/_guides/index.adoc +56 -0
- data/docs/_guides/installation.adoc +100 -0
- data/docs/_guides/quick-start.adoc +132 -0
- data/docs/_pages/comparison.adoc +441 -0
- data/docs/_pages/compatibility.adoc +300 -0
- data/docs/_pages/index.adoc +39 -0
- data/docs/_references/index.adoc +103 -0
- data/docs/_tutorials/index.adoc +57 -0
- data/docs/index.adoc +166 -0
- data/docs/lychee.toml +54 -0
- data/examples/.gitignore +10 -0
- data/examples/README.adoc +196 -0
- data/examples/README.md +64 -0
- data/examples/architecture/01-basic-services.mmd +9 -0
- data/examples/architecture/01-basic-services.svg +37 -0
- data/examples/architecture/02-service-groups.mmd +16 -0
- data/examples/architecture/02-service-groups.svg +55 -0
- data/examples/architecture/README.adoc +79 -0
- data/examples/block/01-basic-blocks.mmd +13 -0
- data/examples/block/01-basic-blocks.svg +44 -0
- data/examples/block/02-block-shapes.mmd +13 -0
- data/examples/block/02-block-shapes.svg +47 -0
- data/examples/block/README.adoc +85 -0
- data/examples/c4/01-context-diagram.mmd +10 -0
- data/examples/c4/01-context-diagram.svg +45 -0
- data/examples/c4/02-container-diagram.mmd +24 -0
- data/examples/c4/02-container-diagram.svg +105 -0
- data/examples/c4/README.adoc +92 -0
- data/examples/class_diagram/01-basic-classes.mmd +61 -0
- data/examples/class_diagram/01-basic-classes.svg +117 -0
- data/examples/class_diagram/02-relationships.mmd +61 -0
- data/examples/class_diagram/02-relationships.svg +129 -0
- data/examples/class_diagram/README.adoc +93 -0
- data/examples/er_diagram/01-basic-entities.mmd +64 -0
- data/examples/er_diagram/01-basic-entities.svg +5 -0
- data/examples/er_diagram/02-cardinality.mmd +57 -0
- data/examples/er_diagram/02-cardinality.svg +125 -0
- data/examples/er_diagram/README.adoc +88 -0
- data/examples/error/01-basic-error.mmd +1 -0
- data/examples/error/01-basic-error.svg +13 -0
- data/examples/error/02-error-display.mmd +1 -0
- data/examples/error/02-error-display.svg +13 -0
- data/examples/error/README.adoc +71 -0
- data/examples/error_message_example.svg +13 -0
- data/examples/flowchart/00-original.mmd +13 -0
- data/examples/flowchart/00-original.svg +5 -0
- data/examples/flowchart/01-basic-flow.mmd +7 -0
- data/examples/flowchart/01-basic-flow.svg +52 -0
- data/examples/flowchart/01-basic-flow.yml +13 -0
- data/examples/flowchart/02*.svg +87 -0
- data/examples/flowchart/02-node-shapes.mmd +9 -0
- data/examples/flowchart/02-node-shapes.svg +33 -0
- data/examples/flowchart/03-edge-types.mmd +7 -0
- data/examples/flowchart/03-edge-types.svg +53 -0
- data/examples/flowchart/04-subgraphs.mmd +9 -0
- data/examples/flowchart/04-subgraphs.svg +33 -0
- data/examples/flowchart/05-styling.mmd +9 -0
- data/examples/flowchart/05-styling.svg +33 -0
- data/examples/flowchart/06-complex-flow.mmd +8 -0
- data/examples/flowchart/06-complex-flow.svg +59 -0
- data/examples/flowchart/README.adoc +167 -0
- data/examples/gantt/01-simple-timeline.* +14 -0
- data/examples/gantt/01-simple-timeline.mmd +6 -0
- data/examples/gantt/01-simple-timeline.svg +26 -0
- data/examples/gantt/02-task-dependencies.mmd +6 -0
- data/examples/gantt/02-task-dependencies.svg +26 -0
- data/examples/gantt/README.adoc +86 -0
- data/examples/git_graph/01-linear-history.mmd +12 -0
- data/examples/git_graph/01-linear-history.svg +26 -0
- data/examples/git_graph/02-branching.mmd +12 -0
- data/examples/git_graph/02-branching.svg +26 -0
- data/examples/git_graph/README.adoc +73 -0
- data/examples/info/02-showinfo.mmd +1 -0
- data/examples/info/02-showinfo.svg +10 -0
- data/examples/info/README.adoc +58 -0
- data/examples/info_showinfo_example.svg +10 -0
- data/examples/kanban/01-simple-board.mmd +8 -0
- data/examples/kanban/01-simple-board.svg +43 -0
- data/examples/kanban/02-workflow.mmd +8 -0
- data/examples/kanban/02-workflow.svg +43 -0
- data/examples/kanban/README.adoc +79 -0
- data/examples/mindmap/01-simple-tree.mmd +19 -0
- data/examples/mindmap/01-simple-tree.svg +61 -0
- data/examples/mindmap/02-knowledge-map.mmd +19 -0
- data/examples/mindmap/02-knowledge-map.svg +61 -0
- data/examples/mindmap/README.adoc +77 -0
- data/examples/packet/01-basic-packet.* +17 -0
- data/examples/packet/01-basic-packet.mmd +4 -0
- data/examples/packet/01-basic-packet.svg +82 -0
- data/examples/packet/README.adoc +58 -0
- data/examples/pie/01-simple-chart.mmd +5 -0
- data/examples/pie/01-simple-chart.svg +17 -0
- data/examples/pie/02-labeled-slices.mmd +6 -0
- data/examples/pie/02-labeled-slices.svg +19 -0
- data/examples/pie/README.adoc +75 -0
- data/examples/quadrant/01-basic-quadrant.mmd +13 -0
- data/examples/quadrant/01-basic-quadrant.svg +33 -0
- data/examples/quadrant/02-positioned-items.mmd +14 -0
- data/examples/quadrant/02-positioned-items.svg +35 -0
- data/examples/quadrant/README.adoc +84 -0
- data/examples/radar/01-simple-radar.* +5 -0
- data/examples/radar/01-simple-radar.mmd +3 -0
- data/examples/radar/01-simple-radar.svg +25 -0
- data/examples/radar/02-multiple-curves.mmd +4 -0
- data/examples/radar/02-multiple-curves.svg +43 -0
- data/examples/radar/README.adoc +75 -0
- data/examples/requirement/01-basic-requirements.mmd +23 -0
- data/examples/requirement/01-basic-requirements.svg +49 -0
- data/examples/requirement/02-risk-levels.mmd +23 -0
- data/examples/requirement/02-risk-levels.svg +49 -0
- data/examples/requirement/README.adoc +85 -0
- data/examples/sankey/01-simple-flow.mmd +7 -0
- data/examples/sankey/01-simple-flow.svg +34 -0
- data/examples/sankey/02-multi-stage.mmd +11 -0
- data/examples/sankey/02-multi-stage.svg +44 -0
- data/examples/sankey/README.adoc +74 -0
- data/examples/sequence/01-basic-sequence.mmd +27 -0
- data/examples/sequence/01-basic-sequence.svg +5 -0
- data/examples/sequence/02-activations.mmd +17 -0
- data/examples/sequence/02-activations.svg +78 -0
- data/examples/sequence/README.adoc +86 -0
- data/examples/state_diagram/01-simple-states.mmd +29 -0
- data/examples/state_diagram/01-simple-states.svg +5 -0
- data/examples/state_diagram/02-composite.mmd +19 -0
- data/examples/state_diagram/02-composite.svg +81 -0
- data/examples/state_diagram/README.adoc +90 -0
- data/examples/timeline/01-simple-timeline.mmd +11 -0
- data/examples/timeline/01-simple-timeline.svg +36 -0
- data/examples/timeline/02-periods.mmd +15 -0
- data/examples/timeline/02-periods.svg +47 -0
- data/examples/timeline/README.adoc +78 -0
- data/examples/treemap/01-basic-treemap.mmd +12 -0
- data/examples/treemap/01-basic-treemap.svg +59 -0
- data/examples/treemap/README.adoc +59 -0
- data/examples/user_journey/01-simple-journey.mmd +23 -0
- data/examples/user_journey/01-simple-journey.svg +5 -0
- data/examples/user_journey/02-multi-actor.mmd +18 -0
- data/examples/user_journey/02-multi-actor.svg +129 -0
- data/examples/user_journey/README.adoc +81 -0
- data/examples/xychart/01-line-chart.mmd +5 -0
- data/examples/xychart/01-line-chart.svg +43 -0
- data/examples/xychart/02-bar-chart.mmd +7 -0
- data/examples/xychart/02-bar-chart.svg +48 -0
- data/examples/xychart/README.adoc +80 -0
- data/exe/sirena +7 -0
- data/lib/sirena/cli.rb +138 -0
- data/lib/sirena/commands/batch.rb +117 -0
- data/lib/sirena/commands/render.rb +80 -0
- data/lib/sirena/commands/types.rb +29 -0
- data/lib/sirena/commands/version.rb +24 -0
- data/lib/sirena/diagram/architecture.rb +46 -0
- data/lib/sirena/diagram/base.rb +61 -0
- data/lib/sirena/diagram/block.rb +81 -0
- data/lib/sirena/diagram/c4.rb +328 -0
- data/lib/sirena/diagram/class_diagram.rb +385 -0
- data/lib/sirena/diagram/er_diagram.rb +238 -0
- data/lib/sirena/diagram/error.rb +38 -0
- data/lib/sirena/diagram/flowchart.rb +160 -0
- data/lib/sirena/diagram/gantt.rb +71 -0
- data/lib/sirena/diagram/git_graph.rb +36 -0
- data/lib/sirena/diagram/info.rb +38 -0
- data/lib/sirena/diagram/kanban.rb +178 -0
- data/lib/sirena/diagram/mindmap.rb +54 -0
- data/lib/sirena/diagram/packet.rb +79 -0
- data/lib/sirena/diagram/pie.rb +115 -0
- data/lib/sirena/diagram/quadrant.rb +138 -0
- data/lib/sirena/diagram/radar.rb +52 -0
- data/lib/sirena/diagram/requirement.rb +133 -0
- data/lib/sirena/diagram/sankey.rb +217 -0
- data/lib/sirena/diagram/sequence.rb +242 -0
- data/lib/sirena/diagram/state_diagram.rb +237 -0
- data/lib/sirena/diagram/timeline.rb +171 -0
- data/lib/sirena/diagram/treemap.rb +84 -0
- data/lib/sirena/diagram/user_journey.rb +149 -0
- data/lib/sirena/diagram/xy_chart.rb +76 -0
- data/lib/sirena/diagram.rb +8 -0
- data/lib/sirena/diagram_registry.rb +101 -0
- data/lib/sirena/engine.rb +292 -0
- data/lib/sirena/parser/architecture.rb +41 -0
- data/lib/sirena/parser/base.rb +41 -0
- data/lib/sirena/parser/block.rb +72 -0
- data/lib/sirena/parser/c4.rb +53 -0
- data/lib/sirena/parser/class_diagram.rb +63 -0
- data/lib/sirena/parser/er_diagram.rb +40 -0
- data/lib/sirena/parser/error.rb +49 -0
- data/lib/sirena/parser/flowchart.rb +71 -0
- data/lib/sirena/parser/gantt.rb +60 -0
- data/lib/sirena/parser/git_graph.rb +95 -0
- data/lib/sirena/parser/grammars/architecture.rb +145 -0
- data/lib/sirena/parser/grammars/block.rb +190 -0
- data/lib/sirena/parser/grammars/c4.rb +226 -0
- data/lib/sirena/parser/grammars/class_diagram.rb +284 -0
- data/lib/sirena/parser/grammars/common.rb +84 -0
- data/lib/sirena/parser/grammars/er_diagram.rb +114 -0
- data/lib/sirena/parser/grammars/error.rb +40 -0
- data/lib/sirena/parser/grammars/flowchart.rb +298 -0
- data/lib/sirena/parser/grammars/gantt.rb +252 -0
- data/lib/sirena/parser/grammars/git_graph.rb +167 -0
- data/lib/sirena/parser/grammars/info.rb +58 -0
- data/lib/sirena/parser/grammars/kanban.rb +83 -0
- data/lib/sirena/parser/grammars/mindmap.rb +115 -0
- data/lib/sirena/parser/grammars/packet.rb +73 -0
- data/lib/sirena/parser/grammars/pie.rb +128 -0
- data/lib/sirena/parser/grammars/quadrant.rb +199 -0
- data/lib/sirena/parser/grammars/radar.rb +150 -0
- data/lib/sirena/parser/grammars/requirement.rb +188 -0
- data/lib/sirena/parser/grammars/sankey.rb +104 -0
- data/lib/sirena/parser/grammars/sequence.rb +247 -0
- data/lib/sirena/parser/grammars/state_diagram.rb +172 -0
- data/lib/sirena/parser/grammars/timeline.rb +142 -0
- data/lib/sirena/parser/grammars/treemap.rb +120 -0
- data/lib/sirena/parser/grammars/xy_chart.rb +120 -0
- data/lib/sirena/parser/info.rb +49 -0
- data/lib/sirena/parser/kanban.rb +97 -0
- data/lib/sirena/parser/mindmap.rb +106 -0
- data/lib/sirena/parser/packet.rb +76 -0
- data/lib/sirena/parser/pie.rb +49 -0
- data/lib/sirena/parser/quadrant.rb +57 -0
- data/lib/sirena/parser/radar.rb +104 -0
- data/lib/sirena/parser/requirement.rb +70 -0
- data/lib/sirena/parser/sankey.rb +64 -0
- data/lib/sirena/parser/sequence.rb +51 -0
- data/lib/sirena/parser/state_diagram.rb +69 -0
- data/lib/sirena/parser/timeline.rb +57 -0
- data/lib/sirena/parser/transforms/architecture.rb +97 -0
- data/lib/sirena/parser/transforms/block.rb +254 -0
- data/lib/sirena/parser/transforms/c4.rb +347 -0
- data/lib/sirena/parser/transforms/class_diagram.rb +352 -0
- data/lib/sirena/parser/transforms/er_diagram.rb +169 -0
- data/lib/sirena/parser/transforms/error.rb +58 -0
- data/lib/sirena/parser/transforms/flowchart.rb +293 -0
- data/lib/sirena/parser/transforms/gantt.rb +215 -0
- data/lib/sirena/parser/transforms/git_graph.rb +160 -0
- data/lib/sirena/parser/transforms/info.rb +58 -0
- data/lib/sirena/parser/transforms/kanban.rb +176 -0
- data/lib/sirena/parser/transforms/mindmap.rb +227 -0
- data/lib/sirena/parser/transforms/packet.rb +63 -0
- data/lib/sirena/parser/transforms/pie.rb +143 -0
- data/lib/sirena/parser/transforms/quadrant.rb +177 -0
- data/lib/sirena/parser/transforms/radar.rb +126 -0
- data/lib/sirena/parser/transforms/requirement.rb +272 -0
- data/lib/sirena/parser/transforms/sankey.rb +122 -0
- data/lib/sirena/parser/transforms/sequence.rb +342 -0
- data/lib/sirena/parser/transforms/state_diagram.rb +292 -0
- data/lib/sirena/parser/transforms/timeline.rb +177 -0
- data/lib/sirena/parser/transforms/treemap.rb +81 -0
- data/lib/sirena/parser/transforms/xy_chart.rb +132 -0
- data/lib/sirena/parser/treemap.rb +98 -0
- data/lib/sirena/parser/user_journey.rb +120 -0
- data/lib/sirena/parser/xy_chart.rb +114 -0
- data/lib/sirena/parser.rb +8 -0
- data/lib/sirena/renderer/architecture.rb +251 -0
- data/lib/sirena/renderer/base.rb +251 -0
- data/lib/sirena/renderer/block.rb +286 -0
- data/lib/sirena/renderer/c4.rb +490 -0
- data/lib/sirena/renderer/class_diagram.rb +499 -0
- data/lib/sirena/renderer/er_diagram.rb +417 -0
- data/lib/sirena/renderer/error.rb +131 -0
- data/lib/sirena/renderer/flowchart.rb +301 -0
- data/lib/sirena/renderer/gantt.rb +331 -0
- data/lib/sirena/renderer/git_graph.rb +368 -0
- data/lib/sirena/renderer/info.rb +93 -0
- data/lib/sirena/renderer/kanban.rb +295 -0
- data/lib/sirena/renderer/mindmap.rb +396 -0
- data/lib/sirena/renderer/packet.rb +239 -0
- data/lib/sirena/renderer/pie.rb +235 -0
- data/lib/sirena/renderer/quadrant.rb +292 -0
- data/lib/sirena/renderer/radar.rb +323 -0
- data/lib/sirena/renderer/requirement.rb +371 -0
- data/lib/sirena/renderer/sankey.rb +255 -0
- data/lib/sirena/renderer/sequence.rb +424 -0
- data/lib/sirena/renderer/state_diagram.rb +328 -0
- data/lib/sirena/renderer/timeline.rb +304 -0
- data/lib/sirena/renderer/treemap.rb +152 -0
- data/lib/sirena/renderer/user_journey.rb +331 -0
- data/lib/sirena/renderer/xy_chart.rb +452 -0
- data/lib/sirena/renderer.rb +8 -0
- data/lib/sirena/svg/circle.rb +41 -0
- data/lib/sirena/svg/document.rb +103 -0
- data/lib/sirena/svg/element.rb +65 -0
- data/lib/sirena/svg/ellipse.rb +33 -0
- data/lib/sirena/svg/group.rb +71 -0
- data/lib/sirena/svg/line.rb +49 -0
- data/lib/sirena/svg/path.rb +76 -0
- data/lib/sirena/svg/polygon.rb +43 -0
- data/lib/sirena/svg/polyline.rb +35 -0
- data/lib/sirena/svg/rect.rb +57 -0
- data/lib/sirena/svg/style.rb +44 -0
- data/lib/sirena/svg/text.rb +72 -0
- data/lib/sirena/svg.rb +19 -0
- data/lib/sirena/text_measurement.rb +71 -0
- data/lib/sirena/theme/builtin/dark.yml +70 -0
- data/lib/sirena/theme/builtin/default.yml +80 -0
- data/lib/sirena/theme/builtin/high_contrast.yml +70 -0
- data/lib/sirena/theme/builtin/light.yml +70 -0
- data/lib/sirena/theme/color_palette.rb +48 -0
- data/lib/sirena/theme/effect_styles.rb +28 -0
- data/lib/sirena/theme/registry.rb +41 -0
- data/lib/sirena/theme/shape_styles.rb +28 -0
- data/lib/sirena/theme/spacing_config.rb +24 -0
- data/lib/sirena/theme/typography.rb +30 -0
- data/lib/sirena/theme.rb +69 -0
- data/lib/sirena/transform/architecture.rb +273 -0
- data/lib/sirena/transform/base.rb +199 -0
- data/lib/sirena/transform/block.rb +215 -0
- data/lib/sirena/transform/c4.rb +288 -0
- data/lib/sirena/transform/class_diagram.rb +296 -0
- data/lib/sirena/transform/er_diagram.rb +204 -0
- data/lib/sirena/transform/error.rb +39 -0
- data/lib/sirena/transform/flowchart.rb +161 -0
- data/lib/sirena/transform/gantt.rb +253 -0
- data/lib/sirena/transform/git_graph.rb +283 -0
- data/lib/sirena/transform/info.rb +39 -0
- data/lib/sirena/transform/kanban.rb +180 -0
- data/lib/sirena/transform/mindmap.rb +251 -0
- data/lib/sirena/transform/packet.rb +185 -0
- data/lib/sirena/transform/pie.rb +62 -0
- data/lib/sirena/transform/quadrant.rb +167 -0
- data/lib/sirena/transform/radar.rb +227 -0
- data/lib/sirena/transform/requirement.rb +233 -0
- data/lib/sirena/transform/sankey.rb +212 -0
- data/lib/sirena/transform/sequence.rb +143 -0
- data/lib/sirena/transform/state_diagram.rb +228 -0
- data/lib/sirena/transform/timeline.rb +139 -0
- data/lib/sirena/transform/treemap.rb +120 -0
- data/lib/sirena/transform/user_journey.rb +207 -0
- data/lib/sirena/transform/xy_chart.rb +273 -0
- data/lib/sirena/transform.rb +8 -0
- data/lib/sirena/version.rb +5 -0
- data/lib/sirena.rb +328 -0
- data/lib/tasks/benchmark.rake +532 -0
- data/lib/tasks/examples.rake +468 -0
- data/lib/tasks/generate_mermaid_fixtures.rake +363 -0
- data/lib/tasks/mermaid_fixtures.rake +46 -0
- data/scripts/extract_mermaid_tests.rb +493 -0
- data/scripts/rename_to_sirena.rb +73 -0
- data/sirena.gemspec +47 -0
- metadata +529 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
= Pie Chart Examples
|
|
2
|
+
|
|
3
|
+
== Purpose
|
|
4
|
+
|
|
5
|
+
Pie charts visualize proportional data, showing how individual parts contribute to a whole. Ideal for displaying percentages and relative distributions.
|
|
6
|
+
|
|
7
|
+
== When to Use
|
|
8
|
+
|
|
9
|
+
* Market share analysis
|
|
10
|
+
* Budget allocation visualization
|
|
11
|
+
* Survey result presentation
|
|
12
|
+
* Resource distribution
|
|
13
|
+
* Percentage breakdowns
|
|
14
|
+
|
|
15
|
+
== Syntax Overview
|
|
16
|
+
|
|
17
|
+
[source,mermaid]
|
|
18
|
+
----
|
|
19
|
+
pie title Sample Distribution
|
|
20
|
+
"Category A" : 45
|
|
21
|
+
"Category B" : 30
|
|
22
|
+
"Category C" : 25
|
|
23
|
+
----
|
|
24
|
+
|
|
25
|
+
== Examples
|
|
26
|
+
|
|
27
|
+
=== 01: Simple Distribution
|
|
28
|
+
|
|
29
|
+
Demonstrates basic pie chart with labeled sections.
|
|
30
|
+
|
|
31
|
+
**File**: link:01-simple-distribution.mmd[01-simple-distribution.mmd]
|
|
32
|
+
|
|
33
|
+
[source,mermaid]
|
|
34
|
+
----
|
|
35
|
+
include::01-simple-distribution.mmd[]
|
|
36
|
+
----
|
|
37
|
+
|
|
38
|
+
image::01-simple-distribution.svg[]
|
|
39
|
+
|
|
40
|
+
=== 02: Labeled Slices
|
|
41
|
+
|
|
42
|
+
Showcases detailed pie chart with multiple categories.
|
|
43
|
+
|
|
44
|
+
**File**: link:02-labeled-slices.mmd[02-labeled-slices.mmd]
|
|
45
|
+
|
|
46
|
+
[source,mermaid]
|
|
47
|
+
----
|
|
48
|
+
include::02-labeled-slices.mmd[]
|
|
49
|
+
----
|
|
50
|
+
|
|
51
|
+
image::02-labeled-slices.svg[]
|
|
52
|
+
|
|
53
|
+
== Features Demonstrated
|
|
54
|
+
|
|
55
|
+
[%header,cols="1,1"]
|
|
56
|
+
|===
|
|
57
|
+
| Feature | Example
|
|
58
|
+
|
|
59
|
+
| Basic pie chart
|
|
60
|
+
| 01, 02
|
|
61
|
+
|
|
62
|
+
| Multiple categories
|
|
63
|
+
| 02
|
|
64
|
+
|
|
65
|
+
| Proportional visualization
|
|
66
|
+
| 01, 02
|
|
67
|
+
|
|
68
|
+
| Title display
|
|
69
|
+
| 01, 02
|
|
70
|
+
|===
|
|
71
|
+
|
|
72
|
+
== Additional Resources
|
|
73
|
+
|
|
74
|
+
* link:../../README.adoc[Main Documentation]
|
|
75
|
+
* https://mermaid.js.org/syntax/pie.html[Mermaid Pie Chart Documentation]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
quadrantChart
|
|
2
|
+
title Product Feature Priority Matrix
|
|
3
|
+
x-axis Low Effort --> High Effort
|
|
4
|
+
y-axis Low Impact --> High Impact
|
|
5
|
+
quadrant-1 Quick Wins
|
|
6
|
+
quadrant-2 Major Projects
|
|
7
|
+
quadrant-3 Fill Ins
|
|
8
|
+
quadrant-4 Hard Slogs
|
|
9
|
+
"Mobile App": [0.3, 0.8]
|
|
10
|
+
"API v2": [0.7, 0.9]
|
|
11
|
+
"Bug Fixes": [0.2, 0.3]
|
|
12
|
+
"Documentation": [0.4, 0.5]
|
|
13
|
+
"Refactoring": [0.6, 0.4]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="800.0"
|
|
3
|
+
height="600.0"
|
|
4
|
+
viewBox="0 0 800 600"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<text fill="#000000" x="400.0" y="30.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16.0" font-weight="bold">Product Feature Priority Matrix</text>
|
|
9
|
+
<rect fill="#e3f2fd" stroke="#cccccc" stroke-width="1" opacity="0.3" x="400.0" y="80.0" width="320.0" height="220.0"/>
|
|
10
|
+
<rect fill="#fff3e0" stroke="#cccccc" stroke-width="1" opacity="0.3" x="80.0" y="80.0" width="320.0" height="220.0"/>
|
|
11
|
+
<rect fill="#f3e5f5" stroke="#cccccc" stroke-width="1" opacity="0.3" x="80.0" y="300.0" width="320.0" height="220.0"/>
|
|
12
|
+
<rect fill="#e8f5e9" stroke="#cccccc" stroke-width="1" opacity="0.3" x="400.0" y="300.0" width="320.0" height="220.0"/>
|
|
13
|
+
<line stroke="#666666" stroke-width="2" x1="400.0" y1="80.0" x2="400.0" y2="520.0"/>
|
|
14
|
+
<line stroke="#666666" stroke-width="2" x1="80.0" y1="300.0" x2="720.0" y2="300.0"/>
|
|
15
|
+
<text fill="#000000" x="70.0" y="550.0" text-anchor="end" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Low Effort</text>
|
|
16
|
+
<text fill="#000000" x="730.0" y="550.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">High Effort</text>
|
|
17
|
+
<text fill="#000000" x="50.0" y="530.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Low Impact</text>
|
|
18
|
+
<text fill="#000000" x="50.0" y="70.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">High Impact</text>
|
|
19
|
+
<text fill="#000000" opacity="0.7" x="560.0" y="100.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold">Quick Wins</text>
|
|
20
|
+
<text fill="#000000" opacity="0.7" x="240.0" y="100.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold">Major Projects</text>
|
|
21
|
+
<text fill="#000000" opacity="0.7" x="240.0" y="320.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold">Fill Ins</text>
|
|
22
|
+
<text fill="#000000" opacity="0.7" x="560.0" y="320.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold">Hard Slogs</text>
|
|
23
|
+
<circle id="point_0" fill="#6c757d" stroke="#000000" stroke-width="2" cx="272.0" cy="168.0" r="6.0"/>
|
|
24
|
+
<text fill="#000000" x="282.0" y="158.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">"Mobile App"</text>
|
|
25
|
+
<circle id="point_1" fill="#007bff" stroke="#000000" stroke-width="2" cx="528.0" cy="124.0" r="6.0"/>
|
|
26
|
+
<text fill="#000000" x="538.0" y="114.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">"API v2"</text>
|
|
27
|
+
<circle id="point_2" fill="#28a745" stroke="#000000" stroke-width="2" cx="208.0" cy="388.0" r="6.0"/>
|
|
28
|
+
<text fill="#000000" x="218.0" y="378.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">"Bug Fixes"</text>
|
|
29
|
+
<circle id="point_3" fill="#6c757d" stroke="#000000" stroke-width="2" cx="336.0" cy="300.0" r="6.0"/>
|
|
30
|
+
<text fill="#000000" x="346.0" y="290.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">"Documentation"</text>
|
|
31
|
+
<circle id="point_4" fill="#28a745" stroke="#000000" stroke-width="2" cx="464.0" cy="344.0" r="6.0"/>
|
|
32
|
+
<text fill="#000000" x="474.0" y="334.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">"Refactoring"</text>
|
|
33
|
+
</svg>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
quadrantChart
|
|
2
|
+
title Technology Adoption Matrix
|
|
3
|
+
x-axis Low Complexity --> High Complexity
|
|
4
|
+
y-axis Low Impact --> High Impact
|
|
5
|
+
quadrant-1 Invest
|
|
6
|
+
quadrant-2 Monitor
|
|
7
|
+
quadrant-3 Evaluate
|
|
8
|
+
quadrant-4 Migrate
|
|
9
|
+
AI/ML: [0.8, 0.9]
|
|
10
|
+
Cloud Native: [0.7, 0.8]
|
|
11
|
+
Microservices: [0.6, 0.7]
|
|
12
|
+
Serverless: [0.5, 0.6]
|
|
13
|
+
Edge Computing: [0.4, 0.5]
|
|
14
|
+
Blockchain: [0.3, 0.4]
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="800.0"
|
|
3
|
+
height="600.0"
|
|
4
|
+
viewBox="0 0 800 600"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<text fill="#000000" x="400.0" y="30.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16.0" font-weight="bold">Technology Adoption Matrix</text>
|
|
9
|
+
<rect fill="#e3f2fd" stroke="#cccccc" stroke-width="1" opacity="0.3" x="400.0" y="80.0" width="320.0" height="220.0"/>
|
|
10
|
+
<rect fill="#fff3e0" stroke="#cccccc" stroke-width="1" opacity="0.3" x="80.0" y="80.0" width="320.0" height="220.0"/>
|
|
11
|
+
<rect fill="#f3e5f5" stroke="#cccccc" stroke-width="1" opacity="0.3" x="80.0" y="300.0" width="320.0" height="220.0"/>
|
|
12
|
+
<rect fill="#e8f5e9" stroke="#cccccc" stroke-width="1" opacity="0.3" x="400.0" y="300.0" width="320.0" height="220.0"/>
|
|
13
|
+
<line stroke="#666666" stroke-width="2" x1="400.0" y1="80.0" x2="400.0" y2="520.0"/>
|
|
14
|
+
<line stroke="#666666" stroke-width="2" x1="80.0" y1="300.0" x2="720.0" y2="300.0"/>
|
|
15
|
+
<text fill="#000000" x="70.0" y="550.0" text-anchor="end" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Low Complexity</text>
|
|
16
|
+
<text fill="#000000" x="730.0" y="550.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">High Complexity</text>
|
|
17
|
+
<text fill="#000000" x="50.0" y="530.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Low Impact</text>
|
|
18
|
+
<text fill="#000000" x="50.0" y="70.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">High Impact</text>
|
|
19
|
+
<text fill="#000000" opacity="0.7" x="560.0" y="100.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold">Invest</text>
|
|
20
|
+
<text fill="#000000" opacity="0.7" x="240.0" y="100.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold">Monitor</text>
|
|
21
|
+
<text fill="#000000" opacity="0.7" x="240.0" y="320.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold">Evaluate</text>
|
|
22
|
+
<text fill="#000000" opacity="0.7" x="560.0" y="320.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold">Migrate</text>
|
|
23
|
+
<circle id="point_0" fill="#007bff" stroke="#000000" stroke-width="2" cx="592.0" cy="124.0" r="6.0"/>
|
|
24
|
+
<text fill="#000000" x="602.0" y="114.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">AI/ML</text>
|
|
25
|
+
<circle id="point_1" fill="#007bff" stroke="#000000" stroke-width="2" cx="528.0" cy="168.0" r="6.0"/>
|
|
26
|
+
<text fill="#000000" x="538.0" y="158.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Cloud Native</text>
|
|
27
|
+
<circle id="point_2" fill="#007bff" stroke="#000000" stroke-width="2" cx="464.0" cy="212.00000000000003" r="6.0"/>
|
|
28
|
+
<text fill="#000000" x="474.0" y="202.00000000000003" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Microservices</text>
|
|
29
|
+
<circle id="point_3" fill="#007bff" stroke="#000000" stroke-width="2" cx="400.0" cy="256.0" r="6.0"/>
|
|
30
|
+
<text fill="#000000" x="410.0" y="246.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Serverless</text>
|
|
31
|
+
<circle id="point_4" fill="#6c757d" stroke="#000000" stroke-width="2" cx="336.0" cy="300.0" r="6.0"/>
|
|
32
|
+
<text fill="#000000" x="346.0" y="290.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Edge Computing</text>
|
|
33
|
+
<circle id="point_5" fill="#28a745" stroke="#000000" stroke-width="2" cx="272.0" cy="344.0" r="6.0"/>
|
|
34
|
+
<text fill="#000000" x="282.0" y="334.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Blockchain</text>
|
|
35
|
+
</svg>
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
= Quadrant Chart Examples
|
|
2
|
+
|
|
3
|
+
== Purpose
|
|
4
|
+
|
|
5
|
+
Quadrant charts visualize data points in a 2D coordinate system divided into four quadrants, useful for categorizing items based on two dimensions.
|
|
6
|
+
|
|
7
|
+
== When to Use
|
|
8
|
+
|
|
9
|
+
* Technology adoption analysis (Gartner Magic Quadrant style)
|
|
10
|
+
* Risk assessment matrices
|
|
11
|
+
* Priority matrices (Eisenhower matrix)
|
|
12
|
+
* Portfolio analysis
|
|
13
|
+
* Feature prioritization
|
|
14
|
+
|
|
15
|
+
== Syntax Overview
|
|
16
|
+
|
|
17
|
+
[source,mermaid]
|
|
18
|
+
----
|
|
19
|
+
quadrantChart
|
|
20
|
+
title Adoption Matrix
|
|
21
|
+
x-axis Low --> High
|
|
22
|
+
y-axis Low --> High
|
|
23
|
+
quadrant-1 Invest
|
|
24
|
+
quadrant-2 Monitor
|
|
25
|
+
quadrant-3 Divest
|
|
26
|
+
quadrant-4 Review
|
|
27
|
+
Item A: [0.3, 0.6]
|
|
28
|
+
Item B: [0.7, 0.8]
|
|
29
|
+
----
|
|
30
|
+
|
|
31
|
+
== Examples
|
|
32
|
+
|
|
33
|
+
=== 01: Basic Quadrant
|
|
34
|
+
|
|
35
|
+
Demonstrates basic quadrant chart with labeled axes and items.
|
|
36
|
+
|
|
37
|
+
**File**: link:01-basic-quadrant.mmd[01-basic-quadrant.mmd]
|
|
38
|
+
|
|
39
|
+
[source,mermaid]
|
|
40
|
+
----
|
|
41
|
+
include::01-basic-quadrant.mmd[]
|
|
42
|
+
----
|
|
43
|
+
|
|
44
|
+
image::01-basic-quadrant.svg[]
|
|
45
|
+
|
|
46
|
+
=== 02: Positioned Items
|
|
47
|
+
|
|
48
|
+
Showcases complex quadrant with many positioned items.
|
|
49
|
+
|
|
50
|
+
**File**: link:02-positioned-items.mmd[02-positioned-items.mmd]
|
|
51
|
+
|
|
52
|
+
[source,mermaid]
|
|
53
|
+
----
|
|
54
|
+
include::02-positioned-items.mmd[]
|
|
55
|
+
----
|
|
56
|
+
|
|
57
|
+
image::02-positioned-items.svg[]
|
|
58
|
+
|
|
59
|
+
== Features Demonstrated
|
|
60
|
+
|
|
61
|
+
[%header,cols="1,1"]
|
|
62
|
+
|===
|
|
63
|
+
| Feature | Example
|
|
64
|
+
|
|
65
|
+
| Basic quadrant layout
|
|
66
|
+
| 01, 02
|
|
67
|
+
|
|
68
|
+
| Item positioning
|
|
69
|
+
| 01, 02
|
|
70
|
+
|
|
71
|
+
| Axis labeling
|
|
72
|
+
| 01, 02
|
|
73
|
+
|
|
74
|
+
| Quadrant naming
|
|
75
|
+
| 01, 02
|
|
76
|
+
|
|
77
|
+
| Multiple data points
|
|
78
|
+
| 02
|
|
79
|
+
|===
|
|
80
|
+
|
|
81
|
+
== Additional Resources
|
|
82
|
+
|
|
83
|
+
* link:../../README.adoc[Main Documentation]
|
|
84
|
+
* https://mermaid.js.org/syntax/quadrantChart.html[Mermaid Quadrant Chart Documentation]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="560.0"
|
|
3
|
+
height="560.0"
|
|
4
|
+
viewBox="0 0 560.0 560.0"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="40.0"/>
|
|
9
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="80.0"/>
|
|
10
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="120.0"/>
|
|
11
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="160.0"/>
|
|
12
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="200.0"/>
|
|
13
|
+
<line stroke="#9ca3af" stroke-width="1" x1="280.0" y1="280.0" x2="280.0" y2="80.0"/>
|
|
14
|
+
<line stroke="#9ca3af" stroke-width="1" x1="280.0" y1="280.0" x2="453.20508075688775" y2="380.0"/>
|
|
15
|
+
<line stroke="#9ca3af" stroke-width="1" x1="280.0" y1="280.0" x2="106.79491924311225" y2="380.0"/>
|
|
16
|
+
<polygon fill="#2563eb" fill-opacity="0.3" stroke="#2563eb" stroke-width="2" points="280.0,280.0 366.6025403784439,330.0 106.79491924311225,380.0"/>
|
|
17
|
+
<circle fill="#2563eb" stroke="#ffffff" stroke-width="1" cx="280.0" cy="280.0" r="3.0"/>
|
|
18
|
+
<circle fill="#2563eb" stroke="#ffffff" stroke-width="1" cx="366.6025403784439" cy="330.0" r="3.0"/>
|
|
19
|
+
<circle fill="#2563eb" stroke="#ffffff" stroke-width="1" cx="106.79491924311225" cy="380.0" r="3.0"/>
|
|
20
|
+
<text fill="#000000" x="280.0" y="50.0" text-anchor="end" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold" dominant-baseline="middle">A</text>
|
|
21
|
+
<text fill="#000000" x="479.1858428704209" y="395.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold" dominant-baseline="auto">B</text>
|
|
22
|
+
<text fill="#000000" x="80.81415712957909" y="395.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold" dominant-baseline="hanging">C</text>
|
|
23
|
+
<circle fill="#2563eb" stroke="none" cx="20.0" cy="520.0" r="5.0"/>
|
|
24
|
+
<text fill="#000000" x="35.0" y="524.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">mycurve</text>
|
|
25
|
+
</svg>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="560.0"
|
|
3
|
+
height="560.0"
|
|
4
|
+
viewBox="0 0 560.0 560.0"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="40.0"/>
|
|
9
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="80.0"/>
|
|
10
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="120.0"/>
|
|
11
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="160.0"/>
|
|
12
|
+
<circle fill="none" stroke="#e5e7eb" stroke-width="1" cx="280.0" cy="280.0" r="200.0"/>
|
|
13
|
+
<line stroke="#9ca3af" stroke-width="1" x1="280.0" y1="280.0" x2="280.0" y2="80.0"/>
|
|
14
|
+
<line stroke="#9ca3af" stroke-width="1" x1="280.0" y1="280.0" x2="453.20508075688775" y2="180.0"/>
|
|
15
|
+
<line stroke="#9ca3af" stroke-width="1" x1="280.0" y1="280.0" x2="453.20508075688775" y2="380.0"/>
|
|
16
|
+
<line stroke="#9ca3af" stroke-width="1" x1="280.0" y1="280.0" x2="280.0" y2="480.0"/>
|
|
17
|
+
<line stroke="#9ca3af" stroke-width="1" x1="280.0" y1="280.0" x2="106.79491924311225" y2="380.0"/>
|
|
18
|
+
<line stroke="#9ca3af" stroke-width="1" x1="280.0" y1="280.0" x2="106.79491924311228" y2="179.99999999999997"/>
|
|
19
|
+
<polygon fill="#2563eb" fill-opacity="0.3" stroke="#2563eb" stroke-width="2" points="280.0,180.0 424.3375672974065,196.66666666666669 308.8675134594813,296.6666666666667 280.0,413.3333333333333 222.26497308103743,313.3333333333333 106.79491924311228,179.99999999999997"/>
|
|
20
|
+
<circle fill="#2563eb" stroke="#ffffff" stroke-width="1" cx="280.0" cy="180.0" r="3.0"/>
|
|
21
|
+
<circle fill="#2563eb" stroke="#ffffff" stroke-width="1" cx="424.3375672974065" cy="196.66666666666669" r="3.0"/>
|
|
22
|
+
<circle fill="#2563eb" stroke="#ffffff" stroke-width="1" cx="308.8675134594813" cy="296.6666666666667" r="3.0"/>
|
|
23
|
+
<circle fill="#2563eb" stroke="#ffffff" stroke-width="1" cx="280.0" cy="413.3333333333333" r="3.0"/>
|
|
24
|
+
<circle fill="#2563eb" stroke="#ffffff" stroke-width="1" cx="222.26497308103743" cy="313.3333333333333" r="3.0"/>
|
|
25
|
+
<circle fill="#2563eb" stroke="#ffffff" stroke-width="1" cx="106.79491924311228" cy="179.99999999999997" r="3.0"/>
|
|
26
|
+
<polygon fill="#7c3aed" fill-opacity="0.3" stroke="#7c3aed" stroke-width="2" points="280.0,280.0 337.7350269189626,246.66666666666669 395.47005383792515,346.66666666666663 280.0,380.0 135.66243270259352,363.3333333333333 251.13248654051873,263.3333333333333"/>
|
|
27
|
+
<circle fill="#7c3aed" stroke="#ffffff" stroke-width="1" cx="280.0" cy="280.0" r="3.0"/>
|
|
28
|
+
<circle fill="#7c3aed" stroke="#ffffff" stroke-width="1" cx="337.7350269189626" cy="246.66666666666669" r="3.0"/>
|
|
29
|
+
<circle fill="#7c3aed" stroke="#ffffff" stroke-width="1" cx="395.47005383792515" cy="346.66666666666663" r="3.0"/>
|
|
30
|
+
<circle fill="#7c3aed" stroke="#ffffff" stroke-width="1" cx="280.0" cy="380.0" r="3.0"/>
|
|
31
|
+
<circle fill="#7c3aed" stroke="#ffffff" stroke-width="1" cx="135.66243270259352" cy="363.3333333333333" r="3.0"/>
|
|
32
|
+
<circle fill="#7c3aed" stroke="#ffffff" stroke-width="1" cx="251.13248654051873" cy="263.3333333333333" r="3.0"/>
|
|
33
|
+
<text fill="#000000" x="280.0" y="50.0" text-anchor="end" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold" dominant-baseline="middle">A</text>
|
|
34
|
+
<text fill="#000000" x="479.1858428704209" y="165.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold" dominant-baseline="auto">B</text>
|
|
35
|
+
<text fill="#000000" x="479.1858428704209" y="395.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold" dominant-baseline="auto">C</text>
|
|
36
|
+
<text fill="#000000" x="280.0" y="510.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold" dominant-baseline="middle">D</text>
|
|
37
|
+
<text fill="#000000" x="80.81415712957909" y="395.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold" dominant-baseline="hanging">E</text>
|
|
38
|
+
<text fill="#000000" x="80.81415712957912" y="164.99999999999997" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" font-weight="bold" dominant-baseline="hanging">F</text>
|
|
39
|
+
<circle fill="#2563eb" stroke="none" cx="20.0" cy="520.0" r="5.0"/>
|
|
40
|
+
<text fill="#000000" x="35.0" y="524.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">TeamA</text>
|
|
41
|
+
<circle fill="#7c3aed" stroke="none" cx="20.0" cy="540.0" r="5.0"/>
|
|
42
|
+
<text fill="#000000" x="35.0" y="544.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0">TeamB</text>
|
|
43
|
+
</svg>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
= Radar Chart Examples
|
|
2
|
+
|
|
3
|
+
== Purpose
|
|
4
|
+
|
|
5
|
+
Radar charts display multivariate data on axes starting from the same point, ideal for comparing multiple variables across different items.
|
|
6
|
+
|
|
7
|
+
== When to Use
|
|
8
|
+
|
|
9
|
+
* Skills assessment visualization
|
|
10
|
+
* Performance comparison
|
|
11
|
+
* Product feature analysis
|
|
12
|
+
* Multi-dimensional data comparison
|
|
13
|
+
* Capability matrixing
|
|
14
|
+
|
|
15
|
+
== Syntax Overview
|
|
16
|
+
|
|
17
|
+
[source,mermaid]
|
|
18
|
+
----
|
|
19
|
+
radar-beta
|
|
20
|
+
axis Skill1,Skill2,Skill3
|
|
21
|
+
curve TeamA{80,90,70}
|
|
22
|
+
curve TeamB{60,85,75}
|
|
23
|
+
----
|
|
24
|
+
|
|
25
|
+
== Examples
|
|
26
|
+
|
|
27
|
+
=== 01: Simple Radar
|
|
28
|
+
|
|
29
|
+
Demonstrates basic radar chart with one data series.
|
|
30
|
+
|
|
31
|
+
**File**: link:01-simple-radar.mmd[01-simple-radar.mmd]
|
|
32
|
+
|
|
33
|
+
[source,mermaid]
|
|
34
|
+
----
|
|
35
|
+
include::01-simple-radar.mmd[]
|
|
36
|
+
----
|
|
37
|
+
|
|
38
|
+
image::01-simple-radar.svg[]
|
|
39
|
+
|
|
40
|
+
=== 02: Multiple Curves
|
|
41
|
+
|
|
42
|
+
Showcases comparison of multiple datasets on radar chart.
|
|
43
|
+
|
|
44
|
+
**File**: link:02-multiple-curves.mmd[02-multiple-curves.mmd]
|
|
45
|
+
|
|
46
|
+
[source,mermaid]
|
|
47
|
+
----
|
|
48
|
+
include::02-multiple-curves.mmd[]
|
|
49
|
+
----
|
|
50
|
+
|
|
51
|
+
image::02-multiple-curves.svg[]
|
|
52
|
+
|
|
53
|
+
== Features Demonstrated
|
|
54
|
+
|
|
55
|
+
[%header,cols="1,1"]
|
|
56
|
+
|===
|
|
57
|
+
| Feature | Example
|
|
58
|
+
|
|
59
|
+
| Axis definition
|
|
60
|
+
| 01, 02
|
|
61
|
+
|
|
62
|
+
| Single curve
|
|
63
|
+
| 01
|
|
64
|
+
|
|
65
|
+
| Multiple curves
|
|
66
|
+
| 02
|
|
67
|
+
|
|
68
|
+
| Data comparison
|
|
69
|
+
| 02
|
|
70
|
+
|===
|
|
71
|
+
|
|
72
|
+
== Additional Resources
|
|
73
|
+
|
|
74
|
+
* link:../../README.adoc[Main Documentation]
|
|
75
|
+
* https://mermaid.js.org/syntax/radar.html[Mermaid Radar Documentation]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
requirementDiagram
|
|
2
|
+
|
|
3
|
+
requirement login {
|
|
4
|
+
id: 1
|
|
5
|
+
text: Users must be able to login
|
|
6
|
+
risk: high
|
|
7
|
+
verifymethod: test
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
requirement security {
|
|
11
|
+
id: 2
|
|
12
|
+
text: All data must be encrypted
|
|
13
|
+
risk: high
|
|
14
|
+
verifymethod: inspection
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
element webapp {
|
|
18
|
+
type: application
|
|
19
|
+
docref: /docs/webapp
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
login - satisfies -> webapp
|
|
23
|
+
security - verifies -> webapp
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="600.0"
|
|
3
|
+
height="440.0"
|
|
4
|
+
viewBox="0 0 600 440"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<g id="relationship-login-webapp">
|
|
9
|
+
<path fill="none" stroke="#666" stroke-width="2" d="M 110 340 C 110 446, 95 -86, 95 20" marker-end="url(#arrowhead)"/>
|
|
10
|
+
<rect fill="#fff" stroke="#666" stroke-width="1" x="71.0" y="170.0" width="63.0" height="18.0" rx="3.0"/>
|
|
11
|
+
<text fill="#000" x="102.0" y="180.0" text-anchor="middle" font-size="10" dominant-baseline="middle">satisfies</text>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="relationship-security-webapp">
|
|
14
|
+
<path fill="none" stroke="#666" stroke-width="2" d="M 390 340 C 390 446, 95 -86, 95 20" marker-end="url(#arrowhead)"/>
|
|
15
|
+
<rect fill="#fff" stroke="#666" stroke-width="1" x="214.0" y="170.0" width="56.0" height="18.0" rx="3.0"/>
|
|
16
|
+
<text fill="#000" x="242.0" y="180.0" text-anchor="middle" font-size="10" dominant-baseline="middle">verifies</text>
|
|
17
|
+
</g>
|
|
18
|
+
<g id="requirement-login">
|
|
19
|
+
<rect fill="#ffffff" stroke="#ff6b6b" stroke-width="2" x="20.0" y="180.0" width="180.0" height="160.0" rx="5.0" ry="5.0"/>
|
|
20
|
+
<g>
|
|
21
|
+
<rect fill="#ff6b6b" opacity="0.3" x="20.0" y="180.0" width="180.0" height="30.0"/>
|
|
22
|
+
<text fill="#000" x="30.0" y="195.0" font-size="12" font-weight="bold" dominant-baseline="middle">Requirement</text>
|
|
23
|
+
<text fill="#000" x="190.0" y="195.0" text-anchor="end" font-size="11" dominant-baseline="middle">login</text>
|
|
24
|
+
</g>
|
|
25
|
+
<text fill="#000" x="30.0" y="225.0" font-size="12">ID: 1</text>
|
|
26
|
+
<text fill="#000" x="30.0" y="241.0" font-size="12">Users must be able to</text>
|
|
27
|
+
<text fill="#000" x="30.0" y="257.0" font-size="12">login</text>
|
|
28
|
+
<text fill="#ff6b6b" x="30.0" y="278.0" font-size="12" font-weight="bold">Risk: High</text>
|
|
29
|
+
<text fill="#000" x="30.0" y="294.0" font-size="12">Verify: Test</text>
|
|
30
|
+
</g>
|
|
31
|
+
<g id="requirement-security">
|
|
32
|
+
<rect fill="#ffffff" stroke="#ff6b6b" stroke-width="2" x="300.0" y="180.0" width="180.0" height="160.0" rx="5.0" ry="5.0"/>
|
|
33
|
+
<g>
|
|
34
|
+
<rect fill="#ff6b6b" opacity="0.3" x="300.0" y="180.0" width="180.0" height="30.0"/>
|
|
35
|
+
<text fill="#000" x="310.0" y="195.0" font-size="12" font-weight="bold" dominant-baseline="middle">Requirement</text>
|
|
36
|
+
<text fill="#000" x="470.0" y="195.0" text-anchor="end" font-size="11" dominant-baseline="middle">security</text>
|
|
37
|
+
</g>
|
|
38
|
+
<text fill="#000" x="310.0" y="225.0" font-size="12">ID: 2</text>
|
|
39
|
+
<text fill="#000" x="310.0" y="241.0" font-size="12">All data must be</text>
|
|
40
|
+
<text fill="#000" x="310.0" y="257.0" font-size="12">encrypted</text>
|
|
41
|
+
<text fill="#ff6b6b" x="310.0" y="278.0" font-size="12" font-weight="bold">Risk: High</text>
|
|
42
|
+
<text fill="#000" x="310.0" y="294.0" font-size="12">Verify: Inspection</text>
|
|
43
|
+
</g>
|
|
44
|
+
<g id="element-webapp">
|
|
45
|
+
<polygon fill="#ffffff" stroke="#00796b" stroke-width="2" points="20,60 58,20 132,20 170,60 132,100 58,100"/>
|
|
46
|
+
<text fill="#000" x="95.0" y="50.0" text-anchor="middle" font-size="14" font-weight="bold" dominant-baseline="middle">webapp</text>
|
|
47
|
+
<text fill="#666" x="95.0" y="70.0" text-anchor="middle" font-size="11" dominant-baseline="middle">Type: application</text>
|
|
48
|
+
</g>
|
|
49
|
+
</svg>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
requirementDiagram
|
|
2
|
+
|
|
3
|
+
requirement login {
|
|
4
|
+
id: 1
|
|
5
|
+
text: Users must be able to login
|
|
6
|
+
risk: high
|
|
7
|
+
verifymethod: test
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
requirement security {
|
|
11
|
+
id: 2
|
|
12
|
+
text: All data must be encrypted
|
|
13
|
+
risk: high
|
|
14
|
+
verifymethod: inspection
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
element webapp {
|
|
18
|
+
type: application
|
|
19
|
+
docref: /docs/webapp
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
login - satisfies -> webapp
|
|
23
|
+
security - verifies -> webapp
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="600.0"
|
|
3
|
+
height="440.0"
|
|
4
|
+
viewBox="0 0 600 440"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<g id="relationship-login-webapp">
|
|
9
|
+
<path fill="none" stroke="#666" stroke-width="2" d="M 110 340 C 110 446, 95 -86, 95 20" marker-end="url(#arrowhead)"/>
|
|
10
|
+
<rect fill="#fff" stroke="#666" stroke-width="1" x="71.0" y="170.0" width="63.0" height="18.0" rx="3.0"/>
|
|
11
|
+
<text fill="#000" x="102.0" y="180.0" text-anchor="middle" font-size="10" dominant-baseline="middle">satisfies</text>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="relationship-security-webapp">
|
|
14
|
+
<path fill="none" stroke="#666" stroke-width="2" d="M 390 340 C 390 446, 95 -86, 95 20" marker-end="url(#arrowhead)"/>
|
|
15
|
+
<rect fill="#fff" stroke="#666" stroke-width="1" x="214.0" y="170.0" width="56.0" height="18.0" rx="3.0"/>
|
|
16
|
+
<text fill="#000" x="242.0" y="180.0" text-anchor="middle" font-size="10" dominant-baseline="middle">verifies</text>
|
|
17
|
+
</g>
|
|
18
|
+
<g id="requirement-login">
|
|
19
|
+
<rect fill="#ffffff" stroke="#ff6b6b" stroke-width="2" x="20.0" y="180.0" width="180.0" height="160.0" rx="5.0" ry="5.0"/>
|
|
20
|
+
<g>
|
|
21
|
+
<rect fill="#ff6b6b" opacity="0.3" x="20.0" y="180.0" width="180.0" height="30.0"/>
|
|
22
|
+
<text fill="#000" x="30.0" y="195.0" font-size="12" font-weight="bold" dominant-baseline="middle">Requirement</text>
|
|
23
|
+
<text fill="#000" x="190.0" y="195.0" text-anchor="end" font-size="11" dominant-baseline="middle">login</text>
|
|
24
|
+
</g>
|
|
25
|
+
<text fill="#000" x="30.0" y="225.0" font-size="12">ID: 1</text>
|
|
26
|
+
<text fill="#000" x="30.0" y="241.0" font-size="12">Users must be able to</text>
|
|
27
|
+
<text fill="#000" x="30.0" y="257.0" font-size="12">login</text>
|
|
28
|
+
<text fill="#ff6b6b" x="30.0" y="278.0" font-size="12" font-weight="bold">Risk: High</text>
|
|
29
|
+
<text fill="#000" x="30.0" y="294.0" font-size="12">Verify: Test</text>
|
|
30
|
+
</g>
|
|
31
|
+
<g id="requirement-security">
|
|
32
|
+
<rect fill="#ffffff" stroke="#ff6b6b" stroke-width="2" x="300.0" y="180.0" width="180.0" height="160.0" rx="5.0" ry="5.0"/>
|
|
33
|
+
<g>
|
|
34
|
+
<rect fill="#ff6b6b" opacity="0.3" x="300.0" y="180.0" width="180.0" height="30.0"/>
|
|
35
|
+
<text fill="#000" x="310.0" y="195.0" font-size="12" font-weight="bold" dominant-baseline="middle">Requirement</text>
|
|
36
|
+
<text fill="#000" x="470.0" y="195.0" text-anchor="end" font-size="11" dominant-baseline="middle">security</text>
|
|
37
|
+
</g>
|
|
38
|
+
<text fill="#000" x="310.0" y="225.0" font-size="12">ID: 2</text>
|
|
39
|
+
<text fill="#000" x="310.0" y="241.0" font-size="12">All data must be</text>
|
|
40
|
+
<text fill="#000" x="310.0" y="257.0" font-size="12">encrypted</text>
|
|
41
|
+
<text fill="#ff6b6b" x="310.0" y="278.0" font-size="12" font-weight="bold">Risk: High</text>
|
|
42
|
+
<text fill="#000" x="310.0" y="294.0" font-size="12">Verify: Inspection</text>
|
|
43
|
+
</g>
|
|
44
|
+
<g id="element-webapp">
|
|
45
|
+
<polygon fill="#ffffff" stroke="#00796b" stroke-width="2" points="20,60 58,20 132,20 170,60 132,100 58,100"/>
|
|
46
|
+
<text fill="#000" x="95.0" y="50.0" text-anchor="middle" font-size="14" font-weight="bold" dominant-baseline="middle">webapp</text>
|
|
47
|
+
<text fill="#666" x="95.0" y="70.0" text-anchor="middle" font-size="11" dominant-baseline="middle">Type: application</text>
|
|
48
|
+
</g>
|
|
49
|
+
</svg>
|