Matplotlib/Pandas: 如何在同一图中的不同位置绘制多个散点图?

Matplotlib/Pandas: How to plot multiple scatterplots within different locations in the same plot?

我经常有两个 pandas 数据框,我想在同一个图中绘制它们。通常这是两个样本,我想对比一下它们的属性,例如:

x轴只有两个位置,左边是第一个数据集,右边是第二个数据集。

在 matplotlib 中,可以在同一图中绘制多个数据集:

import matplotlib.pyplot as plt

x = range(100)
y = range(100,200)
fig = plt.figure()
ax1 = fig.add_subplot(111)

ax1.scatter(x[:4], y[:4], s=10, c='b', marker="s", label='first')
ax1.scatter(x[40:],y[40:], s=10, c='r', marker="o", label='second')
plt.show()

然而,

(1) 如何像第一个示例那样将数据集分成两个分隔的位置?

(2) 如何使用两个 pandas 数据帧完成此操作?您是否合并它们然后指定两个位置进行绘图?

使用return_type='axes'得到data1.boxplot到return一个matplotlib Axes对象。然后使用 ax=ax 将该轴传递给对箱线图的第二次调用。这将导致两个箱线图绘制在相同的轴上。

ax = df1.plot()
df2.plot(ax=ax) 


a1=a[['a','time']]
ax = a1.boxplot(by='time', meanline=True, showmeans=True, showcaps=True, 
            showbox=True, showfliers=False, return_type='axes')
a2 = a[['c','time']]
a2.boxplot(by='time', meanline=True, showmeans=True, showcaps=True, 
       showbox=True, showfliers=False, ax=ax)