simplecharts

SVG charts without dependencies
git clone https://git.ce9e.org/simplecharts.git

commit
7a2066c76a7496b32d32f898edc9d73601d34535
parent
1150b1b8f55b33f49da3432c4c0e83aae5f7fc34
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2019-06-04 05:40
skip key in cell titles

Diffstat

M simplecharts.py 5 +----
M tests/no-legend_ColumnRenderer.svg 24 ++++++++++++------------
M tests/no-legend_StackedColumnRenderer.svg 24 ++++++++++++------------
M tests/simple_ColumnRenderer.svg 24 ++++++++++++------------
M tests/simple_StackedColumnRenderer.svg 24 ++++++++++++------------
M tests/single_ColumnRenderer.svg 8 ++++----
M tests/single_StackedColumnRenderer.svg 8 ++++----

7 files changed, 57 insertions, 60 deletions


diff --git a/simplecharts.py b/simplecharts.py

@@ -78,10 +78,7 @@ class BaseRenderer:
   78    78         return self.element('path', d=d, **kwargs)
   79    79 
   80    80     def get_title(self, rows, legend, i, j):
   81    -1         key = rows[i]['label']
   82    -1         if legend:
   83    -1             key += ' - ' + legend[j]
   84    -1         return '{}: {}'.format(key, rows[i]['values'][j])
   -1    81         return rows[i]['values'][j]
   85    82 
   86    83     def render_axes(self, rows, max_value):
   87    84         s = ''

diff --git a/tests/no-legend_ColumnRenderer.svg b/tests/no-legend_ColumnRenderer.svg

@@ -10,46 +10,46 @@
   10    10 	<text dominant-baseline="middle" fill="#333" text-anchor="middle" x="560.0" y="490.0">Bananas</text>
   11    11 	<g>
   12    12 		<rect fill="#e41a1c" height="240.0" stroke="white" width="32.0" x="32.0" y="239.0">
   13    -1 			<title>Apples: 3</title>
   -1    13 			<title>3</title>
   14    14 		</rect>
   15    15 		<rect fill="#377eb8" height="160.0" stroke="white" width="32.0" x="64.0" y="319.0">
   16    -1 			<title>Apples: 2</title>
   -1    16 			<title>2</title>
   17    17 		</rect>
   18    18 		<rect fill="#4daf4a" height="400.0" stroke="white" width="32.0" x="96.0" y="79.0">
   19    -1 			<title>Apples: 5</title>
   -1    19 			<title>5</title>
   20    20 		</rect>
   21    21 	</g>
   22    22 	<g>
   23    23 		<rect fill="#e41a1c" height="320.0" stroke="white" width="32.0" x="192.0" y="159.0">
   24    -1 			<title>Oranges: 4</title>
   -1    24 			<title>4</title>
   25    25 		</rect>
   26    26 		<rect fill="#377eb8" height="160.0" stroke="white" width="32.0" x="224.0" y="319.0">
   27    -1 			<title>Oranges: 2</title>
   -1    27 			<title>2</title>
   28    28 		</rect>
   29    29 		<rect fill="#4daf4a" height="240.0" stroke="white" width="32.0" x="256.0" y="239.0">
   30    -1 			<title>Oranges: 3</title>
   -1    30 			<title>3</title>
   31    31 		</rect>
   32    32 	</g>
   33    33 	<g>
   34    34 		<rect fill="#e41a1c" height="320.0" stroke="white" width="32.0" x="352.0" y="159.0">
   35    -1 			<title>Pears: 4</title>
   -1    35 			<title>4</title>
   36    36 		</rect>
   37    37 		<rect fill="#377eb8" height="240.0" stroke="white" width="32.0" x="384.0" y="239.0">
   38    -1 			<title>Pears: 3</title>
   -1    38 			<title>3</title>
   39    39 		</rect>
   40    40 		<rect fill="#4daf4a" height="320.0" stroke="white" width="32.0" x="416.0" y="159.0">
   41    -1 			<title>Pears: 4</title>
   -1    41 			<title>4</title>
   42    42 		</rect>
   43    43 	</g>
   44    44 	<g>
   45    45 		<rect fill="#e41a1c" height="400.0" stroke="white" width="32.0" x="512.0" y="79.0">
   46    -1 			<title>Bananas: 5</title>
   -1    46 			<title>5</title>
   47    47 		</rect>
   48    48 		<rect fill="#377eb8" height="80.0" stroke="white" width="32.0" x="544.0" y="399.0">
   49    -1 			<title>Bananas: 1</title>
   -1    49 			<title>1</title>
   50    50 		</rect>
   51    51 		<rect fill="#4daf4a" height="160.0" stroke="white" width="32.0" x="576.0" y="319.0">
   52    -1 			<title>Bananas: 2</title>
   -1    52 			<title>2</title>
   53    53 		</rect>
   54    54 	</g>
   55    55 </svg>

