crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в [QWT] Отображаются оси, но не отображается график
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
SDLM Дата 27.10.2009, 17:36
  я явнозадавал отрезок по оси Икс

qwtPlot->setAxisScale(2, m_a, m_b, 0.0); // 2 - указывает на номер оси, вторая это Икс. m_a/m_b - начало/конец графика, последний аргумент ... непомню :)

Товарищи извиняюсь что здесь пишу, но не могу создать новую тему,
выдаёт:
"Ошибка при работе с базой данных

Возникла проблема при работе с базой данных.
Вы можете попробовать обновить эту страницу, нажав сюда" (с)

что делать не подскажите ?
rcdimon Дата 27.10.2009, 16:34
  Теперь графики рисует, но не в масштабе.. Все скомкано в самом начале.. не пойму как сделать, чтобы шкала на осях совпадала с данными.
SDLM Дата 27.10.2009, 15:40
  я недавно в QWT графики строил...
у меня setData, вроде тоже не работало. юзаю setRawData.

вот мой кусок кода.

Раскрывающийся текст
QwtPlotCurve *MyCurve = new QwtPlotCurve();

QwtSymbol sym;
sym.setStyle(QwtSymbol::XCross);
sym.setSize(10);
sym.setPen(QColor(Qt::darkMagenta));

MyCurve->setSymbol(sym);
MyCurve->setStyle(QwtPlotCurve::NoCurve);

MyCurve->attach(qwtPlot);


double *xval, *yval;

xval = new double[Num_point];
yval = new double[Num_point];

net_method( xval, yval, Num_point, lineEdit->text() ); // задаёт значения массивов


qwtPlot->setAxisScale(2, m_a, m_b, 0.0);
MyCurve->setRawData(xval,yval,Num_point); // собсна вот здесь существенное отличие.

qwtPlot->replot();

delete[] xval;
delete[] yval;
rcdimon Дата 27.10.2009, 15:11
  Наверное вопрос глупый, но я уже 2 часа потерял из-за него. Оси отображаются, подписываются, шкала правильная, а графика нет. То есть мои данные на нем не рисуются.

Код.

Test_qwt::Test_qwt(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
    ui.setupUi(this);

    double X1[20], Y1[20],X2[20], Y2[20];
    int Size,i;

    Size = 20;

    for (i=0;i<20;i++){
        X1[i] = rand()/32;
        Y1[i] = rand()/32;
        X2[i] = rand()/32;
        Y2[i] = rand()/32;
    }

    QwtPlot *myPlot = new QwtPlot(this);
    setCentralWidget(myPlot);

    // Disable polygon clipping
    QwtPainter::setDeviceClipping(false);

    // We don't need the cache here
    myPlot->canvas()->setPaintAttribute(QwtPlotCanvas::PaintCached, false);


    QwtPlotMarker *mY = new QwtPlotMarker();
    mY->setLabelAlignment(Qt::AlignRight|Qt::AlignTop);
    mY->setLineStyle(QwtPlotMarker::HLine);
    mY->setYValue(0.0);
    mY->attach(myPlot);

    // add curves
    QwtPlotCurve *curve1 = new QwtPlotCurve("Curve 1");
    QwtPlotCurve *curve2 = new QwtPlotCurve("Curve 2");

    curve1->setPen(QPen(Qt::red));
    curve1->setStyle(QwtPlotCurve::Lines);
    curve2->setPen(QPen(Qt::blue));
    curve2->setStyle(QwtPlotCurve::Lines);

    
    // copy the data into the curves
    curve1->setData(X1,Y1,Size);
    curve2->setData(X2,Y2,Size);

    curve1->attach(myPlot);
    curve2->attach(myPlot);

    // Axis
    myPlot->setAxisTitle(QwtPlot::xBottom, "Time/seconds");
    myPlot->setAxisScale(QwtPlot::xBottom, 0, 100);

    myPlot->setAxisTitle(QwtPlot::yLeft, "Values");
    myPlot->setAxisScale(QwtPlot::yLeft, 50, 300);


    // finally, refresh the plot
    myPlot->replot();

}
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 19:58