【问题标题】:Set xticks visible in when plotting using pandas使用 pandas 绘图时设置 xticks 可见
【发布时间】:2022-11-20 19:19:55
【问题描述】:

考虑以下 sn-p

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt

data = np.random.rand(10,5)
cols = ["a","b","c","d","e"]
df = pd.DataFrame(data=data, columns = cols)
df.index.name="Time (s)"

fig,axes = plt.subplots(3,2,sharex=True, squeeze=False)
axes = axes.T.flat
axes[5].remove()

df.plot(subplots=True,grid=True,legend=True,ax = axes[0:5])

产生以下情节

我希望在子图中显示它们缺失的 xticks,正如我参考上图用红色写的那样。

我希望只显示我用红色标记的 xticks,而不是标签。标签在目前所在的位置很好,应保留在那里。

经过一番搜索,我尝试了

for ax in axes:
     ax.tick_params(axis="x")

for ax in axes:
    ax.spines.set(visible=True)

但没有成功。

有什么提示吗?

【问题讨论】:

    标签: python pandas matplotlib


    【解决方案1】:

    您需要通过设置sharex=False(这是matplotlib.pyplot.subplots 中的默认值)来关闭共享 x 属性:

    替换这个:

    fig,axes = plt.subplots(3,2,sharex=True, squeeze=False)
    

    这样:

    fig,axes = plt.subplots(3,2, squeeze=False)
    

    # 输出:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 2017-07-02
      • 1970-01-01
      • 2020-11-17
      相关资源
      最近更新 更多