Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The Chebyshev polynomials T_n of the first kind are a certain set of orthogonal polynomials. They can be defined by T_n(cos(x))=cos(nx), the first of them are

  • T_0(x) = 1
  • T_1(x) = x
  • T_2(x) = 2x^2 - 1
  • T_3(x) = 4x^3 - 3x
  • T_4(x) = 8x^4 - 8x^2 + 1
  • T_5(x) = 16x^5 - 20x^3 + 5x
  • T_6(x) = 32x^6 - 48x^4 + 18x^2 - 1
  • T_7(x) = 64x^7 − 112x^5 + 56x^3 − 7x

A plot in the cartesian plane looks like this, seen on Wolfram Mathworld:

Chebyshev polynomials

On the same page, I found a beautiful polar plot of those polynomials:

Chebyshev spiral

There they wrote, referring to "Graphica 1" by Michael Trott:

A beautiful plot can be obtained by plotting T_n(x) radially, increasing the radius for each value of n, and filling in the areas between the curves (Trott 1999, pp. 10 and 84).

A version without filling, posted by Paul Kemper:

Chebyshev spiral without filling

I would like to understand the way that plot is generated. The filling doesn't matter to me, I just would like to know how I could plot such a polynomial radially. As the domain ranges from -1 to 1, I should take pi as a factor. Does anybody know a formula to display those functions in polar coordinates in such a way with increasing radius?

share|improve this question
Download the notebook pertaining to your first link. There's the code – eldo Jul 18 '14 at 11:52
PolarPlot[Evaluate@Table[n+ChebyshevT[n,t/Pi-1],{n,0,20,2}],{t,0,2Pi}] – Simon Woods Jul 18 '14 at 12:01
@eldo Thank you! I did not see this link. – Frank Jul 18 '14 at 12:14
@SimonWoods Thank you very much! That's all I needed as help. If you like, post as an answer with some short words to let future readers easily understand, I'd gladly upvote and accept it. – Frank Jul 18 '14 at 12:16
up vote 11 down vote accepted

You can use PolarPlot to plot the curves. As noted in the question you need to map the polar angle onto the -1 to 1 domain of the polynomials. You should also note that only the even polynomials are plotted.

PolarPlot[Evaluate @ Table[n + ChebyshevT[n, t/Pi - 1], {n, 0, 40, 2}], {t, 0, 2 Pi}]

enter image description here

To get the filling effect you can used FilledCurve:

Graphics @ FilledCurve @ Cases[%, _Line, -1]

enter image description here

share|improve this answer
this so nice and the code so terse...FilledCurve – ubpdqn Jul 18 '14 at 12:51

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.