def test_latlon(): """Test our handling of lat/lon information.""" data = xr.open_dataset(get_test_data('irma_gfs_example.nc', as_file_obj=False)) img = ImagePlot() img.data = data img.field = 'Temperature_isobaric' img.level = 500 * units.hPa img.time = datetime(2017, 9, 5, 15, 0, 0) contour = ContourPlot() contour.data = data contour.field = 'Geopotential_height_isobaric' contour.level = img.level contour.time = img.time panel = MapPanel() panel.projection = 'lcc' panel.area = 'us' panel.plots = [img, contour] pc = PanelContainer() pc.panel = panel pc.draw() return pc.figure
def test_copy(): """Test that the copy method works for all classes in `declarative.py`.""" # Copies of plot objects objects = [ImagePlot(), ContourPlot(), FilledContourPlot(), BarbPlot(), PlotObs(), PlotGeometry()] for obj in objects: obj.time = datetime.now() copied_obj = obj.copy() assert obj is not copied_obj assert obj.time == copied_obj.time # Copies of MapPanel and PanelContainer obj = MapPanel() obj.title = 'Sample Text' copied_obj = obj.copy() assert obj is not copied_obj assert obj.title == copied_obj.title obj = PanelContainer() obj.size = (10, 10) copied_obj = obj.copy() assert obj is not copied_obj assert obj.size == copied_obj.size # Copies of plots in MapPanels should not point to same location in memory obj = MapPanel() obj.plots = [PlotObs(), PlotGeometry(), BarbPlot(), FilledContourPlot(), ContourPlot(), ImagePlot()] copied_obj = obj.copy() for i in range(len(obj.plots)): assert obj.plots[i] is not copied_obj.plots[i]
def test_global(): """Test that we can set global extent.""" data = xr.open_dataset(GiniFile(get_test_data('NHEM-MULTICOMP_1km_IR_20151208_2100.gini'))) img = ImagePlot() img.data = data img.field = 'IR' panel = MapPanel() panel.area = 'global' panel.plots = [img] pc = PanelContainer() pc.panel = panel pc.draw() return pc.figure
def test_latlon(): """Test our handling of lat/lon information.""" data = xr.open_dataset(get_test_data('irma_gfs_example.nc', as_file_obj=False)) img = ImagePlot() img.data = data img.field = 'Temperature_isobaric' img.level = 500 * units.hPa img.time = datetime(2017, 9, 5, 15, 0, 0) img.colorbar = None contour = ContourPlot() contour.data = data contour.field = 'Geopotential_height_isobaric' contour.level = img.level contour.time = img.time panel = MapPanel() panel.projection = 'lcc' panel.area = 'us' panel.plots = [img, contour] pc = PanelContainer() pc.panel = panel pc.draw() return pc.figure
def test_declarative_image(): """Test making an image plot.""" data = xr.open_dataset(GiniFile(get_test_data('NHEM-MULTICOMP_1km_IR_20151208_2100.gini'))) img = ImagePlot() img.data = data.metpy.parse_cf('IR') img.colormap = 'Greys_r' panel = MapPanel() panel.title = 'Test' panel.plots = [img] pc = PanelContainer() pc.panel = panel pc.draw() assert panel.ax.get_title() == 'Test' return pc.figure
def test_declarative_events(): """Test that resetting traitlets properly propagates.""" data = xr.open_dataset(get_test_data('narr_example.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Temperature' contour.level = 850 * units.hPa contour.contours = 30 contour.linewidth = 1 contour.linecolor = 'red' img = ImagePlot() img.data = data img.field = 'v_wind' img.level = 700 * units.hPa img.colormap = 'hot' img.image_range = (3000, 5000) panel = MapPanel() panel.area = 'us' panel.projection = 'lcc' panel.layers = ['coastline', 'borders', 'states'] panel.plots = [contour, img] pc = PanelContainer() pc.size = (8, 8.0) pc.panels = [panel] pc.draw() # Update some properties to make sure it regenerates the figure contour.linewidth = 2 contour.linecolor = 'green' contour.level = 700 * units.hPa contour.field = 'Specific_humidity' img.field = 'Geopotential_height' img.colormap = 'plasma' img.colorbar = 'horizontal' return pc.figure
def test_declarative_events(): """Test that resetting traitlets properly propagates.""" data = xr.open_dataset(get_test_data('narr_example.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Temperature' contour.level = 850 * units.hPa contour.contours = 30 contour.linewidth = 1 contour.linecolor = 'red' img = ImagePlot() img.data = data img.field = 'v_wind' img.level = 700 * units.hPa img.colormap = 'hot' img.image_range = (3000, 5000) panel = MapPanel() panel.area = 'us' panel.proj = 'lcc' panel.layers = ['coastline', 'borders', 'states'] panel.plots = [contour, img] pc = PanelContainer() pc.size = (8, 8) pc.panels = [panel] pc.draw() # Update some properties to make sure it regenerates the figure contour.linewidth = 2 contour.linecolor = 'green' contour.level = 700 * units.hPa contour.field = 'Specific_humidity' img.field = 'Geopotential_height' img.colormap = 'plasma' return pc.figure
# Distributed under the terms of the BSD 3-Clause License. # SPDX-License-Identifier: BSD-3-Clause """ Simple Plotting =============== Demonstrate the use of MetPy's simplified plotting interface. Plots a sample satellite image file. """ import xarray as xr from metpy.cbook import get_test_data from metpy.io import GiniFile from metpy.plots import ImagePlot, MapPanel, PanelContainer data = xr.open_dataset(GiniFile(get_test_data('NHEM-MULTICOMP_1km_IR_20151208_2100.gini'))) img = ImagePlot() img.data = data img.field = 'IR' img.colormap = 'Greys_r' panel = MapPanel() panel.plots = [img] pc = PanelContainer() pc.panels = [panel] pc.show()
# Use sample NARR data for plotting narr = xr.open_dataset(get_test_data('narr_example.nc', as_file_obj=False)) ########################### # Create a contour plot of temperature contour = ContourPlot() contour.data = narr contour.field = 'Temperature' contour.level = 850 * units.hPa contour.linecolor = 'red' contour.contours = 15 ########################### # Create an image plot of Geopotential height img = ImagePlot() img.data = narr img.field = 'Geopotential_height' img.level = 850 * units.hPa ########################### # Plot the data on a map panel = MapPanel() panel.area = 'us' panel.layers = ['coastline', 'borders', 'states', 'rivers', 'ocean', 'land'] panel.title = 'NARR Example' panel.plots = [contour, img] pc = PanelContainer() pc.size = (10, 8) pc.panels = [panel]
# SPDX-License-Identifier: BSD-3-Clause """ Simple Plotting =============== Demonstrate the use of MetPy's simplified plotting interface. Plots a sample satellite image file. """ import xarray as xr from metpy.cbook import get_test_data from metpy.io import GiniFile from metpy.plots import ImagePlot, MapPanel, PanelContainer data = xr.open_dataset( GiniFile(get_test_data('NHEM-MULTICOMP_1km_IR_20151208_2100.gini'))) img = ImagePlot() img.data = data img.field = 'IR' img.colormap = 'Greys_r' panel = MapPanel() panel.plots = [img] pc = PanelContainer() pc.panels = [panel] pc.show()
# Use sample NARR data for plotting narr = xr.open_dataset(get_test_data('narr_example.nc', as_file_obj=False)) ########################### # Create a contour plot of temperature contour = ContourPlot() contour.data = narr contour.field = 'Temperature' contour.level = 850 * units.hPa contour.linecolor = 'red' contour.contours = 15 ########################### # Create an image plot of Geopotential height img = ImagePlot() img.data = narr img.field = 'Geopotential_height' img.level = 850 * units.hPa ########################### # Plot the data on a map panel = MapPanel() panel.area = 'us' panel.layers = ['coastline', 'borders', 'states', 'rivers', 'ocean', 'land'] panel.title = 'NARR Example' panel.plots = [contour, img] pc = PanelContainer() pc.size = (10, 8)