Pandas 如何连接MatPlotLib中的两组XY散点值?

Pandas 如何连接MatPlotLib中的两组XY散点值?,pandas,matplotlib,Pandas,Matplotlib,我使用MatLibPlot从excel文件中获取数据并创建散点图 这是一个最小的示例表 在散点图中,我有两组XY值。在这两组中,我的X值都是国家人口。我在一组中使用可再生能源作为我的Y值,在另一组中使用不可再生能源 对于每个国家,我希望有一条从可再生能源点到不可再生能源点的线路 我的示例代码如下 import pandas as pd import matplotlib.pyplot as plt excel_file = 'example_graphs.xlsx' datasheet =

我使用MatLibPlot从excel文件中获取数据并创建散点图

这是一个最小的示例表

在散点图中,我有两组XY值。在这两组中,我的X值都是国家人口。我在一组中使用可再生能源作为我的Y值,在另一组中使用不可再生能源

对于每个国家,我希望有一条从可再生能源点到不可再生能源点的线路

我的示例代码如下

import pandas as pd
import matplotlib.pyplot as plt

excel_file = 'example_graphs.xlsx'

datasheet = pd.read_excel(excel_file, sheet_name=0, index_col=0)

ax = datasheet.plot.scatter("Xcol","Y1col",c="b",label="set_one")
datasheet.scatter("Xcol","Y2col",c="r",label="set_two", ax=ax)
ax.show()
它产生了下面的图


我希望能够在两组点之间画一条线,最好是一条我可以改变其厚度和颜色的线。

如前所述,您可以简单地在数据框上循环,并为每一行绘制一条线

import pandas as pd
import matplotlib.pyplot as plt

datasheet = pd.DataFrame({"Xcol" : [1,2,3],
                          "Y1col" : [25,50,75],
                          "Y2col" : [75,50,25]})

ax = datasheet.plot.scatter("Xcol","Y1col",c="b",label="set_one")
datasheet.plot.scatter("Xcol","Y2col",c="r",label="set_two", ax=ax)
for n,row in datasheet.iterrows():
    ax.plot([row["Xcol"]]*2,row[["Y1col", "Y2col"]], color="limegreen", lw=3, zorder=0)
plt.show()

(x1,y1)
(x2,y2)
之间的一条线是通过matplotlib中的
ax.plot([x1,x2],[y1,y2])
创建的。@importantanceofbeingernest如果您在上述获取的数据集上添加了这样做的方法,这将是一个很好的答案,但不管怎样,谢谢!如果您至少提供了一个解决问题的尝试,我肯定可以这样做。@ImportanceOfBeingErnest我已经编辑了这个问题,希望它符合标准。