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

Abbildung erzeugen mit Funktion createfigure erzeugt Fehler

 

simsl
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 16.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2014, 23:06     Titel: Abbildung erzeugen mit Funktion createfigure erzeugt Fehler
  Antworten mit Zitat      
Hallo zusammen,

ich komme gerade nicht weiter, vielleicht kennt jemand bereits das Problem und kann mir weiterhelfen.

Ich habe eine Funktion generiert, die nach meinen gewünschten Eigenschaften Funktionen erzeugt.
Nun lasse ich sie mit verschiedenen Eingangsdaten durchlaufen und plotte diese in einzelne Abbildungen.
Bei den ersten zwei Durchläufen klappt alles wie gewünscht, jedoch beim 3. und 4. Durchgang sind die Werte viel zu hoch (die Daten in den geplotteten Vektoren stimmen jedoch, auch wenn ich die Daten über plot(...) plotte, stimmt die Abbildung).
Wahrscheinlich liegt es an der Benennung der Abbildungen oder daran, dass irgendwo alles zurückgesetzt werden muss?

Bin um jede Hilfe dankbar!


Anbei meine Funktion:
Code:

function createfigure_hourly_energy_demand(X1,YMatrix)
%  X1:  vector of x data
%  Y1:  vector of y data

% Create figure
figure1 = figure('PaperType','A3','PaperSize',[41.948713346 29.681205808],...
    'PaperOrientation','landscape',...
    'Color',[1 1 1]);

% Create axes
axes1 = axes('Parent',figure1,...
    'YTickLabel',{'0','50.000','100.000','150.000','200.000','250.000','300.000','350.000','400.000','450.000'},...
    'TickDir','out',...
    'Position',[0.13 0.11 0.853253588516746 0.815],...
    'FontSize',10,...
    'FontName','Frutiger 45 Light');
% to preserve the X-limits of the axes
xlim(axes1,[0 8760]);
hold(axes1,'all');

% Create multiple lines using matrix input to plot
plot1 = plot(X1,YMatrix,'Parent',axes1,'LineWidth',0.1);
set(plot1(1),'Color',[0 0.462745100259781 0.721568644046783],...
    'DisplayName','Szenario A');
set(plot1(2),'Color',[0.678431391716003 0.921568632125854 1],...
    'DisplayName','Szenario B');
set(plot1(3),'Color',[0.325490206480026 0.65490198135376 0.835294127464294],...
    'DisplayName','Szenario C');

% Create xlabel
xlabel('Zeit [h]','FontSize',10,'FontName','Frutiger 45 Light');

% Create ylabel
ylabel('Energiebedarf [kWh]','FontName','Frutiger 45 Light',...
    'HorizontalAlignment','left');

% Create legend
legend1 = legend(axes1,'show');
set(legend1,'EdgeColor',[1 1 1],'YColor',[1 1 1],'XColor',[1 1 1],...
    'Position',[0.472861356932153 0.823463056965594 0.106194690265487 0.107727016356458]);



Und hier der Aufruf der Funktion:
Code:
createfigure_hourly_energy_demand(time_hour,[Q_ges_07_ele_A,Q_ges_07_ele_B,Q_ges_07_ele_C]);
createfigure_hourly_energy_demand(time_hour,[Q_ges_09_ele_A,Q_ges_09_ele_B,Q_ges_09_ele_C]);
createfigure_hourly_energy_demand(time_hour,[Q_ges_20_min_ele_A,Q_ges_20_min_ele_B,Q_ges_20_min_ele_C]);
createfigure_hourly_energy_demand(time_hour,[Q_ges_20_plu_ele_A,Q_ges_20_plu_ele_B,Q_ges_20_plu_ele_C]);


untitled.png
 Beschreibung:
Dies wäre die korrekte Abbildung

Download
 Dateiname:  untitled.png
 Dateigröße:  8.73 KB
 Heruntergeladen:  312 mal
Plot_Strombedarf_20_min.png
 Beschreibung:
Dies ist die fehlerhafte Abbildung von: createfigure_hourly_energy_demand(time_hour,[Q_ges_20_min_ele_A,Q_ges_20_min_ele_B,Q_ges_20_min_ele_C]);

Download
 Dateiname:  Plot_Strombedarf_20_min.png
 Dateigröße:  24.69 KB
 Heruntergeladen:  325 mal
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 03.11.2014, 15:37     Titel:
  Antworten mit Zitat      
Hallo

das liegt daran, dass du von Hand die Tick's Labels der Y-Achse verändert hast, also nur die Namen, nicht die Werte:

Rot -Markierte muss weg und ist so nicht richtig:

% Create axes
axes1 = axes('Parent',figure1,...
'YTickLabel',{'0','50.000','100.000','150.000','200.000','250.000','300.000','350.000','400.000','450.000'},...
'TickDir','out',...
'Position',[0.13 0.11 0.853253588516746 0.815],...
'FontSize',10,...
'FontName','Frutiger 45 Light');




wenn du die Y-Ticks so skaliert haben möchtest, dann so
Code:

axes1 = axes('Parent',figure1,...
    'YLim', [0 450],...
    'YTick',0:50:450,...
    'TickDir','out',...
    'Position',[0.13 0.11 0.853253588516746 0.815],...
    'FontSize',10,...
    'FontName','Frutiger 45 Light');


 


oder über SET-Methode:

Code:

axes1 = axes('Parent',figure1,...  
    'TickDir','out',...
    'Position',[0.13 0.11 0.853253588516746 0.815],...
    'FontSize',10,...
    'FontName','Frutiger 45 Light');

set(axes1,  'YLim', [0 450],...
    'YTick',0:50:450);

 
Private Nachricht senden Benutzer-Profile anzeigen
 
simsl
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 16.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.11.2014, 12:59     Titel:
  Antworten mit Zitat      
Ah verstehe, ja jetzt funktioniert es. Bestens, vielen vielen Dank!!!
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.