Tuning Curve
Chart overview
A tuning curve shows how a neuron's mean firing rate changes across systematically varied stimulus values, such as visual orientation or auditory frequency.
Key points
- Neuroscientists fit these data with a von Mises or Gaussian function to extract preferred stimulus, tuning width, and modulation depth.
- The shape and sharpness of tuning curves are central to population coding theories.
Example Visualization

Create This Chart Now
Generate publication-ready tuning curves with AI in seconds. No coding required – just describe your data and let AI do the work.
View example prompt
"Create a tuning curve from my data. Plot mean firing rate with SEM error bars at each stimulus value, fit a von Mises or Gaussian function to the data points, indicate the preferred stimulus with a dashed vertical line, and use publication-quality journal formatting."
How to create this chart in 30 seconds
Upload Data
Drag & drop your Excel or CSV file. Plotivy securely processes it in your browser.
AI Generation
Our AI analyzes your data and generates the Tuning Curve code automatically.
Customize & Export
Tweak the design with natural language, then export as high-res PNG, SVG or PDF.
Python Code Example
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
def gaussian(x, a, mu, sigma, c):
return a * np.exp(-0.5 * ((x - mu) / sigma)**2) + c
angles = np.arange(0, 360, 20)
responses = gaussian(angles, 50, 180, 40, 10) + np.random.normal(0, 5, len(angles))
x_fit = np.linspace(0, 360, 100)
y_fit = gaussian(x_fit, 50, 180, 40, 10)
plt.figure(figsize=(10, 6))
plt.plot(angles, responses, 'ko', label='Data')
plt.plot(x_fit, y_fit, 'r-', linewidth=2, label='Gaussian Fit')
plt.title('Neuronal Tuning Curve', fontsize=14, fontweight='bold', pad=20)
plt.xlabel('Stimulus Angle (degrees)', fontsize=12)
plt.ylabel('Firing Rate (Hz)', fontsize=12)
plt.xticks(np.arange(0, 361, 90))
plt.legend()
plt.grid(alpha=0.3)
plt.tight_layout()
plt.savefig('plotivy-tuning-curve.png', dpi=150)
print("Tuning curve generated successfully.")
Opens the Analyze page with this code pre-loaded and ready to execute
Console Output
Tuning curve generated successfully.
Common Use Cases
- 1Quantifying orientation or direction selectivity in visual cortex neurons
- 2Measuring frequency tuning in auditory cortex single-unit recordings
- 3Characterising place field width of hippocampal place cells
- 4Comparing tuning sharpness before and after pharmacological manipulation
Pro Tips
Include error bars (SEM or 95% CI) at each stimulus level to show trial variability
Fit a parametric function (Gaussian or von Mises) and overlay it on the data
For circular stimuli such as orientation, wrap the x-axis at 360 degrees or use a polar plot
Report the preferred stimulus and half-width at half-maximum (HWHM) in the figure caption
Scientific Chart Selection Cheat Sheet
Not sure whether to use a Violin Plot, Box Plot, or Ridge Plot? Download our single-page reference mapping the most-used scientific chart types, exactly when to use them, and the core Matplotlib/Seaborn functions.