How to change the linewidth and markersize separately in a factorplot in Matplotlib?

To change the linewidth and markersize separately in a factorplot in Matplotlib, you can customize these properties after creating the plot or by accessing the underlying matplotlib objects. Note that factorplot() has been deprecated in favor of relplot() in newer versions of seaborn.

Using factorplot() with Post-Creation Customization

Here's how to modify linewidth and markersize after creating the factorplot ?

import seaborn as sns
import matplotlib.pyplot as plt

# Set figure parameters
plt.rcParams["figure.figsize"] = [10, 6]
plt.rcParams["figure.autolayout"] = True

# Load example dataset
exercise = sns.load_dataset("exercise")

# Create factorplot
g = sns.factorplot(x="time", y="pulse", hue="kind", data=exercise, 
                   markers=['o', '*', 'd'], scale=1.5, height=6)

# Customize linewidth and markersize
for ax in g.axes.flat:
    for line in ax.lines:
        line.set_linewidth(3)  # Set line width
        line.set_markersize(10)  # Set marker size

plt.show()

Using Modern relplot() Alternative

The recommended approach using relplot() with better control ?

import seaborn as sns
import matplotlib.pyplot as plt

# Set figure parameters
plt.rcParams["figure.figsize"] = [10, 6]

# Load example dataset
exercise = sns.load_dataset("exercise")

# Create relplot with custom styling
g = sns.relplot(x="time", y="pulse", hue="kind", data=exercise, 
                kind="line", markers=['o', '*', 'd'], 
                markersize=12, linewidth=2.5, height=6)

plt.show()

Method-by-Method Comparison

Method Linewidth Control Markersize Control Ease of Use
factorplot() + customization Post-creation via set_linewidth() Post-creation via set_markersize() More complex
relplot() Direct parameter linewidth Direct parameter markersize Simple

Key Parameters

  • scale − Controls overall scaling in factorplot (affects both lines and markers)
  • linewidth − Sets the width of connecting lines
  • markersize − Controls the size of data point markers
  • markers − List of marker styles for different categories

Conclusion

For new projects, use relplot() with direct linewidth and markersize parameters. For existing code with factorplot(), customize the plot by iterating through axes and modifying line properties after creation.

Updated on: 2026-03-25T23:18:29+05:30

289 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements