How to halt matlab plot3 scale
I want to plot pendulum (which changes position) using plot3 function. Unfortunately, when my dot changes position in loop and is being plotted again, the scale of 3d plot is changing too, so the x axis depending on position changes (depending on position of the dot it can be from -1 to -1.5 or from -1 to -3) and y changes also. Only z states the same. The result is that the dot jumps on graph and does not create impression of pendulum. This is how I plot:
plot3(0,0,0);
daspect([1,1,1]);
axis([-10, 10, -10, 10]);
scatter3(x(i)-rs, y(i)-rs, 0);
I tried to deal with the problem using:
gca
or
set(fig, 'PaperPositionMode', 'auto');
but both do not help. I am also not able to rotate the graph, because it is being plotted and comes back to previous position.
matlab plot matlab-figure
add a comment |
I want to plot pendulum (which changes position) using plot3 function. Unfortunately, when my dot changes position in loop and is being plotted again, the scale of 3d plot is changing too, so the x axis depending on position changes (depending on position of the dot it can be from -1 to -1.5 or from -1 to -3) and y changes also. Only z states the same. The result is that the dot jumps on graph and does not create impression of pendulum. This is how I plot:
plot3(0,0,0);
daspect([1,1,1]);
axis([-10, 10, -10, 10]);
scatter3(x(i)-rs, y(i)-rs, 0);
I tried to deal with the problem using:
gca
or
set(fig, 'PaperPositionMode', 'auto');
but both do not help. I am also not able to rotate the graph, because it is being plotted and comes back to previous position.
matlab plot matlab-figure
add a comment |
I want to plot pendulum (which changes position) using plot3 function. Unfortunately, when my dot changes position in loop and is being plotted again, the scale of 3d plot is changing too, so the x axis depending on position changes (depending on position of the dot it can be from -1 to -1.5 or from -1 to -3) and y changes also. Only z states the same. The result is that the dot jumps on graph and does not create impression of pendulum. This is how I plot:
plot3(0,0,0);
daspect([1,1,1]);
axis([-10, 10, -10, 10]);
scatter3(x(i)-rs, y(i)-rs, 0);
I tried to deal with the problem using:
gca
or
set(fig, 'PaperPositionMode', 'auto');
but both do not help. I am also not able to rotate the graph, because it is being plotted and comes back to previous position.
matlab plot matlab-figure
I want to plot pendulum (which changes position) using plot3 function. Unfortunately, when my dot changes position in loop and is being plotted again, the scale of 3d plot is changing too, so the x axis depending on position changes (depending on position of the dot it can be from -1 to -1.5 or from -1 to -3) and y changes also. Only z states the same. The result is that the dot jumps on graph and does not create impression of pendulum. This is how I plot:
plot3(0,0,0);
daspect([1,1,1]);
axis([-10, 10, -10, 10]);
scatter3(x(i)-rs, y(i)-rs, 0);
I tried to deal with the problem using:
gca
or
set(fig, 'PaperPositionMode', 'auto');
but both do not help. I am also not able to rotate the graph, because it is being plotted and comes back to previous position.
matlab plot matlab-figure
matlab plot matlab-figure
edited Nov 24 '18 at 23:49
EBH
9,17332147
9,17332147
asked Nov 23 '18 at 16:41
BlackHawk3
394
394
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Try setting the XLim, YLim, and ZLim properties before plotting. For example,
xlim=[-1 1];
or
haxe = gca;
haxe.XLim = [-1 1];
Also, you could set XLimMode, YLimMode, and ZLimMode properties to manual. For example,
haxe.XLimMode = 'manual'
For more information regarding axis properties see MATLAB's documentation for axis properties.
add a comment |
Here is a short example in 2D, you can easily apply this also to 3D:
N = 50;
x = [1:N;N:-1:1];
x = repmat(x,2,1).';
p = plot(x(1),1,'ob','MarkerFaceColor','b');
xlim([0 51])
for k = 2:numel(x)
p.XData = x(k);
drawnow
end
The key here is to set xlim before the loop, and then only update the relevant data in the plot (using XData in this case).
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53450296%2fhow-to-halt-matlab-plot3-scale%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Try setting the XLim, YLim, and ZLim properties before plotting. For example,
xlim=[-1 1];
or
haxe = gca;
haxe.XLim = [-1 1];
Also, you could set XLimMode, YLimMode, and ZLimMode properties to manual. For example,
haxe.XLimMode = 'manual'
For more information regarding axis properties see MATLAB's documentation for axis properties.
add a comment |
Try setting the XLim, YLim, and ZLim properties before plotting. For example,
xlim=[-1 1];
or
haxe = gca;
haxe.XLim = [-1 1];
Also, you could set XLimMode, YLimMode, and ZLimMode properties to manual. For example,
haxe.XLimMode = 'manual'
For more information regarding axis properties see MATLAB's documentation for axis properties.
add a comment |
Try setting the XLim, YLim, and ZLim properties before plotting. For example,
xlim=[-1 1];
or
haxe = gca;
haxe.XLim = [-1 1];
Also, you could set XLimMode, YLimMode, and ZLimMode properties to manual. For example,
haxe.XLimMode = 'manual'
For more information regarding axis properties see MATLAB's documentation for axis properties.
Try setting the XLim, YLim, and ZLim properties before plotting. For example,
xlim=[-1 1];
or
haxe = gca;
haxe.XLim = [-1 1];
Also, you could set XLimMode, YLimMode, and ZLimMode properties to manual. For example,
haxe.XLimMode = 'manual'
For more information regarding axis properties see MATLAB's documentation for axis properties.
answered Nov 23 '18 at 21:01
Azim
6,48063257
6,48063257
add a comment |
add a comment |
Here is a short example in 2D, you can easily apply this also to 3D:
N = 50;
x = [1:N;N:-1:1];
x = repmat(x,2,1).';
p = plot(x(1),1,'ob','MarkerFaceColor','b');
xlim([0 51])
for k = 2:numel(x)
p.XData = x(k);
drawnow
end
The key here is to set xlim before the loop, and then only update the relevant data in the plot (using XData in this case).
add a comment |
Here is a short example in 2D, you can easily apply this also to 3D:
N = 50;
x = [1:N;N:-1:1];
x = repmat(x,2,1).';
p = plot(x(1),1,'ob','MarkerFaceColor','b');
xlim([0 51])
for k = 2:numel(x)
p.XData = x(k);
drawnow
end
The key here is to set xlim before the loop, and then only update the relevant data in the plot (using XData in this case).
add a comment |
Here is a short example in 2D, you can easily apply this also to 3D:
N = 50;
x = [1:N;N:-1:1];
x = repmat(x,2,1).';
p = plot(x(1),1,'ob','MarkerFaceColor','b');
xlim([0 51])
for k = 2:numel(x)
p.XData = x(k);
drawnow
end
The key here is to set xlim before the loop, and then only update the relevant data in the plot (using XData in this case).
Here is a short example in 2D, you can easily apply this also to 3D:
N = 50;
x = [1:N;N:-1:1];
x = repmat(x,2,1).';
p = plot(x(1),1,'ob','MarkerFaceColor','b');
xlim([0 51])
for k = 2:numel(x)
p.XData = x(k);
drawnow
end
The key here is to set xlim before the loop, and then only update the relevant data in the plot (using XData in this case).
edited Nov 25 '18 at 0:00
answered Nov 24 '18 at 23:49
EBH
9,17332147
9,17332147
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53450296%2fhow-to-halt-matlab-plot3-scale%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown