首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将MatPlotLib中的两组XY散射值连接起来?

如何将MatPlotLib中的两组XY散射值连接起来?
EN

Stack Overflow用户
提问于 2018-10-09 14:29:34
回答 1查看 418关注 0票数 2

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

下面是一个最小的示例表

在我的散点图中,我有两组XY值。在这两组中,我的X值都是乡村人口。我有消耗的可再生能源作为我的Y值在一套和不可再生能源消耗在另一套。

对于每个国家,我想有一条从可再生点到不可再生点的线。

我的示例代码如下

代码语言:javascript
复制
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()

它会产生以下情节

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-10 02:22:40

正如注释所指出的,您可以简单地遍历dataframe并为每一行绘制一行。

代码语言:javascript
复制
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()

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52723466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档