"""
This type stub file was generated by pyright.
"""

import vtkmodules.vtkRenderingContext2D as __vtkmodules_vtkRenderingContext2D

class vtkPlot(__vtkmodules_vtkRenderingContext2D.vtkContextItem):
    """
    vtkPlot - Abstract class for 2D plots.
    
    Superclass: vtkContextItem
    
    The base class for all plot types used in vtkChart derived charts.
    
    @sa
    vtkPlotPoints vtkPlotLine vtkPlotBar vtkChart vtkChartXY
    """
    def ClampPos(self, p_float=..., p_float=..., *args, **kwargs):
        """
        V.ClampPos([float, float], [float, float, float, float]) -> bool
        C++: static bool ClampPos(double pos[2], double bounds[4])
        V.ClampPos([float, float]) -> bool
        C++: virtual bool ClampPos(double pos[2])
        
        Clamp the given 2D pos into the provided bounds Return true if
        the pos has been clamped, false otherwise.
        """
        ...
    
    def GetBounds(self, p_float=..., p_float=..., p_float=..., p_float=...):
        """
        V.GetBounds([float, float, float, float])
        C++: virtual void GetBounds(double bounds[4])
        
        Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
        
        * See GetUnscaledInputBounds for more information.
        """
        ...
    
    def GetBrush(self):
        """
        V.GetBrush() -> vtkBrush
        C++: vtkBrush *GetBrush()
        
        Set/get the vtkBrush object that controls how this plot fills
        shapes.
        """
        ...
    
    def GetColor(self, p_float=..., p_float=..., p_float=...):
        """
        V.GetColor([float, float, float])
        C++: virtual void GetColor(double rgb[3])
        V.GetColor([int, int, int])
        C++: void GetColor(unsigned char rgb[3])
        
        Set the plot color
        """
        ...
    
    def GetData(self):
        """
        V.GetData() -> vtkContextMapper2D
        C++: vtkContextMapper2D *GetData()
        
        Get the data object that the plot will draw.
        """
        ...
    
    def GetIndexedLabels(self):
        """
        V.GetIndexedLabels() -> vtkStringArray
        C++: virtual vtkStringArray *GetIndexedLabels()
        
        Get the indexed labels array.
        """
        ...
    
    def GetInput(self):
        """
        V.GetInput() -> vtkTable
        C++: virtual vtkTable *GetInput()
        
        Get the input table used by the plot.
        """
        ...
    
    def GetLabel(self):
        """
        V.GetLabel() -> string
        C++: virtual vtkStdString GetLabel()
        V.GetLabel(int) -> string
        C++: vtkStdString GetLabel(vtkIdType index)
        
        Get the label of this plot.
        """
        ...
    
    def GetLabels(self):
        """
        V.GetLabels() -> vtkStringArray
        C++: virtual vtkStringArray *GetLabels()
        
        Get the plot labels. If this array has a length greater than 1
        the index refers to the stacked objects in the plot. See
        vtkPlotBar for example.
        """
        ...
    
    def GetLegendVisibility(self):
        """
        V.GetLegendVisibility() -> bool
        C++: virtual bool GetLegendVisibility()
        
        Set whether the plot renders an entry in the legend. Default is
        true. vtkPlot::PaintLegend will get called to render the legend
        marker on when this is true.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfLabels(self):
        """
        V.GetNumberOfLabels() -> int
        C++: virtual int GetNumberOfLabels()
        
        Get the number of labels associated with this plot.
        """
        ...
    
    def GetPen(self):
        """
        V.GetPen() -> vtkPen
        C++: vtkPen *GetPen()
        
        Set/get the vtkPen object that controls how this plot draws
        (out)lines.
        """
        ...
    
    def GetProperty(self, string):
        """
        V.GetProperty(string) -> vtkVariant
        C++: virtual vtkVariant GetProperty(const vtkStdString &property)
        
        A General setter/getter that should be overridden. It can
        silently drop options, case is important
        """
        ...
    
    def GetSelectable(self):
        """
        V.GetSelectable() -> bool
        C++: virtual bool GetSelectable()
        
        Set whether the plot can be selected. True by default. If not,
        then SetSelection(), SelectPoints() or SelectPointsInPolygon()
        won't have any effect.
        \sa SetSelection(), SelectPoints(), SelectPointsInPolygon()
        """
        ...
    
    def GetSelection(self):
        """
        V.GetSelection() -> vtkIdTypeArray
        C++: virtual vtkIdTypeArray *GetSelection()
        
        Sets the list of points that must be selected. If Selectable is
        false, then this method does nothing.
        \sa SetSelectable()
        """
        ...
    
    def GetSelectionBrush(self):
        """
        V.GetSelectionBrush() -> vtkBrush
        C++: vtkBrush *GetSelectionBrush()
        
        Set/get the vtkBrush object that controls how this plot fills
        selected shapes.
        """
        ...
    
    def GetSelectionPen(self):
        """
        V.GetSelectionPen() -> vtkPen
        C++: vtkPen *GetSelectionPen()
        
        Set/get the vtkBrush object that controls how this plot fills
        selected shapes.
        """
        ...
    
    def GetShiftScale(self):
        """
        V.GetShiftScale() -> vtkRectd
        C++: vtkRectd GetShiftScale()
        
        Get/set the origin shift and scaling factor used by the plot,
        this is normally 0.0 offset and 1.0 scaling, but can be used to
        render data outside of the single precision range. The chart that
        owns the plot should set this and ensure the appropriate matrix
        is used when rendering the plot.
        """
        ...
    
    def GetTooltipLabel(self, vtkVector2d, p_int, p_int_1):
        """
        V.GetTooltipLabel(vtkVector2d, int, int) -> string
        C++: virtual vtkStdString GetTooltipLabel(
            const vtkVector2d &plotPos, vtkIdType seriesIndex,
            vtkIdType segmentIndex)
        
        Generate and return the tooltip label string for this plot The
        segmentIndex parameter is ignored, except for vtkPlotBar
        """
        ...
    
    def GetTooltipLabelFormat(self):
        """
        V.GetTooltipLabelFormat() -> string
        C++: virtual vtkStdString GetTooltipLabelFormat()
        
        Sets/gets a printf-style string to build custom tooltip labels
        from. An empty string generates the default tooltip labels. The
        following case-sensitive format tags (without quotes) are
        recognized: '%x' The X value of the plot element '%y' The Y value
        of the plot element '%i' The IndexedLabels entry for the plot
        element '%l' The value of the plot's GetLabel() function '%s'
        (vtkPlotBar only) The Labels entry for the bar segment Any other
        characters or unrecognized format tags are printed in the tooltip
        label verbatim.
        """
        ...
    
    def GetTooltipNotation(self):
        """
        V.GetTooltipNotation() -> int
        C++: virtual int GetTooltipNotation()
        
        Sets/gets the tooltip notation style.
        """
        ...
    
    def GetTooltipPrecision(self):
        """
        V.GetTooltipPrecision() -> int
        C++: virtual int GetTooltipPrecision()
        
        Sets/gets the tooltip precision.
        """
        ...
    
    def GetUnscaledInputBounds(self, p_float=..., p_float=..., p_float=..., p_float=...):
        """
        V.GetUnscaledInputBounds([float, float, float, float])
        C++: virtual void GetUnscaledInputBounds(double bounds[4])
        
        Provide un-log-scaled bounds for the plot inputs.
        
        * This function is analogous to GetBounds() with 2 exceptions:
        * 1. It will never return log-scaled bounds even when the
        * x- and/or y-axes are log-scaled.
        * 2. It will always return the bounds along the *input* axes
        * rather than the output chart coordinates. Thus GetXAxis()
        * returns the axis associated with the first 2 bounds entries
        * and GetYAxis() returns the axis associated with the next 2
        * bounds entries.
        
        * For example, vtkPlotBar's GetBounds() method
        * will swap axis bounds when its orientation is vertical while
        * its GetUnscaledInputBounds() will not swap axis bounds.
        
        * This method is provided so user interfaces can determine
        * whether or not to allow log-scaling of a particular vtkAxis.
        
        * Subclasses of vtkPlot are responsible for implementing this
        * function to transform input plot data.
        
        * The returned bounds are stored as (Xmin, Xmax, Ymin, Ymax).
        """
        ...
    
    def GetUseIndexForXSeries(self):
        """
        V.GetUseIndexForXSeries() -> bool
        C++: virtual bool GetUseIndexForXSeries()
        
        Use the Y array index for the X value. If true any X column
        setting will be ignored, and the X values will simply be the
        index of the Y column.
        """
        ...
    
    def GetWidth(self):
        """
        V.GetWidth() -> float
        C++: virtual float GetWidth()
        
        Get the width of the line.
        """
        ...
    
    def GetXAxis(self):
        """
        V.GetXAxis() -> vtkAxis
        C++: virtual vtkAxis *GetXAxis()
        
        Get/set the X axis associated with this plot.
        """
        ...
    
    def GetYAxis(self):
        """
        V.GetYAxis() -> vtkAxis
        C++: virtual vtkAxis *GetYAxis()
        
        Get/set the Y axis associated with this plot.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Return 1 if this class is the same type of (or a subclass of) the
        named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Return 1 if this class type is the same type of (or a subclass
        of) the named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def LegendVisibilityOff(self):
        """
        V.LegendVisibilityOff()
        C++: virtual void LegendVisibilityOff()
        
        Set whether the plot renders an entry in the legend. Default is
        true. vtkPlot::PaintLegend will get called to render the legend
        marker on when this is true.
        """
        ...
    
    def LegendVisibilityOn(self):
        """
        V.LegendVisibilityOn()
        C++: virtual void LegendVisibilityOn()
        
        Set whether the plot renders an entry in the legend. Default is
        true. vtkPlot::PaintLegend will get called to render the legend
        marker on when this is true.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkPlot
        C++: vtkPlot *NewInstance()
        """
        ...
    
    def PaintLegend(self, vtkContext2D, vtkRectf, p_int):
        """
        V.PaintLegend(vtkContext2D, vtkRectf, int) -> bool
        C++: virtual bool PaintLegend(vtkContext2D *painter,
            const vtkRectf &rect, int legendIndex)
        
        Paint legend event for the plot, called whenever the legend needs
        the plot items symbol/mark/line drawn. A rect is supplied with
        the lower left corner of the rect (elements 0 and 1) and with
        width x height (elements 2 and 3). The plot can choose how to
        fill the space supplied. The index is used by Plots that return
        more than one label.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkPlot
        C++: static vtkPlot *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SelectableOff(self):
        """
        V.SelectableOff()
        C++: virtual void SelectableOff()
        
        Set whether the plot can be selected. True by default. If not,
        then SetSelection(), SelectPoints() or SelectPointsInPolygon()
        won't have any effect.
        \sa SetSelection(), SelectPoints(), SelectPointsInPolygon()
        """
        ...
    
    def SelectableOn(self):
        """
        V.SelectableOn()
        C++: virtual void SelectableOn()
        
        Set whether the plot can be selected. True by default. If not,
        then SetSelection(), SelectPoints() or SelectPointsInPolygon()
        won't have any effect.
        \sa SetSelection(), SelectPoints(), SelectPointsInPolygon()
        """
        ...
    
    def SelectPoints(self, vtkVector2f, vtkVector2f_1):
        """
        V.SelectPoints(vtkVector2f, vtkVector2f) -> bool
        C++: virtual bool SelectPoints(const vtkVector2f &min,
            const vtkVector2f &max)
        
        Select all points in the specified rectangle.
        """
        ...
    
    def SelectPointsInPolygon(self, vtkContextPolygon):
        """
        V.SelectPointsInPolygon(vtkContextPolygon) -> bool
        C++: virtual bool SelectPointsInPolygon(
            const vtkContextPolygon &polygon)
        
        Select all points in the specified polygon.
        """
        ...
    
    def SetBrush(self, vtkBrush):
        """
        V.SetBrush(vtkBrush)
        C++: void SetBrush(vtkBrush *brush)
        
        Set/get the vtkBrush object that controls how this plot fills
        shapes.
        """
        ...
    
    def SetColor(self, p_int, p_int_1, p_int_2, p_int_3):
        """
        V.SetColor(int, int, int, int)
        C++: virtual void SetColor(unsigned char r, unsigned char g,
            unsigned char b, unsigned char a)
        V.SetColor(float, float, float)
        C++: virtual void SetColor(double r, double g, double b)
        
        Set the plot color
        """
        ...
    
    def SetIndexedLabels(self, vtkStringArray):
        """
        V.SetIndexedLabels(vtkStringArray)
        C++: void SetIndexedLabels(vtkStringArray *labels)
        
        Set indexed labels for the plot. If set, this array can be used
        to provide custom labels for each point in a plot. This array
        should be the same length as the points array. Default is null
        (no indexed labels).
        """
        ...
    
    def SetInputArray(self, p_int, string):
        """
        V.SetInputArray(int, string)
        C++: virtual void SetInputArray(int index,
            const vtkStdString &name)
        
        Convenience function to set the input arrays. For most plots
        index 0 is the x axis, and index 1 is the y axis. The name is the
        name of the column in the vtkTable.
        """
        ...
    
    def SetInputData(self, vtkTable):
        """
        V.SetInputData(vtkTable)
        C++: virtual void SetInputData(vtkTable *table)
        V.SetInputData(vtkTable, string, string)
        C++: virtual void SetInputData(vtkTable *table,
            const vtkStdString &xColumn, const vtkStdString &yColumn)
        V.SetInputData(vtkTable, int, int)
        C++: void SetInputData(vtkTable *table, vtkIdType xColumn,
            vtkIdType yColumn)
        
        This is a convenience function to set the input table and the x,
        y column for the plot.
        """
        ...
    
    def SetLabel(self, string):
        """
        V.SetLabel(string)
        C++: virtual void SetLabel(const vtkStdString &label)
        
        Set the label of this plot.
        """
        ...
    
    def SetLabels(self, vtkStringArray):
        """
        V.SetLabels(vtkStringArray)
        C++: virtual void SetLabels(vtkStringArray *labels)
        
        Set the plot labels, these are used for stacked chart variants,
        with the index referring to the stacking index.
        """
        ...
    
    def SetLegendVisibility(self, bool):
        """
        V.SetLegendVisibility(bool)
        C++: virtual void SetLegendVisibility(bool _arg)
        
        Set whether the plot renders an entry in the legend. Default is
        true. vtkPlot::PaintLegend will get called to render the legend
        marker on when this is true.
        """
        ...
    
    def SetPen(self, vtkPen):
        """
        V.SetPen(vtkPen)
        C++: void SetPen(vtkPen *pen)
        
        Set/get the vtkPen object that controls how this plot draws
        (out)lines.
        """
        ...
    
    def SetProperty(self, string, vtkVariant):
        """
        V.SetProperty(string, vtkVariant)
        C++: virtual void SetProperty(const vtkStdString &property,
            const vtkVariant &var)
        
        A General setter/getter that should be overridden. It can
        silently drop options, case is important
        """
        ...
    
    def SetSelectable(self, bool):
        """
        V.SetSelectable(bool)
        C++: virtual void SetSelectable(bool _arg)
        
        Set whether the plot can be selected. True by default. If not,
        then SetSelection(), SelectPoints() or SelectPointsInPolygon()
        won't have any effect.
        \sa SetSelection(), SelectPoints(), SelectPointsInPolygon()
        """
        ...
    
    def SetSelection(self, vtkIdTypeArray):
        """
        V.SetSelection(vtkIdTypeArray)
        C++: virtual void SetSelection(vtkIdTypeArray *id)
        
        Sets the list of points that must be selected. If Selectable is
        false, then this method does nothing.
        \sa SetSelectable()
        """
        ...
    
    def SetSelectionBrush(self, vtkBrush):
        """
        V.SetSelectionBrush(vtkBrush)
        C++: void SetSelectionBrush(vtkBrush *brush)
        
        Set/get the vtkBrush object that controls how this plot fills
        selected shapes.
        """
        ...
    
    def SetSelectionPen(self, vtkPen):
        """
        V.SetSelectionPen(vtkPen)
        C++: void SetSelectionPen(vtkPen *pen)
        
        Set/get the vtkBrush object that controls how this plot fills
        selected shapes.
        """
        ...
    
    def SetShiftScale(self, vtkRectd):
        """
        V.SetShiftScale(vtkRectd)
        C++: void SetShiftScale(const vtkRectd &scaling)
        
        Get/set the origin shift and scaling factor used by the plot,
        this is normally 0.0 offset and 1.0 scaling, but can be used to
        render data outside of the single precision range. The chart that
        owns the plot should set this and ensure the appropriate matrix
        is used when rendering the plot.
        """
        ...
    
    def SetTooltipLabelFormat(self, string):
        """
        V.SetTooltipLabelFormat(string)
        C++: virtual void SetTooltipLabelFormat(const vtkStdString &label)
        
        Sets/gets a printf-style string to build custom tooltip labels
        from. An empty string generates the default tooltip labels. The
        following case-sensitive format tags (without quotes) are
        recognized: '%x' The X value of the plot element '%y' The Y value
        of the plot element '%i' The IndexedLabels entry for the plot
        element '%l' The value of the plot's GetLabel() function '%s'
        (vtkPlotBar only) The Labels entry for the bar segment Any other
        characters or unrecognized format tags are printed in the tooltip
        label verbatim.
        """
        ...
    
    def SetTooltipNotation(self, p_int):
        """
        V.SetTooltipNotation(int)
        C++: virtual void SetTooltipNotation(int notation)
        
        Sets/gets the tooltip notation style.
        """
        ...
    
    def SetTooltipPrecision(self, p_int):
        """
        V.SetTooltipPrecision(int)
        C++: virtual void SetTooltipPrecision(int precision)
        
        Sets/gets the tooltip precision.
        """
        ...
    
    def SetUseIndexForXSeries(self, bool):
        """
        V.SetUseIndexForXSeries(bool)
        C++: virtual void SetUseIndexForXSeries(bool _arg)
        
        Use the Y array index for the X value. If true any X column
        setting will be ignored, and the X values will simply be the
        index of the Y column.
        """
        ...
    
    def SetWidth(self, p_float):
        """
        V.SetWidth(float)
        C++: virtual void SetWidth(float width)
        
        Set the width of the line.
        """
        ...
    
    def SetXAxis(self, vtkAxis):
        """
        V.SetXAxis(vtkAxis)
        C++: virtual void SetXAxis(vtkAxis *axis)
        
        Get/set the X axis associated with this plot.
        """
        ...
    
    def SetYAxis(self, vtkAxis):
        """
        V.SetYAxis(vtkAxis)
        C++: virtual void SetYAxis(vtkAxis *axis)
        
        Get/set the Y axis associated with this plot.
        """
        ...
    
    def UpdateCache(self):
        """
        V.UpdateCache()
        C++: virtual void UpdateCache()
        
        Subclasses that build data caches to speed up painting should
        override this method to update such caches. This is called on
        each Paint, hence subclasses must add checks to avoid rebuilding
        of cache, unless necessary. Default implementation is empty.
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    __dict__ = ...
    __vtkname__ = ...


