39 static QString plotTitle(
const QwtPlot* plot,
const QwtFigure* fig);
41 static QString plotItemName(
const QwtPlotItem* item);
43 static QIcon plotItemIcon(
const QwtPlotItem* item);
46 void replot(QwtPlot* chart);
49 static QwtPlotItemList filterPlotItem(
const QwtPlot* chart,
const QSet< int >& enableRtti);
52 static QRectF getVisibleRegionRang(QwtPlot* chart);
55 static QRectF getVisibleRegionRang(QwtPlot* chart,
int xAxis,
int yAxis);
59 static QColor dynamicGetItemColor(
const QwtPlotItem* item,
const QColor& defaultColor = Qt::black);
62 static QwtPlotItemList dynamicGetPlotChartItemList(
const QwtPlot* chart);
65 static bool dynamicCheckIsPlotChartItem(
const QwtPlotItem* item);
68 static QwtPlotItemList dynamicGetXYSeriesItemList(
const QwtPlot* chart);
71 static int dynamicGetPlotChartItemDataCount(
const QwtPlotItem* item);
76 static bool isPlotGraphicsItem(QwtPlotItem* item);
78 static bool setPlotItemColor(QwtPlotItem* item,
const QColor& color);
79 static QColor getPlotItemColor(
const QwtPlotItem* item);
81 static QBrush getPlotItemBrush(
const QwtPlotItem* item);
83 static QwtPlotItemList getPlotChartItemList(
const QwtPlot* chart);
86 static bool checkIsPlotChartItem(
const QwtPlotItem* item);
89 static QwtPlotItemList getXYSeriesItemList(
const QwtPlot* chart);
92 static bool checkIsXYSeriesItem(
const QwtPlotItem* item);
96 dataRange(
const QwtPlot* chart, QwtInterval* yLeft, QwtInterval* yRight, QwtInterval* xBottom, QwtInterval* xTop);
100 static QPointF transformValue(QwtPlot* chart,
const QPointF& p,
int orgXAxis,
int orgYAxis,
int otherXAxis,
int otherYAxis);
104 transformPath(QwtPlot* chart,
const QPainterPath& p,
int orgXAxis,
int orgYAxis,
int otherXAxis,
int otherYAxis);
107 static QPointF calcOnePixelOffset(QwtPlot* chart,
int xaxis,
int yaxis);
110 static QPointF screenPointToPlotPoint(QwtPlot* chart,
const QPointF& screen,
int xAxis,
int yAxis);
115 static void setAxisEnable(QwtPlot* chart,
int axisID,
bool b);
118 static void setAxisTitle(QwtPlot* chart,
int axisID,
const QString& text);
121 static void setAxisFont(QwtPlot* chart,
int axisID,
const QFont& font);
124 static void setAxisFontColor(QwtPlot* chart,
int axisID,
const QColor& color);
127 static void setAxisLabelRotation(QwtPlot* chart,
int axisID,
double v);
130 static void setAxisScaleMin(QwtPlot* chart,
int axisID,
double v);
133 static void setAxisScaleMax(QwtPlot* chart,
int axisID,
double v);
136 static void setAxisBorderDistStart(QwtPlot* chart,
int axisID,
int v);
139 static void setAxisBorderDistEnd(QwtPlot* chart,
int axisID,
int v);
142 static void setAxisMargin(QwtPlot* chart,
int axisID,
int v);
145 static void setAxisSpacing(QwtPlot* chart,
int axisID,
int v);
148 static void setAxisLabelAlignment(QwtPlot* chart,
int axisID, Qt::Alignment v);
151 static QwtScaleDraw* setAxisNormalScale(QwtPlot* chart,
int axisID);
154 static QwtDateScaleDraw* setAxisDateTimeScale(QwtPlot* chart,
int axisID,
const QString& fullDateformat);
157 static void setupSmartDateFormat(QwtDateScaleDraw* scaleDraw,
const QString& fullFormat);
160 static QwtDateScaleDraw* getAxisDateTimeScale(QwtPlot* chart,
int axisID);
163 static int otherAxis(
int axisID);
166 static bool isXAxis(
int axisID);
169 static bool isYAxis(
int axisID);
177 template<
typename T >
178 static void getSeriesData(QVector< T >& vec,
const QwtSeriesStore< T >* series);
187 template<
typename T >
188 static void getSeriesData(QVector< T >& vec,
const QwtSeriesStore< T >* series,
int startIndex,
int endIndex);
191 static int getItemDataSize(
const QwtPlotItem* item);
194 static void getXYDatas(
const QVector< QPointF >& xys, QVector< double >* xs, QVector< double >* ys);
195 static void getXYDatas(QVector< QPointF >& xys,
const QwtSeriesStore< QPointF >* cur);
196 static void getXYDatas(QVector< double >* xs, QVector< double >* ys,
const QwtSeriesStore< QPointF >* cur);
198 getXYDatas(QVector< QPointF >& xys, QVector< int >* indexs,
const QwtSeriesStore< QPointF >* cur,
const QRectF& rang);
199 static size_t getXYDatas(QVector< double >* xs,
200 QVector< double >* ys,
201 QVector< int >* indexs,
202 const QwtSeriesStore< QPointF >* cur,
206 static size_t getXYDatas(QVector< QPointF >& xys,
207 QVector< int >* indexs,
208 const QwtSeriesStore< QPointF >* series,
209 const QPainterPath& rang);
210 static size_t getXYDatas(QVector< double >* xs,
211 QVector< double >* ys,
212 QVector< int >* indexs,
213 const QwtSeriesStore< QPointF >* series,
214 const QPainterPath& rang);
217 static void getXYZDatas(QVector< QwtPoint3D >& xyzs,
const QwtSeriesStore< QwtPoint3D >* cur);
220 static void getIntervalSampleDatas(QVector< QwtIntervalSample >& intv,
const QwtSeriesStore< QwtIntervalSample >* cur);
223 static bool isPointInRange(
const QPainterPath& range,
const QPointF& point);
224 static bool isHistogramSampleInRange(
const QPainterPath& selectRange,
const QwtIntervalSample& val);
225 static bool isIntervalCurveSampleInRange(
const QPainterPath& selectRange,
const QwtIntervalSample& val);
226 static bool isMultiBarChartSampleInRange(
const QPainterPath& selectRange,
const QwtSetSample& val);
227 static bool isTradingCurveSampleInRange(
const QPainterPath& selectRange,
const QwtOHLCSample& val);
228 static bool isSpectroCurveSampleInRange(
const QPainterPath& selectRange,
const QwtPoint3D& val);
231 static void offsetPointSample(QPointF& sample,
const double& xoffset,
const double& yoffset);
232 static void offsetHistogramSample(QwtIntervalSample& sample,
const double& xoffset,
const double& yoffset);
233 static void offsetIntervalCurveSample(QwtIntervalSample& sample,
const double& xoffset,
const double& yoffset);
234 static void offsetMultiBarChartSample(QwtSetSample& sample,
const double& xoffset,
const double& yoffset);
235 static void offsetTradingCurveSample(QwtOHLCSample& sample,
const double& xoffset,
const double& yoffset);
236 static void offsetSpectroCurveSample(QwtPoint3D& sample,
const double& xoffset,
const double& yoffset);
239 static int removeDataInRang(
const QRectF& removeRang,
const QVector< QPointF >& rawData, QVector< QPointF >& newData);
240 static int removeDataInRang(
const QPainterPath& removeRang,
const QVector< QPointF >& rawData, QVector< QPointF >& newData);
241 static int removeDataInRang(
const QRectF& removeRang, QwtSeriesStore< QPointF >* curve);
242 static int removeDataInRang(
const QPainterPath& removeRang, QwtSeriesStore< QPointF >* curve);
245 template<
typename T,
typename PlotItemType >
246 static void setVectorSampleData(QwtPlotItem* item,
const QVector< T >& datas);
248 template<
typename T,
typename PlotItemType >
249 static void getVectorSampleData(QwtPlotItem* item, QVector< T >& datas);
252 static void setPlotCurveSample(QwtPlotItem* p,
const QVector< QPointF >& datas);
253 static void setPlotBarChartSample(QwtPlotItem* p,
const QVector< QPointF >& datas);
254 static void setPlotHistogramSample(QwtPlotItem* p,
const QVector< QwtIntervalSample >& datas);
255 static void setPlotIntervalCurveSample(QwtPlotItem* p,
const QVector< QwtIntervalSample >& datas);
256 static void setPlotMultiBarChartSample(QwtPlotItem* p,
const QVector< QwtSetSample >& datas);
257 static void setPlotTradingCurveSample(QwtPlotItem* p,
const QVector< QwtOHLCSample >& datas);
258 static void setPlotSpectroCurveSample(QwtPlotItem* p,
const QVector< QwtPoint3D >& datas);
261 static void getPlotCurveSample(QwtPlotItem* p, QVector< QPointF >& datas);
262 static void getPlotBarChartSample(QwtPlotItem* p, QVector< QPointF >& datas);
263 static void getPlotHistogramSample(QwtPlotItem* p, QVector< QwtIntervalSample >& datas);
264 static void getPlotIntervalCurveSample(QwtPlotItem* p, QVector< QwtIntervalSample >& datas);
265 static void getPlotMultiBarChartSample(QwtPlotItem* p, QVector< QwtSetSample >& datas);
266 static void getPlotTradingCurveSample(QwtPlotItem* p, QVector< QwtOHLCSample >& datas);
267 static void getPlotSpectroCurveSample(QwtPlotItem* p, QVector< QwtPoint3D >& datas);
274 static void setCurveSymbol(QwtPlotCurve* cur, QwtSymbol::Style style,
const QSize& size = QSize(8, 8));
275 static void setCurveLinePenStyle(QwtPlotCurve* cur, Qt::PenStyle style);
278 static void setCurvePenStyle(QwtPlotCurve* cur, Qt::PenStyle style);
282 static int closestPoint(
const QwtPlotBarChart* bar,
const QPoint& pos,
double* dist);
285 static qreal recommendCurveLinePenWidth(
int pointsNumber);