8000 Should imshow() recognise 0-255 images? · Issue #1880 · pydata/xarray · GitHub
[go: up one dir, main page]

Skip to content
Should imshow() recognise 0-255 images? #1880
@fmaussion

Description

@fmaussion

Code Sample, a copy-pastable example if possible

import os
import urllib.request
import xarray as xr
import matplotlib.pyplot as plt

# Download the file from rasterio's repository
url = 'https://github.com/mapbox/rasterio/raw/master/tests/data/RGB.byte.tif'
urllib.request.urlretrieve(url, 'RGB.byte.tif')

# Read the data
da = xr.open_rasterio('RGB.byte.tif')

f, (ax1, ax2) = plt.subplots(1, 2, figsize=(9, 4))
da.plot.imshow(ax=ax1)
(da / 255).plot.imshow(ax=ax2)
plt.tight_layout()
plt.show()

# Delete the file
os.remove('RGB.byte.tif')

figure_1

Problem description

In #1796, @Zac-HD added support for RGBA images. If an alpha channel is not found, it is added (code)

The problem is that adding this alpha channel requires the images to be normalized to 0-1, while plotting an image in 0-255 range without alpha channel works fine in matplotlib. Removing https://github.com/pydata/xarray/blob/master/xarray/plot/plot.py#L708-L715 would solve the problem, but I guess it was added for a reason.

@Zac-HD , thoughts?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0