Πρόβλημα με labels στο gnuplot

...office, φωτογραφία, CAD, spss, latex, κλπ

Συντονιστής: adem1

Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό stefanostam » 07 Νοέμ 2009, 19:38

Καλησπέρα

Έχω ένα θεματάκι με το gnuplot. Σε ένα γράφημα που δημιουργώ χρησιμοποιώντας την εντολή multiplot μου εμφανίζονται τα διαγραμμάτα που θέλω με διαφορετικό χρώμα.Πως μπορώ να βάλω labels τα οποία θα λένε το κάθε χρώμα ποια μεταβλητή αντιπροσωπεύει;;

thanks
stefanostam
babeTUX
babeTUX
 
Δημοσιεύσεις: 14
Εγγραφή: 14 Οκτ 2009, 19:08
Εκτύπωση

Re: Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό Dimitris » 07 Νοέμ 2009, 19:53

Εκεί που κάνεις plot δίνεις τον τίτλο του γραφήματος με:
Κώδικας: Επιλογή όλων
plot x title 'foo', x**2 title 'bar'



ΥΓ. Αυτοπροβολή: ρίξε μια ματιά σ'αυτόν τον οδηγό viewtopic.php?f=9&t=135&p=737&hilit=gnuplot#p737
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό stefanostam » 07 Νοέμ 2009, 20:21

Κοιτάω αυτον τον οδηγό για να καταλάβω τις εντολές του και αυτό που δεν καταλαβαίνω είναι με ποια λογική βάζει τα χρώματα στα γραφήματα.

Έγραψα αυτό
Κώδικας: Επιλογή όλων
set terminal jpeg
set output "myfile.jpeg"
set multiplot
plot x**2
plot sin(x)
plot 1/tan(x)
unset multiplot


και μου έβγαλε ενα διάγραμμα με τα χ**2 sin(x) kai 1/tan(x) να είναι το ένα πάνω στο άλλο και με το ίδιο χρώμα..
Τι κάνω λάθος;
stefanostam
babeTUX
babeTUX
 
Δημοσιεύσεις: 14
Εγγραφή: 14 Οκτ 2009, 19:08
Εκτύπωση

Re: Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό Dimitris » 07 Νοέμ 2009, 20:32

Στο περιβάλλον multiplot, κάθε νέο plot δε σβήνει το προηγούμενο. Αν δεν είχες multiplot, και έγραφες μόνο:
Κώδικας: Επιλογή όλων
plot x**2
plot sin(x)
plot 1/tan(x)

πάλι δε θα έπαιρνες αυτό που ήθελες, θα έβλεπες μόνο το πρώτο ή το τελευταίο ανάλογα με το terminal. Για να έχεις όλα τα διαγράμματα ταυτόχρονα με το ίδιο χρώμα θα πρέπει να γράψεις:
Κώδικας: Επιλογή όλων
plot x, sin(x), 1/tan(x)

ή με τίτλους
Κώδικας: Επιλογή όλων
plot x title 'x', sin(x) title 'sin(x)', 1/tan(x) title '1/tan(x)'

ή σε multiplot:
Κώδικας: Επιλογή όλων
set terminal jpeg
set output "myfile.jpeg"
set multiplot
plot x**2 title 'x**2', plot sin(x) title 'sin(x)', plot 1/tan(x) title 'sin(x)'
unset multiplot


Αλλά το multiplot χρησιμοποιείται για να έχεις δύο διαγράμματα, με διαφορετικούς άξονες το ένα διπλα/πάνω/κατω/κλπ στο/απο το άλλο.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό stefanostam » 08 Νοέμ 2009, 14:09

Κώδικας: Επιλογή όλων
ifonct = ifonct+1
plot "$0" using ifonct+1:1 with lines linetype ifonct
if(ifonct < nfonct) reread


έχω αυτό το αρχείο που τρέχω με το gnuplot το οποίο παίρνει σαν όρισμα ένα άλλο αρχείο με 1000 τιμές απο διάφορα στοιχεία με βάση τα οποία κάνει το muliplotting και δημιουργεί στο τέλος ένα γράφημα που περιέχει τις γραφικές παραστάσεις όλες μαζί.(Βασικά το έχει φτιάξει κάποιος άλλος και προσπαθώ να κάνω τα labels που λένε ποιο χρώμα αντιστοιχεί σε τι να φαίνονται)

Προφανώς το $0 αναφέρεται στο αρχείο με τις διάφορες τιμές με βάση τις οποίες γίνεται το plotting.Το using ifonct+1:1 τι κάνει ακριβώς;;;
stefanostam
babeTUX
babeTUX
 
Δημοσιεύσεις: 14
Εγγραφή: 14 Οκτ 2009, 19:08
Εκτύπωση

Re: Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό Dimitris » 08 Νοέμ 2009, 14:22