diff --git a/tests/no-legend_StackedColumnRenderer.svg b/tests/no-legend_StackedColumnRenderer.svg

@@ -10,46 +10,46 @@
   10    10 	<text dominant-baseline="middle" fill="#333" text-anchor="middle" x="560.0" y="490.0">Bananas</text>
   11    11 	<g>
   12    12 		<rect fill="#e41a1c" height="72.0" stroke="white" width="53.333333333333336" x="53.33333333333333" y="407.0">
   13    -1 			<title>Apples: 3</title>
   -1    13 			<title>3</title>
   14    14 		</rect>
   15    15 		<rect fill="#377eb8" height="48.0" stroke="white" width="53.333333333333336" x="53.33333333333333" y="359.0">
   16    -1 			<title>Apples: 2</title>
   -1    16 			<title>2</title>
   17    17 		</rect>
   18    18 		<rect fill="#4daf4a" height="120.0" stroke="white" width="53.333333333333336" x="53.33333333333333" y="239.0">
   19    -1 			<title>Apples: 5</title>
   -1    19 			<title>5</title>
   20    20 		</rect>
   21    21 	</g>
   22    22 	<g>
   23    23 		<rect fill="#e41a1c" height="96.0" stroke="white" width="53.333333333333336" x="213.33333333333334" y="383.0">
   24    -1 			<title>Oranges: 4</title>
   -1    24 			<title>4</title>
   25    25 		</rect>
   26    26 		<rect fill="#377eb8" height="48.0" stroke="white" width="53.333333333333336" x="213.33333333333334" y="335.0">
   27    -1 			<title>Oranges: 2</title>
   -1    27 			<title>2</title>
   28    28 		</rect>
   29    29 		<rect fill="#4daf4a" height="72.0" stroke="white" width="53.333333333333336" x="213.33333333333334" y="263.0">
   30    -1 			<title>Oranges: 3</title>
   -1    30 			<title>3</title>
   31    31 		</rect>
   32    32 	</g>
   33    33 	<g>
   34    34 		<rect fill="#e41a1c" height="96.0" stroke="white" width="53.333333333333336" x="373.3333333333333" y="383.0">
   35    -1 			<title>Pears: 4</title>
   -1    35 			<title>4</title>
   36    36 		</rect>
   37    37 		<rect fill="#377eb8" height="72.0" stroke="white" width="53.333333333333336" x="373.3333333333333" y="311.0">
   38    -1 			<title>Pears: 3</title>
   -1    38 			<title>3</title>
   39    39 		</rect>
   40    40 		<rect fill="#4daf4a" height="96.0" stroke="white" width="53.333333333333336" x="373.3333333333333" y="215.0">
   41    -1 			<title>Pears: 4</title>
   -1    41 			<title>4</title>
   42    42 		</rect>
   43    43 	</g>
   44    44 	<g>
   45    45 		<rect fill="#e41a1c" height="120.0" stroke="white" width="53.333333333333336" x="533.3333333333334" y="359.0">
   46    -1 			<title>Bananas: 5</title>
   -1    46 			<title>5</title>
   47    47 		</rect>
   48    48 		<rect fill="#377eb8" height="24.0" stroke="white" width="53.333333333333336" x="533.3333333333334" y="335.0">
   49    -1 			<title>Bananas: 1</title>
   -1    49 			<title>1</title>
   50    50 		</rect>
   51    51 		<rect fill="#4daf4a" height="48.0" stroke="white" width="53.333333333333336" x="533.3333333333334" y="287.0">
   52    -1 			<title>Bananas: 2</title>
   -1    52 			<title>2</title>
   53    53 		</rect>
   54    54 	</g>
   55    55 </svg>

diff --git a/tests/simple_ColumnRenderer.svg b/tests/simple_ColumnRenderer.svg

