The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"GNUplot - график из таблицы X,Y1,Y2,Y3 с тремя Y на одном листе"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Математика и наука / Другая система)
Изначальное сообщение [ Отслеживать ]

"GNUplot - график из таблицы X,Y1,Y2,Y3 с тремя Y на одном листе"  +/
Сообщение от Isothiocyanate (ok), 26-Авг-20, 10:13 
Добрый день!

Пробую освоить в GNUplot построение графиков из таблиц.
Надо построить графики по таблице:

0    0,4594    0,2202    -0,0144
10    0,4614    0,2264    -0,0187
20    0,4608    0,2253    -0,0163
30    0,4619    0,2192    -0,0122
40    0,4606    0,2227    -0,0093
50    0,4622    0,2233    0,0544
60    0,4603    0,2271    0,2084
70    0,4603    0,2191    0,3244
80    0,4659    0,2185    0,3911
90    0,4667    0,2219    0,4279
100    0,4642    0,2233    0,4513
110    0,4616    0,2164    0,46
120    0,4564    0,2189    0,4674
130    0,4521    0,2219    0,4739
140    0,4486    0,2197    0,4704
150    0,4459    0,2245    0,477
160    0,4468    0,2369    0,4752
170    0,4416    0,3024    0,4724
180    0,4358    0,4389    0,4733
190    0,4356    0,5494    0,476
200    0,4432    0,6065    0,4723
210    0,4474    0,6352    0,4752
220    0,442    0,6502    0,4742
230    0,436    0,6556    0,4763
240    0,4356    0,6613    0,4737
250    0,4372    0,668    0,4734
260    0,4407    0,6658    0,4734
270    0,443    0,6663    0,4683
280    0,4416    0,667    0,468
290    0,4368    0,6659    0,4705
300    0,4312    0,6659    0,4737
310    0,4347    0,6669    0,4721
320    0,4396    0,6666    0,4708
330    0,4359    0,6676    0,4741
340    0,4336    0,6657    0,4691
350    0,4377    0,6617    0,4677
360    0,4403    0,6634    0,4712
370    0,4411    0,6624    0,4745
380    0,4387    0,6603    0,471
390    0,4415    0,6649    0,4699
400    0,4398    0,6622    0,4702
410    0,4374    0,6621    0,4708
420    0,4378    0,659    0,4666
430    0,4396    0,6577    0,467
440    0,438    0,6599    0,467
450    0,4336    0,6561    0,464
460    0,4356    0,656    0,4662
470    0,4336    0,6566    
480    0,4348    0,6603    
490    0,4319        
500    0,4349        
510    0,4334        
520    0,4374        
530    0,4405        
540    0,4375        
550    0,4377        
560    0,4354        
570    0,4333        
580    0,4425        
590    0,4343        
600    0,4344        
610    0,4343        
620    0,4306        
630    0,4323        
640    0,4307        
650    0,4273        
660    0,4252        
670    0,4267        
680    0,4424        
690    0,442        
700    0,435        
710    0,4298        
720    0,4298        
730    0,4299        
740    0,4277        
750    0,428        
760    0,4224        
770    0,4346        
780    0,4373        
790    0,4411        
800    0,4309        
810    0,435        
820    0,4309        
830    0,4325        
840    0,4249        
850    0,4253        
860    0,4289        
870    0,4324        
880    0,4312        
890    0,4257        
900    0,4275        
910    0,4326        
920    0,4291        
930    0,4327        
940    0,4252        
950    0,4333        
960    0,4255        
970    0,4291        
980    0,4288        
990    0,4251        

Где первая колонка Х, а 3 последующие Y1, Y2, Y3.
Не могу найти в мануале и сайтах, посвященных программе два момента:
1. Синтаксис построения графиков из таблиц.
2. Построение нескольких графиков X, Y1,Y2,Y3 на одном листе.

Прошу дать ссылочку, если кто знает как это сделать.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от DiabloPC (ok), 27-Авг-20, 01:39   +1 +/
Проверил в labplot.
с таким набором данных он меня нагло слал, присмотревшись заметил что при вставке этого набора тип трех последних колонок менялся на "TEXT"
http://176.37.77.115/img/ksnip_20200827-012138.png

Заменил запятые на точки - всё сложилось в кучу
http://176.37.77.115/img/ksnip_20200827-011925.png

При экспорте такой таблицы в текст получается нечто вот такое:
http://176.37.77.115/img/Spreadsheet.txt

Смотрим в ман и находим подтверждение этой теории:

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

Пробуем собрать график из правильной таблицы:
http://176.37.77.115/img/ksnip_20200827-013659.png

ЗЫ
labplot к использованию не  рекомендую - за то время что я здесь с ним игрался оно упало раз шесть или семь (ессно с полной потерей данных)

Ззы
Примеры синтаксиса брал здесь:
http://astrotourist.info/postroenie-grafika-pri-pomoshchi-ut...

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4

