YouTip LogoYouTip

Matplotlib Ref 2D Plots

Matplotlib 2D Data and Statistical Plotting Functions | Online Tutorial * * * [![Image 1: Matplotlib Reference Documentation](https://example.com/images/up.gif) Matplotlib Reference Documentation](https://example.com/matplotlib/matplotlib-apiref.html) Functions for 2D data display and statistical distribution visualization. ## Function Overview | Function | Description | | --- | --- | | hist2d() | 2D Histogram | | hexbin() | Hexagonal Binning (Hexbin) | | stairs() | Step Histogram (replaces hist's step mode) | | matshow() | Display matrix in new Figure | | pcolor() | Pseudocolor plot (PolyCollection) | | pcolormesh() | Pseudocolor plot (QuadMesh, better performance) | | spy() | Sparse matrix nonzero pattern | | figimage() | Place image at Figure level | | ecdf() | Empirical Cumulative Distribution Function | | violinplot() | Violin plot | * * * ## hist2d() - 2D Histogram matplotlib.pyplot.hist2d(x, y, bins=10, range=None, density=False, weights=None, cmin=None, cmax=None, *, **kwargs) ## Example ```python import matplotlib.pyplot as plt import numpy as np np.random.seed(42) x = np.random.randn(5000) y = x * 0.5 + np.random.randn(5000) * 0.5 fig,(ax1, ax2)= plt.subplots(1,2, figsize=(12,5), layout='constrained') # 2D Histogram h, xedges, yedges, im = ax1.hist2d(x, y, bins=40, cmap='Blues') fig.colorbar(im, ax=ax1, label='Count') ax1.set_title('hist2d()') ax1.set_xlabel('X') ax1.set_ylabel('Y') # Hexagonal Binning hb = ax2.hexbin(x, y, gridsize=30, cmap='YlOrRd') fig.colorbar(hb, ax=ax2, label='Count') ax2.set_title('hexbin()') ax2.set_xlabel('X') ax2.set_ylabel('Y') plt.show() ``` * * * ## stairs() - Step Histogram matplotlib.pyplot.stairs(values, edges=None, *, orientation='vertical', baseline=0, fill=False, **kwargs) ## Example ```python import matplotlib.pyplot as plt import numpy as np np.random.seed(42) data = np.random.randn(500) fig,(ax1, ax2)= plt.subplots(1,2, figsize=(10,4), layout='constrained') # hist + stairs comparison counts, bins = np.histogram(data, bins=30) ax1.hist(data, bins=30, alpha=0.3, color='steelblue') ax1.stairs(counts, bins, fill=False, color='red', linewidth=2, label='stairs outline') ax1.set_title('stairs() outline on hist()') ax1.legend() # stairs with fill=True ax2.stairs(counts, bins, fill=True, color='coral', alpha=0.7, edgecolor='black', linewidth=1) ax2.set_title('stairs() with fill=True') plt.show() ``` * * * ## pcolormesh() - Pseudocolor Plot matplotlib.pyplot.pcolormesh(*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, shading=None, **kwargs) ## Example ```python import matplotlib.pyplot as plt import numpy as np # Create 2D data x = np.linspace(0,5,50) y = np.linspace(0,5,50) X, Y = np.meshgrid(x, y) Z = np.sin(X) * np.cos(Y) fig,(ax1, ax2)= plt.subplots(1,2, figsize=(12,5), layout='constrained') # pcolormesh - default shading='flat' (drops last row/column) pc1 = ax1.pcolormesh(X, Y, Z, cmap='RdYlBu', shading='auto') fig.colorbar(pc1, ax=ax1, label='Value') ax1.set_title('pcolormesh()') ax1.set_xlabel('X') ax1.set_ylabel('Y') # pcolor - rendered as PolyCollection pc2 = ax2.pcolor(X, Y, Z, cmap='RdYlBu') fig.colorbar(pc2, ax=ax2, label='Value') ax2.set_title('pcolor()') ax2.set_xlabel('X') ax2.set_ylabel('Y') plt.show() ``` * * * ## spy() - Sparse Matrix Pattern matplotlib.pyplot.spy(Z, precision=0, marker=None, markersize=None, aspect='equal', origin='upper', **kwargs) ## Example ```python import matplotlib.pyplot as plt import numpy as np from scipy import sparse # Create sparse matrix np.random.seed(42) dense = np.random.rand(50,50) dense[dense <0.9]=0# 90% zeros sparse_mat = sparse.csr_matrix(dense) fig, ax = plt.subplots(figsize=(5,5), layout='constrained') ax.spy(sparse_mat, markersize=5, color='steelblue') ax.set_title('spy() - Sparse Matrix Pattern') plt.show() ``` * * * ## matshow() / figimage() matplotlib.pyplot.matshow(A, fignum=None, **kwargs) matplotlib.pyplot.figimage(X, xo=0, yo=0, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, origin=None, **kwargs) ## Example ```python import matplotlib.pyplot as plt import numpy as np # matshow - automatically creates new Figure to display matrix matrix = np.random.rand(8,8) plt.matshow(matrix, cmap='viridis') plt.title('matshow()') plt.colorbar(label='Value') plt.show() print("tutorial: matshow displayed") ``` * * * ## ecdf() - Empirical Cumulative Distribution matplotlib.pyplot.ecdf(x, *, ax=None, complementary=False, **kwargs) ## Example ```python import matplotlib.pyplot as plt import numpy as np np.random.seed(42) data1 = np.random.normal(0,1,200) data2 = np.random.normal(2,0.5,200) fig, ax = plt.subplots(figsize=(7,5), layout='constrained') ax.ecdf(data1, label='N(0, 1)') ax.ecdf(data2, label='N(2, 0.5)') ax.set_title('ecdf() - Empirical CDF') ax.set_xlabel('Value') ax.set_ylabel('Cumulative Probability') ax.legend() ax.grid(True, alpha=0.3) plt.show() ``` * * * ## violinplot() - Violin Plot matplotlib.pyplot.violinplot(dataset, positions=None, vert=True, widths=0.5, showmeans=False, showmedians=False, showextrema=True, **kwargs) ## Example ```python import matplotlib.pyplot as plt import numpy as np np.random.seed(42) data =[ np.random.normal(0,1,200), np.random.normal(2,1.5,
← Matplotlib Ref Axis ConfigClaude Code Devsetup β†’