@@ -19,46 +19,46 @@
   19    19 	</g>
   20    20 	<g>
   21    21 		<rect fill="#e41a1c" height="240.0" stroke="white" width="32.0" x="32.0" y="239.0">
   22    -1 			<title>Apples - John: 3</title>
   -1    22 			<title>3</title>
   23    23 		</rect>
   24    24 		<rect fill="#377eb8" height="160.0" stroke="white" width="32.0" x="64.0" y="319.0">
   25    -1 			<title>Apples - Jane: 2</title>
   -1    25 			<title>2</title>
   26    26 		</rect>
   27    27 		<rect fill="#4daf4a" height="400.0" stroke="white" width="32.0" x="96.0" y="79.0">
   28    -1 			<title>Apples - Joe: 5</title>
   -1    28 			<title>5</title>
   29    29 		</rect>
   30    30 	</g>
   31    31 	<g>
   32    32 		<rect fill="#e41a1c" height="320.0" stroke="white" width="32.0" x="192.0" y="159.0">
   33    -1 			<title>Oranges - John: 4</title>
   -1    33 			<title>4</title>
   34    34 		</rect>
   35    35 		<rect fill="#377eb8" height="160.0" stroke="white" width="32.0" x="224.0" y="319.0">
   36    -1 			<title>Oranges - Jane: 2</title>
   -1    36 			<title>2</title>
   37    37 		</rect>
   38    38 		<rect fill="#4daf4a" height="240.0" stroke="white" width="32.0" x="256.0" y="239.0">
   39    -1 			<title>Oranges - Joe: 3</title>
   -1    39 			<title>3</title>
   40    40 		</rect>
   41    41 	</g>
   42    42 	<g>
   43    43 		<rect fill="#e41a1c" height="320.0" stroke="white" width="32.0" x="352.0" y="159.0">
   44    -1 			<title>Pears - John: 4</title>
   -1    44 			<title>4</title>
   45    45 		</rect>
   46    46 		<rect fill="#377eb8" height="240.0" stroke="white" width="32.0" x="384.0" y="239.0">
   47    -1 			<title>Pears - Jane: 3</title>
   -1    47 			<title>3</title>
   48    48 		</rect>
   49    49 		<rect fill="#4daf4a" height="320.0" stroke="white" width="32.0" x="416.0" y="159.0">
   50    -1 			<title>Pears - Joe: 4</title>
   -1    50 			<title>4</title>
   51    51 		</rect>
   52    52 	</g>
   53    53 	<g>
   54    54 		<rect fill="#e41a1c" height="400.0" stroke="white" width="32.0" x="512.0" y="79.0">
   55    -1 			<title>Bananas - John: 5</title>
   -1    55 			<title>5</title>
   56    56 		</rect>
   57    57 		<rect fill="#377eb8" height="80.0" stroke="white" width="32.0" x="544.0" y="399.0">
   58    -1 			<title>Bananas - Jane: 1</title>
   -1    58 			<title>1</title>
   59    59 		</rect>
   60    60 		<rect fill="#4daf4a" height="160.0" stroke="white" width="32.0" x="576.0" y="319.0">
   61    -1 			<title>Bananas - Joe: 2</title>
   -1    61 			<title>2</title>
   62    62 		</rect>
   63    63 	</g>
   64    64 </svg>

diff --git a/tests/simple_StackedColumnRenderer.svg b/tests/simple_StackedColumnRenderer.svg

@@ -19,46 +19,46 @@
   19    19 	</g>
   20    20 	<g>
   21    21 		<rect fill="#e41a1c" height="72.0" stroke="white" width="53.333333333333336" x="53.33333333333333" y="407.0">
   22    -1 			<title>Apples - John: 3</title>
   -1    22 			<title>3</title>
   23    23 		</rect>
   24    24 		<rect fill="#377eb8" height="48.0" stroke="white" width="53.333333333333336" x="53.33333333333333" y="359.0">
   25    -1 			<title>Apples - Jane: 2</title>
   -1    25 			<title>2</title>
   26    26 		</rect>
   27    27 		<rect fill="#4daf4a" height="120.0" stroke="white" width="53.333333333333336" x="53.33333333333333" y="239.0">
   28    -1 			<title>Apples - Joe: 5</title>
   -1    28 			<title>5</title>
   29    29 		</rect>
   30    30 	</g>
   31    31 	<g>
   32    32 		<rect fill="#e41a1c" height="96.0" stroke="white" width="53.333333333333336" x="213.33333333333334" y="383.0">
   33    -1 			<title>Oranges - John: 4</title>
   -1    33 			<title>4</title>
   34    34 		</rect>
   35    35 		<rect fill="#377eb8" height="48.0" stroke="white" width="53.333333333333336" x="213.33333333333334" y="335.0">
   36    -1 			<title>Oranges - Jane: 2</title>
   -1    36 			<title>2</title>
   37    37 		</rect>
   38    38 		<rect fill="#4daf4a" height="72.0" stroke="white" width="53.333333333333336" x="213.33333333333334" y="263.0">
   39    -1 			<title>Oranges - Joe: 3</title>
   -1    39 			<title>3</title>
   40    40 		</rect>
   41    41 	</g>
   42    42 	<g>
   43    43 		<rect fill="#e41a1c" height="96.0" stroke="white" width="53.333333333333336" x="373.3333333333333" y="383.0">
   44    -1 			<title>Pears - John: 4</title>
   -1    44 			<title>4</title>
   45    45 		</rect>
   46    46 		<rect fill="#377eb8" height="72.0" stroke="white" width="53.333333333333336" x="373.3333333333333" y="311.0">
   47    -1 			<title>Pears - Jane: 3</title>
   -1    47 			<title>3</title>
   48    48 		</rect>
   49    49 		<rect fill="#4daf4a" height="96.0" stroke="white" width="53.333333333333336" x="373.3333333333333" y="215.0">
   50    -1 			<title>Pears - Joe: 4</title>
   -1    50 			<title>4</title>
   51    51 		</rect>
   52    52 	</g>
   53    53 	<g>
   54    54 		<rect fill="#e41a1c" height="120.0" stroke="white" width="53.333333333333336" x="533.3333333333334" y="359.0">
   55    -1 			<title>Bananas - John: 5</title>
   -1    55 			<title>5</title>
   56    56 		</rect>
   57    57 		<rect fill="#377eb8" height="24.0" stroke="white" width="53.333333333333336" x="533.3333333333334" y="335.0">
   58    -1 			<title>Bananas - Jane: 1</title>
   -1    58 			<title>1</title>
   59    59 		</rect>
   60    60 		<rect fill="#4daf4a" height="48.0" stroke="white" width="53.333333333333336" x="533.3333333333334" y="287.0">
   61    -1 			<title>Bananas - Joe: 2</title>
   -1    61 			<title>2</title>
   62    62 		</rect>
   63    63 	</g>
   64    64 </svg>

