我有一个GUI窗口,我有一个轴框,我想在使用绘图功能时在此轴1框上反转Y轴方向。当我尝试使用时,让我们说:
set(axes1,'YDir','reverse');
我收到以下错误
使用matlab.graphics.chart.primitive.Line / set
时出错 Line类没有YDir属性。
当我检查这个轴的属性时,我得到了
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: ''
所以我尝试将属性检查器上的YDir从正常更改为反向,但它不起作用。
我尝试过使用flipud
,它只是翻转了行,而不是Y轴上的值。
答案 0 :(得分:2)
您正在调用的内容axes1
实际上是line个对象。您可以通过获取对象的Type
属性轻松地进行检查。
get(axes1, 'Type')
% Or in newer versions of MATLAB
class(axes1)
您需要在其父轴上设置YDir
。我们可以使用ancestor
函数轻松获得该功能。
hax = ancestor(axes1, 'axes');
set(hax, 'YDir', 'reverse')
或者更简单地针对您的具体情况:
set(axes1.Parent, 'YDir', 'reverse')
将来,请仔细阅读错误消息的整个内容。这里非常明确地说你的命令不起作用,因为它是一条线。