2. Сообщение от Licha Morada (ok), 27-Авг-20, 04:23   +1 +/
> Надо построить графики по таблице:

Тривиально же, нет?

cat > testdata.txt << EOF
#X    Y1        Y2        Y3
0    0,4594    0,2202    -0,0144
10    0,4614    0,2264    -0,0187
20    0,4608    0,2253    -0,0163
30    0,4619    0,2192    -0,0122
40    0,4606    0,2227    -0,0093
EOF
sed -ri 's/,/./g' testdata.txt
gnuplot -e "\
  set terminal jpeg; \
  plot 'testdata.txt' using 1:2 title 'Y1', \
       'testdata.txt' using 1:3 title 'Y2', \
       'testdata.txt' using 1:4 title 'Y3' \
  " >> testdata.jpg
shotwell testdata.jpg

> Не могу найти в мануале и сайтах, посвященных программе два момента:
> 1. Синтаксис построения графиков из таблиц.
> 2. Построение нескольких графиков X, Y1,Y2,Y3 на одном листе.

http://people.duke.edu/~hpgavin/gnuplot.html (3.2 Plotting Data)

Ещё подглядывал в http://zenonharley.com/gnuplot/cli/2015/06/29/graphing-data-...

По обоим ссылкам ещё много примеров.


Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3

3. Сообщение от Isothiocyanate (ok), 27-Авг-20, 07:58   +/
Спасибо большое, буду изучать! :)


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

4. Сообщение от Isothiocyanate (ok), 27-Авг-20, 08:34   +/

> Пробуем собрать график из правильной таблицы:
> http://176.37.77.115/img/ksnip_20200827-013659.png

https://drive.google.com/file/d/19q96yFkodLHSqf_GIMcJixyTykw...

У меня почему-то какой-то странный формат шкалы и поэтому график не такой как должно быть.
Запятые на точки я поменял в calc автозаменой, потом скопировал в txt документ и сохранил.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #5

5. Сообщение от Аноним (5), 27-Авг-20, 13:12   +/
> У меня почему-то какой-то странный формат шкалы и поэтому график не такой
> как должно быть.

А что в текстовом файле?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #6

6. Сообщение от Isothiocyanate (ok), 27-Авг-20, 16:22   +/
>> У меня почему-то какой-то странный формат шкалы и поэтому график не такой
>> как должно быть.
> А что в текстовом файле?

0    0.4594    0.2202    -0.0144
10    0.4614    0.2264    -0.0187
20    0.4608    0.2253    -0.0163
30    0.4619    0.2192    -0.0122
40    0.4606    0.2227    -0.0093
50    0.4622    0.2233    0.0544
60    0.4603    0.2271    0.2084
70    0.4603    0.2191    0.3244
80    0.4659    0.2185    0.3911
90    0.4667    0.2219    0.4279
100    0.4642    0.2233    0.4513
110    0.4616    0.2164    0.46
120    0.4564    0.2189    0.4674
130    0.4521    0.2219    0.4739
140    0.4486    0.2197    0.4704
150    0.4459    0.2245    0.477
160    0.4468    0.2369    0.4752
170    0.4416    0.3024    0.4724
180    0.4358    0.4389    0.4733
190    0.4356    0.5494    0.476
200    0.4432    0.6065    0.4723
210    0.4474    0.6352    0.4752

*** - и так до конца

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #7

7. Сообщение от Аноним (5), 27-Авг-20, 16:49   +/
Может ему принудительно сделать set xrange и set yrange??
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #8

8. Сообщение от Isothiocyanate (ok), 28-Авг-20, 09:55   +/
> Может ему принудительно сделать set xrange и set yrange??

http://gnuplot.sourceforge.net/docs_4.2/node294.html

Так?
Пробовал задать диапазон, но это не помогло, график тот же.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #9

9. Сообщение от Isothiocyanate (ok), 28-Авг-20, 11:03   +/
> Пробовал задать диапазон, но это не помогло, график тот же.

gnuplot> plot "turb.txt" using 1:2 with lines lt rgb "black" lw 2 title "first",\    
>"turb.txt" using 1:3 with lines lt rgb "grey" lw 2 title "second"\
>"turb.txt" using 1:4 with lines lt "blue" lw 2 title "third"

         warning: Skipping data file with no valid points

gnuplot> plot "turb.txt" using 1:2 with lines lt rgb "black" lw 2 title "first","turb.txt" using 1:3 with lines lt rgb "grey" lw 2 title "second""turb.txt" using 1:4 with lines lt "blue" lw 2 title "third"
                                                                                                                                                 ^
         unexpected or unrecognized token

gnuplot> set xrange [0:1000]
gnuplot> set yrange [0:1.5]

и нивкакую.

синтаксис брал отсюда:
https://www.youtube.com/watch?v=ZEUHCx8gKvI

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #10, #13

10. Сообщение от Isothiocyanate (ok), 28-Авг-20, 11:19   +/
set datafile separator comma

- это пример таблицы http://zenonharley.com/gnuplot/cli/2015/06/29/graphing-data-...