diff --git a/tests/single_ColumnRenderer.svg b/tests/single_ColumnRenderer.svg

@@ -10,22 +10,22 @@
   10    10 	<text dominant-baseline="middle" fill="#333" text-anchor="middle" x="560.0" y="490.0">Bananas</text>
   11    11 	<g>
   12    12 		<rect fill="#e41a1c" height="240.0" stroke="white" width="53.333333333333336" x="53.333333333333336" y="239.0">
   13    -1 			<title>Apples: 3</title>
   -1    13 			<title>3</title>
   14    14 		</rect>
   15    15 	</g>
   16    16 	<g>
   17    17 		<rect fill="#e41a1c" height="320.0" stroke="white" width="53.333333333333336" x="213.33333333333334" y="159.0">
   18    -1 			<title>Oranges: 4</title>
   -1    18 			<title>4</title>
   19    19 		</rect>
   20    20 	</g>
   21    21 	<g>
   22    22 		<rect fill="#e41a1c" height="320.0" stroke="white" width="53.333333333333336" x="373.33333333333337" y="159.0">
   23    -1 			<title>Pears: 4</title>
   -1    23 			<title>4</title>
   24    24 		</rect>
   25    25 	</g>
   26    26 	<g>
   27    27 		<rect fill="#e41a1c" height="400.0" stroke="white" width="53.333333333333336" x="533.3333333333334" y="79.0">
   28    -1 			<title>Bananas: 5</title>
   -1    28 			<title>5</title>
   29    29 		</rect>
   30    30 	</g>
   31    31 </svg>

diff --git a/tests/single_StackedColumnRenderer.svg b/tests/single_StackedColumnRenderer.svg

@@ -10,22 +10,22 @@
   10    10 	<text dominant-baseline="middle" fill="#333" text-anchor="middle" x="560.0" y="490.0">Bananas</text>
   11    11 	<g>
   12    12 		<rect fill="#e41a1c" height="240.0" stroke="white" width="53.333333333333336" x="53.33333333333333" y="239.0">
   13    -1 			<title>Apples: 3</title>
   -1    13 			<title>3</title>
   14    14 		</rect>
   15    15 	</g>
   16    16 	<g>
   17    17 		<rect fill="#e41a1c" height="320.0" stroke="white" width="53.333333333333336" x="213.33333333333334" y="159.0">
   18    -1 			<title>Oranges: 4</title>
   -1    18 			<title>4</title>
   19    19 		</rect>
   20    20 	</g>
   21    21 	<g>
   22    22 		<rect fill="#e41a1c" height="320.0" stroke="white" width="53.333333333333336" x="373.3333333333333" y="159.0">
   23    -1 			<title>Pears: 4</title>
   -1    23 			<title>4</title>
   24    24 		</rect>
   25    25 	</g>
   26    26 	<g>
   27    27 		<rect fill="#e41a1c" height="400.0" stroke="white" width="53.333333333333336" x="533.3333333333334" y="79.0">
   28    -1 			<title>Bananas: 5</title>
   -1    28 			<title>5</title>
   29    29 		</rect>
   30    30 	</g>
   31    31 </svg>