VTK  9.3.20240329
vtkXYPlotActor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
98 #ifndef vtkXYPlotActor_h
99 #define vtkXYPlotActor_h
100 
101 #define VTK_XYPLOT_INDEX 0
102 #define VTK_XYPLOT_ARC_LENGTH 1
103 #define VTK_XYPLOT_NORMALIZED_ARC_LENGTH 2
104 #define VTK_XYPLOT_VALUE 3
105 
106 #define VTK_XYPLOT_ROW 0
107 #define VTK_XYPLOT_COLUMN 1
108 
109 #define VTK_XYPLOT_Y_AXIS_TOP 0
110 #define VTK_XYPLOT_Y_AXIS_HCENTER 1
111 #define VTK_XYPLOT_Y_AXIS_VCENTER 2 // rotate by 90 degrees (y-axis aligned)
112 
113 #include "vtkActor2D.h"
114 #include "vtkRenderingAnnotationModule.h" // For export macro
115 #include "vtkSmartPointer.h" // For SP
116 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
117 
118 VTK_ABI_NAMESPACE_BEGIN
119 class vtkXYPlotActorConnections;
120 class vtkAlgorithmOutput;
121 class vtkAppendPolyData;
122 class vtkAxisActor2D;
123 class vtkDataObject;
125 class vtkDataSet;
127 class vtkDoubleArray;
128 class vtkGlyph2D;
129 class vtkGlyphSource2D;
130 class vtkIntArray;
131 class vtkLegendBoxActor;
132 class vtkPlanes;
133 class vtkPolyData;
134 class vtkPolyDataMapper2D;
135 class vtkTextActor;
136 class vtkTextMapper;
137 class vtkTextProperty;
138 
139 class VTKRENDERINGANNOTATION_EXPORT VTK_MARSHALAUTO vtkXYPlotActor : public vtkActor2D
140 {
141 public:
142  vtkTypeMacro(vtkXYPlotActor, vtkActor2D);
143  void PrintSelf(ostream& os, vtkIndent indent) override;
144 
151  static vtkXYPlotActor* New();
152 
153  //---Data Set Input----------------------------------------------------------
154  // The following methods are used to plot input datasets. Datasets
155  // will be plotted if set as input; otherwise the input data objects
156  // will be plotted (if defined).
157 
159 
167  void AddDataSetInput(vtkDataSet* ds, const char* arrayName, int component);
168  void AddDataSetInput(vtkDataSet* ds) { this->AddDataSetInput(ds, nullptr, 0); }
169  void AddDataSetInputConnection(vtkAlgorithmOutput* in, const char* arrayName, int component);
171  {
172  this->AddDataSetInputConnection(in, nullptr, 0);
173  }
175 
177 
180  void RemoveDataSetInput(vtkDataSet* ds, const char* arrayName, int component);
181  void RemoveDataSetInput(vtkDataSet* ds) { this->RemoveDataSetInput(ds, nullptr, 0); }
182  void RemoveDataSetInputConnection(vtkAlgorithmOutput* in, const char* arrayName, int component);
184  {
185  this->RemoveDataSetInputConnection(in, nullptr, 0);
186  }
188 
194 
196 
200  void SetPointComponent(int i, int comp);
201  int GetPointComponent(int i);
202  //---end Data Set Input-----------------------------------------------------
204 
206 
216  vtkSetClampMacro(XValues, int, VTK_XYPLOT_INDEX, VTK_XYPLOT_VALUE);
217  vtkGetMacro(XValues, int);
218  void SetXValuesToIndex() { this->SetXValues(VTK_XYPLOT_INDEX); }
219  void SetXValuesToArcLength() { this->SetXValues(VTK_XYPLOT_ARC_LENGTH); }
221  void SetXValuesToValue() { this->SetXValues(VTK_XYPLOT_VALUE); }
222  const char* GetXValuesAsString();
224 
225  //---Data Object Input------------------------------------------------------
226  // The following methods are used to plot input data objects. Datasets will
227  // be plotted in preference to data objects if set as input; otherwise the
228  // input data objects will be plotted (if defined).
229 
231 
237 
239 
245 
247 
252  vtkSetClampMacro(DataObjectPlotMode, int, VTK_XYPLOT_ROW, VTK_XYPLOT_COLUMN);
253  vtkGetMacro(DataObjectPlotMode, int);
254  void SetDataObjectPlotModeToRows() { this->SetDataObjectPlotMode(VTK_XYPLOT_ROW); }
255  void SetDataObjectPlotModeToColumns() { this->SetDataObjectPlotMode(VTK_XYPLOT_COLUMN); }
258 
260 
268  void SetDataObjectXComponent(int i, int comp);
271 
273 
281  void SetDataObjectYComponent(int i, int comp);
283  //---end Data Object Input--------------------------------------------------
285 
286  //---Per Curve Properties---------------------------------------------------
287  // The following methods are used to set properties on each curve that is
288  // plotted. Each input dataset (or data object) results in one curve. The
289  // methods that follow have an index i that corresponds to the input dataset
290  // or data object.
291  void SetPlotColor(int i, double r, double g, double b);
292  void SetPlotColor(int i, const double color[3])
293  {
294  this->SetPlotColor(i, color[0], color[1], color[2]);
295  }
296  double* GetPlotColor(int i) VTK_SIZEHINT(3);
297  void SetPlotSymbol(int i, vtkPolyData* input);
299  void SetPlotLabel(int i, const char* label);
300  const char* GetPlotLabel(int i);
301 
302  // Allow per-curve specification of line and point rendering. These override
303  // global settings PlotPoints and PlotLines. If not on, the default behavior
304  // is governed by PlotPoints and PlotLines ivars.
305  vtkGetMacro(PlotCurvePoints, vtkTypeBool);
306  vtkSetMacro(PlotCurvePoints, vtkTypeBool);
307  vtkBooleanMacro(PlotCurvePoints, vtkTypeBool);
308 
309  vtkGetMacro(PlotCurveLines, vtkTypeBool);
310  vtkSetMacro(PlotCurveLines, vtkTypeBool);
311  vtkBooleanMacro(PlotCurveLines, vtkTypeBool);
312 
313  void SetPlotLines(int i, int);
314  int GetPlotLines(int i);
315 
316  void SetPlotPoints(int i, int);
317  int GetPlotPoints(int i);
318  //---end Per Curve Properties-----------------------------------------------
319 
321 
325  vtkSetMacro(ExchangeAxes, vtkTypeBool);
326  vtkGetMacro(ExchangeAxes, vtkTypeBool);
327  vtkBooleanMacro(ExchangeAxes, vtkTypeBool);
329 
331 
336  vtkSetMacro(ReverseXAxis, vtkTypeBool);
337  vtkGetMacro(ReverseXAxis, vtkTypeBool);
338  vtkBooleanMacro(ReverseXAxis, vtkTypeBool);
340 
342 
347  vtkSetMacro(ReverseYAxis, vtkTypeBool);
348  vtkGetMacro(ReverseYAxis, vtkTypeBool);
349  vtkBooleanMacro(ReverseYAxis, vtkTypeBool);
351 
353 
359  vtkGetObjectMacro(LegendActor, vtkLegendBoxActor);
360  vtkGetObjectMacro(GlyphSource, vtkGlyphSource2D);
362 
364 
367  vtkSetStringMacro(Title);
368  vtkGetStringMacro(Title);
370 
372 
375  vtkSetStringMacro(XTitle);
376  vtkGetStringMacro(XTitle);
378 
380 
383  virtual void SetYTitle(const char*);
384  char* GetYTitle();
386 
388 
392  vtkAxisActor2D* GetXAxisActor2D() { return this->XAxis; }
393  vtkAxisActor2D* GetYAxisActor2D() { return this->YAxis; }
395 
397 
405  vtkSetVector2Macro(XRange, double);
406  vtkGetVectorMacro(XRange, double, 2);
407  vtkSetVector2Macro(YRange, double);
408  vtkGetVectorMacro(YRange, double, 2);
409  void SetPlotRange(double xmin, double ymin, double xmax, double ymax)
410  {
411  this->SetXRange(xmin, xmax);
412  this->SetYRange(ymin, ymax);
413  }
415 
417 
423  vtkSetClampMacro(NumberOfXLabels, int, 0, 50);
424  vtkGetMacro(NumberOfXLabels, int);
425  vtkSetClampMacro(NumberOfYLabels, int, 0, 50);
426  vtkGetMacro(NumberOfYLabels, int);
427  void SetNumberOfLabels(int num)
428  {
429  this->SetNumberOfXLabels(num);
430  this->SetNumberOfYLabels(num);
431  }
433 
435 
442  void SetAdjustXLabels(int adjust);
443  vtkGetMacro(AdjustXLabels, int);
444  void SetAdjustYLabels(int adjust);
445  vtkGetMacro(AdjustYLabels, int);
447 
449 
452  void SetNumberOfXMinorTicks(int num);
454  void SetNumberOfYMinorTicks(int num);
457 
459 
464  vtkSetMacro(Legend, vtkTypeBool);
465  vtkGetMacro(Legend, vtkTypeBool);
466  vtkBooleanMacro(Legend, vtkTypeBool);
468 
470 
474  vtkSetVector2Macro(TitlePosition, double);
475  vtkGetVector2Macro(TitlePosition, double);
477 
479 
483  vtkSetMacro(AdjustTitlePosition, vtkTypeBool);
484  vtkGetMacro(AdjustTitlePosition, vtkTypeBool);
485  vtkBooleanMacro(AdjustTitlePosition, vtkTypeBool);
487 
489  {
490  AlignLeft = 0x1,
491  AlignRight = 0x2,
492  AlignHCenter = 0x4,
493  AlignTop = 0x10,
494  AlignBottom = 0x20,
495  AlignVCenter = 0x40,
496  AlignAxisLeft = 0x100,
497  AlignAxisRight = 0x200,
498  AlignAxisHCenter = 0x400,
499  AlignAxisTop = 0x1000,
500  AlignAxisBottom = 0x2000,
501  AlignAxisVCenter = 0x4000
502  };
503 
505 
512  vtkSetMacro(AdjustTitlePositionMode, int);
513  vtkGetMacro(AdjustTitlePositionMode, int);
515 
517 
525  vtkSetVector2Macro(LegendPosition, double);
526  vtkGetVector2Macro(LegendPosition, double);
527  vtkSetVector2Macro(LegendPosition2, double);
528  vtkGetVector2Macro(LegendPosition2, double);
530 
532 
536  vtkGetObjectMacro(TitleTextProperty, vtkTextProperty);
538 
540 
545  vtkGetObjectMacro(AxisTitleTextProperty, vtkTextProperty);
547 
549 
554  vtkGetObjectMacro(AxisLabelTextProperty, vtkTextProperty);
556 
558 
561  vtkSetMacro(Logx, vtkTypeBool);
562  vtkGetMacro(Logx, vtkTypeBool);
563  vtkBooleanMacro(Logx, vtkTypeBool);
565 
567 
571  virtual void SetLabelFormat(const char*);
572  const char* GetLabelFormat() { return this->GetXLabelFormat(); }
574 
576 
579  virtual void SetXLabelFormat(const char*);
580  vtkGetStringMacro(XLabelFormat);
582 
584 
587  virtual void SetYLabelFormat(const char*);
588  vtkGetStringMacro(YLabelFormat);
590 
592 
596  vtkSetClampMacro(Border, int, 0, 50);
597  vtkGetMacro(Border, int);
599 
601 
606  vtkGetMacro(PlotPoints, vtkTypeBool);
607  vtkSetMacro(PlotPoints, vtkTypeBool);
608  vtkBooleanMacro(PlotPoints, vtkTypeBool);
610 
612 
616  vtkGetMacro(PlotLines, vtkTypeBool);
617  vtkSetMacro(PlotLines, vtkTypeBool);
618  vtkBooleanMacro(PlotLines, vtkTypeBool);
620 
622 
627  vtkSetClampMacro(GlyphSize, double, 0.0, 0.2);
628  vtkGetMacro(GlyphSize, double);
630 
635  void ViewportToPlotCoordinate(vtkViewport* viewport, double& u, double& v);
636 
638 
644  vtkSetVector2Macro(PlotCoordinate, double);
645  vtkGetVector2Macro(PlotCoordinate, double);
647 
651  void PlotToViewportCoordinate(vtkViewport* viewport, double& u, double& v);
652 
654 
661  vtkSetVector2Macro(ViewportCoordinate, double);
662  vtkGetVector2Macro(ViewportCoordinate, double);
664 
669  int IsInPlot(vtkViewport* viewport, double u, double v);
670 
672 
676  vtkSetMacro(ChartBox, vtkTypeBool);
677  vtkGetMacro(ChartBox, vtkTypeBool);
678  vtkBooleanMacro(ChartBox, vtkTypeBool);
680 
682 
686  vtkSetMacro(ChartBorder, vtkTypeBool);
687  vtkGetMacro(ChartBorder, vtkTypeBool);
688  vtkBooleanMacro(ChartBorder, vtkTypeBool);
690 
694  vtkProperty2D* GetChartBoxProperty() { return this->ChartBoxActor->GetProperty(); }
695 
697 
700  vtkSetMacro(ShowReferenceXLine, vtkTypeBool);
701  vtkGetMacro(ShowReferenceXLine, vtkTypeBool);
702  vtkBooleanMacro(ShowReferenceXLine, vtkTypeBool);
704 
706 
709  vtkSetMacro(ReferenceXValue, double);
710  vtkGetMacro(ReferenceXValue, double);
712 
714 
717  vtkSetMacro(ShowReferenceYLine, vtkTypeBool);
718  vtkGetMacro(ShowReferenceYLine, vtkTypeBool);
719  vtkBooleanMacro(ShowReferenceYLine, vtkTypeBool);
721 
723 
726  vtkSetMacro(ReferenceYValue, double);
727  vtkGetMacro(ReferenceYValue, double);
729 
733  vtkMTimeType GetMTime() override;
734 
738  void PrintAsCSV(ostream& os);
739 
741 
747  int RenderOverlay(vtkViewport*) override;
748  int RenderTranslucentPolygonalGeometry(vtkViewport*) override { return 0; }
750 
755 
762 
764 
770 
772 
775  vtkSetMacro(YTitlePosition, int);
776  vtkGetMacro(YTitlePosition, int);
777  void SetYTitlePositionToTop() { this->SetYTitlePosition(VTK_XYPLOT_Y_AXIS_TOP); }
778  void SetYTitlePositionToHCenter() { this->SetYTitlePosition(VTK_XYPLOT_Y_AXIS_HCENTER); }
779  void SetYTitlePositionToVCenter() { this->SetYTitlePosition(VTK_XYPLOT_Y_AXIS_VCENTER); }
781 
783 
786  virtual void SetPlotGlyphType(int, int);
787  virtual void SetLineWidth(double);
788  virtual void AddUserCurvesPoint(double, double, double);
789  virtual void RemoveAllActiveCurves();
791 
793 
796  virtual void SetLegendBorder(int);
797  virtual void SetLegendBox(int);
798  virtual void SetLegendUseBackground(int);
799  virtual void SetLegendBackgroundColor(double, double, double);
801 
803 
806  virtual void SetTitleColor(double, double, double);
807  virtual void SetTitleFontFamily(int);
808  virtual void SetTitleBold(int);
809  virtual void SetTitleItalic(int);
810  virtual void SetTitleShadow(int);
811  virtual void SetTitleFontSize(int);
812  virtual void SetTitleJustification(int);
813  virtual void SetTitleVerticalJustification(int);
815 
817 
820  virtual void SetXAxisColor(double, double, double);
821  virtual void SetYAxisColor(double, double, double);
823 
825 
828  virtual void SetAxisTitleColor(double, double, double);
829  virtual void SetAxisTitleFontFamily(int);
830  virtual void SetAxisTitleBold(int);
831  virtual void SetAxisTitleItalic(int);
832  virtual void SetAxisTitleShadow(int);
833  virtual void SetAxisTitleFontSize(int);
834  virtual void SetAxisTitleJustification(int);
837 
839 
842  virtual void SetAxisLabelColor(double, double, double);
843  virtual void SetAxisLabelFontFamily(int);
844  virtual void SetAxisLabelBold(int);
845  virtual void SetAxisLabelItalic(int);
846  virtual void SetAxisLabelShadow(int);
847  virtual void SetAxisLabelFontSize(int);
848  virtual void SetAxisLabelJustification(int);
851 
852 protected:
854  ~vtkXYPlotActor() override;
855 
856  vtkXYPlotActorConnections* InputConnectionHolder;
857  char** SelectedInputScalars; // list of data set arrays to plot
859  vtkXYPlotActorConnections* DataObjectInputConnectionHolder; // list of data objects to plot
860  char* Title;
861  char* XTitle;
863  int XValues;
869  double XRange[2];
870  double YRange[2];
871  double XComputedRange[2]; // range actually used by plot
872  double YComputedRange[2]; // range actually used by plot
873  int Border;
884  double TitlePosition[2];
886 
890 
893 
896 
897  double ViewportCoordinate[2];
898  double PlotCoordinate[2];
899 
900  // Handle data objects and datasets
906 
907  // The data drawn within the axes. Each curve is one polydata.
908  // color is controlled by scalar data. The curves are appended
909  // together, possibly glyphed with point symbols.
917 
918  // Legends and plot symbols. The legend also keeps track of
919  // the symbols and such.
921  double LegendPosition[2];
922  double LegendPosition2[2];
926  double GlyphSize;
927 
928  // Background box
937 
938  // Reference lines
943 
947 
948  // Keep track of changes.
949  int CachedSize[2];
951 
952  void ComputeXRange(double range[2], double* lengths);
953  void ComputeYRange(double range[2]);
954  void ComputeDORange(double xrange[2], double yrange[2], double* lengths);
955 
956  virtual void CreatePlotData(
957  int* pos, int* pos2, double xRange[2], double yRange[2], double* norms, int numDS, int numDO);
958  void PlaceAxes(vtkViewport* viewport, const int* size, int pos[2], int pos2[2]);
959  void GenerateClipPlanes(int* pos, int* pos2);
960  double ComputeGlyphScale(int i, int* pos, int* pos2);
961  void ClipPlotData(int* pos, int* pos2, vtkPolyData* pd);
962  double* TransformPoint(int pos[2], int pos2[2], double x[3], double xNew[3]);
963 
965 
969 
970 private:
971  vtkXYPlotActor(const vtkXYPlotActor&) = delete;
972  void operator=(const vtkXYPlotActor&) = delete;
973 
974  bool DoesConnectionMatch(int i, vtkAlgorithmOutput* in);
975 
976  int IsInputPresent(vtkAlgorithmOutput* in, const char* arrayName, int component);
977 
981  int YTitleSize[2];
982 
986  int YTitlePosition;
987 
989 
992  int YTitleDelta;
994 };
995 
996 VTK_ABI_NAMESPACE_END
997 #endif
a actor that draws 2D data
Definition: vtkActor2D.h:145
Proxy object to connect input/output ports.
appends one or more polygonal datasets together
Create an axis with tick marks and labels.
maintain an unordered list of data objects
general representation of visualization data
maintain an unordered list of dataset objects
abstract class to specify dataset behavior
Definition: vtkDataSet.h:166
dynamic, self-adjusting array of double
copy oriented and scaled glyph geometry to every input point (2D specialization)
Definition: vtkGlyph2D.h:61
create 2D glyphs represented by vtkPolyData
a simple class to control print indentation
Definition: vtkIndent.h:108
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:144
draw symbols with text
implicit function for convex set of planes
Definition: vtkPlanes.h:151
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:181
represent surface properties of a 2D image
An actor that displays text.
Definition: vtkTextActor.h:155
2D text annotation
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:44
abstract specification for Viewports
Definition: vtkViewport.h:65
window superclass for vtkRenderWindow
Definition: vtkWindow.h:48
generate an x-y plot from input dataset(s) or field data
void RemoveAllDataSetInputConnections()
This removes all of the data set inputs, but does not change the data object inputs.
void AddDataSetInputConnection(vtkAlgorithmOutput *in, const char *arrayName, int component)
Add a dataset to the list of data to append.
void SetXValuesToIndex()
Specify how the independent (x) variable is computed from the points.
int IsInPlot(vtkViewport *viewport, double u, double v)
Is the specified viewport position within the plot area (as opposed to the region used by the plot pl...
virtual void SetTitleVerticalJustification(int)
Set title properties.
int GetDataObjectXComponent(int i)
Specify which component of the input data object to use as the independent variable for the ith input...
void SetNumberOfLabels(int num)
Set/Get the number of annotation labels to show along the x and y axes.
virtual void SetLegendBox(int)
Set legend properties.
void SetPlotPoints(int i, int)
void SetAdjustYLabels(int adjust)
Set/Get the flag that controls whether the labels and ticks are adjusted for "nice" numerical values ...
void ComputeXRange(double range[2], double *lengths)
virtual void SetTitleFontSize(int)
Set title properties.
int RenderOverlay(vtkViewport *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
void SetXValuesToNormalizedArcLength()
Specify how the independent (x) variable is computed from the points.
vtkGlyph2D ** PlotGlyph
const char * GetPlotLabel(int i)
vtkXYPlotActorConnections * DataObjectInputConnectionHolder
vtkTextActor * YTitleActor
vtkAxisActor2D * YAxis
vtkPolyData * ReferenceLinesPolyData
virtual void SetTitleFontFamily(int)
Set title properties.
virtual void SetAxisLabelItalic(int)
Set axis label properties.
vtkGlyphSource2D * GlyphSource
int GetPlotLines(int i)
const char * GetDataObjectPlotModeAsString()
Indicate whether to plot rows or columns.
virtual void SetTitleTextProperty(vtkTextProperty *p)
Set/Get the title text property.
virtual void SetAxisTitleTextProperty(vtkTextProperty *p)
Set/Get the title text property of all axes.
void AddDataSetInput(vtkDataSet *ds, const char *arrayName, int component)
Add a dataset to the list of data to append.
void SetPlotRange(double xmin, double ymin, double xmax, double ymax)
Set the plot range (range of independent and dependent variables) to plot.
vtkTypeBool ExchangeAxes
void PlotToViewportCoordinate(vtkViewport *viewport)
An alternate form of PlotToViewportCoordinate() above.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
virtual void SetTitleBold(int)
Set title properties.
vtkTypeBool ShowReferenceYLine
vtkTypeBool Logx
virtual void SetAxisTitleItalic(int)
Set axis title properties.
double * TransformPoint(int pos[2], int pos2[2], double x[3], double xNew[3])
virtual void SetYTitle(const char *)
Set/Get the title of the y axis.
virtual void SetAxisLabelShadow(int)
Set axis label properties.
virtual void SetYLabelFormat(const char *)
Set/Get the format with which to print the Y label.
vtkAxisActor2D * GetYAxisActor2D()
Retrieve handles to the X and Y axis (so that you can set their text properties for example)
vtkPolyData ** PlotData
vtkTypeBool PlotLines
void SetXValuesToValue()
Specify how the independent (x) variable is computed from the points.
vtkXYPlotActorConnections * InputConnectionHolder
vtkIntArray * XComponent
vtkActor2D * ReferenceLinesActor
virtual void CreatePlotData(int *pos, int *pos2, double xRange[2], double yRange[2], double *norms, int numDS, int numDO)
virtual void SetLegendUseBackground(int)
Set legend properties.
void SetPointComponent(int i, int comp)
If plotting points by value, which component to use to determine the value.
vtkProperty2D * GetChartBoxProperty()
Get the box vtkProperty2D.
vtkPlanes * ClipPlanes
vtkAxisActor2D * GetXAxisActor2D()
Retrieve handles to the X and Y axis (so that you can set their text properties for example)
vtkTextProperty * AxisLabelTextProperty
const char * GetXValuesAsString()
Specify how the independent (x) variable is computed from the points.
double ReferenceYValue
void SetPlotColor(int i, double r, double g, double b)
void SetYTitlePositionToVCenter()
Set/Get the position of the title of Y axis.
vtkPolyDataMapper2D * ReferenceLinesMapper
vtkActor2D * ChartBoxActor
vtkTypeBool ChartBox
void SetYTitlePositionToHCenter()
Set/Get the position of the title of Y axis.
virtual void RemoveAllActiveCurves()
Set plot properties.
vtkMTimeType GetMTime() override
Take into account the modified time of internal helper classes.
void PrintAsCSV(ostream &os)
Write the XY Ploat Actor as a CSV (comma separated value) representation.
void SetPlotSymbol(int i, vtkPolyData *input)
void SetDataObjectPlotModeToColumns()
Indicate whether to plot rows or columns.
void ComputeYRange(double range[2])
void SetDataObjectYComponent(int i, int comp)
Specify which component of the input data object to use as the dependent variable for the ith input d...
virtual void SetAxisTitleVerticalJustification(int)
Set axis title properties.
void SetNumberOfXMinorTicks(int num)
Set/Get the number of minor ticks in X or Y.
void AddDataSetInput(vtkDataSet *ds)
Add a dataset to the list of data to append.
vtkIntArray * PointsOn
virtual void SetLegendBorder(int)
Set legend properties.
virtual void SetYAxisColor(double, double, double)
Set axes properties.
double ComputeGlyphScale(int i, int *pos, int *pos2)
void SetXTitlePosition(double position)
Set/Get the position of the title of X axis.
vtkPolyData * GetPlotSymbol(int i)
static vtkXYPlotActor * New()
Instantiate object with autorange computation; bold, italic, and shadows on; arial font family; the n...
virtual void SetAxisTitleFontFamily(int)
Set axis title properties.
virtual void SetPlotGlyphType(int, int)
Set plot properties.
void AddDataObjectInputConnection(vtkAlgorithmOutput *alg)
Add a data object to the list of data to display.
void RemoveDataSetInputConnection(vtkAlgorithmOutput *in, const char *arrayName, int component)
Remove a dataset from the list of data to append.
virtual void SetAxisLabelVerticalJustification(int)
Set axis label properties.
virtual void SetAxisTitleShadow(int)
Set axis title properties.
virtual void SetAxisLabelColor(double, double, double)
Set axis label properties.
vtkTextProperty * TitleTextProperty
void RemoveDataObjectInput(vtkDataObject *in)
Remove a dataset from the list of data to display.
virtual void SetTitleItalic(int)
Set title properties.
double * GetPlotColor(int i)
virtual void AddUserCurvesPoint(double, double, double)
Set plot properties.
virtual void SetAxisTitleJustification(int)
Set axis title properties.
int GetPlotPoints(int i)
vtkTypeBool ReverseYAxis
void SetPlotLabel(int i, const char *label)
void PlaceAxes(vtkViewport *viewport, const int *size, int pos[2], int pos2[2])
void RemoveDataSetInputConnection(vtkAlgorithmOutput *in)
Remove a dataset from the list of data to append.
char ** SelectedInputScalars
virtual void SetAxisLabelBold(int)
Set axis label properties.
virtual void SetAxisTitleFontSize(int)
Set axis title properties.
virtual void SetAxisTitleBold(int)
Set axis title properties.
virtual void SetXLabelFormat(const char *)
Set/Get the format with which to print the X label.
vtkActor2D ** PlotActor
virtual void SetXAxisColor(double, double, double)
Set axes properties.
void AddDataObjectInput(vtkDataObject *in)
Add a data object to the list of data to display.
vtkActor2D * TitleActor
void ViewportToPlotCoordinate(vtkViewport *viewport, double &u, double &v)
Given a position within the viewport used by the plot, return the the plot coordinates (XAxis value,...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetLineWidth(double)
Set plot properties.
void ClipPlotData(int *pos, int *pos2, vtkPolyData *pd)
vtkTypeBool AdjustTitlePosition
vtkIntArray * YComponent
void SetPlotLines(int i, int)
vtkTypeBool PlotPoints
vtkTypeBool PlotCurvePoints
void GenerateClipPlanes(int *pos, int *pos2)
~vtkXYPlotActor() override
int GetNumberOfYMinorTicks()
Set/Get the number of minor ticks in X or Y.
virtual void SetAxisLabelJustification(int)
Set axis label properties.
const char * GetLabelFormat()
Set/Get the format with which to print the labels .
vtkTextMapper * TitleMapper
vtkPolyData * ChartBorderPolyData
virtual void SetTitleJustification(int)
Set title properties.
void RemoveDataObjectInputConnection(vtkAlgorithmOutput *aout)
Remove a dataset from the list of data to display.
vtkTypeBool PlotCurveLines
char * GetYTitle()
Set/Get the title of the y axis.
vtkIntArray * SelectedInputScalarsComponent
vtkActor2D * ChartBorderActor
virtual void SetLegendBackgroundColor(double, double, double)
Set legend properties.
virtual void SetAxisLabelFontSize(int)
Set axis label properties.
int RenderOpaqueGeometry(vtkViewport *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
virtual void SetLabelFormat(const char *)
Set/Get the format with which to print the labels .
void RemoveDataSetInput(vtkDataSet *ds, const char *arrayName, int component)
Remove a dataset from the list of data to append.
void SetYTitlePositionToTop()
Set/Get the position of the title of Y axis.
void SetPlotColor(int i, const double color[3])
vtkPolyDataMapper2D * ChartBoxMapper
int GetPointComponent(int i)
If plotting points by value, which component to use to determine the value.
virtual void SetTitleColor(double, double, double)
Set title properties.
int GetNumberOfXMinorTicks()
Set/Get the number of minor ticks in X or Y.
vtkAxisActor2D * XAxis
virtual void SetAxisTitleColor(double, double, double)
Set axis title properties.
vtkTypeBool ChartBorder
void PlotToViewportCoordinate(vtkViewport *viewport, double &u, double &v)
Given a plot coordinate, return the viewpoint position.
virtual void SetTitleShadow(int)
Set title properties.
vtkTypeBool ShowReferenceXLine
void SetDataObjectXComponent(int i, int comp)
Specify which component of the input data object to use as the independent variable for the ith input...
vtkLegendBoxActor * LegendActor
void InitializeEntries()
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
double GetXTitlePosition()
Set/Get the position of the title of X axis.
vtkPolyDataMapper2D * ChartBorderMapper
vtkTypeBool ReverseXAxis
vtkPolyData * ChartBoxPolyData
vtkIntArray * LinesOn
vtkTypeBool Legend
vtkPolyDataMapper2D ** PlotMapper
vtkTimeStamp BuildTime
void RemoveDataSetInput(vtkDataSet *ds)
Remove a dataset from the list of data to append.
void SetXValuesToArcLength()
Specify how the independent (x) variable is computed from the points.
int GetDataObjectYComponent(int i)
Specify which component of the input data object to use as the dependent variable for the ith input d...
void SetDataObjectPlotModeToRows()
Indicate whether to plot rows or columns.
void SetNumberOfYMinorTicks(int num)
Set/Get the number of minor ticks in X or Y.
vtkSmartPointer< vtkDoubleArray > ActiveCurve
vtkTextProperty * AxisTitleTextProperty
vtkAppendPolyData ** PlotAppend
void AddDataSetInputConnection(vtkAlgorithmOutput *in)
Add a dataset to the list of data to append.
void ViewportToPlotCoordinate(vtkViewport *viewport)
An alternate form of ViewportToPlotCoordinate() above.
void SetAdjustXLabels(int adjust)
Set/Get the flag that controls whether the labels and ticks are adjusted for "nice" numerical values ...
virtual void SetAxisLabelTextProperty(vtkTextProperty *p)
Set/Get the labels text property of all axes.
double ReferenceXValue
virtual void SetAxisLabelFontFamily(int)
Set axis label properties.
void ComputeDORange(double xrange[2], double yrange[2], double *lengths)
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry?
@ component
Definition: vtkX3D.h:175
@ range
Definition: vtkX3D.h:238
@ color
Definition: vtkX3D.h:221
@ position
Definition: vtkX3D.h:261
@ size
Definition: vtkX3D.h:253
int vtkTypeBool
Definition: vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
#define VTK_SIZEHINT(...)
#define VTK_MARSHALAUTO
#define VTK_XYPLOT_Y_AXIS_HCENTER
#define VTK_XYPLOT_Y_AXIS_VCENTER
#define VTK_XYPLOT_COLUMN
#define VTK_XYPLOT_INDEX
#define VTK_XYPLOT_Y_AXIS_TOP
#define VTK_XYPLOT_VALUE
#define VTK_XYPLOT_NORMALIZED_ARC_LENGTH
#define VTK_XYPLOT_ROW
#define VTK_XYPLOT_ARC_LENGTH