Python:并行坐标子图中的子图

时间:2014-01-09 22:04:46

标签: python matplotlib plot subplot parallel-coordinates

我看到了关于如何创建平行坐标图的示例:Parallel Coordinates

enter image description here

这会创建一个很好的平行坐标图,但我想将此图添加到子图中已存在的图中(在同一图中旁边应该有另一个图)。

对于已有的图形,图形和轴定义为:

fig = plt.figure(figsize=plt.figaspect(2.))
ax =  fig.add_subplot(1,2,1)

对于平行坐标,他们建议:

fig, axes = plt.subplots(1, dims-1, sharey=False)

如何协调图形和轴的初始化?

1 个答案:

答案 0 :(得分:1)

一个选项是使用subplots创建所有轴,然后只需移动您不想拥有wspace=0的轴的位置,就像对齐并行坐标图一样:

import matplotlib.pylab as plt

dims = 4
fig, axes = plt.subplots(1, dims-1 + 1, sharey=False)

plt.subplots_adjust(wspace=0)

ax1 = axes[0]
pos = ax1.get_position()
ax1.set_position(pos.translated(tx = -0.1,ty=0))

enter image description here

我在列数创建时添加了1(显式保留-1 + 1)并设置wspace=0,它绘制了彼此相邻的所有绘图,其间没有空格。取最左边的轴,得到Bbox的位置。这很好,因为它使您能够通过tx=-0.1分隔您现有的数字来翻译它。