2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3
 
 Re: ПО для построения графиков для публикации.
Сообщение07.09.2012, 01:01 


17/03/12
26
самая современная программа для всех видов график это - Mathematica

 Профиль  
                  
 
 Re: ПО для построения графиков для публикации.
Сообщение17.05.2019, 03:10 
Аватара пользователя


30/04/19
235
Я бы посоветовал GnuPlot. И дело не только в том, что он мощный, свободный и кроссплатформенный, его еще можно использовать как самостоятельно, так и с любым языком программирования.

 Профиль  
                  
 
 Re: ПО для построения графиков для публикации.
Сообщение17.05.2019, 06:51 


16/04/19
161

(Оффтоп)

Snegovik в сообщении #1393566 писал(а):
как самостоятельно, так и с любым языком программирования
Наверно имеется в виду вызов gnuplot из других программ, типа такого..
Gnuplot:
Код:
set terminal pngcairo enhanced fontscale S size 512*S, 512*S
set output f_out
plot \
f_in using 1:4 with linespoints pointtype 4 ps S lw S lc rgb 'black' title '|{/:Bold A q}_{ prev} ‒ {/:Bold b}| / |{/:Bold b}|'
Командная строка:
Код:
gnuplot -e "f_in='Dir/InputFileName.txt'; f_out='Dir/OutputFileName.txt'; S = 2;"
Командную строку на c++ можно вызвать командой std::system(char *command)

 Профиль  
                  
 
 Re: ПО для построения графиков для публикации.
Сообщение17.05.2019, 13:25 
Аватара пользователя


30/04/19
235
feedinglight в сообщении #1393576 писал(а):
Наверно имеется в виду вызов gnuplot из других программ, типа такого..


(Оффтоп)

Когда приходится я так делаю, ЯП фортран

Код:
!Открываем файл на запись
   open(150, file='data')

        !Здесь пишем в файл какие то данные
        !.....
        !.....
   
   close(150) 

!И вызываем на построение графика GnuPlot
call system('gnuplot -p plot.plt')


где plot.plt это текстовый нижеприведенный файл (пример для обычного графика функции), данный скрипт читает данные из записанного программой файла и строит график.

Код:
m="./data"
set terminal png size 1024,768
set output "plot.png"
set grid
#set logscale y
set xlabel "x"
set ylabel "y"
set title ' grafic'
plot m using 1:2 title "f"  with lines

 Профиль  
                  
 
 Re: ПО для построения графиков для публикации.
Сообщение17.05.2019, 17:20 


16/04/19
161
В предыдущем сообщении не то в командной строке написал, там не хватает пути к gnuplot-файлу в конце:

(Оффтоп)

gnuplot -e "f_in='Dir/InputFileName.txt'; f_out='Dir/OutputFileName.txt'; S = 2;" MyGnuplotGraphCode.gnu
Snegovik в сообщении #1393610 писал(а):
gnuplot -p plot.plt
Можно ещё через pipe вызывать..

(Оффтоп)

Код:
void Console::exec(const char *command, std::vector<char> &out)
{
    FILE *pipe;
    // запуск команды и открытие трубы для чтения
#ifdef WIN32
    pipe = _popen(command, "r");
#else
    pipe  = popen(command, "r");
#endif
    if(!pipe)
    {
        std::cerr << "error: cant open pipe to execute a command \"" << command << "\"" << std::endl;
        return;
    }
    // чтение вывода из трубы
    for(;;)
    {
        char c;
        if(fscanf(pipe, "%c", &c) == EOF)
            break;
        else
            out.push_back(c);
    }
    // закрытие трубы
#ifdef WIN32
    _pclose(pipe);
#else
    pclose(pipe);
#endif
}
И если написать в gnuplot-коде "set output" (без аргумента), то картинка вывалится в бинарном виде на консоль, откуда её можно прочитать через pipe, то есть, минуя запись на диск, можно сразу получить буфер с изображением и отобразить график на экране стандартными средствами.

Иногда удобнее основной gnuplot-код хранить в виде файла, а через программу передавать только некоторые аргументы (через ключ -e, как писал в предыдущем сообщении), в виде некоторого кода, который вставится в начало к основному коду. Тогда в большинстве случаев не нужно будет перекомпилировать, чтобы что-то подправить. (Повторяюсь)

Короче, конфетка, а не прога.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу Пред.  1, 2, 3

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group