How do you draw R-style axis ticks that point outward from the axes in Matplotlib?

To draw R-style axis ticks that point outward from the axes in Matplotlib, we can use rcParams to control tick direction. By default, Matplotlib draws ticks inward, but R-style plots typically have outward-pointing ticks.

Setting Outward Tick Direction

Use plt.rcParams to configure tick direction globally ?

import numpy as np
import matplotlib.pyplot as plt

# Set outward tick direction for both axes
plt.rcParams['xtick.direction'] = 'out'
plt.rcParams['ytick.direction'] = 'out'

# Create sample data
n = 10
x = np.linspace(-2, 2, n)
y = np.exp(x)

# Create the plot
plt.figure(figsize=(8, 5))
plt.plot(x, y, 'b-', marker='o', linewidth=2)
plt.xlabel('X values')
plt.ylabel('Y values')
plt.title('R-style Outward Ticks')
plt.grid(True, alpha=0.3)
plt.show()

Alternative Method Using tick_params()

You can also set tick direction for individual plots using tick_params() ?

import numpy as np
import matplotlib.pyplot as plt

# Create sample data
x = np.linspace(0, 10, 20)
y = np.sin(x)

# Create plot and set outward ticks
plt.figure(figsize=(8, 5))
plt.plot(x, y, 'r-', linewidth=2)

# Set tick direction to outward
plt.tick_params(axis='both', direction='out', length=6, width=2)

plt.xlabel('X values')
plt.ylabel('Sin(X)')
plt.title('Outward Ticks Using tick_params()')
plt.grid(True, alpha=0.3)
plt.show()

Comparison

Method Scope When to Use
rcParams Global (all plots) Consistent style across multiple plots
tick_params() Current plot only Specific customization for individual plots

Additional Tick Customization

You can further customize tick appearance with additional parameters ?

import numpy as np
import matplotlib.pyplot as plt

# Sample data
x = np.linspace(0, 2*np.pi, 50)
y = np.cos(x)

plt.figure(figsize=(8, 5))
plt.plot(x, y, 'g-', linewidth=2)

# Customize ticks extensively
plt.tick_params(
    axis='both',
    direction='out',
    length=8,        # tick length
    width=2,         # tick width
    color='red',     # tick color
    labelsize=12     # label font size
)

plt.xlabel('Angle (radians)')
plt.ylabel('Cosine')
plt.title('Customized Outward Ticks')
plt.show()

Conclusion

Use rcParams['xtick.direction'] = 'out' for global R-style outward ticks. Use tick_params(direction='out') for individual plot customization with additional styling options.

Updated on: 2026-03-25T21:19:44+05:30

290 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements