WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Marker bei Plots

 

Dominiques
Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.07.2016, 13:15     Titel: Marker bei Plots
  Antworten mit Zitat      
Hallo zusammen,
ich bins mal wieder Very Happy

Ich habe jetzt einiges gegoogelt, aber ich finde präzise Lösung hierzu.

Der Code läuft einwandfrei, warscheinlich einbisschen übertrieben und ineffizient, jedoch gehts. Im allgemeinen geht es um um einen Plot der 305 Tage (1.7.2015 bis 30.4.2016) enthält und 4 mal dargestellt wird in Temperatur, Wolkenbedeckung, etc..

Gerne möchte ich am Tag 80, 120, 150, 200 rote Marker bekommen, weil ich besondere Daten an diesen Tagen habe.

Hier sind zwei Datensätze die man benötigt um den Code laufen zu lassen:

http://www.dongiatti.com/wp-content...../07/ERA_INTERIM_DAILY.rar

der Code ist folgender:

Code:
file12 = 'ERA_Piton_12pm.nc'; % La Réunion 2016, Grid: 0.125^2
ncdisp(file12);

% tcwv12 = ncread(file12,'tcwv'); %read .netcdf  File from ERA Interim
% temp2m12 = ncread(file12,'t2m'); %read .netcdf  File from ERA Interim
% tcloudcover12 = ncread(file12,'tcc'); %read .netcdf  File from ERA Interim
% pressure12 = ncread(file12,'sp'); %read .netcdf  File from ERA Interim
% longitude12 = ncread(file12, 'longitude');
% latitude12 = ncread(file12, 'latitude');
time12 = ncread(file12,'time'); %works

%% 12Uhr

tcwp12 = ncread(file12,'tcwv',[13 9 1], [3 4 Inf], [1 1 1]); %[longitude latitude 1], [14 16 Inf], [1 1 1]);
for i= 1:size(tcwp12,3)
    tcwp_12=tcwp12(:,:,i);
    tcwp_12_oneval(i)=mean2(tcwp_12);
end


temp2m12 = ncread(file12,'t2m',[13 9 1], [3 4 Inf], [1 1 1]); %[longitude latitude 1], [14 16 Inf], [1 1 1]);  
for i= 1:size(temp2m12,3)
    t2m_12=temp2m12(:,:,i);
    t2m_12_oneval(i)=mean2(t2m_12);
end

tcloudcover12 = ncread(file12,'tcc',[13 9 1], [3 4 Inf], [1 1 1]); %[longitude latitude 1], [14 16 Inf], [1 1 1]);
for i= 1:size(tcloudcover12,3)
    tcc_12=tcloudcover12(:,:,i);
    tcc_12_oneval(i)=mean2(tcc_12);
end


pressure12 = ncread(file12,'sp',[13 9 1], [3 4 Inf], [1 1 1]); %[longitude latitude 1], [14 16 Inf], [1 1 1]);
for i= 1:size(pressure12,3)
    sp_12=pressure12(:,:,i);
    sp_12_oneval(i)=mean2(sp_12);
end





%% 18Uhr
file18 = 'ERA_Piton_18pm.nc'; % La Réunion 2016, Grid: 0.125^2
ncdisp(file18);

% tcwv18 = ncread(file18,'tcwv'); %read .netcdf  File from ERA Interim
% temp2m18 = ncread(file18,'t2m'); %read .netcdf  File from ERA Interim
% tcloudcover18 = ncread(file18,'tcc'); %read .netcdf  File from ERA Interim
% pressure18 = ncread(file18,'sp'); %read .netcdf  File from ERA Interim
% longitude18 = ncread(file18, 'longitude');
% latitude18 = ncread(file18, 'latitude');
time18 = ncread(file18,'time'); %works


tcwp18 = ncread(file18,'tcwv',[13 9 1], [3 4 Inf], [1 1 1]); %[longitude latitude 1], [14 16 Inf], [1 1 1]);
for i= 1:size(tcwp18,3)
    tcwp_18=tcwp18(:,:,i);
    tcwp_18_oneval(i)=mean2(tcwp_18);
end

temp2m18 = ncread(file18,'t2m',[13 9 1], [3 4 Inf], [1 1 1]); %[longitude latitude 1], [14 16 Inf], [1 1 1]);  
for i= 1:size(temp2m18,3)
    t2m_18=temp2m18(:,:,i);
    t2m_18_oneval(i)=mean2(t2m_18);
end


tcloudcover18 = ncread(file18,'tcc',[13 9 1], [3 4 Inf], [1 1 1]); %[longitude latitude 1], [14 16 Inf], [1 1 1]);

for i= 1:size(tcloudcover18,3)
    tcc_18=tcloudcover18(:,:,i);
    tcc_18_oneval(i)=mean2(tcc_18);
