How can I draw curved text on a curved line so that the text follows the line?

35 次查看(过去 30 天)
I have a curved line that I want to plot text on. I wanted the text to follow the curve on the line. How can I do this?


MathWorks Support Team
Currently, there is no built-in option to have text follow the curvature of a line it is plotted on.
One current workaround to this is to plot each letter on the line while rotating the letter to match the curve of the line at the point. To do this:
  1. Take the length of the string you wish to plot ('m') and separate your curve into m+1 points that are equidistant from each other.
  2. Find the slope between the two points and use 'atan' to calculate the degrees or radians of the slope.
  3. Use the 'rotation' property of 'text' to set the rotation of the letter to the desired rotation of the curve. Plot each letter to each equidistant point on the desired curve.
For more information regarding 'text', please refer to the link below:

更多回答(1 个)

Zaid hamamah
Zaid hamamah 2022-4-7
Hi, it might be too late to answer the question but just for the future readers:
try this code:
It has an option where you can add 'slope' at the end of the command syntax to get the text in line with the local slope. You can also choose where to put the text.


Help CenterFile Exchange 中查找有关 Annotations 的更多信息




Community Treasure Hunt

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

Start Hunting!

Translated by