From 7c7744f04fff312cfe920c9cf1be39ad3a799373 Mon Sep 17 00:00:00 2001 From: Maxim Zaslavsky Date: Wed, 23 Oct 2024 14:15:34 -0400 Subject: [PATCH] Fix 'Passing a Normalize instance simultaneously with vmin/vmax is not supported. Please pass vmin/vmax directly to the norm when creating it.' Also support grid transparency. --- .bumpversion.cfg | 2 +- genetools/__init__.py | 2 +- genetools/plots.py | 119 +++++++++++------- setup.py | 2 +- tests/baseline/test_dotplot.png | Bin 35098 -> 35033 bytes ...st_dotplot_confirm_vmin_vmax_supported.png | Bin 0 -> 16902 bytes ...ported_with_extend_legend_to_vmin_vmax.png | Bin 0 -> 16634 bytes tests/baseline/test_dotplot_single_key.png | Bin 27320 -> 27241 bytes tests/test_plots.py | 54 +++++++- 9 files changed, 126 insertions(+), 53 deletions(-) create mode 100644 tests/baseline/test_dotplot_confirm_vmin_vmax_supported.png create mode 100644 tests/baseline/test_dotplot_confirm_vmin_vmax_supported_with_extend_legend_to_vmin_vmax.png diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 2347cab..f5620a9 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.7.4 +current_version = 0.7.5 commit = False tag = False diff --git a/genetools/__init__.py b/genetools/__init__.py index bfaf1e0..86b183c 100644 --- a/genetools/__init__.py +++ b/genetools/__init__.py @@ -2,7 +2,7 @@ __author__ = """Maxim Zaslavsky""" __email__ = "maxim@maximz.com" -__version__ = "0.7.4" +__version__ = "0.7.5" # We want genetools.[submodule].[function] to be accessible simply by importing genetools, without having to import genetools.[submodule] from . import helpers, plots, stats, arrays diff --git a/genetools/plots.py b/genetools/plots.py index e8dab8a..8a06d3f 100644 --- a/genetools/plots.py +++ b/genetools/plots.py @@ -794,12 +794,10 @@ def _common_dotplot( size_vmax: Optional[float] = None, size_vcenter: Optional[float] = None, ### - # Configure which entries will be displayed in size legend: - # n_legend_items_for_size: int = 5, extend_size_legend_to_vmin_vmax: bool = False, - # Providing representative_sizes_for_legend will override n_legend_items_for_size and extend_size_legend_to_vmin_vmax + # Configure which entries will be displayed in size legend (note: this will override extend_size_legend_to_vmin_vmax) representative_sizes_for_legend: Optional[List[float]] = None, - # If should_size_legend_items_be_colored is False, all size legend items will be uniform black + # If should_size_legend_items_be_colored is False, all size legend items will be uniform grey: should_size_legend_items_be_colored: bool = False, ### figsize: Optional[Tuple[float, float]] = None, @@ -807,6 +805,8 @@ def _common_dotplot( min_marker_size: int = 1, marker_size_scale_factor: int = 100, grid: bool = True, + # Control grid transparency: + grid_alpha: float = 0.3, ) -> Tuple[ matplotlib.figure.Figure, matplotlib.axes.Axes, @@ -839,38 +839,49 @@ def _generate_size_norm_input_data( if size_vcenter is not None: # Support a vcenter for size, similar to color_vcenter, to allow divergent size palettes so negative values can have big sizes. # Example: size_vcenter=0 would make 0 have small size while 1 and -1 have large size. + + # Just to reiterate how this affects sizes in diverging data: Values on both sides of the center are mapped to large sizes. + # (Using size_vcenter will make values equally distant from the center appear the same size. So if we have data like -5, -3, 0, 3, 5, with size_vcenter=0, the size of -3 and 3 will be the same, as will the size of -5 and 5.) + # Calculate the absolute difference from vcenter abs_diff_from_vcenter = np.abs(clipped_size_data - size_vcenter) clipped_size_data = abs_diff_from_vcenter - # Note we have to reshape/ravel the data because this scaler expects a 2d array + # Note we have to reshape/ravel the data because the MinMaxScaler expects a 2d array return clipped_size_data.reshape(-1, 1) - # Fit the scaler to the clipped data - # Due to clip=True, we do not need to repeat manual np.clip before calling size_scaller.transform. - # Note we have to reshape/ravel the data because this scaler expects a 2d array - size_scaler = MinMaxScaler(clip=True).fit( - _generate_size_norm_input_data(data[size_key]) - ) - - def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: - """convert raw size data to plot marker size""" - # Note we have to reshape/ravel the data because this scaler expects a 2d array - transformed = size_scaler.transform( - _generate_size_norm_input_data(x) - ).ravel() - if inverse_size: - transformed = 1 - transformed + size_data = data[size_key] + if size_data.nunique() < 2: + # Handle zero variance case (i.e. all values are identical) + def size_norm(x): + # Return constant size + return marker_size_scale_factor + else: + # Fit the scaler to the clipped data + # Due to clip=True, we do not need to repeat manual np.clip before calling size_scaller.transform. + # Note we have to reshape/ravel the data in _generate_size_norm_input_data because MinMaxScaler expects a 2d array + size_scaler = MinMaxScaler(clip=True).fit( + _generate_size_norm_input_data(size_data) + ) - return min_marker_size + marker_size_scale_factor * transformed + def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: + """convert raw size data to plot marker size""" + # Note we have to reshape/ravel the data in _generate_size_norm_input_data because MinMaxScaler expects a 2d array + transformed = size_scaler.transform( + _generate_size_norm_input_data(x) + ).ravel() + if inverse_size: + transformed = 1 - transformed + return min_marker_size + marker_size_scale_factor * transformed fig, ax = plt.subplots(figsize=figsize) + # Set up color normalization if color_vcenter is not None: # Create norm centered at color_vcenter. + # We have to also handle color_vmin and color_vmax if they are not None. - # They can't be passed alongside a norm to ax.scatter: "ValueError: Passing a Normalize instance simultaneously with vmin/vmax is not supported. Please pass vmin/vmax directly to the norm when creating it." - plot_vmin, plot_vmax = None, None + # They can't be passed alongside a norm to ax.scatter: "ValueError: Passing a Normalize instance simultaneously with vmin/vmax is not supported. Please pass vmin/vmax directly to the norm when creating it." # Previously we used: norm = matplotlib.colors.CenteredNorm(vcenter=color_vcenter) # But CenteredNorm does not accept vmin, vmax in its constructor, so we have to switch to TwoSlopeNorm @@ -878,9 +889,8 @@ def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: vcenter=color_vcenter, vmin=color_vmin, vmax=color_vmax ) else: - plot_vmin, plot_vmax = color_vmin, color_vmax # Create a norm even when vcenter is None - color_norm = matplotlib.colors.Normalize(vmin=plot_vmin, vmax=plot_vmax) + color_norm = matplotlib.colors.Normalize(vmin=color_vmin, vmax=color_vmax) scatter = ax.scatter( data[x_axis_key].values, @@ -888,14 +898,14 @@ def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: c=data[color_key].values, s=size_norm(data[size_key]), cmap=color_cmap, - norm=color_norm, - vmin=plot_vmin, - vmax=plot_vmax, + norm=color_norm, # includes the vmin, vmax, vcenter alpha=1, # Add outlines to the scatter points: edgecolors="lightgrey", linewidths=0.5, + zorder=3, # Ensure points are drawn above grid ) + ax.set_xlim(-0.5, max(ax.get_xticks()) + 0.5) ax.set_ylim(-0.5, max(ax.get_yticks()) + 0.5) ax.invert_yaxis() # respect initial ordering - go top to bottom @@ -904,11 +914,17 @@ def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: if grid: ax.set_xticks(np.array(ax.get_xticks()) - 0.5, minor=True) ax.set_yticks(np.array(ax.get_yticks()) - 0.5, minor=True) - ax.grid(which="minor") + ax.grid( + which="minor", + alpha=grid_alpha, + # Put grid behind points + zorder=1, + ) # Aspect ratio ax.set_aspect("equal", "box") + # Handle tick labels # At this point, ax.get_xticklabels() may return empty tick labels and emit UserWarning: FixedFormatter should only be used together with FixedLocator # Must draw the canvas to position the ticks: https://stackoverflow.com/a/41124884/130164 # And must assign tick locations prior to assigning tick labels, i.e. set_ticks(get_ticks()): https://stackoverflow.com/a/68794383/130164 @@ -917,18 +933,17 @@ def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: ax.set_xticklabels(ax.get_xticklabels(), rotation="vertical") ## Produce size legend entries containing a cross section of values. - - # User may have passed representative_sizes_for_legend. + # Generate legend entries if representative_sizes_for_legend is not None: + # User may have passed representative_sizes_for_legend. representative_sizes_for_legend = np.array(representative_sizes_for_legend) else: # Generate evenly spaced values # First, find the extents: - data_min_size_clipped, data_max_size_clipped = ( - np.min(data[size_key]), - np.max(data[size_key]), - ) + data_min_size_clipped = np.min(size_data) + data_max_size_clipped = np.max(size_data) + if size_vmin is not None or size_vmax is not None: data_min_size_clipped = np.clip( data_min_size_clipped, size_vmin, size_vmax @@ -944,7 +959,7 @@ def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: if size_vmax is not None: data_max_size_clipped = size_vmax - # Generate values: + # Include center point in legend if specified: if ( size_vcenter is not None and data_min_size_clipped <= size_vcenter <= data_max_size_clipped @@ -955,11 +970,13 @@ def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: else: add_extra = np.array([]) + # Generate values: # n_legend_items_for_size = 5 # representative_sizes_for_legend = np.linspace(data_min_size_clipped, data_max_size_clipped, n_legend_items_for_size) # Instead of linspace, use a Locator as in legend_elements(): https://github.com/matplotlib/matplotlib/blob/eb02b108ea181930ab37717c75e07ba792e01f1d/lib/matplotlib/collections.py#L1143-L1152 # num = n_legend_items_for_size - len(add_extra) # locator = matplotlib.ticker.MaxNLocator(nbins=num-1, min_n_ticks=num, steps=[1, 2, 2.5, 3, 5, 6, 8, 10]) + # Actually, use AutoLocator for nice round numbers: locator = matplotlib.ticker.AutoLocator() representative_sizes_for_legend: np.ndarray = np.hstack( [ @@ -967,20 +984,23 @@ def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: add_extra, ] ) + + # Clip: representative_sizes_for_legend = np.clip( representative_sizes_for_legend, data_min_size_clipped, data_max_size_clipped, ) - representative_sizes_for_legend = np.unique( - representative_sizes_for_legend - ) # remove any duplicates + + # Remove any duplicates: + representative_sizes_for_legend = np.unique(representative_sizes_for_legend) + representative_sizes_for_legend.sort() - # Calculate corresponding plot sizes + # Calculate corresponding sizes for legend representative_sizes_after_norm = size_norm(representative_sizes_for_legend) - # Calculate corresponding plot colors + # Calculate corresponding colors for legend if should_size_legend_items_be_colored: representative_colors = representative_sizes_for_legend if color_vmin is not None or color_vmax is not None: @@ -1018,9 +1038,11 @@ def size_norm(x: Union[np.ndarray, pd.Series, List[float]]) -> np.ndarray: representative_sizes_after_norm, representative_colors ) ] - # Create legend labels with %g formatting to remove any trailing zeros when converting a float to string + + # Format legend labels + # Create legend labels with %g formatting to remove any trailing zeros when converting a float to string: # labels = [f"{value:g}" for value in representative_sizes_for_legend] - # Use this instead to set a maximum precision and avoid scientific notation: + # Actually, use this instead to set a maximum precision and avoid scientific notation: labels = [ np.format_float_positional(val, trim="-", unique=True, precision=4) for val in representative_sizes_for_legend @@ -1046,12 +1068,14 @@ def plot_color_and_size_dotplot( color_and_size_vcenter: Optional[float] = None, figsize: Optional[Tuple[float, float]] = None, legend_text: Optional[str] = None, - # n_legend_items: int = 5, extend_legend_to_vmin_vmax: bool = False, + # Configure which entries will be displayed in legend (note: this will override extend_legend_to_vmin_vmax) representative_values_for_legend: Optional[List[float]] = None, min_marker_size: int = 1, marker_size_scale_factor: int = 100, grid: bool = True, + # Control grid transparency: + grid_alpha: float = 0.3, ) -> Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes]: """ Plot dotplot heatmap showing a key as both color and size. @@ -1071,7 +1095,6 @@ def plot_color_and_size_dotplot( size_vmin=color_and_size_vmin, size_vmax=color_and_size_vmax, size_vcenter=color_and_size_vcenter, - # n_legend_items_for_size=n_legend_items, extend_size_legend_to_vmin_vmax=extend_legend_to_vmin_vmax, representative_sizes_for_legend=representative_values_for_legend, # Size legend will represent both size_key and color_key: @@ -1081,6 +1104,7 @@ def plot_color_and_size_dotplot( min_marker_size=min_marker_size, marker_size_scale_factor=marker_size_scale_factor, grid=grid, + grid_alpha=grid_alpha, ) def add_padding_to_multiline_string(text: str, padding: int): @@ -1142,8 +1166,8 @@ def plot_two_key_color_and_size_dotplot( size_vmin: Optional[float] = None, size_vmax: Optional[float] = None, size_vcenter: Optional[float] = None, - # n_legend_items_for_size: int = 5, extend_size_legend_to_vmin_vmax: bool = False, + # Configure which entries will be displayed in size legend (note: this will override extend_size_legend_to_vmin_vmax) representative_sizes_for_legend: Optional[List[float]] = None, inverse_size: bool = False, color_legend_text: Optional[str] = None, @@ -1152,6 +1176,8 @@ def plot_two_key_color_and_size_dotplot( min_marker_size: int = 1, marker_size_scale_factor: int = 100, grid: bool = True, + # Control grid transparency: + grid_alpha: float = 0.3, ) -> Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes]: """ Plot dotplot heatmap showing two keys together. @@ -1189,6 +1215,7 @@ def plot_two_key_color_and_size_dotplot( min_marker_size=min_marker_size, marker_size_scale_factor=marker_size_scale_factor, grid=grid, + grid_alpha=grid_alpha, ) # Make colorbar axes: diff --git a/setup.py b/setup.py index a35a887..8301195 100644 --- a/setup.py +++ b/setup.py @@ -49,7 +49,7 @@ test_suite="tests", tests_require=test_requirements, url="https://github.com/maximz/genetools", - version="0.7.4", + version="0.7.5", zip_safe=False, extras_require={ # This will also install anndata and UMAP packages diff --git a/tests/baseline/test_dotplot.png b/tests/baseline/test_dotplot.png index f66fae77f1e4f6c71c3fffd79e86e04cfa1e10c6..62a5953f0966bb0f16f703d5d70faa73b32c058f 100644 GIT binary patch literal 35033 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 He*HfH(#j{e literal 35098 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 h_bcH4>-j@IX diff --git a/tests/baseline/test_dotplot_confirm_vmin_vmax_supported.png b/tests/baseline/test_dotplot_confirm_vmin_vmax_supported.png new file mode 100644 index 0000000000000000000000000000000000000000..b1dc67e67773f8dcccae21ab45390618f85ace21 GIT binary patch literal 16902 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 z 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 literal 0 HcmV?d00001 diff --git a/tests/baseline/test_dotplot_confirm_vmin_vmax_supported_with_extend_legend_to_vmin_vmax.png b/tests/baseline/test_dotplot_confirm_vmin_vmax_supported_with_extend_legend_to_vmin_vmax.png new file mode 100644 index 0000000000000000000000000000000000000000..15c0731da806e6310fe584983ecc9fc4d63e3ee8 GIT binary patch literal 16634 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 diff --git a/tests/test_plots.py b/tests/test_plots.py index 76403c8..af31293 100644 --- a/tests/test_plots.py +++ b/tests/test_plots.py @@ -725,9 +725,8 @@ def test_dotplot_single_key(dotplot_data): return fig -@snapshot_image -def test_dotplot_confirm_legend_colors_match_dot_colors(): - # Regression test to confirm that the colors in the legend match the colors of the dots, for data where the max value is a small positive float. +@pytest.fixture +def dotplot_data2(): df = pd.DataFrame( [ {"feature": "feature1", "value": 0.12}, @@ -740,15 +739,62 @@ def test_dotplot_confirm_legend_colors_match_dot_colors(): {"feature": "feature8", "value": 0.0}, ] ).assign(classname="class1") + return df + + +@snapshot_image +def test_dotplot_confirm_legend_colors_match_dot_colors(dotplot_data2): + # Regression test to confirm that the colors in the legend match the colors of the dots, for data where the max value is a small positive float. + with sns.plotting_context("paper"), sns.axes_style("white"): + fig, _ = genetools.plots.plot_color_and_size_dotplot( + data=dotplot_data2, + x_axis_key="classname", + y_axis_key="feature", + value_key="value", + color_cmap=sns.color_palette("magma_r", as_cmap=True), + figsize=(5, 6), + grid=False, + ) + return fig + + +@snapshot_image +def test_dotplot_confirm_vmin_vmax_supported(dotplot_data2): + # Regression test to confirm that the colors in the legend match the colors of the dots, for data where the max value is a small positive float. + with sns.plotting_context("paper"), sns.axes_style("white"): + fig, _ = genetools.plots.plot_color_and_size_dotplot( + data=dotplot_data2, + x_axis_key="classname", + y_axis_key="feature", + value_key="value", + color_cmap=sns.color_palette("magma_r", as_cmap=True), + figsize=(5, 6), + grid=False, + # Testing these parameters: + color_and_size_vmin=0, + color_and_size_vmax=1, + ) + return fig + + +@snapshot_image +def test_dotplot_confirm_vmin_vmax_supported_with_extend_legend_to_vmin_vmax( + dotplot_data2, +): + # Regression test to confirm that the colors in the legend match the colors of the dots, for data where the max value is a small positive float. with sns.plotting_context("paper"), sns.axes_style("white"): fig, _ = genetools.plots.plot_color_and_size_dotplot( - data=df, + data=dotplot_data2, x_axis_key="classname", y_axis_key="feature", value_key="value", color_cmap=sns.color_palette("magma_r", as_cmap=True), figsize=(5, 6), grid=False, + # Testing these parameters: + color_and_size_vmin=0, + color_and_size_vmax=1, + extend_legend_to_vmin_vmax=True, ) return fig