def test_declarative_overlay_projections(): """Test making a contour plot.""" data = xr.open_dataset(get_test_data('NAM_test.nc', as_file_obj=False)) data2 = xr.open_dataset(get_test_data('GFS_test.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Geopotential_height_isobaric' contour.level = 300 * units.hPa contour.linecolor = 'red' contour.linestyle = '-' contour.linewidth = 2 contour.contours = np.arange(0, 20000, 120).tolist() contour2 = ContourPlot() contour2.data = data2 contour2.field = 'Geopotential_height_isobaric' contour2.level = 300 * units.hPa contour2.linecolor = 'blue' contour2.linestyle = '-' contour2.linewidth = 2 contour2.contours = np.arange(0, 20000, 120).tolist() panel = MapPanel() panel.area = (-124, -72, 20, 53) panel.projection = 'lcc' panel.layers = ['coastline', 'borders', 'usstates'] panel.plots = [contour, contour2] pc = PanelContainer() pc.size = (8, 8) pc.panels = [panel] pc.draw() return pc.figure
def test_declarative_smooth_contour(): """Test making a contour plot using smooth_contour.""" data = xr.open_dataset(get_test_data('narr_example.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Temperature' contour.level = 700 * units.hPa contour.contours = 30 contour.linewidth = 1 contour.linecolor = 'red' contour.smooth_contour = 5 panel = MapPanel() panel.area = 'us' panel.projection = 'lcc' panel.layers = ['coastline', 'borders', 'usstates'] panel.plots = [contour] pc = PanelContainer() pc.size = (8.0, 8) pc.panels = [panel] pc.draw() return pc.figure
def test_declarative_global_gfs(): """Test making a global contour plot using GFS.""" data = xr.open_dataset(get_test_data('GFS_global.nc', as_file_obj=False)) cntr = ContourPlot() cntr.data = data cntr.time = datetime(2021, 1, 30, 12) cntr.field = 'Geopotential_height_isobaric' cntr.level = 300 * units.hPa cntr.contours = np.arange(0, 100000, 120).tolist() cntr.linecolor = 'darkblue' cntr.linewidth = 1 panel = MapPanel() panel.area = [-180, 180, 10, 90] panel.projection = 'ps' panel.layers = ['coastline'] panel.plots = [cntr] pc = PanelContainer() pc.size = (8, 8) pc.panels = [panel] pc.draw() return pc.figure
def test_declarative_gridded_scale(): """Test making a contour plot.""" data = xr.open_dataset(get_test_data('NAM_test.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Geopotential_height_isobaric' contour.level = 300 * units.hPa contour.linewidth = 2 contour.contours = np.arange(0, 2000, 12).tolist() contour.scale = 1e-1 contour.clabels = True panel = MapPanel() panel.area = (-124, -72, 20, 53) panel.projection = 'lcc' panel.layers = ['coastline', 'borders', 'usstates'] panel.plots = [contour] pc = PanelContainer() pc.size = (8, 8) pc.panels = [panel] pc.draw() return pc.figure
def test_declarative_smooth_field(): """Test the smoothing of the field with smooth_field trait.""" data = xr.open_dataset(get_test_data('narr_example.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Geopotential_height' contour.level = 700 * units.hPa contour.contours = list(range(0, 4000, 30)) contour.linewidth = 1 contour.linecolor = 'black' contour.smooth_field = 3 panel = MapPanel() panel.area = 'us' panel.projection = 'lcc' panel.layers = ['coastline', 'borders', 'usstates'] panel.plots = [contour] pc = PanelContainer() pc.size = (10.5, 10.5) pc.panels = [panel] pc.draw() return pc.figure
def test_declarative_barb_earth_relative(): """Test making a contour plot.""" data = xr.open_dataset(get_test_data('NAM_test.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Geopotential_height_isobaric' contour.level = 300 * units.hPa contour.linecolor = 'red' contour.linestyle = '-' contour.linewidth = 2 contour.contours = range(0, 20000, 120) barb = BarbPlot() barb.data = data barb.level = 300 * units.hPa barb.time = datetime(2016, 10, 31, 12) barb.field = ['u-component_of_wind_isobaric', 'v-component_of_wind_isobaric'] barb.skip = (5, 5) barb.color = 'black' barb.barblength = 6.5 barb.earth_relative = False panel = MapPanel() panel.area = (-124, -72, 20, 53) panel.projection = 'lcc' panel.layers = ['coastline', 'borders', 'usstates'] panel.plots = [contour, barb] pc = PanelContainer() pc.size = (8, 8) pc.panels = [panel] pc.draw() return pc.figure
def test_declarative_contour_convert_units(fix_is_closed_polygon): """Test making a contour plot.""" data = xr.open_dataset(get_test_data('narr_example.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Temperature' contour.level = 700 * units.hPa contour.contours = 30 contour.linewidth = 1 contour.linecolor = 'red' contour.linestyle = 'dashed' contour.clabels = True contour.plot_units = 'degC' panel = MapPanel() panel.area = 'us' panel.proj = 'lcc' panel.layers = ['coastline', 'borders', 'usstates'] panel.plots = [contour] pc = PanelContainer() pc.size = (8, 8) pc.panels = [panel] pc.draw() return pc.figure
def test_declarative_title_fontsize(): """Test adjusting the font size of a MapPanel's title text.""" data = xr.open_dataset(get_test_data('NAM_test.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Geopotential_height_isobaric' contour.level = 300 * units.hPa contour.linewidth = 2 contour.contours = list(range(0, 2000, 12)) contour.scale = 1e-1 panel = MapPanel() panel.area = (-124, -72, 20, 53) panel.projection = 'lcc' panel.layers = ['coastline', 'borders', 'usstates'] panel.plots = [contour] panel.title = '300 mb Geopotential Height' panel.title_fontsize = 20 pc = PanelContainer() pc.size = (8, 8) pc.panels = [panel] pc.draw() 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
def test_declarative_contour_cam(): """Test making a contour plot with CAM data.""" data = xr.open_dataset(get_test_data('CAM_test.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'PN' contour.time = datetime.strptime('2020-11-29 00:00', '%Y-%m-%d %H:%M') contour.level = 1000 * units.hPa contour.linecolor = 'black' contour.contours = list(range(0, 1200, 4)) panel = MapPanel() panel.plots = [contour] panel.layout = (1, 1, 1) panel.layers = ['coastline', 'borders', 'states', 'land'] panel.plots = [contour] pc = PanelContainer() pc.panels = [panel] pc.draw() return pc.figure
def test_declarative_figsize(): """Test having an all float figsize.""" data = xr.open_dataset(get_test_data('narr_example.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Temperature' contour.level = 700 * units.hPa contour.contours = 30 contour.linewidth = 1 contour.linecolor = 'red' panel = MapPanel() panel.area = 'us' panel.proj = 'lcc' panel.layers = ['coastline', 'borders', 'usstates'] panel.plots = [contour] pc = PanelContainer() pc.size = (10.5, 10.5) pc.panels = [panel] pc.draw() return pc.figure
def test_declarative_contour(): """Test making a contour plot.""" data = xr.open_dataset(get_test_data('narr_example.nc', as_file_obj=False)) contour = ContourPlot() contour.data = data contour.field = 'Temperature' contour.level = 700 * units.hPa contour.contours = 30 contour.linewidth = 1 contour.linecolor = 'red' panel = MapPanel() panel.area = 'us' panel.proj = 'lcc' panel.layers = ['coastline', 'borders', 'usstates'] panel.plots = [contour] pc = PanelContainer() pc.size = (8, 8) pc.panels = [panel] pc.draw() return pc.figure
from metpy.cbook import get_test_data from metpy.plots import ContourPlot, ImagePlot, MapPanel, PanelContainer from metpy.units import units # 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]
from metpy.cbook import get_test_data from metpy.plots import ContourPlot, ImagePlot, MapPanel, PanelContainer from metpy.units import units # 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'