101 points.reserve( samples.size() );
103 for (
int i = 0; i < samples.size(); i++ )
104 points += QPointF( i, samples[ i ] );
188 const size_t numSamples =
dataSize();
189 if ( numSamples == 0 )
193 if ( rect.height() >= 0 )
197 if ( rect.bottom() < baseLine )
198 rect.setBottom( baseLine );
200 if ( rect.top() > baseLine )
201 rect.setTop( baseLine );
205 rect.setRect( rect.y(), rect.x(), rect.height(), rect.width() );
225 const QRectF& canvasRect,
int from,
int to )
const 238 const QwtInterval interval( br.left(), br.right() );
242 for (
int i = from; i <= to; i++ )
245 canvasRect, interval, i,
sample( i ) );
264 const QRectF& canvasRect,
const QwtInterval& boundingInterval,
265 const QPointF&
sample )
const 271 const double barHeight =
sampleWidth( yMap, canvasRect.height(),
272 boundingInterval.
width(), sample.y() );
275 const double x2 = xMap.
transform( sample.y() );
277 const double y = yMap.
transform( sample.x() );
278 const double y1 = y - 0.5 * barHeight;
279 const double y2 = y + 0.5 * barHeight;
289 const double barWidth =
sampleWidth( xMap, canvasRect.width(),
290 boundingInterval.
width(), sample.y() );
292 const double x = xMap.
transform( sample.x() );
293 const double x1 = x - 0.5 * barWidth;
294 const double x2 = x + 0.5 * barWidth;
297 const double y2 = yMap.
transform( sample.y() );
324 const QRectF& canvasRect,
const QwtInterval& boundingInterval,
328 canvasRect, boundingInterval, sample );
330 drawBar( painter, index, sample, barRect );
342 int sampleIndex,
const QPointF&
sample,
354 sym->
draw( painter, rect );
362 columnSymbol.
draw( painter, rect );
378 int sampleIndex,
const QPointF&
sample )
const 380 Q_UNUSED( sampleIndex );
401 Q_UNUSED( sampleIndex );
422 const size_t numSamples =
dataSize();
423 list.reserve( numSamples );
425 for (
size_t i = 0; i < numSamples; i++ )
430 QVariant::fromValue(
barTitle( i ) ) );
473 QPainter painter( &icon );
474 painter.setRenderHint( QPainter::Antialiasing,
481 drawBar( &painter, barIndex, QPointF(), column );
virtual void legendChanged()
virtual QwtColumnSymbol * specialSymbol(int sampleIndex, const QPointF &) const
double sampleWidth(const QwtScaleMap &map, double canvasSize, double boundingSize, double value) const
QwtInterval vInterval
Interval for the vertical coordinates.
virtual ~QwtPlotBarChart()
Destructor.
void setSamples(const QVector< QPointF > &)
virtual QRectF boundingRect() const =0
const QwtText & title() const
A class representing an interval.
A drawing primitive for columns.
virtual void drawSeries(QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const QWT_OVERRIDE
QwtGraphic legendIcon(int index, const QSizeF &) const QWT_OVERRIDE
void setData(QwtSeriesData< QPointF > *series)
QPointF sample(int index) const
void setLegendMode(LegendMode)
Direction direction
Direction.
virtual int rtti() const QWT_OVERRIDE
Qt::Orientation orientation() const
Abstract base class for bar chart items.
QwtSeriesData< QPointF > * data()
double transform(double s) const
void setDefaultSize(const QSizeF &)
Set a default size.
QwtPlotBarChart displays a series of a values as bars.
void setSymbol(QwtColumnSymbol *)
Assign a symbol.
virtual QRectF boundingRect() const QWT_OVERRIDE
QwtColumnRect columnRect(const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, const QwtInterval &boundingInterval, const QPointF &sample) const
A class representing a text.
virtual void drawBar(QPainter *, int sampleIndex, const QPointF &sample, const QwtColumnRect &) const
void setFrameStyle(FrameStyle)
virtual QList< QwtLegendData > legendData() const
Return all information, that is needed to represent the item on the legend.
A paint device for scalable graphics.
virtual QwtText barTitle(int sampleIndex) const
Return the title of a bar.
void setLineWidth(int width)
double width() const
Return the width of an interval.
virtual void itemChanged()
LegendMode legendMode() const
QwtPlotBarChart::LegendMode legendMode
virtual void drawSample(QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, const QwtInterval &boundingInterval, int index, const QPointF &sample) const
bool testRenderHint(RenderHint) const
Directed rectangle representing bounding rectangle and orientation of a column.
void setValue(int role, const QVariant &)
QList< QwtLegendData > legendData() const QWT_OVERRIDE
Return all information, that is needed to represent the item on the legend.
QSize legendIconSize() const
QwtInterval hInterval
Interval for the horizontal coordinates.
span_constexpr std::size_t size(span< T, Extent > const &spn)
virtual size_t dataSize() const QWT_OVERRIDE
const QwtColumnSymbol * symbol() const
Interface for iterating over an array of points.
QwtInterval normalized() const
Normalize the limits of the interval.
Attributes of an entry on a legend.
virtual QRectF boundingRect() const QWT_OVERRIDE
QwtPlotBarChart(const QString &title=QString())
virtual void draw(QPainter *, const QwtColumnRect &) const