From 8b1feb9084834f5f7e5d6c4ff369ef4f5d6d42c0 Mon Sep 17 00:00:00 2001 From: Saman Hushi Date: Sat, 4 May 2024 15:17:06 +0200 Subject: [PATCH 1/2] Table.plot_histograms() for single colum is now bigger --- src/safeds/data/tabular/containers/_table.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/safeds/data/tabular/containers/_table.py b/src/safeds/data/tabular/containers/_table.py index 368f6c782..7eea71f1c 100644 --- a/src/safeds/data/tabular/containers/_table.py +++ b/src/safeds/data/tabular/containers/_table.py @@ -2175,8 +2175,12 @@ def plot_histograms(self, *, number_of_bins: int = 10) -> Image: n_cols = min(3, self.number_of_columns) n_rows = 1 + (self.number_of_columns - 1) // n_cols - one_col = n_cols == 1 and n_rows == 1 - fig, axs = plt.subplots(n_rows, n_cols, tight_layout=True, figsize=(n_cols * 3, n_rows * 3)) + if n_cols == 1 and n_rows == 1: + fig, axs = plt.subplots(1, 1, tight_layout=True) + one_col = True + else: + fig, axs = plt.subplots(n_rows, n_cols, tight_layout=True, figsize=(n_cols * 3, n_rows * 3)) + one_col = False col_names = self.column_names for col_name, ax in zip(col_names, axs.flatten() if not one_col else [axs], strict=False): From 393ccab52048ef3a44aa7cc034734d797e8ee17f Mon Sep 17 00:00:00 2001 From: Saman Hushi Date: Sat, 4 May 2024 15:19:21 +0200 Subject: [PATCH 2/2] updated Test image for single column plot --- ...test_should_match_snapshot[one column].png | Bin 6094 -> 7705 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/safeds/data/tabular/containers/_table/__snapshots__/test_plot_histograms/test_should_match_snapshot[one column].png b/tests/safeds/data/tabular/containers/_table/__snapshots__/test_plot_histograms/test_should_match_snapshot[one column].png index 6bab3cef030caae5104091d63b9ee22b46b82ea4..eb31137046b9e166db9cda1bd209215ded245c77 100644 GIT binary patch literal 7705 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 bWq~5zvrctIXMHRJFYHmPBg}uhc=JC1)sA$# literal 6094 zcmb`L2UL^kwuXaB5m0P26%oaPAQn^v1=InN-i!1isD$2oP!tDgV*n8lLa&A*CG@}` z1W-gu2t_~)Jp>HB=Wgyf=gwXC%$al6+*vCuLim$>|F_@$?&tl2)m7#9upVYbAP{>L z?#XH*5DX&QKP*h}ikDxw8v?-{tsr|_+w(1T0HsV^t|rh(5-iLKDXJ~Eg%0A}=f#g} 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 ZHX0FpV?KXw0M6+V3UaEld3Vg7{ulIsr27B>