Matplotlib线宽
Matplotlib是一个用于绘制图表和图形的Python库,拥有丰富的功能和灵活的参数设置。在绘制线条时,线宽是一个重要的可调参数,可以通过调整线宽来控制图形的粗细和风格。本文将详细介绍如何在Matplotlib中设置线宽,并给出相关示例代码。
设置线宽
在Matplotlib中,可以使用linewidth
参数或lw
参数来设置线宽。线宽的单位是点(pt),默认值为1。可以通过将参数设置为大于1的值来增加线条的粗细,从而改变图形的外观。下面是一个简单的示例代码:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y, linewidth=2)
plt.show()
Output:
示例代码
示例1:绘制一条直线
import matplotlib.pyplot as plt
x = [0, 1]
y = [0, 1]
plt.plot(x, y, lw=1.5)
plt.show()
Output:
示例2:绘制多条折线
import matplotlib.pyplot as plt
x1 = [1, 2, 3, 4, 5]
y1 = [1, 2, 3, 4, 5]
x2 = [1, 2, 3, 4, 5]
y2 = [5, 4, 3, 2, 1]
plt.plot(x1, y1, lw=2)
plt.plot(x2, y2, lw=1)
plt.show()
Output:
示例3:绘制柱状图
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D']
y = [10, 20, 15, 25]
plt.bar(x, y, lw=0.5)
plt.show()
Output:
示例4:绘制散点图
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 20, 15, 25, 30]
plt.scatter(x, y, s=100, lw=1.5)
plt.show()
Output:
示例5:绘制等高线图
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) * np.cos(Y)
plt.contour(X, Y, Z, levels=10, linewidths=2)
plt.show()
Output:
示例6:设置线条颜色
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y, color='r', lw=1.5)
plt.show()
Output:
示例7:设置线条样式
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y, linestyle='--', lw=1.5)
plt.show()
Output:
示例8:设置线条透明度
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y, alpha=0.5, lw=1.5)
plt.show()
Output:
示例9:绘制填充区域
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [0, 3, 6, 12, 20]
plt.fill_between(x, y1, y2, color='blue', alpha=0.5, lw=1)
plt.show()
Output:
示例10:设置图例
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [0, 3, 6, 12, 20]
plt.plot(x, y1, label='Line 1', lw=3)
plt.plot(x, y2, label='Line 2', lw=2)
plt.legend()
plt.show()
Output:
总结
通过以上示例代码可以看到,调整线宽是改变Matplotlib图形外观的重要方式之一。可以根据具体的需求设置不同的线宽,使得图形更加直观、美观。