سؤال

يبدو مدخلاتي إلى Gnuplot شيئا مثل هذا:

1:00am  1       10
1:00am  30      12
1:01am  60      18
1:01am  90      20
1:02am  120     21
...

يحتوي العمود الأول (ما أود أن أكون) ملصقات XIS XIS، في حين أن العمود الثاني يحتوي على قيم المحور X. (في النقطة الفعلية من الحقيقة، لدي صف واحد في الثانية، لذلك لدى العديد من الصفوف "1:00 ص" في عمود التسمية، ثم "1:01:00، إلخ).

يمكنني رسم القيم التي أهتم بها باستخدام شيء مثل:

gnuplot> plot "my_data.txt" using 2:3 with lines

ويمكنني تعيين المحور X للحصول على علامة (وتسمية) كل 30 دقيقة (وهو 30 * 60 = 1800 ثانية)، لكن التسمية التي يستخدمها هي قيمة المحور x (شيء مثل 3600 لمدة ساعة واحدة).

ما لا أستطيع الحصول عليه هو تسميات التي تظهر تحت كل علامة لاستخدام القيم من العمود الأول. لا أستطيع حتى أن أجد أي شيء يبدو وداخل في دليل gnuplot. يجب أن أفترض أن هذا ممكن، أنا فقط لا أعرف من أين تبدو.

يحرر:

التقدم، لقد اكتشفت xticlabels() المعلمة إلى plot. وبعد المشكلة هي أنه يبدو أنه يرسم هذه الملصقات لكل XTIC (أي واحدة في الثانية الواحدة في مجموعة البيانات الخاصة بي)، بدلا من الفواصل الزمنية المحددة من قبل set xtics.

تحرير والإجابة:

يتحول gnuplot لديه دعم لبيانات سلسلة الوقت الرسم البياني. للفضول:

set timefmt "%H:%M:%S"
set xdata time

يؤدي هذا إلى تفسير بيانات المحور X (بمجرد إعادة تهيئة هذا النمط) كبيانات سلسلة زمنية. ثم يتم دمج هذا مع

set xtics 3600

تنسيق المحور X كما وصفته.

هل كانت مفيدة؟

المحلول

آسف اشتعلت هذا في وقت متأخر، ولكن كان نعم اقتراح set timefmt ... ; set xdata time. وبعد أنا دائما تمر في شكل وقتي كما %s ولكن بمجرد ممارسة شائعة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top