How to curve text in a polar plot in matplotlib?

To curve text in a polar plot in matplotlib we can take the following steps


  • Set the figure size and adjust the padding between and around the subplots.

  • Create a new figure or activate an existing figure.

  • Add an 'ax' to the figure as part of a subplot arrangement.

  • Plot the line with some degree, color='green' and linewidth=2.

  • Create x and y data points, with some curve and plot them using plot() method.

  • To display the figure, use Show() method.


from matplotlib import pyplot as plt
from scipy.interpolate import interp1d
import numpy as np

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
ax = fig.add_subplot(111, projection="polar")

for degree in [0, 90, 360]:
   rad = np.deg2rad(degree)
   ax.plot([rad, rad], [0, 1], color="green", linewidth=2)

for curve in [[[0, 90], [0.45, 0.75]]]:
   curve[0] = np.deg2rad(curve[0])
   x = np.linspace(curve[0][0], curve[0][1], 500)
   y = interp1d(curve[0], curve[1])(x)
   ax.plot(x, y, lw=7, color='red')


It will produce the following output −

Updated on: 19-Oct-2021


Kickstart Your Career

Get certified by completing the course

Get Started