2017-09-18 3 views
2

Ich bin ein Drag-Box erstellen, um die Funktion patch heranzuzoomen. Ich erhalte die folgende Fehlermeldung, wenn ich ziehe:Fehler bei der Verwendung von Patch in MATLAB

Error using patch 
Not enough input arguments. 

Error in boxReady (line 31) 
guiele.dragBox = patch(guiele.ResponsePlotAxis, ... 
         repmat(vabls.CurrentPoint(1,1),[1 4]), ... 
         repmat(vabls.CurrentPoint(1,2),[1 4])); 

Hier ist der Code ist Ich verwende:

% This is the point the cursor is at when the user presses down. drawBox is called again 
% when the button is released and the current point then is the other corner of the patch 
vabls.CurrentPoint = get(guiele.ResponsePlotAxis,'CurrentPoint'); 

set(guiele.ResponsePlotLine,'erasemode','none'); 

XYLims=[get(guiele.ResponsePlotAxis,'xlim') get(guiele.ResponsePlotAxis,'ylim')]; 

axes(guiele.ResponsePlotAxis); 
hold on; 
if ishandle(guiele.dragBox) 
    delete(guiele.dragBox); 
end 
guiele.dragBox = patch(guiele.ResponsePlotAxis, ... 
         repmat(vabls.CurrentPoint(1,1),[1 4]), ... 
         repmat(vabls.CurrentPoint(1,2),[1 4])); 
set(guiele.dragBox,'FaceColor','none','EdgeColor','r','LineStyle',':'); 

% initialize some varaiables 
guiele.ResponsePlotAxis=-1; 
guiele.dragBox = -1; 
+1

Sie sind nicht 'patch' genug Eingänge geben. Überprüfen Sie die Hilfeseite für "Patch" gegen die Eingaben, die Sie geben. – David

Antwort

3

Die Drei-Argument Form für patch (oder 4-Argument Form mit einem Achse Griff) erfordert dass Sie eingeben color data für jeden Patch auch:

patch(X, Y, C); 
% Or ... 
patch(ax, X, Y, C); 

Wenn Sie keine Farbdaten eingeben möchten, können Sie das folgende Formular nutzen:

patch(ax, 'XData', X, 'YData', Y); 

So Ihren Anruf patch würde wie folgt aussehen:

guiele.dragBox = patch(guiele.ResponsePlotAxis, ... 
         'XData', repmat(vabls.CurrentPoint(1, 1), [1 4]), ... 
         'YData', repmat(vabls.CurrentPoint(1, 2), [1 4])); 
+0

Vielen Dank! Ich bin sehr neu auf dieser Website und bisher habe ich so viel von Ihnen gelernt. –

Verwandte Themen