2017-09-02 48 views
1

我用this答案中的配方创建了散点图,其中我的数据框的一列为y,其他几个为不同的x。从这个答案的相关代码为:熊猫尺度x坐标多重散点图

ax1 = df.plot(kind='scatter', x='a', y='b', color='r')  
ax2 = df.plot(kind='scatter', x='c', y='d', color='g', ax=ax1)  
ax3 = df.plot(kind='scatter', x='e', y='f', color='b', ax=ax1) 

问题是,我的是这样的:

enter image description here

有什么是优雅和简单,你可以添加到这个绘图命令,使每个x列的数据将被缩放以至于占据整个轴?我不在乎是否所有的变量都不再有嘀嗒声了,只是想直观地比较每个变量的变化方式。

+0

你可以看看这个帖子https://stackoverflow.com/questions/34280444/python-scatter-阴谋与多个Y值-for-each-x – Akash

+0

谢谢,我目前正在看[这个](https://stackoverflow.com/questions/21764475/scaling-numbers-column-by-column-with-熊猫 - 蟒蛇)之一,并认为我可能需要创建一个新的数据帧与塞尔ral99列重新调整,而不是试图让绘图命令做到这一点.. – cardamom

回答

1

IIUC,您可以使用twiny

df = pd.DataFrame({'a':np.random.randint(1,10,20), 
       'b':np.random.randint(1,500,20), 
       'c':np.random.randint(20,50,20), 
       'd':np.random.randint(1,500,20), 
       'e':np.random.randint(20,50,20), 
       'f':np.random.randint(1,500,20)}) 

ax2 = df.plot(kind='scatter', x='c', y='d', color='g')  
ax1 = ax2.twiny() 
_ = df.plot(kind='scatter', x='a', y='b', color='r',ax=ax1) 
_ = df.plot(kind='scatter', x='e', y='f', color='b', ax=ax2) 

输出:

enter image description here

+0

谢谢你从来没有听说过,现在正在测试它 – cardamom

+0

基本上,你正在创建一个辅助x轴,因此你绘制了一些主要的x轴和辅助a轴上的其他数据。注意底部的顶部与'正常'X轴的比例。 –

+0

我的数据实际上有第四个x变量,上面的模式可以继续包含另一行吗? – cardamom