mirror of
https://github.com/Sani7/remote-ui.git
synced 2026-10-26 21:51:13 +01:00
b plot
fix plot
This commit is contained in:
@@ -35,6 +35,12 @@ std::string UI_plot::y_label() const
|
||||
return m_y_label;
|
||||
}
|
||||
|
||||
void UI_plot::add_value(double y)
|
||||
{
|
||||
m_x_vals.push_back((double)m_x_vals.size());
|
||||
m_y_vals.push_back(y);
|
||||
}
|
||||
|
||||
void UI_plot::add_value(double x, double y)
|
||||
{
|
||||
m_x_vals.push_back(x);
|
||||
|
||||
@@ -20,6 +20,7 @@ class UI_plot : public UI_item
|
||||
bool x_label_enabled() const;
|
||||
void set_y_label_enabled(bool enabled);
|
||||
bool y_label_enabled() const;
|
||||
void add_value(double y);
|
||||
void add_value(double x, double y);
|
||||
void clean_vals();
|
||||
|
||||
|
||||
@@ -535,10 +535,13 @@ void Simulator_base::process_ui_plot(json &uiItem)
|
||||
}
|
||||
|
||||
QString text = QString::fromStdString(uiItem["text"]);
|
||||
QColor bg_color = QColor(QString::fromStdString(uiItem["bg_color"]));
|
||||
QColor color = QColor(QString::fromStdString(uiItem["fg_color"]));
|
||||
QString x_label = QString::fromStdString(uiItem["x_label"]);
|
||||
QString y_label = QString::fromStdString(uiItem["y_label"]);
|
||||
|
||||
std::vector<double> x_vals = (std::vector<double>)uiItem.at("x_vals");
|
||||
std::vector<double> y_vals = (std::vector<double>)uiItem.at("x_vals");
|
||||
std::vector<double> y_vals = (std::vector<double>)uiItem.at("y_vals");
|
||||
|
||||
if (text != plot->title().text())
|
||||
{
|
||||
@@ -555,9 +558,19 @@ void Simulator_base::process_ui_plot(json &uiItem)
|
||||
plot->setAxisTitle(QwtAxis::YLeft, y_label);
|
||||
}
|
||||
|
||||
plot->curve()->setRawSamples(x_vals.data(), y_vals.data(), x_vals.capacity());
|
||||
plot->setAxisScale(QwtAxis::XBottom, x_vals[x_vals.capacity() - 1], x_vals[0]);
|
||||
// plot_time[0], plot_time[api.get_plot_size() - 1] );
|
||||
if (color != plot->curve()->pen().color())
|
||||
{
|
||||
plot->curve()->setPen(QPen(color));
|
||||
}
|
||||
|
||||
if (color == QColor(0x83, 0x91, 0x92))
|
||||
{
|
||||
plot->curve()->setPen(QPen(Qt::red));
|
||||
}
|
||||
|
||||
plot->curve()->setSamples(x_vals.data(), y_vals.data(), x_vals.size());
|
||||
if (x_vals.size() > 0)
|
||||
plot->setAxisScale(QwtAxis::XBottom, x_vals[0], x_vals[x_vals.size() - 1]);
|
||||
plot->replot();
|
||||
}
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ void Test_Sim::slider_changed(UI_slider *id, double value)
|
||||
this->m_label.set_text(std::to_string(value));
|
||||
this->m_dial.set_value(value);
|
||||
this->m_thermo.set_value(value);
|
||||
this->m_plot.add_value(value, value);
|
||||
this->m_plot.add_value(value);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user