2016-03-22 19 views
0

Üzerinde bir eksen kutusu bulunan bir GUI pencerem var ve bir çizim fonksiyonu kullanırken bu eksenler1 kutusundaki Y ekseni yönünü tersine çevirmek istiyorum. Ben kullanmaya çalıştığınızda Diyelim: Ben matlab.graphics.chart.primitive.Line kullanarak aşağıdaki hatayıEksenlerdeki Ters Y Ekseni

Hatası olsun

set(axes1,'YDir','reverse'); 

/
Hat sınıfını hiçbir YDir özelliği yoktur set . Bu axes1 özelliklerini kontrol ederken

Ben

AlignVertexCenters: 'off' 
      Annotation: [1x1 matlab.graphics.eventdata.Annotation] 
      BeingDeleted: 'off' 
      BusyAction: 'queue' 
     ButtonDownFcn: '' 
       Children: [0x0 GraphicsPlaceholder] 
       Clipping: 'on' 
       Color: [1 0 0] 
      CreateFcn: '' 
      DeleteFcn: '' 
      DisplayName: '' 
     HandleVisibility: 'on' 
       HitTest: 'on' 
     Interruptible: 'on' 
       LineJoin: 'round' 
      LineStyle: '-' 
      LineWidth: 1 
       Marker: 'none' 
     MarkerEdgeColor: 'auto' 
     MarkerFaceColor: 'none' 
      MarkerSize: 6 
       Parent: [1x1 Axes] 
     PickableParts: 'visible' 
       Selected: 'off' 
    SelectionHighlight: 'on' 
        Tag: '' 
        Type: 'line' 
     UIContextMenu: [0x0 GraphicsPlaceholder] 
       UserData: [] 
       Visible: 'on' 
       XData: [1x3937 double] 
      XDataMode: 'manual' 
      XDataSource: '' 
       YData: [1x3937 double] 
      YDataSource: '' 
       ZData: [1x0 double] 
      ZDataSource: '' 

yüzden ters normal mülkiyet denetçisi YDir değişen denedim ancak işe yaramadı olsun. flipud kullanmayı denedim ve sadece satır çevirir ama Y eksenindeki değerleri değil.

cevap

2

axes1 numaralı telefonu aradığınız şeyin aslında line nesnesi olduğu anlaşılıyor. Nesnenin Type özelliğini alarak bunu kolayca kontrol edebilirsiniz. o ebeveyn var üzerinde yerine YDir ayarlamak isteyeceksiniz

get(axes1, 'Type') 

% Or in newer versions of MATLAB 
class(axes1) 

eksenleri. Bunu ancestor işlevini kullanarak kolayca bulabiliriz. basitçe kendi özel durumunuz için

hax = ancestor(axes1, 'axes'); 
set(hax, 'YDir', 'reverse') 

Ya da daha Gelecekte

set(axes1.Parent, 'YDir', 'reverse') 

dikkatle hata mesajının tamamını içeriğini okuyun. Burada, komutunuzun çalışmadığı çok açık çünkü bu bir satır.

+0

Ayrıca, 'hax = axes1.Parent; ' –

+1

@LuisMendo çalışmalıdır Yalnızca bir" hggroup "içinde değilse ve 2014b +' yı kullanıyorsanız :) – Suever

+0

OP'nin örneği, nesnenin bir" Üst "olduğunu belirtir. Bir eksen nesnesi –

İlgili konular