【问题标题】:Python Matplotlib - first plot of "subplots" is slightly off [closed]Python Matplotlib - “子图”的第一个图有点偏离[关闭]
【发布时间】:2021-11-26 16:44:43
【问题描述】:

我在使用 Matplotlib 的 subplots() 方法时遇到了一个奇怪的问题。我有一个要绘制的 Pandas 数据框,它有 4 列。

一种选择是使用plt.subplots() 在单独的轴上绘制每一列:

import matplotlib.pyplot as plt
import pandas as pd


data = pd.read_csv("data.csv", sep="\t")

fig, axes = plt.subplots(4, 1, sharex=True)
for i, c in enumerate(data.columns):
    axes[i].plot(data[c], label=f"{c}")
    axes[i].legend()

plt.show()

导致:

但是,如果我只是直接在 Dataframe 上调用 plot()

data.plot()
plt.show()

我得到这个结果:

为什么在使用plt.subplots() 时,与其他三个相比,第一个图看起来略有偏差,而根据pd.DataFrame.plot(),它看起来完全对齐?我应该相信哪一个?

【问题讨论】:

标签: python pandas matplotlib


【解决方案1】:

与其他子图 [-20;20] 的范围相比,第一个子图上的 y 轴范围非常小,介于 -0.5 到 0.5 之间。这可以解释为什么直接绘制数据框时看不到变化。据我所知,您的两种绘图方法之间没有不兼容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-13
    • 2016-03-24
    • 1970-01-01
    • 2010-11-16
    • 2017-06-07
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    相关资源
    最近更新 更多