Построение графика на последнем графике с использованием gnuplot-iostream

Я использую gnuplot-iostream для построения точек данных.

Итак, у меня есть два комплекта. Я могу успешно построить первый набор, но он терпит неудачу во втором наборе.

             first_pts = {....};
             second_pts = {....};
             Gnuplot gp2d;
             gp2d << "set xrange [-5:5]\n";
             gp2d << "set yrange [-5:5]\n";
             for ( auto i = 0 ; i < 2 ; i ++ ) {
                 if ( i == 0 )
                   gp2d << "plot '-' with points title 'first'\n";
                   gp2d.send1d(first_pts);
                 else    
                   gp2d << "replot\n";
                   gp2d.send1d(second_pts);
                 }

Я намеренно не хочу, чтобы данные наносились на график за одну итерацию, потому что это не будет работать в моей реальной среде. Пересадка здесь, конечно, не так, и, следовательно, вопрос - что правильно?

1 ответ

Хорошо, я понял это. Просто добавьте еще один вход в команду gnuplot plot, и gnuplot будет ждать второй точки перед построением графика.

         first_pts = {....};
         second_pts = {....};
         Gnuplot gp2d;
         gp2d << "set xrange [-5:5]\n";
         gp2d << "set yrange [-5:5]\n";
         for ( auto i = 0 ; i < 2 ; i ++ ) {
             if ( i == 0 )
               gp2d << "plot '-' with points title 'first', '-' with points title 'second'\n";
               gp2d.send1d(first_pts);
             else    
               //gp2d << "replot\n";
               gp2d.send1d(second_pts);
             }
Другие вопросы по тегам