首页 > 解决方案 > 让 pandas plot() 显示 xlabel 和 xvalues

问题描述

我正在使用标准pandas.df.plot()函数在数据框中绘制两列。由于某种原因,x 轴值和 xlabel 不可见!似乎也没有选项可以在函数中打开它们(请参阅https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.html)。

有人知道发生了什么,以及如何纠正吗?

import matplotlib.cm as cm
import pandas as pd

ax1 = df.plot.scatter(x='t', y='hlReference', c='STEP_STRENGTH', cmap=cm.autumn);

给出了这个: 缺少 xvalues 和标签

标签: pythonpandasmatplotlib

解决方案


这是 Jupyter 笔记本显示熊猫散点图的一个错误,当使用 Matplotlib 作为绘图后端时,这些散点图会显示色阶。

@june-skeeter 在有效的答案中有一个解决方案。或者,传递sharex=False给 df.plot.scatter 并且您不需要创建子图。

import matplotlib.cm as cm
import pandas as pd

X = np.random.rand(10,3)

df = pd.DataFrame(X,columns=['t','hlReference', 'STEP_STRENGTH'])

df.plot.scatter(
    x='t', 
    y='hlReference', 
    c='STEP_STRENGTH', 
    cmap=cm.autumn,
    sharex=False
)

请参阅此已关闭的 pandas 问题中的讨论。在相关的 SO 答案中引用了上述解决方案。

pandas v1.1.0 仍然存在问题。您可以在此处跟踪问题:https ://github.com/pandas-dev/pandas/issues/36064


推荐阅读