Starplot is a Python library for creating star charts and maps.
- ⭐ Zenith Plots - showing the stars from a specific time/location
- 🗺️ Map Plots - including North/South polar and Mercator projections
- 🔭 Optic Plots - simulates what you'll see through an optic (e.g. binoculars, telescope) from a time/location
- 🪐 Planets and Deep Sky Objects (DSOs)
- 🎨 Custom Styles - for all objects
- 📥 Export - png, svg, jpeg
- 🧭 Label Collision Avoidance
Zenith plot of the stars from a specific time/location:
Map around the constellation Orion:
Optic plot of The Pleiades through a refractor as seen from a specific time/location:
To create a star chart for tonight's sky as seen from Palomar Mountain in California:
from datetime import datetime
from pytz import timezone
import starplot as sp
tz = timezone("America/Los_Angeles")
p = sp.MapPlot(
projection=sp.Projection.ZENITH,
lat=33.363484,
lon=-116.836394,
dt=datetime.now(tz).replace(hour=22),
style=sp.styles.PlotStyle().extend(
sp.styles.extensions.BLUE_MEDIUM,
sp.styles.extensions.ZENITH,
),
resolution=2000,
)
p.constellations()
p.stars(mag=4.6)
p.export("starchart.png")
For a demo of Starplot's zenith plots, check out:
Sky Atlas - Star Chart Creator
Chat with other starplotters on our Discord server:
Contributing to Starplot is welcome and very much appreciated! Please see here for details.
- matplotlib
- pandas
- numpy
- geopandas
- cartopy
- skyfield
- pydantic
- adjustText
- 🌑 Planet moons
- ✴️ Custom markers
- 🚀 Plotting Optimizations
- 📐 Custom clip paths
- ⚖️ Better auto font-size adjustment
See more details on the Public Roadmap