Skip to content

Commit 0443496

Browse files
committed
Update to latest Matplotlib
subplots_adjust wasn't working anymore for whatever reason, but switching to constrained layout fixed it. Also disabled the resizing warning that was being emitted more and more often, because of autoscale being disabled automatically on things like drag and drop.
1 parent 3c2129a commit 0443496

9 files changed

Lines changed: 18 additions & 16 deletions

File tree

organoid_tracker/core/image_coloring.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def _create_colormap(name: str) -> Colormap:
4949
return _create_black_to_color_colormap("magenta", (1.0, 0.0, 1.0))
5050
if name == "yellow":
5151
return _create_black_to_color_colormap("yellow", (1.0, 1.0, 0.0))
52-
return matplotlib.cm.get_cmap(name)
52+
return matplotlib.colormaps.get_cmap(name)
5353

5454

5555
def get_colormap(name: Optional[str]) -> Colormap:

organoid_tracker/gui/main_window.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logging
12
import sys
23
from functools import partial
34
from typing import Callable, Optional
@@ -245,10 +246,14 @@ def launch_window(experiment: Experiment) -> MainWindow:
245246
pyplot.rcParams["font.family"] = "Arial, sans-serif"
246247
pyplot.rcParams["xtick.direction"] = "in"
247248
pyplot.rcParams["ytick.direction"] = "in"
249+
pyplot.rcParams['figure.constrained_layout.use'] = True
250+
251+
# Ignore "Ignoring fixed x/y limits to fulfill fixed data aspect with adjustable data limits."
252+
# (Everytime any method calls .set_x/ylim, autoscale is disabled, and this warning is shown when resizing the window)
253+
logging.getLogger("matplotlib.axes._base").setLevel(logging.ERROR)
248254

249255
# Create matplotlib figure
250256
fig = Figure(figsize=(12, 12), dpi=95)
251-
fig.subplots_adjust(left=0.04, bottom=0.04, right=0.99, top=0.98)
252257

253258
# Create empty window
254259
root = QApplication.instance()

organoid_tracker/local_marginalization/tree_drawing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313

1414
def color_error_rates(time_point_number: int, track: LinkingTrack, experiment: Experiment) -> MPLColor:
15-
_COLORMAP = matplotlib.cm.get_cmap("RdYlGn")
15+
_COLORMAP = matplotlib.colormaps.get_cmap("RdYlGn")
1616

1717
position = track.find_position_at_time_point_number(time_point_number)
1818

organoid_tracker/util/mpl_helper.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
from typing import Tuple, Optional, Union, List
22

33
import numpy
4-
from matplotlib import colors, cm
4+
import matplotlib
55
from matplotlib.axes import Axes
66
from matplotlib.collections import LineCollection
7-
from matplotlib.colors import ListedColormap, Normalize
7+
from matplotlib.colors import ListedColormap
88

99
# Colors Sander Tans likes in his figures - these are all bright colors
1010
# Source: flatuicolors.com - US palette
1111
from numpy import ndarray
1212

1313
from organoid_tracker.core.typing import MPLColor
1414

