How to scale axes in Mplot3d?

To scale axes in Matplotlib's 3D plotting, you need to control the range of each axis using specific methods. This allows you to zoom into particular regions or adjust the proportions of your 3D visualization.

Steps to Scale 3D Axes

  • Create a figure using figure() method

  • Create a 3D axes instance using Axes3D() class

  • Use set_xlim3d() to scale the X-axis range

  • Use set_ylim3d() to scale the Y-axis range

  • Use set_zlim3d() to scale the Z-axis range

  • Display the plot using show() method

Basic Example

Here's how to create a 3D plot with scaled axes ?

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

# Configure plot settings
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

# Create figure and 3D axes
fig = plt.figure()
ax = Axes3D(fig)

# Scale the axes
ax.set_xlim3d(-100, 100)
ax.set_ylim3d(-100, 100)
ax.set_zlim3d(-100, 100)

# Add labels for clarity
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')

plt.show()

Practical Example with Data

Let's create a 3D scatter plot with scaled axes to better visualize the data ?

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

# Generate sample data
x = np.random.randint(-50, 50, 20)
y = np.random.randint(-30, 70, 20)
z = np.random.randint(-80, 20, 20)

# Create figure and 3D axes
fig = plt.figure(figsize=(8, 6))
ax = Axes3D(fig)

# Create scatter plot
ax.scatter(x, y, z, c='red', s=50)

# Scale axes to focus on data range
ax.set_xlim3d(-60, 60)
ax.set_ylim3d(-40, 80)
ax.set_zlim3d(-90, 30)

# Add labels
ax.set_xlabel('X Values')
ax.set_ylabel('Y Values')
ax.set_zlabel('Z Values')
ax.set_title('3D Scatter Plot with Scaled Axes')

plt.show()

Different Scaling Approaches

Method Purpose Use Case
set_xlim3d(min, max) Scale X-axis Control horizontal range
set_ylim3d(min, max) Scale Y-axis Control depth range
set_zlim3d(min, max) Scale Z-axis Control vertical range

Key Points

  • Scaling helps focus on specific data regions

  • Use consistent scaling ratios to maintain proportions

  • Always set limits after adding your data to the plot

  • Consider your data range when choosing axis limits

Conclusion

Scaling 3D axes in Matplotlib is essential for creating focused visualizations. Use set_xlim3d(), set_ylim3d(), and set_zlim3d() methods to control the range of each axis and highlight specific data regions effectively.

Updated on: 2026-03-25T19:57:56+05:30

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements