df.plot(sharex=True) 应该做什么?

问题描述 投票:0回答:1

我无法理解熊猫绘图中的

sharex
。我可以使用 matplotlib 使其工作,但是我也尝试了
sharex
df.plot()
参数。我不知道它的作用是什么,但这不是我所期望的。 一个简单的示例(使用 Series,但 DataFrame 也会发生同样的情况):

import numpy as np import pandas as pd import matplotlib.pyplot as plt t = np.arange(0, 20, 0.01) s = pd.Series(np.sin(t), index=t) ax1 = plt.subplot(211) ax2 = plt.subplot(212) s.plot(ax=ax1, sharex=True) s.plot(ax=ax2, sharex=True) plt.xlim(0, 6) plt.show()

我看到的唯一效果是顶部图表隐藏了其 x 轴标签。至少,我希望 
both

图表将它们的 x 轴限制为 [0, 6],现在这只发生在底部图表上。我也期待同步缩放。

文档

说:

sharex :bool,如果 ax 为 None 则默认 True ,否则为 False
如果是

subplots=True
,则共享 x 轴并设置一些 x 轴标签 看不见;如果 ax 为 None,则默认为 True,否则为 False 斧头传入;请注意,传递斧头和

sharex=True
将更改图中所有轴的所有 x 轴标签。

我错过了什么?这种行为“正确”吗? “共享 x 轴”实际上是什么意思?我想了解一下设计。我确实
不需要

需要解决方法。 我不是唯一一个

困惑

的用户。

python pandas matplotlib
1个回答
0
投票

import matplotlib.pyplot as plt fig=plt.figure() ax1 = plt.subplot(211) ax2 = plt.subplot(212, sharex = ax1) plt.xlim(0, 6)

正如这个问题中所说:
创建两个子图后如何共享它们的x轴

你必须做:

sharex = ax1

指定要共享的轴。

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.