I have the following:

Show[data1, data2, data3,PlotRange -> {All, All}]

where data1, data2 and data3 are of the form Plot[g, {x, 0, 100}, ImageSize -> Large, ....etc.]

How can I both translate and rotate the data that I see in Show for data1, data2 and data3 without modifying the g of the data itself?

The translation part was solved by both @Michael E2 and @MarcoB here: Shift data of the form `Plot[g, {x, 0, 100},ImageSize->Large,....etc.]`. Here's the code from @Michael E2 that only gives translation:

p1 = p2 = p3 = Plot[Sin[x], {x, 0, 2 Pi}]

 MapAt[Translate[#, {0, 0.1}] &, p1, 1],
 MapAt[Translate[#, {0, 0.2}] &, p2, 1],
 MapAt[Translate[#, {0, 0.3}] &, p3, 1],
 PlotRange -> All
  • 2
    $\begingroup$ Rotate around which point? You can try the obvious next step from the code you have in your question, i.e. MapAt[Rotate[Translate[#, {0, 0.1}], 20 Degree] &, p2, 1] $\endgroup$ – MarcoB Jan 13 at 22:45
  • $\begingroup$ @MarcoB, thanks. Yes, rotating for example taking two parts of the curve (as in the previous example). For example if I have a curve that goes from 0 to 100, rotate based on taking two regions of th curve: One for example from 10 to 30 and the other one from say 60 to 70. I hope that clarifies it ! $\endgroup$ – John Jan 14 at 3:39
  • $\begingroup$ @MarcoB If I do Rotate as suggested it changes the shape of the curve it seems. $\endgroup$ – John Jan 14 at 3:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.