pmav99 Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 Ακριβώς επειδή θα μπει σε διπλωματική, παρουσίαση κτλ έχει νοήμα να έχεις ένα global configuration και όχι να το ορίζεις σε κάθε κλήση της plot()... Μόνο έτσι θα είσαι σίγουρος ότι όταν θα παράγεις για τελευταία φορά όλα τα διαγράμματά σου θα είναι όλα το ίδιο. Το να το ορίζεις σε κάθε κλήση έχει νόημα όταν θες πχ να το πειράζεις σε ένα interactive session. αν δεις στο πρώτο graph (cpu) τυπώνω 2 γραφικές με διαφορετικά χρώματα και markers στο ίδιο figure. To CPU είναι το δεύτερο figure. Ανεξαρτήτως αυτού, το γεγονός ότι ορίζεις διαφορετικά markers όταν καλείς την plot_metric() kind of defeats the purpose of defining defaults in the first place (`_metrics` dictionary) Anyway, εγώ κάπως έτσι θα το έκανα (και θα πηγαινα σε python 3): https://gist.github.com/pmav99/12233c503dbe13ecda83147c1f699a4c
Dr.Fuzzy Δημοσ. 13 Απριλίου 2016 Μέλος Δημοσ. 13 Απριλίου 2016 Ακριβώς επειδή θα μπει σε διπλωματική, παρουσίαση κτλ έχει νοήμα να έχεις ένα global configuration και όχι να το ορίζεις σε κάθε κλήση της plot()... Μόνο έτσι θα είσαι σίγουρος ότι όταν θα παράγεις για τελευταία φορά όλα τα διαγράμματά σου θα είναι όλα το ίδιο. Το να το ορίζεις σε κάθε κλήση έχει νόημα όταν θες πχ να το πειράζεις σε ένα interactive session. To CPU είναι το δεύτερο figure. Ανεξαρτήτως αυτού, το γεγονός ότι ορίζεις διαφορετικά markers όταν καλείς την plot_metric() kind of defeats the purpose of defining defaults in the first place (`_metrics` dictionary) Anyway, εγώ κάπως έτσι θα το έκανα (και θα πηγαινα σε python 3): https://gist.github.com/pmav99/12233c503dbe13ecda83147c1f699a4c Μα ακριβώς αυτό! Το _matrics dictionary έχει τα defaults, οπότε αν καλέσεις την plot_metric χωρίς τα args πάντα θα έχεις το default επιλεγμένο style στα graphs! Αν πάλι χρειαστώ σε κάποια φάση να κάνω deviate από τα defaults μπορώ εύκολα να τα κάνω overide περνώντας args. Αυτό ήταν το σκεπτικό της συγκεκριμένης υλοποίησης. Σε Python 3 δύσκολο διότι πολλές από τις 3rd party libs που χρησιμοποιώ έχουν γραφτεί σε Python 2. Εν τω μεταξύ μόλις τώρα συνειδητοποίησα ότι το post #26 ήθελα να το κάνω στο topic: Python class προτάσεις βελτίωσης και όχι σε αυτό το topic! Αν μπορεί κάποιος admin να μεταφέρει τα μηνύματα από το #26 και κάτω...
pmav99 Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 Μα ακριβώς αυτό! Το _matrics dictionary έχει τα defaults, οπότε αν καλέσεις την plot_metric χωρίς τα args πάντα θα έχεις το default επιλεγμένο style στα graphs! Αν πάλι χρειαστώ σε κάποια φάση να κάνω deviate από τα defaults μπορώ εύκολα να τα κάνω overide περνώντας args. Αυτό ήταν το σκεπτικό της συγκεκριμένης υλοποίησης. Τώρα έχεις 3 διαφορετικά figures και ορίζεις 3 διαφορετικά dictionaries Και όταν χρειαστεί να δημιουργήσεις άλλα 10 figures; άλλα 100 figures; άλλα 1000 figures; Θα κάθεσαι στο κάθε ένα να ορίζεις markers και line-styles; Αν κάποιο/κάποια από τα figures είναι υπερβολικά περίπλοκο, εκεί όντως θα χρειαστεί να βάλεις χεράκι για να γίνει όμορφο, αλλά για τα υπόλοιπα καλό είναι να έχεις global defaults με κοινά conventions. just my 2 cents.
Dr.Fuzzy Δημοσ. 13 Απριλίου 2016 Μέλος Δημοσ. 13 Απριλίου 2016 (επεξεργασμένο) Ναι καταλαβαίνω το σκεπτικό σου και ειναι λογικό όπως το θέτεις, αλλα στο συγκεκριμένο ερευνητικό project ίσως να χρειαστεί να προστεθεί άλλο ενα metric graph το πολύ (και αν). Επεξ/σία 13 Απριλίου 2016 από Dr.Fuzzy
k33theod Δημοσ. 13 Απριλίου 2016 Δημοσ. 13 Απριλίου 2016 (επεξεργασμένο) Dr. Fuzzy σχετικά με την class, για να κάνεις ένα αντικείμενο χρειάζεται 8 παραμέτρους; Το περισσότερο που έχω συναντήσει είναι 5 άντε 6. Μετά από λίγους μήνες ούτε εσύ θα θυμάσαι τι και με ποιά σειρά είναι όλα αυτά.Η γνώμη μου είναι να κάνεις τις παραμέτρους 2 3 και 0 ακόμα καλύτερα και τις άλλες βάλε κάτι default ή τις εισάγει ο χρήστης.Το ίδιο για την plot_metric Όπως έχεις γράψει το test θα σου τρέχει μόλις το κάνεις import γράψε πάνω από τεστ if __name__ == '__main__': Επίσης αυτό np.array(range(10)).T δεν ξέρω τι είναι αλλά η numpy έχει δική της συνάρτηση range την arange https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.arange.html#numpy.arange ίσως βοήθαει Επεξ/σία 14 Απριλίου 2016 από k33theod
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα