递归地将joypy.joyplot作为子图添加到一个matplotlib图

时间:2018-11-16 15:51:21

标签: python matplotlib plot data-visualization

我一直在使用joypy来绘制所谓的山脊线/欢乐曲线。我想将我的数据框平均划分为几个部分,然后将它们中的每一个递归地制作为喜剧情节,并将它们全部添加在一起,以便于可视化。不这样做,我只会得到一个很难看的很长的情节。我尝试过使用subplots并在for循环中制作一个新的joypy.joyplot,但没有成功:(

import joypy
import mplcursors
from matplotlib import cm
import matplotlib.pyplot as plt

data = pd.DataFrame(np.random.rand(180,7), columns=list('ABCDEFG'))

x_range = list(range(len(data)))
fig, axes = joypy.joyplot(data, kind="values", x_range=x_range, colormap=cm.Set2,
                         figsize=(100,10))
axes[-1].set_xticks(x_range);
mplcursors.cursor(hover=True)

fig.savefig('joyplot.png', bbox_inches='tight')

我尝试过的事情:

import joypy
from matplotlib import cm
import matplotlib.pyplot as plt

f, a = plt.subplots(2, 1)
data = pd.DataFrame(np.random.rand(180,7), columns=list('ABCDEFG'))

for c, i in enumerate(range(0, len(data), 50)):
    x_range = list(range(i, i+50, 1))
    fig, axes = joypy.joyplot(data[i:i+50], kind="values", x_range=x_range, colormap=cm.Set2,
                             figsize=(100,10),
                             title="Emotion evolution over an interview")
    # I don't know what to do here so the current fig can be added as subplot..
    a[c].set_xticks(x_range);

fig.show()

此外,还有谁知道如何使绘图变得交互式,例如当我的鼠标悬停在绘图上时,将显示y轴的值。 mplcursors似乎无效。任何帮助表示赞赏!谢谢。

0 个答案:

没有答案