plots.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:specviz 作者: spacetelescope 项目源码 文件源码
def __init__(self, layer, plot=None, visible=True, style='line',
                 pen=None, err_pen=None, mask_pen=None, color=(0, 0, 0)):
        self._layer = layer
        self.style = style
        self._plot = plot
        self.error = None
        self.mask = None
        self._plot_units = (self._layer.dispersion_unit,
                            self._layer.unit,
                            None)
        self.line_width = 1
        self.mode = None
        self.checked = True

        r, g, b = color
        r, g, b = r * 255, g * 255, b * 255

        rand_pen = pg.mkPen(QColor(r, g, b, 255), width=self.line_width)

        _pen = pg.mkPen(pen, width=self.line_width) if pen is not None else rand_pen

        _inactive_pen = pg.mkPen(QColor(_pen.color().red(),
                                        _pen.color().green(),
                                        _pen.color().blue(),
                                        255))

        _err_pen = err_pen if err_pen is not None else pg.mkPen(
            color=(100, 100, 100, 50))

        _mask_pen = mask_pen if mask_pen is not None else pg.mkPen(
            color=(100, 100, 100, 50))

        self._pen_stash = {'pen_on': pg.mkPen(_pen),
                           'pen_inactive': pg.mkPen(_inactive_pen),
                           'pen_off': pg.mkPen(None),
                           'error_pen_on': _err_pen,
                           'error_pen_off': pg.mkPen(None),
                           'mask_pen_on': _mask_pen,
                           'mask_pen_off': pg.mkPen(None)}

        self.set_plot_visibility(True)
        self.set_error_visibility(True)
        self.set_mask_visibility(False)

        if self._plot is not None:
            self.change_units(self._layer.dispersion_unit,
                              self._layer.unit)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号