2014-04-06 31 views
5

Tôi có một tệp dữ liệu được phân tách bằng hai dòng. Mỗi phần dữ liệu là ~ 50 dòng. Tôi đang cố tạo một tệp .gif. Tôi biết làm thế nào để vẽ chúng riêng lẻ hoặc trong một nhóm nhưng không thể có được .gif để làm việc.Gif Animation trong Gnuplot

Sự cố của tôi tương tự như sự cố do Glen MacLachlan thực hiện trong kênh youtube của anh ấy, phần 5. Thay vì 1 điểm, tôi có ~ 50 điểm dữ liệu cho từng phần dữ liệu. Ông giải quyết vấn đề bằng cách sử dụng tính năng chỉ mục $, và tôi đã cố gắng làm như vậy nhưng tôi không làm việc.

Tôi đang thiếu gì? Tôi có thực sự phải vẽ dữ liệu riêng biệt thành các tệp .png và nhóm chúng lại với nhau để lấy tệp .gif không?

Điều tôi đã làm :::

Tôi đã chỉnh sửa tệp dữ liệu. Trước đây có hai cột x và y. Bây giờ, tôi có chúng ở cột thứ 2 và thứ 3, và cột đầu tiên là chỉ mục từ 0 đến 50. Mỗi khối dữ liệu có chỉ mục tương tự.

bash script để tạo ra cốt truyện tập tin

for ((i=0;i < 50; i++)) do echo "plot 'data.txt' 
u 2:3 w circles index $i"; done >>simulate.plt 

Nó chỉ lô TẤT CẢ các điểm dữ liệu

Trả lời

9

Tại sao bạn không hiển thị những gì bạn đã thử?

Sau đây nên hoạt động tốt:

set terminal gif animate delay 100 
set output 'foobar.gif' 
stats 'datafile' nooutput 
set xrange [-0.5:1.5] 
set yrange [-0.5:5.5] 

do for [i=1:int(STATS_blocks)] { 
    plot 'datafile' index (i-1) with circles 
} 

với file datafile:

0 
1 


2 
3 


4 
5 

cho

enter image description here

+0

Cảm ơn. Nó cho tôi một lỗi nói rằng x-range không hợp lệ. Tôi đã thử âm mưu 'datafile' u 1: 2 là tốt. Khi tôi gỡ bỏ phần chỉ mục (i-1), nó đã tạo ra một tệp, nhưng nó vẽ tất cả dữ liệu nhiều lần. – Krishna

+0

Tôi đã cập nhật câu trả lời để đưa ra ví dụ đầy đủ, đang chạy. Nếu nó vẫn không hoạt động cho bạn, vui lòng cung cấp liên kết đến tệp dữ liệu của bạn và tập lệnh ví dụ tối thiểu nhưng có thể chạy được hiển thị sự cố. – Christoph

+0

Cảm ơn rất nhiều. Nó không phải là hoàn hảo, nhưng tôi nhận được .gif tập tin đó "animates". – Krishna