15-
SANDER_APPROVED_COLORS = colors.to_rgba_array(["#55efc4", "#fdcb6e", "#636e72", "#74b9ff", "#e84393",
15+
SANDER_APPROVED_COLORS = matplotlib.colors.to_rgba_array(["#55efc4", "#fdcb6e", "#636e72", "#74b9ff", "#e84393",
1616
"#ff7675", "#fd79a8", "#fab1a0", "#e84393"])
1717

1818
# A bit darker colors
@@ -25,7 +25,7 @@
2525
HISTOGRAM_BLUE = (0, 0, 1, 0.5)
2626

2727
def _create_qualitative_colormap() -> ListedColormap:
28-
color_list = cm.get_cmap('jet', 256)(numpy.linspace(0, 1, 256))
28+
color_list = matplotlib.colormaps.get_cmap('jet')(numpy.linspace(0, 1, 256))
2929
numpy.random.shuffle(color_list)
3030
color_list[0] = numpy.array([0, 0, 0, 1]) # First color is black
3131
return ListedColormap(color_list)

organoid_tracker/visualizer/cell_density_visualizer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def _calculate_densities(self):
4545
self._position_to_density = densities
4646

4747
def _on_position_draw(self, position: Position, color: str, dz: int, dt: int) -> bool:
48-
color_map = matplotlib.cm.get_cmap("jet")
48+
color_map = matplotlib.colormaps.get_cmap("jet")
4949

5050
density = self._position_to_density.get(position)
5151
density_color = "gray"

organoid_tracker/visualizer/debug_image_visualizer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from matplotlib import cm
1+
import matplotlib
22
from matplotlib.colors import Colormap
33
from numpy import ndarray
44

@@ -10,7 +10,7 @@
1010
from organoid_tracker.visualizer.abstract_image_visualizer import AbstractImageVisualizer
1111

1212

13-
def popup_3d_image(image: ndarray, name: str, cmap: Colormap = cm.get_cmap("gray")):
13+
def popup_3d_image(image: ndarray, name: str, cmap: Colormap = matplotlib.colormaps.get_cmap("gray")):
1414
"""To be used in scripts, where no GUI loop is running. After showing the image, the program exits."""
1515
experiment = Experiment()
1616
experiment.images.image_loader(SingleImageLoader(image))

organoid_tracker/visualizer/lineage_tree_visualizer.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import matplotlib.cm
66
import matplotlib.colors
7-
import numpy
87
import numpy as np
98
from matplotlib.backend_bases import MouseEvent
109
from mpl_toolkits.axes_grid1 import make_axes_locatable
@@ -13,7 +12,6 @@
1312
from organoid_tracker.core.links import LinkingTrack
1413
from organoid_tracker.core.position import Position
1514
from organoid_tracker.core.position_collection import PositionCollection
16-
from organoid_tracker.core.resolution import ImageTimings, ImageResolution
1715
from organoid_tracker.gui import dialog, option_choose_dialog
1816
from organoid_tracker.gui.location_map import LocationMap
1917
from organoid_tracker.gui.window import Window
@@ -27,7 +25,7 @@
2725
from organoid_tracker.position_analysis import position_markers
2826
from organoid_tracker.visualizer import Visualizer
2927

30-
_SPLINE_COLORMAP = matplotlib.cm.get_cmap("YlOrBr") # For drawing position on axis
28+
_SPLINE_COLORMAP = matplotlib.colormaps.get_cmap("YlOrBr") # For drawing position on axis
3129

3230

3331
def _includes_cell_type(positions: PositionCollection, linking_track: LinkingTrack, cell_type: str):

organoid_tracker_plugins/plugin_generate_cell_tracking_configs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import sys
66
from typing import Dict, Optional, Any, Tuple, List
77

8-
import matplotlib.cm
8+
import matplotlib
99
from matplotlib.collections import LineCollection
1010

1111
from organoid_tracker.config import ConfigFile
@@ -480,7 +480,7 @@ def _draw_predicted_divisions(self):
480480
if self._predicted_divisions is None:
481481
return
482482

483-
colormap = matplotlib.cm.get_cmap("Purples")
483+
colormap = matplotlib.colormaps.get_cmap("Purples")
484484

485485
max_intensity_projection = self._display_settings.max_intensity_projection
486486
positions_x_list, positions_y_list, positions_face_colors, positions_edge_colors, positions_edge_widths, positions_marker_sizes = \

organoid_tracker_plugins/plugin_timings_editor.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@ def draw_view(self):
174174
self._ax.axvline(self._max_selected_time_h, color="#00ff00", linestyle="--")
175175

176176
self._ax.set_ylim(*self._Y_LIMITS)
177-
self._fig.tight_layout()
178177
self._fig.canvas.draw()
179178

180179
def _on_scroll(self, event: MouseEvent):

0 commit comments

Comments
 (0)