MATLAB에 객체 나 ' 'Type'인수 다음에 가능한 입력 목록을 찾으려고합니다.포괄적 인 목록은 유형 I은 포괄적 인 그래픽 유형에게 같은 MATLAB 플롯에서 개체를 수정 찾을 특히 유용 할 수있는 목록을 개체를 찾을 수 없습니다
3
A
답변
4
나는 포괄적 인 목록을 얻을 수있는 방법을 알고 아니지만, 당신은 기존 개체에 대한 유형의 목록을 얻을 수 있습니다 :
types = unique(get(findall(gcf, '-property', 'Type'), 'Type'));
가 실제적으로 나는 이것이 우리가 그 관심이 아니기 때문에, 충분히 생각 존재하지 않는 객체.
1
하나의 플롯 유형을 포함하는 패키지를 통해 모든 그래픽 객체에 액세스 할 수 있습니다.
h = plot(rand(10,1));
% h is of type Line
이제 우리는 클래스 이미지에 대한 모든 메타 데이터를 얻기 위해 메타 클래스를 사용 :이 들어, 그림 유형의 메타 데이터를 통해 갈
metaclass
를 사용
metah = metaclass(h);
하나 개의 좋은 기능은 그것이 ContainingPackage
참조하는이다, 우리는 ClassList
을 통해 모든 클래스에 액세스 할 수 있습니다. 각 클래스에서 이름, 클래스 메타 데이터 및 클래스 계층을 탐색하는 방법을 얻을 수 있습니다.
{'matlab.graphics.chart.primitive.Area' }
{'matlab.graphics.chart.primitive.Bar' }
{'matlab.graphics.chart.primitive.Binscatter' }
{'matlab.graphics.chart.primitive.ConstantLine' }
{'matlab.graphics.chart.primitive.Contour' }
{'matlab.graphics.chart.primitive.Data3D' }
{'matlab.graphics.chart.primitive.ErrorBar' }
{'matlab.graphics.chart.primitive.FunctionLine' }
{'matlab.graphics.chart.primitive.GraphPlot' }
{'matlab.graphics.chart.primitive.Heatmap' }
{'matlab.graphics.chart.primitive.Histogram' }
{'matlab.graphics.chart.primitive.Histogram2' }
{'matlab.graphics.chart.primitive.Line' }
{'matlab.graphics.chart.primitive.Quiver' }
{'matlab.graphics.chart.primitive.Scatter' }
{'matlab.graphics.chart.primitive.Stair' }
{'matlab.graphics.chart.primitive.Stem' }
{'matlab.graphics.chart.primitive.Surface' }
{'matlab.graphics.chart.primitive.brushingUtils'}
마지막 하나는 그래픽되지 않습니다 : 우리의 목적
, 나는 simmply
{metah.ContainingPackage.ClassList.Name}
그것은 R2017b에 (정렬 후) 다음과 같은 목록을 제공하여 원시 그래픽의 전체 목록을 원어. 당신은 동일한 프로세스를 통해 액세스 할 수 있습니다 Image
, 같은 클래스를 결여 볼 수 있습니다주는
h = image(rand(5));
metah = metaclass(h);
sort({metah.ContainingPackage.ClassList.Name}.'}
:
{'matlab.graphics.primitive.Data' }
{'matlab.graphics.primitive.Group' }
{'matlab.graphics.primitive.Image' }
{'matlab.graphics.primitive.Light' }
{'matlab.graphics.primitive.Line' }
{'matlab.graphics.primitive.Marker' }
{'matlab.graphics.primitive.Patch' }
{'matlab.graphics.primitive.Polygon' }
{'matlab.graphics.primitive.Rectangle' }
{'matlab.graphics.primitive.Surface' }
{'matlab.graphics.primitive.SurfaceXYZData'}
{'matlab.graphics.primitive.Text' }
{'matlab.graphics.primitive.Transform' }
일부 클래스는 두 패키지에있을 것으로 보인다. 두 번째 목록은 핵심 클래스이고 첫 번째 목록은 꺾은 선형 차트 (패치되지 않은)에 대한 전용 클래스입니다. 그러나 이것은 단지 추측 일뿐입니다.
우리는 모든 기본 그래픽 클래스가 있어야하거나 다른 패키지에 다른 그래픽이 있어야한다고 생각합니다. 누군가 다른 패키지가 무엇인지 알고 있다면 알려주십시오!
편집 마지막으로 모든 그래픽 개체가 나열된 문서 페이지를 발견했습니다. here
정말 좋은 방법을 찾아보십시오! 또한 추가 정보를 얻을 수 있습니다 : "findall (gcf)" – hello123
그것은 내가 무엇을 요구했지만 정확하게 쓸모없는 것보다 유용하지 않다면 고마워요. 감사합니다. – user2305193