从两个 Pandas DataFrame 的多列向散点图添加线条

Adding lines to scatter plot from multiple columns of two Pandas DataFrames

我正在从两个 pandas DataFrame 的多列创建散点图,并想用线连接标记。下面是一些示例代码。

正在创建两个 DataFrame:

inYs= pd.DataFrame(np.random.uniform(low=0.3, high=0.450, size=(100)))
inYs[1]= np.random.uniform(low=0.1, high=0.2, size=(100))
inYs[2]= np.random.uniform(low=0.03, high=0.05, size=(100))
inYs[3]= np.random.uniform(low=0, high=0.02, size=(100))
inYs=inYs.T

inXs=pd.DataFrame(np.random.uniform(low=0.3, high=0.0, size=(100)))
inXs[1]=np.random.uniform(low=5.0, high=3.5, size=(100))
inXs[2]=np.random.uniform(low=7.5, high=5.0, size=(100))
inXs[3]=np.random.uniform(low=10, high=9, size=(100))
inXs=inXs.T

通过遍历两个 DataFrame 的列创建散点图:

fig = plt.figure(figsize=(17, 10))
fig.clf()
ax1 = plt.axes()

for i in np.arange(1, 100):
    for (x,y)in zip(inXs[i],inYs[i]):
        ax1.plot(x, y,"-p", color='grey')

这会创建一个 scatter plot of multiple columns from two dataframes ,但尽管使用线型“-p”(我尝试了几种不同的线型),但标记仍未连接。

如果能提供有关在遍历列时如何加入散点图标记的想法,我将不胜感激。或者有没有办法通过以另一种方式迭代 x 值和 y 值集来创建多线图?

几个小时以来,我一直试图在 SO 上为此找到解决方案,但仍然无法弄清楚我在这里做错了什么。这是我第一次放弃并提出问题,所以如果这对更有经验的编码人员来说是显而易见的,请原谅我!

问题是,您绘制的 (x, y) 对是单点。如果您针对 x 值列表绘制 y 列表,则会绘制标记之间的连接。哪些标记应该与其他标记相连?这些应该被打包到提到的列表中。

举个例子,y-list 和 x-list 如何导致绘制线;当然我怀疑这就是你想要创造的情节...

fig = plt.figure(figsize=(17, 10))
fig.clf()
ax1 = plt.axes()

for i in np.arange(1, 100):
    for (x,y)in zip(inXs[i],inYs[i]):
        ax1.plot(inXs[i], inYs[i], 'o-')