From ced77e42e13611cf8dc4023c0ddbfcade7d5d419 Mon Sep 17 00:00:00 2001 From: RyanPan Date: Mon, 22 Feb 2016 16:46:16 -0500 Subject: [PATCH 01/11] bug fix related #5479 --- lib/matplotlib/table.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index 2d8adfbd5db3..9105d190e734 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -410,7 +410,13 @@ def _do_cell_alignment(self): def auto_set_column_width(self, col): - self._autoColumns.append(col) + # col is a list of column index + if isinstance(col, list): + for cell in col: + self._autoColumns.append(cell) + # col is just an index + else: + self._autoColumns.append(col) self.stale = True def _auto_set_column_width(self, col, renderer): From 32c55539be26b5747178a71d724b029ae3cdbd74 Mon Sep 17 00:00:00 2001 From: RyanPan Date: Mon, 22 Feb 2016 19:30:25 -0500 Subject: [PATCH 02/11] raising error,rather then check type --- lib/matplotlib/table.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index 9105d190e734..6520ad14d4aa 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -410,13 +410,14 @@ def _do_cell_alignment(self): def auto_set_column_width(self, col): - # col is a list of column index - if isinstance(col, list): - for cell in col: - self._autoColumns.append(cell) - # col is just an index + # check for col possibility on iteration + try: + iter(col) + except (TypeError, AttributeError): + self._autoColumns.append(col) else: - self._autoColumns.append(col) + for cell in col: + self._autoColumns.append(cell) self.stale = True def _auto_set_column_width(self, col, renderer): From c706d5cb990bea3f36bebf805e5c8dc33122356c Mon Sep 17 00:00:00 2001 From: RyanPan Date: Mon, 22 Feb 2016 19:45:21 -0500 Subject: [PATCH 03/11] minor fix on indentation --- lib/matplotlib/table.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index 6520ad14d4aa..83fe121ff34b 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -416,8 +416,8 @@ def auto_set_column_width(self, col): except (TypeError, AttributeError): self._autoColumns.append(col) else: - for cell in col: - self._autoColumns.append(cell) + for cell in col: + self._autoColumns.append(cell) self.stale = True def _auto_set_column_width(self, col, renderer): From 54eec611c8d826b25739f8c0af263af3923abce0 Mon Sep 17 00:00:00 2001 From: RyanPan Date: Mon, 22 Feb 2016 19:49:24 -0500 Subject: [PATCH 04/11] revert to no indentation fix --- lib/matplotlib/table.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index 6520ad14d4aa..83fe121ff34b 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -416,8 +416,8 @@ def auto_set_column_width(self, col): except (TypeError, AttributeError): self._autoColumns.append(col) else: - for cell in col: - self._autoColumns.append(cell) + for cell in col: + self._autoColumns.append(cell) self.stale = True def _auto_set_column_width(self, col, renderer): From 1b3f49ca50311e142f40d53337aa039cd96d3445 Mon Sep 17 00:00:00 2001 From: RyanPan Date: Mon, 22 Feb 2016 19:54:02 -0500 Subject: [PATCH 05/11] fix indention to 4 space, but not tap --- lib/matplotlib/table.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index 83fe121ff34b..0556511d5d9e 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -416,8 +416,9 @@ def auto_set_column_width(self, col): except (TypeError, AttributeError): self._autoColumns.append(col) else: - for cell in col: + for cell in col: self._autoColumns.append(cell) + self.stale = True def _auto_set_column_width(self, col, renderer): From c1633972de39baf5f01eab767043bcd073109158 Mon Sep 17 00:00:00 2001 From: RyanPan Date: Thu, 25 Feb 2016 19:59:53 -0500 Subject: [PATCH 06/11] added test for bug#5479 auto column --- .../test_table/table_auto_column.png | Bin 0 -> 27327 bytes lib/matplotlib/tests/test_table.py | 40 ++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_table/table_auto_column.png diff --git a/lib/matplotlib/tests/baseline_images/test_table/table_auto_column.png b/lib/matplotlib/tests/baseline_images/test_table/table_auto_column.png new file mode 100644 index 0000000000000000000000000000000000000000..b237216fb62457a2e2b6138172b31c642c7075b2 GIT binary patch literal 27327 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index ef768d89e935..6ee38c9e73f0 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -121,3 +121,43 @@ def test_customcell(): cell = CustomCell((0, 0), visible_edges=t, width=1, height=1) code = tuple(s for _, s in cell.get_path().iter_segments()) assert_equal(c, code) + +@image_comparison(baseline_images=['table_auto_column'], + extensions=['png']) +def test_auto_column(): + fig = plt.figure() + + #iteratble list input + ax1 = fig.add_subplot(3, 1, 1) + ax1.axis('off') + tb1 = ax1.table(cellText=[['Fit Text', 2],['Longer text than default', 1]], + rowLabels=["A","B"], + colLabels=["Col1","Col2"], + loc="center") + tb1.auto_set_font_size(False) + tb1.set_fontsize(12) + tb1.auto_set_column_width([-1,0,1]) + + #iteratble tuple input + ax2 = fig.add_subplot(3, 1, 2) + ax2.axis('off') + tb2 = ax2.table(cellText=[['Fit Text', 2],['Longer text than default', 1]], + rowLabels=["A","B"], + colLabels=["Col1","Col2"], + loc="center") + tb2.auto_set_font_size(False) + tb2.set_fontsize(12) + tb2.auto_set_column_width((-1,0,1)) + + #3 single input + ax3 = fig.add_subplot(3, 1, 3) + ax3.axis('off') + tb3 = ax3.table(cellText=[['Fit Text', 2],['Longer text than default', 1]], + rowLabels=["A","B"], + colLabels=["Col1","Col2"], + loc="center") + tb3.auto_set_font_size(False) + tb3.set_fontsize(12) + tb3.auto_set_column_width(-1) + tb3.auto_set_column_width(0) + tb3.auto_set_column_width(1) \ No newline at end of file From 9db6a5946ec8b054ea84de1971586c3967a62287 Mon Sep 17 00:00:00 2001 From: RyanPan Date: Thu, 25 Feb 2016 20:02:11 -0500 Subject: [PATCH 07/11] pep8 new line at last --- lib/matplotlib/tests/test_table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index 6ee38c9e73f0..eb74642773c7 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -160,4 +160,4 @@ def test_auto_column(): tb3.set_fontsize(12) tb3.auto_set_column_width(-1) tb3.auto_set_column_width(0) - tb3.auto_set_column_width(1) \ No newline at end of file + tb3.auto_set_column_width(1) From 05d86b56ed4cab7b0f3801c9dab46f4630ba9658 Mon Sep 17 00:00:00 2001 From: RyanPan Date: Thu, 25 Feb 2016 20:35:03 -0500 Subject: [PATCH 08/11] fix pep8 miss space after comma --- lib/matplotlib/tests/test_table.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index eb74642773c7..9ce857f3ba2c 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -130,31 +130,31 @@ def test_auto_column(): #iteratble list input ax1 = fig.add_subplot(3, 1, 1) ax1.axis('off') - tb1 = ax1.table(cellText=[['Fit Text', 2],['Longer text than default', 1]], - rowLabels=["A","B"], - colLabels=["Col1","Col2"], + tb1 = ax1.table(cellText=[['Fit Text', 2], ['Longer text than default', 1]], + rowLabels =["A", "B"], + colLabels=["Col1", "Col2"], loc="center") tb1.auto_set_font_size(False) tb1.set_fontsize(12) - tb1.auto_set_column_width([-1,0,1]) + tb1.auto_set_column_width([-1, 0, 1]) #iteratble tuple input ax2 = fig.add_subplot(3, 1, 2) ax2.axis('off') - tb2 = ax2.table(cellText=[['Fit Text', 2],['Longer text than default', 1]], - rowLabels=["A","B"], - colLabels=["Col1","Col2"], + tb2 = ax2.table(cellText=[['Fit Text', 2], ['Longer text than default', 1]], + rowLabels=["A", "B"], + colLabels=["Col1", "Col2"], loc="center") tb2.auto_set_font_size(False) tb2.set_fontsize(12) - tb2.auto_set_column_width((-1,0,1)) + tb2.auto_set_column_width((-1, 0, 1)) #3 single input ax3 = fig.add_subplot(3, 1, 3) ax3.axis('off') - tb3 = ax3.table(cellText=[['Fit Text', 2],['Longer text than default', 1]], - rowLabels=["A","B"], - colLabels=["Col1","Col2"], + tb3 = ax3.table(cellText=[['Fit Text', 2], ['Longer text than default', 1]], + rowLabels=["A", "B"], + colLabels=["Col1", "Col2"], loc="center") tb3.auto_set_font_size(False) tb3.set_fontsize(12) From 1898bec42495a3d9feae9abb1aa777c75b2fd42f Mon Sep 17 00:00:00 2001 From: RyanPan Date: Thu, 25 Feb 2016 20:46:51 -0500 Subject: [PATCH 09/11] pep8 line gt 80 fix --- lib/matplotlib/tests/test_table.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index 9ce857f3ba2c..f7ec44057206 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -122,6 +122,7 @@ def test_customcell(): code = tuple(s for _, s in cell.get_path().iter_segments()) assert_equal(c, code) + @image_comparison(baseline_images=['table_auto_column'], extensions=['png']) def test_auto_column(): @@ -130,8 +131,9 @@ def test_auto_column(): #iteratble list input ax1 = fig.add_subplot(3, 1, 1) ax1.axis('off') - tb1 = ax1.table(cellText=[['Fit Text', 2], ['Longer text than default', 1]], - rowLabels =["A", "B"], + tb1 = ax1.table(cellText=[['Fit Text', 2], + ['Longer text than default', 1]], + rowLabels=["A", "B"], colLabels=["Col1", "Col2"], loc="center") tb1.auto_set_font_size(False) @@ -141,7 +143,8 @@ def test_auto_column(): #iteratble tuple input ax2 = fig.add_subplot(3, 1, 2) ax2.axis('off') - tb2 = ax2.table(cellText=[['Fit Text', 2], ['Longer text than default', 1]], + tb2 = ax2.table(cellText=[['Fit Text', 2], + ['Longer text than default', 1]], rowLabels=["A", "B"], colLabels=["Col1", "Col2"], loc="center") @@ -152,7 +155,8 @@ def test_auto_column(): #3 single input ax3 = fig.add_subplot(3, 1, 3) ax3.axis('off') - tb3 = ax3.table(cellText=[['Fit Text', 2], ['Longer text than default', 1]], + tb3 = ax3.table(cellText=[['Fit Text', 2], + ['Longer text than default', 1]], rowLabels=["A", "B"], colLabels=["Col1", "Col2"], loc="center") From 413f60ffe59625bf63e25e56a3220d6ac82798cd Mon Sep 17 00:00:00 2001 From: RyanPan Date: Thu, 25 Feb 2016 21:09:07 -0500 Subject: [PATCH 10/11] comment fix, rerun online testing --- lib/matplotlib/tests/test_table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index f7ec44057206..7ad239552df3 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -152,7 +152,7 @@ def test_auto_column(): tb2.set_fontsize(12) tb2.auto_set_column_width((-1, 0, 1)) - #3 single input + #3 single inputs ax3 = fig.add_subplot(3, 1, 3) ax3.axis('off') tb3 = ax3.table(cellText=[['Fit Text', 2], From 8a3349fab68d9cb6e49132b9edd501c9dbc24bbc Mon Sep 17 00:00:00 2001 From: RyanPan Date: Sun, 28 Feb 2016 00:11:59 -0500 Subject: [PATCH 11/11] non integer interable test case --- .../test_table/table_auto_column.png | Bin 27327 -> 46444 bytes lib/matplotlib/tests/test_table.py | 24 +++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_table/table_auto_column.png b/lib/matplotlib/tests/baseline_images/test_table/table_auto_column.png index b237216fb62457a2e2b6138172b31c642c7075b2..9e0472b3c011fae2a53650ed1989c00c9847c5f9 100644 GIT binary patch literal 46444 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 AApigX literal 27327 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 diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index 7ad239552df3..9919fdc43949 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -129,10 +129,10 @@ def test_auto_column(): fig = plt.figure() #iteratble list input - ax1 = fig.add_subplot(3, 1, 1) + ax1 = fig.add_subplot(4, 1, 1) ax1.axis('off') tb1 = ax1.table(cellText=[['Fit Text', 2], - ['Longer text than default', 1]], + ['very long long text, Longer text than default', 1]], rowLabels=["A", "B"], colLabels=["Col1", "Col2"], loc="center") @@ -141,10 +141,10 @@ def test_auto_column(): tb1.auto_set_column_width([-1, 0, 1]) #iteratble tuple input - ax2 = fig.add_subplot(3, 1, 2) + ax2 = fig.add_subplot(4, 1, 2) ax2.axis('off') tb2 = ax2.table(cellText=[['Fit Text', 2], - ['Longer text than default', 1]], + ['very long long text, Longer text than default', 1]], rowLabels=["A", "B"], colLabels=["Col1", "Col2"], loc="center") @@ -153,10 +153,10 @@ def test_auto_column(): tb2.auto_set_column_width((-1, 0, 1)) #3 single inputs - ax3 = fig.add_subplot(3, 1, 3) + ax3 = fig.add_subplot(4, 1, 3) ax3.axis('off') tb3 = ax3.table(cellText=[['Fit Text', 2], - ['Longer text than default', 1]], + ['very long long text, Longer text than default', 1]], rowLabels=["A", "B"], colLabels=["Col1", "Col2"], loc="center") @@ -165,3 +165,15 @@ def test_auto_column(): tb3.auto_set_column_width(-1) tb3.auto_set_column_width(0) tb3.auto_set_column_width(1) + + #4 non integer interable input + ax4 = fig.add_subplot(4, 1, 4) + ax4.axis('off') + tb4 = ax4.table(cellText=[['Fit Text', 2], + ['very long long text, Longer text than default', 1]], + rowLabels=["A", "B"], + colLabels=["Col1", "Col2"], + loc="center") + tb4.auto_set_font_size(False) + tb4.set_fontsize(12) + tb4.auto_set_column_width("-101")