How to halt matlab plot3 scale












1














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.










share|improve this question





























    1














    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.










    share|improve this question



























      1












      1








      1







      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.










      share|improve this question















      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






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 24 '18 at 23:49









      EBH

      9,17332147




      9,17332147










      asked Nov 23 '18 at 16:41









      BlackHawk3

      394




      394
























          2 Answers
          2






          active

          oldest

          votes


















          0














          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.






          share|improve this answer





























            0














            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).






            share|improve this answer























              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
              });


              }
              });














              draft saved

              draft discarded


















              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









              0














              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.






              share|improve this answer


























                0














                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.






                share|improve this answer
























                  0












                  0








                  0






                  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.






                  share|improve this answer












                  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.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 23 '18 at 21:01









                  Azim

                  6,48063257




                  6,48063257

























                      0














                      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).






                      share|improve this answer




























                        0














                        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).






                        share|improve this answer


























                          0












                          0








                          0






                          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).






                          share|improve this answer














                          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).







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Nov 25 '18 at 0:00

























                          answered Nov 24 '18 at 23:49









                          EBH

                          9,17332147




                          9,17332147






























                              draft saved

                              draft discarded




















































                              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.




                              draft saved


                              draft discarded














                              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





















































                              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







                              Popular posts from this blog

                              Lallio

                              Futebolista

                              Jornalista