girl23 Δημοσ. 13 Ιουνίου 2014 Δημοσ. 13 Ιουνίου 2014 Καλησπέρα σας, Έχω την εξής άσκηση :1) Διαβάστε την εικόνα Greece.tif και το αρχειο clc_legend.xls. 2) Υπολογίστε τα ποσοστά εμφάνισης για κάθε τύπο land use που εμφανίζεται στη στήλη label2 στο αρχείο clc_legend.xls. Δημιουργήστε ένα bar plot με τα ποσοστά που υπολογίσατε και βάλτε colorbar, τίτλο και ονομάστε τους άξονες Θα ήθελα να δημιουργήσω ένα bar plot όπου το ραβδρόγραμμα να παίρνει διάφορα χρώματα ανάλογα με τις χρήσεις γης, στον άξονα Χ να υπάρχουν οι τιμές τις πρώτης στήλης του clc_legend.xls και να υπάρχει επίσης ένα legend με τις χρήσεις γης που και αυτές θα βγαίνουν μέσα από το clc_legend.xls (στήλη 4) Υπάρχει κάποιος που να γνωρίζει;;;Ευχαριστώ πολύ!!
Timonkaipumpa Δημοσ. 13 Ιουνίου 2014 Δημοσ. 13 Ιουνίου 2014 Εάν έχεις φτάσει μέχρι να έχεις διαβάσει και τα δύο αρχεία (την εικόνα και τον .xls) τότε. Μπορείς να κάνεις bar plot με την εντολή bar. Εάν το δηλώσεις ως: hf1 = bar() τότε με το hf1 μπορείς να αλλάξεις ότι θες στο διάγραμμα. Δες για figure handles στο MATLAB. Εάν δεν έχεις φτάσει μέχρι εκεί, τότε: Ψάξε στο google να δεις πως διαβάζουν ένα xls και κάνε το. Ψάξε στο google να δεις πως διαβάζουν μία εικόνα και κάνε το. Φτιάξε τον κώδικα μέχρι το σημείο που λέω στην αρχή. Κάνε αυτά που λέω στην αρχή. 1
girl23 Δημοσ. 13 Ιουνίου 2014 Μέλος Δημοσ. 13 Ιουνίου 2014 Thank you!!!!!έκανα και το bar plot και με χρώματα όλα κομπλέ... απλά θέλω τώρα να μου εμφανίσει στον άξονα Χ τις τιμές της πρώτης στήλης του αρχείου excel και να μου δημιουργηθεί δεξιά του bar plot ένα legend με τα χρώματα και την ονομασία των χρήσεων γης που βγαίνουν από το αρχείο excel συγκεκριμένα της στήλης 4 ώστε να εξηγώ τα χρώματα του bar plot...εκεί έχω κολλήσει δηλαδή....
Timonkaipumpa Δημοσ. 14 Ιουνίου 2014 Δημοσ. 14 Ιουνίου 2014 ααα... ΟΚ! Οι τιμές/ετικέτες στις τιμές του άξονα x αλλάζουν δύσκολα... ένα εύκολο shortcut είναι να φτιάξεις το διάγραμμα και μετά από το παράθυρο του figure πας: Edit -> Axes properties και εκεί πας στο ticks και αλλάζεις τα labels του άξονα σε ό,τι θες. Για το legend... όπως το είπες. Legend. Δες τι κάνει η εντολή legend 2
Dr.Fuzzy Δημοσ. 15 Ιουνίου 2014 Δημοσ. 15 Ιουνίου 2014 (επεξεργασμένο) Ε δεν είναι και τόσο δύσκολο. Δες τις xlabel και ylabel. Επίσης ρίξε και μια ματιά στο παρακάτω παράδειγμα. %Author: Dr.Fuzzy %Title: Comparison of implementation resources %Global settings clear all; clc, close all h=figure; barmap=[0.7 0.7 0.7;... 0.05 .45 0.1]; colormap(barmap); %Slices iba=[280/37680*100 50/37680*100 73/37680*100 34/37680*100 79/37680*100 44/37680*100]'; b=[205/37680*100 45/37680*100 63/37680*100 9/37680*100 44/37680*100 44/37680*100]'; bars1=[iba b]; x=[1 2 3 4 5 6]; bar(x,bars1); lh=legend('id:7','id1'); set(lh,'units','pixels'); lp=get(lh,'outerposition'); set(lh, 'FontSize',9); set(lh,'outerposition',[lp(1:2)+[15 20],70,25]); axis([0.5 6.5 0 0.9]); a1=get(gca,'Children'); ylabel('% of available'); title('Slices'); set(gca,'XTickLabel',''); k1a=text(x+0.1,bars1(:,1)+0.08,num2str(bars1(:,1),'%0.2f'),... 'HorizontalAlignment','center',... 'VerticalAlignment','bottom','FontSize',8); set(k1a,'Rotation',90); k1b=text(x+0.45,bars1(:,2)+0.08,num2str(bars1(:,2),'%0.2f'),... 'HorizontalAlignment','center',... 'VerticalAlignment','bottom','FontSize',8); set(k1b,'Rotation',90); ax=gca; set(ax, 'FontSize',9); set(ax, 'XTick',x,'XTickLabel',{'LQG','KBE','A','B', 'K', 'LQR'}); Επεξ/σία 15 Ιουνίου 2014 από Dr.Fuzzy 1
Timonkaipumpa Δημοσ. 15 Ιουνίου 2014 Δημοσ. 15 Ιουνίου 2014 Dr.Fuzzy Από ό,τι κατάλαβα είναι το "TickLabel" attribute που θέλει όχι το axis label. Σωστό αυτό που γράφεις, αλλά από το να εξηγεί κανείς για τα handles και πότε παίρνεις τίνος και βρες το ένα και το άλλο... προτίμησα το quick and dirty του axes properties.
Dr.Fuzzy Δημοσ. 15 Ιουνίου 2014 Δημοσ. 15 Ιουνίου 2014 και καλά έκανες, άλλωστε και εγώ εκτός από ειδικές περιπτώσεις που θέλω το αποτέλεσμα να είναι "publishing attractive" με το quick and dirty way το κάνω, όπως είπες. Κακά τα ψέματα ο τρόπος που έκανα post είναι μαζοχισμός!
Timonkaipumpa Δημοσ. 16 Ιουνίου 2014 Δημοσ. 16 Ιουνίου 2014 Μαζοχισμός αλλά για τίποτα batch processing είναι μονόδρομος (και λίγοι ξέρουν το πως να το κάνουν έτσι plus με τίποτα eval και string manipulation μπορείς να κάνεις παπάδες για δυναμικά παραγόμενα διαγράμματα).... αλλιώς θα πρέπει σε κάθε .fig να κάθεσαι να αλλάζεις τα labels για να κάνεις eps.... (π.χ.) 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα