Chcę uzyskać figurę Matlaba za pomocą funkcji bar
, ale gdy wykreślona jest rzeczywista liczba, zamiast wyświetlać liczby pod każdym słupkiem, który chcę wyświetlić, który reprezentuje tę rzeczywistą wykreśloną wartość.
Na przykład mam wektor x = [1 2 3]
i zamiast pokazywać 1, 2 i 3 pod każdym wykreślonym słupkiem, chcę wyświetlić ciąg odpowiadający jednej z tych wartości y = {'sam'; 'alan'; 'ellie'}
Czy mógłbyś wyjaśnić, jak mogę to uzyskać?
2 odpowiedzi
x = [1 2 3];
str = {'sam'; 'alan'; 'ellie'};
bar(x)
set(gca, 'XTickLabel',str, 'XTick',1:numel(str))
http://www.mathworks.com/matlabcentral/newsreader/view_thread/21178
Labels = {'a', 'b', 'c', 'd'};
set(gca, 'XTick', 1:4, 'XTickLabel', Labels);
Jeśli chcesz zmienić etykiety Y, zastąp YTickLabel XTickLabel
Podobne pytania
Nowe pytania
matlab
MATLAB to język wysokiego poziomu i interaktywne środowisko programistyczne do obliczeń numerycznych i wizualizacji opracowane przez MathWorks. Nie używaj zarówno tagów [matlab], jak i [octave], chyba że pytanie wyraźnie dotyczy podobieństw lub różnic między nimi. Używając tego tagu, podaj wersję MATLAB, z którą pracujesz (np. R2017a).
XTick
. Jestem jednak ciekaw, czy masz przykład, w którym etykiety są niewłaściwie umieszczone?hold on
; tworzy oś z domyślnymi znacznikami, a po dodaniu do niej wykresu słupkowego najwyraźniej stara się utrzymać tę samą liczbę znaczników. W tym momencie niestandardowe etykiety są stosowane rotacyjnie (ponownie używane), ponieważ teraz masz więcej znaczników niż odpowiadające im etykiety. Aktualizuję swoją odpowiedź, dzięki Jacob.