Αυτό δεν είναι τίποτε άλλο από ένα loop όπου αν το ifcont < nfonct τότε ξανατρέχει το αρχείο από την αρχή. $0 είναι το αρχείο δεδομένων. ifonct+1:1 κάνει plot τη στήλη ifonct+1 εναντι της 1ης του αρχείου $0 με γραμμές τύπου ifocnt. Για περισσότερες λεπτομέρειες δες http://t16web.lanl.gov/Kawano/gnuplot/misc1-e.html, αυτή η ιστοσελίδα έχει αρκετές πληροφορίες ίσως πιο κατανοητά σε σχέση με το documentation του gnuplot.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό stefanostam » 11 Νοέμ 2009, 18:55

Dimitris έγραψε:Αυτό δεν είναι τίποτε άλλο από ένα loop όπου αν το ifcont < nfonct τότε ξανατρέχει το αρχείο από την αρχή. $0 είναι το αρχείο δεδομένων. ifonct+1:1 κάνει plot τη στήλη ifonct+1 εναντι της 1ης του αρχείου $0 με γραμμές τύπου ifocnt. Για περισσότερες λεπτομέρειες δες http://t16web.lanl.gov/Kawano/gnuplot/misc1-e.html, αυτή η ιστοσελίδα έχει αρκετές πληροφορίες ίσως πιο κατανοητά σε σχέση με το documentation του gnuplot.


Υπάρχει κάποιος τρόπος έτσι ώστε όταν το προγραμματάκι αυτό διαβάσει την πρώτη γραμμή της ifonct+1 στήλης αυτό που θα διαβάσει να το βάλει σαν label που να αναφέρεται στο χρώμα με βάση το οποίο γίνεται η γραφική παράσταση των επόμενων στοιχείων της ίδιας στήλης???

Ελπίζω να είμαι κατανοητός :thumbup:
stefanostam
babeTUX
babeTUX
 
Δημοσιεύσεις: 14
Εγγραφή: 14 Οκτ 2009, 19:08
Εκτύπωση

Re: Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό Dimitris » 11 Νοέμ 2009, 20:57

Φυσικά και γίνεται. Αρκεί να το προγραμματίσεις. Έμαθες τους βρόχους, διάβασε τα ifs. Όταν θες την τιμή της i στήλης που μόλις διάβασες τότε δίνεις $i. Δοκίμασε και όταν έχεις πρόβλημα ξαναρώτα (τώρα δεν έχω πολύ χρόνο, το βράδυ ξανά)
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό stefanostam » 13 Νοέμ 2009, 13:20

Dimitris έγραψε:Αυτό δεν είναι τίποτε άλλο από ένα loop όπου αν το ifcont < nfonct τότε ξανατρέχει το αρχείο από την αρχή. $0 είναι το αρχείο δεδομένων. ifonct+1:1 κάνει plot τη στήλη ifonct+1 εναντι της 1ης του αρχείου $0 με γραμμές τύπου ifocnt. Για περισσότερες λεπτομέρειες δες http://t16web.lanl.gov/Kawano/gnuplot/misc1-e.html, αυτή η ιστοσελίδα έχει αρκετές πληροφορίες ίσως πιο κατανοητά σε σχέση με το documentation του gnuplot.


Dimitris έγραψε:Φυσικά και γίνεται. Αρκεί να το προγραμματίσεις. Έμαθες τους βρόχους, διάβασε τα ifs. Όταν θες την τιμή της i στήλης που μόλις διάβασες τότε δίνεις $i. Δοκίμασε και όταν έχεις πρόβλημα ξαναρώτα (τώρα δεν έχω πολύ χρόνο, το βράδυ ξανά)


Τι εννοείς με το bold?Δεν μπορώ να έχω τιμή μιας στήλης...Μηπως εννοείς την τιμή της i γραμμής της στήλης που βρίσκομαι(ifonct+1);;;
stefanostam
babeTUX
babeTUX
 
Δημοσιεύσεις: 14
Εγγραφή: 14 Οκτ 2009, 19:08
Εκτύπωση

Re: Πρόβλημα με labels στο gnuplot

Δημοσίευσηαπό stefanostam » 15 Νοέμ 2009, 14:59

http://t16web.lanl.gov/Kawano/gnuplot/datafile2-e.html

Το αρχείο μου είναι όπως είναι το πρώτο πρώτο αρχείο που εμφανίζεται στο link.Αν βγάλω τα # για να φύγουν τα σχόλια πως μπορώ να του πω τα X , Y , Z να μπουν σαν label με το αντίστοιχο χρώμα;

Βασικά δεν μπορώ να βρω πως μπορώ με το $i να αναφερθώ στα Χ , Υ , Ζ
stefanostam
babeTUX
babeTUX
 
Δημοσιεύσεις: 14
Εγγραφή: 14 Οκτ 2009, 19:08
Εκτύπωση


  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Εφαρμογές για Γραφείο / Γραφιστική / Επιστήμες