Russian Qt Forum

Qt => Общие вопросы => Тема начата: werwolf от Октябрь 21, 2009, 21:36



Название: QWT логарифмический масштаб
Отправлено: werwolf от Октябрь 21, 2009, 21:36
Здравствуйте, подскажите как в QWT нарисовать график плана y = 1/sqrt(x)?
И как задать логарифмический масштаб?

с графиком я делал так:
Код
C++ (Qt)
class RealData: public QwtData
{
private:
size_t d_size;
 
public:
RealData(size_t size) : d_size(size) {}
virtual QwtData *copy() const { return new RealData(d_size); }
virtual size_t size() const { return d_size; }
virtual double x(size_t i) const { return (0.001 * i); }
virtual double y(size_t i) const { return 1/sqrt(x(i)); }
};
*******************************************************************
const unsigned int nPoints = 10000;
cGraph->setData(RealData(nPoints));
 
Но как то криво получается. Как сделать чтобы график нормально отображался(гладко)?
И очень волнует второй вопрос, как отображать все графики в логарифмическом масштабе?


Название: Re: QWT логарифмический масштаб
Отправлено: alex12 от Октябрь 21, 2009, 23:14
См. их пример bode.


bode_plot.cpp:
Код:
BodePlot::BodePlot(QWidget *parent):
    QwtPlot(parent)
{
  ...
  setAxisScaleEngine(QwtPlot::xBottom, new QwtLog10ScaleEngine);
  ...
}