Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在pandas.plotting.parallel_坐标中对y轴重新排序_Python_Pandas - Fatal编程技术网

Python 在pandas.plotting.parallel_坐标中对y轴重新排序

Python 在pandas.plotting.parallel_坐标中对y轴重新排序,python,pandas,Python,Pandas,我试图比较两个子图中的平行坐标图。然而,它们的y轴没有对齐 代码示例: tmp1 = pd.DataFrame([list('CAA1'), list('CAT1'), list('CGT1')], columns=['pos1', 'pos2', 'pos3', 'label'], index=['seq1', 'seq2', 'seq3']) tmp2 = pd.DataFrame([list('CSG2'), list('CGT2'), list('CGG2')], columns=['p

我试图比较两个子图中的平行坐标图。然而,它们的y轴没有对齐

代码示例:

tmp1 = pd.DataFrame([list('CAA1'), list('CAT1'), list('CGT1')], columns=['pos1', 'pos2', 'pos3', 'label'], index=['seq1', 'seq2', 'seq3'])
tmp2 = pd.DataFrame([list('CSG2'), list('CGT2'), list('CGG2')], columns=['pos1', 'pos2', 'pos3', 'label'], index=['seq1', 'seq2', 'seq3'])
fig, ax = plt.subplots(2, 1)
parallel_coordinates(tmp1, 'label', ax=ax[0])
parallel_coordinates(tmp2, 'label', ax=ax[1])
输出:

这里有两个问题:

  • y轴标签的顺序不同,因此很难在两个子批次之间进行比较。(专业)
  • 某些标签在任一子批次中丢失(次要)
  • 我试过:

  • sharey
    。它不起作用。只有标签被洗牌,而不是值
  • tmp*
    dataframe顶部插入一些重影行,这样我就有了一个预设的y轴顺序 (例如
    tmp1.insert(0,{'pos1':'A','pos2':'C','pos3':'T','label':''}
    ) 这类分类很有效,但非常临时和难看
  • 有没有其他方法可以解决这个问题(尤其是主要的方法)