python - 如何使用 pandas 在 Excel 工作表中的同一图形上绘制多个数据框?
问题描述
我试图在同一个图上绘制多个 y 值(力)和 x 值(位移)。当所有图的 x 值都是恒定的但随着它的变化而变化时,我通常会发现它很容易,我还没有找到解决它的方法。拜托,我需要一些帮助来解决这个问题。
我附上了我要绘制的数据的图片。这三个样本具有不同的 x 值和 y 值。
解决方案
解决方案
让我们假设您有三个数据框df0
:df1
和df2
。此外,让我们假设在每个数据框中您有两列:x
和y
. 如果我们列出这些数据框,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()
推荐阅读
- excel - 如何通过 OLEDB 或 SSIS 中的任何其他源连接 Excel 源?
- r - 使用一个shapefile(具有许多多边形)批处理/提取一个栅格的原始数据?
- hive - 我想了解 Hive Metastore 的 db&table 特定信息
- node.js - 如何将 mongo 对象推入 Neo4j
- javascript - 如何仅将管理员角色添加到 Firebase 中的第一个用户?
- c# - .Net Core DI - 同一类型的多个实例
- php - WordPress:LearnPress(LMS 插件):查询与“课程”相关的“课程”
- google-apps-script - 我可以根据一个或多个单词来分隔列中的文本吗?
- activemq - Prometheus 和 ActiveMQ 集成
- python - 在字符串中查找 char 的索引