欢迎访问宙启技术站
智能推送

在matplotlib中使用Line2D()函数创建带有阴影效果的线段

发布时间:2023-12-17 15:02:46

import numpy as np

import matplotlib.pyplot as plt

from matplotlib.collections import LineCollection

from matplotlib.lines import Line2D

# 生成数据

x = np.linspace(0, 10, 100)

y = np.sin(x)

# 创建LineCollection对象

segments = [np.column_stack([x[:-1], y[:-1]]), np.column_stack([x[1:], y[1:]])]

lc = LineCollection(segments, linewidths=2)

# 创建阴影效果的线段

shaded_line = Line2D([0, 1], [0, 1], color='k', linewidth=2)

lc.set_facecolors(plt.cm.jet(np.linspace(0, 1, len(x) - 1)))

lc.set_edgecolors('k')

lc.set_linestyle('-')

lc.set_segments(segments)

# 创建图像对象

fig, ax = plt.subplots()

# 添加LineCollection对象和阴影效果的线段到图像中

ax.add_collection(lc)

ax.add_line(shaded_line)

# 设置坐标轴范围和标签

ax.set_xlim(0, 10)

ax.set_ylim(-1, 1)

ax.set_xlabel('x')

ax.set_ylabel('y')

# 显示图像

plt.show()

这个例子演示了如何使用 matplotlib 的 Line2D() 函数创建带有阴影效果的线段。首先,我们生成了一些 x 和 y 的数据,然后使用 np.column_stack() 函数将相邻的点组合成线段。接下来,我们创建了一个 LineCollection 对象 lc,通过设置 facecolors 和 edgecolors 属性,使得线段具有颜色。然后,我们创建了一个阴影效果的线段 shaded_line,颜色设置为黑色。最后,我们创建一个图像对象 fig 和一个坐标轴对象 ax,通过 add_collection() 方法将 LineCollection 对象和阴影效果的线段添加到图像中。设置坐标轴的范围和标签后,调用 plt.show() 方法显示图像。