A plot with a vertical offset sounds like a frequency trail http://www.brendangregg.com/FrequencyTrails/intro.html.
这是一种方法does只需调整 y 值即可。
MatPlotLib 中的频率轨迹 https://stackoverflow.com/questions/17614499/frequency-trail-in-matplotlib
同样的情节也被创造为喜悦情节/山脊线情节。 Seaborn 有一个实现,可以创建一系列绘图 (FacetGrid),然后调整它们之间的偏移以获得类似的效果。
https://seaborn.pydata.org/examples/kde_joyplot.html https://seaborn.pydata.org/examples/kde_joyplot.html
使用线图的示例可能如下所示:
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
segments = 10
points_per_segment = 100
#your data preparation will vary
x = np.tile(np.arange(points_per_segment), segments)
z = np.floor(np.arange(points_per_segment * segments)/points_per_segment)
y = np.sin(x * (1 + z))
df = pd.DataFrame({'x': x, 'y': y, 'z': z})
pal = sns.color_palette()
g = sns.FacetGrid(df, row="z", hue="z", aspect=15, height=.5, palette=pal)
g.map(plt.plot, 'x', 'y')
g.map(plt.axhline, y=0, lw=2, clip_on=False)
# Set the subplots to overlap
g.fig.subplots_adjust(hspace=-.00)
g.set_titles("")
g.set(yticks=[])
g.despine(bottom=True, left=True)
plt.show()
Out: