def from_layer(layer, **kwargs):
"""Create a LinePlot from a layer
Parameters
----------
layer: `Spectrum1DRefLayer`
The layer to create from.
kwargs: dict
Other arguments for `LinePlot` class.
Returns
-------
plot_container:
The new LinePlot
"""
plot_data_item = pg.PlotDataItem(layer.masked_dispersion, layer.masked_data)
plot_container = LinePlot(layer=layer, plot=plot_data_item, **kwargs)
if plot_container.layer.raw_uncertainty is not None:
plot_error_item = pg.ErrorBarItem(
x=plot_container.layer.masked_dispersion.compressed().value,
y=plot_container.layer.masked_data.compressed().value,
height=plot_container.layer.raw_uncertainty.compressed().value,
)
plot_container.error = plot_error_item
if plot_container.layer.mask is not None:
mask = plot_container.layer.mask
x = plot_container.layer.masked_dispersion.data.value[mask]
y = plot_container.layer.masked_data.data.value[mask]
plot_mask_item = pg.ScatterPlotItem(
x=x,
y=y,
symbol='x'
)
plot_container.mask = plot_mask_item
return plot_container
评论列表
文章目录