2017-01-13 5 views

Antwort

1

Eine Möglichkeit besteht darin, eine weitere Achse über die erste Achse zu legen und die xaxis-Position an die Spitze zu setzen. Hier ist ein kleines Beispiel.

% Some example data 
d = linspace(now,now-7,7); 
y = randn(size(d)); 

% Create first axes 
ax1 = axes; 
plot(d,y); 
datetick(ax1, 'x', 'yy-mm-dd') 

% Create second axes 
ax2 = axes; 
plot(d,y,'Visible', 'off'); % No need to show doubles 
set(ax2, 'Position', ax1.Position, 'XAxisLocation', 'top', ... 
    'Color', 'none' ,'YTick', []); 
datetick(ax2, 'x', 'ddd') 

enter image description here

+0

Ja, aber ich muss auf der oberen X-Achse verstrichenen Tage angezeigt werden soll. Folgendes ist fehlgeschlagen. klar; alle schließen; % Einige Beispieldaten über 150 Tage d = linspace (jetzt, jetzt-150, 20); x = lnnenraum (1,20,20); y = randn (Größe (d)); % Erste Achsen erstellen ax1 = Achsen; Diagramm (d, y); Datumstick (ax1, 'x', 'tt-mm-yy') xlabel ('Datum'); % Zweite Achsen erstellen ax2 = Achsen; plot (x, y, 'Sichtbar', 'aus'); % Keine Notwendigkeit, Doppel anzuzeigen gesetzt (ax2, 'Position', ax1.Position, 'XAxisLocation', 'top', ... 'Farbe', 'keine', 'YTick', [], 'Xtick', lnnenraum (1,20,20)); xlabel ('Tage') – user2260180

+1

Möchten Sie jeden der 150 Tage anzeigen? Vergiss nicht den letzten Teil von meinem Beispiel 'datetick (ax2, 'x', 'ddd')' in deinem Code. Der Xtick, linspace (1,20,20) wird nicht benötigt. – NLindros