A python library for making pressure tap plots
Click the images to view interactive Plotly visualizations
| Plot Type | Preview |
|---|---|
| 2D Line Plot | ![]() |
| 2D Needle Plot | ![]() |
| 3D Dot Plot | ![]() |
The data for these demos was obtained from https://autocfd.org/
# Clone the repository
git clone https://github.com/PaulENorman/ptapplot.git
cd ptapplot
# Install in editable mode
pip install -e .- Source Configuration: Define your vehicle image, physical extents, and CSV tap data in a
.jsonfile. - Preprocessing: (Optional) Calculate surface normals.
- Rendering: Generate the interactive HTML Plotly visualization.
# 1. Prepare (Optional if running plot directly)
ptap-2d-prep demo_data/drivAer_lineplot/drivAer_top.json
# 2. Render plot
ptap-2d-plot demo_data/drivAer_lineplot/drivAer_top_complete.jsonNote: ptap-2d-plot will automatically trigger the prep step if normals are missing from the configuration.
- Source Configuration: Define paths to your STL geometry, tap positions, and results CSVs in a
.jsonfile. - Rendering: Generate a 3D Plotly scene with side-by-side comparison and synced cameras.
ptap-3d-plot demo_data/drivAer_dotplot/dotplot_config.json- Source Configuration: Same as Line Plots (normals auto-generated if missing).
-
Rendering: Generates a plot with individual
$C_p$ bars at each tap location.
ptap-needle-plot demo_data/drivAer_needleplot/needleplot_config.jsonNeedle plots show individual bars instead of a connected line. Positive


