Changing step size of a graph

조회 수: 11 (최근 30일)
ALEXANDER MOUNTAIN
ALEXANDER MOUNTAIN 2021년 3월 22일
댓글: DGM 2021년 3월 22일
I'm currently making a function that creates a graph for a given set of x and y data and I need to scale my X axis so that the step values are by 5 instead of the 10 that it creates automatically. How would I go about doing that? My current code is below.
file = load('SampleXYData.mat');
xData = file.xData;
yData = file.yData;
myFig = gcf;
myAx = axes(myFig);
myPlot = scatter(myAx, xData, yData);
myPlot.Marker = 'x';
myAx.Title.String = 'Scatter Plot';
myAx.YAxis.Label.String = 'Y';
myAx.XAxis.Label.String = 'X';
myAx.Box = 'on';
endAt = length(myAx.XAxis.TickLabels);
for i = 1:endAt
cVal = str2double(myAx.XAxis.TickLabels{i});
if mod(cVal , 10) == 0
myAx.XAxis.TickLabels{i} = ['\bf', myAx.XAxis.TickLabels{i}];
end
end
  댓글 수: 3
ALEXANDER MOUNTAIN
ALEXANDER MOUNTAIN 2021년 3월 22일
How would I write a vector that would increase by 5 until the end? I know how to set it at a given value, but I want to have it works for varying sets of data.
I tried this, but it gave me an error saying "the end operator must be used within an array index expression'
myAx.XTick = (1:5:end)
DGM
DGM 2021년 3월 22일
Assuming we want the same extreme values:
myAx.XTick=myAx.XTick(1):5:myAx.XTick(end);

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by