簡體   English   中英

Python Matplotlib - “子圖”的第一個 plot 略微偏離

[英]Python Matplotlib - first plot of "subplots" is slightly off

Matplotlib 的 subplots subplots()方法遇到了一個奇怪的問題。 我有一個 Pandas Dataframe 我想要有 4 列的 plot。

一種選擇是 plot 使用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()時,第一個 plot 與其他三個相比看起來略有偏差,而根據pd.DataFrame.plot()它看起來完全對齊? 我應該相信哪一個?

與其他子圖 [-20;20] 上的范圍相比,第一個子圖上的 y 軸范圍非常小,介於 -0.5 到 0.5 之間。 這可以解釋為什么當您直接使用 plot dataframe 時看不到變化。 據我所知,您的兩種繪圖方法之間沒有不兼容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM