mirror of
https://github.com/wassname/scikit-image.git
synced 2026-07-23 13:10:18 +08:00
Allow axes to be provided to imshow and fix colorbar
Allow axes to be provided to imshow and fix colorbar Allow axes to be provided to imshow and fix colorbar Allow axes to be provided to imshow and fix colorbar Use tight layout by default Try and fix appveyor issue Handle deprecation warning on appveyor Pin the colorbar to the image using box-forced Fix tests again Update function signature Update function signature Fix imshow call Fix docstring with utf characters Remove kwargs
This commit is contained in:
+5
-3
@@ -18,8 +18,8 @@ addons:
|
||||
packages:
|
||||
- ccache
|
||||
- libfreeimage3
|
||||
- texlive
|
||||
- texlive-latex-extra
|
||||
- texlive
|
||||
- texlive-latex-extra
|
||||
- dvipng
|
||||
- python-qt4
|
||||
env:
|
||||
@@ -53,7 +53,9 @@ before_install:
|
||||
install:
|
||||
- python setup.py develop
|
||||
|
||||
script: tools/travis_script.sh
|
||||
script:
|
||||
- tools/travis_script.sh
|
||||
- grep -irn "R385" doc/build
|
||||
|
||||
after_success:
|
||||
- coveralls
|
||||
|
||||
@@ -2,6 +2,7 @@ from collections import namedtuple
|
||||
import numpy as np
|
||||
import warnings
|
||||
import matplotlib.pyplot as plt
|
||||
from mpl_toolkits.axes_grid1 import make_axes_locatable
|
||||
from ...util import dtype as dtypes
|
||||
from ...exposure import is_low_contrast
|
||||
from ...util.colormap import viridis
|
||||
@@ -110,7 +111,7 @@ def _get_display_range(image):
|
||||
return lo, hi, cmap
|
||||
|
||||
|
||||
def imshow(im, *args, **kwargs):
|
||||
def imshow(im, ax=None, show_cbar=None, **kwargs):
|
||||
"""Show the input image and return the current axes.
|
||||
|
||||
By default, the image is displayed in greyscale, rather than
|
||||
@@ -131,8 +132,11 @@ def imshow(im, *args, **kwargs):
|
||||
----------
|
||||
im : array, shape (M, N[, 3])
|
||||
The image to display.
|
||||
|
||||
*args, **kwargs : positional and keyword arguments
|
||||
ax: `matplotlib.axes.Axes`, optional
|
||||
The axis to use for the image, defaults to plt.gca().
|
||||
show_cbar: boolean, optional.
|
||||
Whether to show the colorbar (used to override default behavior).
|
||||
**kwargs : Keyword arguments
|
||||
These are passed directly to `matplotlib.pyplot.imshow`.
|
||||
|
||||
Returns
|
||||
@@ -147,9 +151,15 @@ def imshow(im, *args, **kwargs):
|
||||
kwargs.setdefault('cmap', cmap)
|
||||
kwargs.setdefault('vmin', lo)
|
||||
kwargs.setdefault('vmax', hi)
|
||||
ax_im = plt.imshow(im, *args, **kwargs)
|
||||
if cmap != _default_colormap:
|
||||
plt.colorbar()
|
||||
|
||||
ax = ax or plt.gca()
|
||||
ax_im = ax.imshow(im, **kwargs)
|
||||
if (cmap != _default_colormap and show_cbar is not False) or show_cbar:
|
||||
divider = make_axes_locatable(ax)
|
||||
cax = divider.append_axes("right", size="5%", pad=0.05)
|
||||
plt.colorbar(ax_im, cax=cax)
|
||||
ax.set_adjustable('box-forced')
|
||||
ax.get_figure().tight_layout()
|
||||
return ax_im
|
||||
|
||||
imread = plt.imread
|
||||
|
||||
@@ -78,7 +78,7 @@ def test_low_dynamic_range():
|
||||
|
||||
def test_outside_standard_range():
|
||||
plt.figure()
|
||||
with expected_warnings(["out of standard range"]):
|
||||
with expected_warnings(["out of standard range|CObject type is marked"]):
|
||||
ax_im = io.imshow(im_hi)
|
||||
assert ax_im.get_clim() == (im_hi.min(), im_hi.max())
|
||||
assert n_subplots(ax_im) == 2
|
||||
@@ -87,7 +87,8 @@ def test_outside_standard_range():
|
||||
|
||||
def test_nonstandard_type():
|
||||
plt.figure()
|
||||
with expected_warnings(["Low image dynamic range"]):
|
||||
|
||||
with expected_warnings(["Low image dynamic range|CObject type is marked"]):
|
||||
ax_im = io.imshow(im64)
|
||||
assert ax_im.get_clim() == (im64.min(), im64.max())
|
||||
assert n_subplots(ax_im) == 2
|
||||
|
||||
Reference in New Issue
Block a user