я думаю, что программа читает все данные в строку как один график, а не по столбцам. Тогда в моем случае сепаратор - пробел.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #11, #12

11. Сообщение от Isothiocyanate (ok), 28-Авг-20, 11:25   +/
> set datafile separator comma
> - это пример таблицы http://zenonharley.com/gnuplot/cli/2015/06/29/graphing-data-...
> я думаю, что программа читает все данные в строку как один график,
> а не по столбцам. Тогда в моем случае сепаратор - пробел.

gnuplot> reset
gnuplot> set datafile separator " "                                              
gnuplot> plot "turb.txt" using 1:2 with lines lt rgb "black" lw 2 title "first",\
>"turb.txt" using 1:3 with lines lt rgb "grey" lw 2 title "second"\      
>"turb.txt" using 1:4 with lines lt "blue" lw 2 title "third"            

         warning: Skipping data file with no valid points
         warning: Skipping data file with no valid points
                                                                                                                                                 ^
         x range is invalid

gnuplot>

Ему опять не нравятся точки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #15

12. Сообщение от Isothiocyanate (ok), 28-Авг-20, 13:00   +/
Взял, открыл таблицу в calc, сохранил данные активного листа в *.csv
Скормил программе gnuplot файл turb.csv
https://drive.google.com/file/d/1GFNUwE8mtvHxH5W-CR9V6CdM7Ip...

Но у меня общий вид графика и размеры по ОY вышли, а вот вид по ОХ - нет.
Шкала не та, не те значения вообще, 5000 у меня нет в таблице? Откуда он их берет?

И еще - почему программа игнорирует столбики 2 и 3?


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #14

13. Сообщение от DiabloPC (ok), 28-Авг-20, 14:18   +/
>[оверквотинг удален]
> file with no valid points
> gnuplot> plot "turb.txt" using 1:2 with lines lt rgb "black" lw 2
> title "first","turb.txt" using 1:3 with lines lt rgb "grey" lw 2
> title "second""turb.txt" using 1:4 with lines lt "blue" lw 2 title
> "third"
>                    
>            
>  ^
>          unexpected or unrecognized
> token

После ["second"] не хватает запятой.
> gnuplot> set xrange [0:1000]
> gnuplot> set yrange [0:1.5]
> и нивкакую.

А почему yrange [0:1.5] если в наборе есть отрицательные значения?!!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

14. Сообщение от DiabloPC (ok), 28-Авг-20, 14:19   +/
> Взял, открыл таблицу в calc, сохранил данные активного листа в *.csv
> Скормил программе gnuplot файл turb.csv
> https://drive.google.com/file/d/1GFNUwE8mtvHxH5W-CR9V6CdM7Ip...
> Но у меня общий вид графика и размеры по ОY вышли, а
> вот вид по ОХ - нет.
> Шкала не та, не те значения вообще, 5000 у меня нет в
> таблице? Откуда он их берет?
> И еще - почему программа игнорирует столбики 2 и 3?

Полностью неверный синтаксис

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

15. Сообщение от DiabloPC (ok), 28-Авг-20, 14:21   +/
>[оверквотинг удален]
>            
>            
>            
>            
>            
>  ^
>          x range is
> invalid
> gnuplot>
> Ему опять не нравятся точки.

Это не о тех точках. Те называются "dots", а points это о точках излома кривой.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

16. Сообщение от DiabloPC (ok), 28-Авг-20, 14:36   +/
Еще раз скопипастил полный набор данных из шапки, заменил запятые на точки
собралось с пол пинка
http://176.37.77.115/img/ksnip_20200828-143346.png

Может что-то не так с виндовой версией??

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17

17. Сообщение от Isothiocyanate (ok), 28-Авг-20, 16:05   +/
> Может что-то не так с виндовой версией??

Блин, красиво у тебя получается :)


          00.4594     0.2202     -0.0144    
         100.4614     0.2264     -0.0187    
         200.4608     0.2253     -0.0163    
         300.4619     0.2192     -0.0122    
         400.4606     0.2227     -0.0093    
         500.4622     0.2233     0.0544    
         600.4603     0.2271     0.2084    
         700.4603     0.2191     0.3244    
         800.4659     0.2185     0.3911    
         900.4667     0.2219     0.4279    
        1000.4642     0.2233     0.4513    
        1100.4616     0.2164     0.46      
        1200.4564     0.2189     0.4674    
        1300.4521     0.2219     0.4739    
        1400.4486     0.2197     0.4704    
        1500.4459     0.2245     0.477      
        1600.4468     0.2369     0.4752

Вот что произошло при экспорте в csv. первая колонка слилась со второй в 1 многозначное число.
Поэтому и график странный

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #18

18. Сообщение от Isothiocyanate (ok), 28-Авг-20, 16:19   +/
Все получилось, спасибо!

https://drive.google.com/file/d/16lyYmGnSVWRjcTUOlMS3X1bg4pq...


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру