python - 如何使用 pandas 在 Excel 工作表中的同一个图形上绘制多个数据框?

标签 python excel pandas matplotlib

我试图在同一个图形上绘制多个 y 值(力)和 x 值(位移)。当所有图的 x 值都是恒定的但随着它变化时,我通常发现很容易,我还没有找到解决问题的方法。拜托,我需要一些帮助来解决这个问题的最佳方法。

我附上了一张我试图绘制的数据的图片。这三个样本具有不同的 x 值和 y 值。

/image/qAZt7.jpg

最佳答案

解决方案

假设您有三个数据帧:df0df1df2。此外,我们假设每个数据帧中有两列:xy。如果我们列出这些数据帧,dfs = [df0, df1, df2],那么您可以将它们全部三个绘制在同一个图上,如下所示。

这里的解决方案分为两部分:

  • 制作虚拟数据(这仅在复制一些虚拟数据时需要)。
  • 绘制数据帧(您将需要使用此代码)。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

%matplotlib inline
%config InlineBackend.figure_format = 'svg' # 'svg', 'retina'
plt.style.use('seaborn-white')

# Make Dummy Data
N = [100, 125, 150]
P = [[3, 2.2], [5, 3.7], [2, 4]]
dfs = list()
for n, p in zip(N, P):
    x = np.arange(n)
    y = p[0]*x**p[1] + np.average(p)
    df = pd.DataFrame({'x': x, 'y': y})
    dfs.append(df.copy())

# Make Plots
#dfs = [df1, df2, df3]
for i,df in enumerate(dfs):
    plt.plot(df['x'], df['y'], 
             linestyle='--', 
             alpha=0.8, 
             label='df{}'.format(i))

plt.legend(loc='best')
plt.show()

输出:
enter image description here

关于python - 如何使用 pandas 在 Excel 工作表中的同一个图形上绘制多个数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58387008/

相关文章:

python - 我的数据框有很多(192)列。如何同时选择两列?

php - 如何使用 PHP 修改现有的 excel 文件?

python - librosa 库出错

python - 如何从固定集合中生成固定大小的所有不同的二维数组?

python - Django:尝试使用预订创建 session 室 API

java - 如何使用 Apache POI 将 Excel 文档中的区域转换为表格?

Excel VBA 集合和自定义数据类型

python - 在卫星 map 上绘制数据

python - 在 Pandas 中创建新列的 np.where() 问题(可能是 NaN 问题?)

python - ValueError : The truth value of a Series is ambiguous. 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。 df[条件]