首页 > 解决方案 > matplotlib中有没有用一条线连接两组点的函数?

问题描述

我正在写一篇论文,其中有两组点,一组是实验的,另一组是计算的,为了比较它们,我必须用一条简单的线连接每个等效点并绘制它。

例如,实验是行的基础,计算是行的结束

数据点存储在熊猫数据框中,我使用 matplotlib 绘制它们

代码如下

oil_xp = pd.DataFrame('metanol':[3.9, 6.5, 9.2, 16.1], 'acido':[96, 88.15, 80.5, 64.])
oil_sim= pd.DataFrame('metanol':[5.0, 7.2, 9.3, 16.6], 'acido':[95., 87.7, 80.3, 63.82] )

有规律的情节,看起来像这样

注意:这里有一个缺失的数据点,您可能会注意到一些数据错误,但我的数据有问题,不得不估计它

数据图

我需要的是通过直线将每个 oil_sim 点与 oil_xp 点连接起来,并保持同一数据帧之间的定期连接

标签: pythonmatplotlibplot

解决方案


如果您提供一个示例数据框、您尝试过的内容以及预期的结果,将会有所帮助。

根据您的描述,我想出了一个 data.frame,2 列并将它们绘制如下。如果您的方案不同,请提供更多信息:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame({'experimental':np.random.uniform(0,20,5),
'calculated':np.random.uniform(0,20,5)})
fig, ax = plt.subplots()
ax.plot(df.T,'o')
ax.plot(df.T,linewidth = 0.5, linestyle = '--',color="gray")

在此处输入图像描述


推荐阅读