end

pressure18 = ncread(file18,'sp',[13 9 1], [3 4 Inf], [1 1 1]); %[longitude latitude 1], [14 16 Inf], [1 1 1]);

for i= 1:size(pressure18,3)
    sp_18=pressure18(:,:,i);
    sp_18_oneval(i)=mean2(sp_18);
end


%% 15 Uhr Calculation


tcwp_15_oneVal=(tcwp_18_oneval+tcwp_12_oneval)/2;
t2m_15_oneVal=(t2m_18_oneval+t2m_12_oneval)/2;
t2m_15_oneVal_C=(t2m_15_oneVal-273.15);
tcc_15_oneVal=(tcc_18_oneval+tcc_12_oneval)/2;
sp_15_oneVal=(sp_18_oneval+sp_12_oneval)/2;
sp_15_oneVal_mbar=(sp_15_oneVal/100);

%% Plottings

figure(1)
t = [13 85 154 222]; % place markers at these x-values
plot(tcwp_15_oneVal);
xlabel('Days from 1.7.2015 - 30.4.2016','fontsize',12);
ylabel('Water Vapor amount in [kg m**-2]','fontsize',12);
title(' Total column water vapour');
xlim([0 306])
% hold on
% plot(142,tcwp_15_oneVal,'r*')
% hold on
axis xy
print -dpng Total_column_water_vapour_305days.png


figure(2)
plot(t2m_15_oneVal_C);
xlabel('Days from 1.7.2015 - 30.4.2016','fontsize',12);
ylabel('Temperature [C]','fontsize',12);
title(' Temperature 2m above surface ');
xlim([0 306])
axis xy
print -dpng Temperature_2m_above_surface_305days.png


figure(3)
plot(tcc_15_oneVal);
xlabel('Days from 1.7.2015 - 30.4.2016','fontsize',12);
ylabel('Cloud Cover from 0-1 ','fontsize',12);
title(' Total cloud coverage');
xlim([0 306])
axis xy
print -dpng Total_cloud_cover_305days.png


figure(4)
plot(sp_15_oneVal_mbar);
xlabel('Days from 1.7.2015 - 30.4.2016','fontsize',12);
ylabel('Surface pressure value in [mbar]','fontsize',12);
title(' Surface pressure');
xlim([0 306])
axis xy
print -dpng Surface_pressure_from_305days.png
 


Viele Grüsse und Danke für jeglichen Input!

Dome
Private Nachricht senden Benutzer-Profile anzeigen


Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2016, 20:18     Titel:
  Antworten mit Zitat      
Bitte um kurze Hilfestellung, Danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.08.2016, 22:34     Titel:
  Antworten mit Zitat      
Hallo,

deine eigentliche Fragestellung ist recht einfach. Dein Code ist dafür sehr lang und es ist wirklich unverhältnismäßig, sich durch diesen Code zu wühlen, um deine Frage zu beantworten.

Die Lösung sollte etwas folgender Art sein:
Code:
hold on
plot(x80, y80, 'ro')


Dabei sind x80 und y80 die Daten für Tag 80.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2016, 23:14     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine schnelle Antwort.

Ja das genau habe ich auch bereits probiert, jedoch ohne Erfolg

Hier der Coder zur Figure:

Code:
figure(1)
t = [13 85 154 222]; % place markers at these x-values
plot(tcwp_15_oneVal);
set(gca,'fontsize',13,'fontweight','demi')
xlabel('Days from 1.7.2015 - 31.5.2016');
xlim([0 336])
ylabel('Water Vapor amount in [kg m**-2]');
title(' Total column water vapour', 'FontSize', 14);
axis xy
hold on
plot(x80, y80, 'ro')
set(gcf, 'Color', 'w');
saveas(gcf, 'Total_column_water_vapour_305days.png'); %png saving
export_fig Total_column_water_vapour_305days -png -m4 -pdf -q101
%print -dpng Total_column_water_vapour_305days.png


Die Variable "tcwp_15_oneVal" hat 1x336 Werte.

Viele Grüsse
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.08.2016, 00:41     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
jedoch ohne Erfolg

Und welches Problem ist dabei aufgetreten?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.08.2016, 00:52     Titel:
  Antworten mit Zitat      
Code:
Undefined function or variable 'x80'.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.08.2016, 01:01     Titel:
  Antworten mit Zitat      
Hallo,

Wie gesagt:
Zitat:
Dabei sind x80 und y80 die Daten für Tag 80.

Natürlich musst du x80 und y80 schon selbst definieren.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.08.2016, 01:26     Titel:
  Antworten mit Zitat      
Alles gut! Smile

Läuft einwandfrei!

Danke dir!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.