Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Draw a minimalist Christmas tree with Python and their awesome libraries
# coding: utf-8
Draw a minimalist Christmas tree with Python and their awesome libraries.
Code inspired by a StackEchange post and the Christmas spirit.
Author: Franz Navarro -
License: MIT
Dependencies: Python, NumPy, matplotlib
import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
# Calculate spiral coordinates for the Xmas tree
theta = np.linspace(-8 * np.pi, 8 * np.pi, 200)
z = np.linspace(-3, 0, 200)
r = 5
x = r * np.sin(theta)*z
y = r * np.cos(theta)*z
# Use matplotib and its OOP interface to draw it
fig = plt.figure() # Create figure
ax = fig.gca(projection='3d') # It's a 3D Xmas tree!
ax.view_init(15, 0) # Set a nice view angle
ax._axis3don = False # Hide the 3d axes
# Plot the Xmas tree as a line
ax.plot(x, y, z,
c='green', linewidth=2.5)
# Every Xmas tree needs a star
ax.scatter(0, 0, 0.2,
c='red', s=250, marker='*')
# Type here your best whishes
ax.set_title(u"¡Feliz Navidad!")

This comment has been minimized.

Copy link
Owner Author

@franktoffel franktoffel commented Apr 5, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.