绘制多个散点图熊猫
作者:互联网
我认为绘制多个图形存在很多问题,但并非专门针对这种情况,如下所示.
pandas文档说要“重复绘图方法”以在单个轴上绘制多个列组.但是,这对于3个或更多列组将如何工作?例如,如果我们定义第三列:
bx = df.plot(kind='scatter', x='a',y='f',color = 'Green',label ='f')
此bx会传递到哪里?
另外,如果绘图是同一张图,则x轴不应该始终为“ a”或“ c”吗?但是文档有2个不同的x轴:“ a”和“ c”
解决方法:
Where would this bx be passed into?
您应该重复第二次绘制的调用,而不是第一次,因此不需要bx.
详细信息:绘制可选的ax参数税.这是它绘制的轴.如果未提供参数,则该函数将创建新的图和轴.另外,该轴由该函数返回,因此可以将其重新用于后续的绘图操作.这个想法是不将ax参数传递给第一个调用以进行绘制并在所有后续调用中使用返回的轴.
您可以验证每个对绘图的调用是否返回与传递的轴相同的轴:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(100, 6), columns=['a', 'b', 'c', 'd', 'e', 'f'])
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)
print(ax1 == ax2 == ax3) # True
Also, if the plot is the same graph, shouldn’t the x-axis be consistently either ‘a’ or ‘c’?
不必要.将不同的列放在相同的轴上是否有意义取决于它们所代表的数据.例如,如果a是收入而c是支出,则将两者置于同一“钱”轴上将是有意义的.相反,如果a是豌豆的数量,c是电压,则它们可能不应位于同一轴上.
标签:scatter-plot,python,pandas,matplotlib 来源: https://codeday.me/bug/20191010/1888085.html