Claude Code Plugins

Community-maintained marketplace

Feedback

Matplotlib library for creating scientific visualizations. Use for plotting data, creating Arrhenius plots, adding legends, labels, and saving figures to files.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name matplotlib
description Matplotlib library for creating scientific visualizations. Use for plotting data, creating Arrhenius plots, adding legends, labels, and saving figures to files.

Matplotlib

Matplotlib is the standard Python library for creating scientific visualizations.

Basic Plotting

import matplotlib.pyplot as plt
import numpy as np

# Create figure and axis
fig, ax = plt.subplots(figsize=(10, 6))

# Line plot
x = np.linspace(0, 10, 100)
y = np.sin(x)
ax.plot(x, y, label='sin(x)')

# Scatter plot with markers
ax.scatter(x[::10], y[::10], marker='o', s=50)

# Labels and title
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_title('Sample Plot')
ax.legend()

# Save figure
plt.savefig('/app/output/plot.png', dpi=150, bbox_inches='tight')
plt.close()

Multi-Series Arrhenius Plot

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(10, 8))

colors = plt.cm.tab10.colors
markers = ['o', 's', '^', 'D', 'v', '<', '>', 'p']

for i, (name, group) in enumerate(df.groupby('electrolyte_id')):
    # Data points
    inv_t = 1000 / (group['temperature_c'] + 273.15)
    ln_sigma = np.log(group['conductivity_scm'])

    # Scatter plot
    ax.scatter(inv_t, ln_sigma,
               color=colors[i % len(colors)],
               marker=markers[i % len(markers)],
               s=80, label=name)

    # Fit line
    slope, intercept = np.polyfit(inv_t, ln_sigma, 1)
    x_fit = np.linspace(inv_t.min(), inv_t.max(), 100)
    y_fit = slope * x_fit + intercept
    ax.plot(x_fit, y_fit, color=colors[i % len(colors)],
            linestyle='--', alpha=0.7)

ax.set_xlabel('1000/T (K$^{-1}$)', fontsize=12)
ax.set_ylabel('ln($\\sigma$) (S/cm)', fontsize=12)
ax.set_title('Arrhenius Plot: Electrolyte Conductivity', fontsize=14)
ax.legend(loc='best')
ax.grid(True, alpha=0.3)

plt.savefig('/app/output/arrhenius_plot.png', dpi=150, bbox_inches='tight')
plt.close()

Multiple Subplots

fig, axes = plt.subplots(2, 2, figsize=(12, 10))

# Access individual subplots
axes[0, 0].plot(x, y1)
axes[0, 0].set_title('Plot 1')

axes[0, 1].scatter(x, y2)
axes[0, 1].set_title('Plot 2')

axes[1, 0].bar(categories, values)
axes[1, 1].hist(data, bins=20)

plt.tight_layout()
plt.savefig('/app/output/multi_plot.png', dpi=150)