使大熊猫plot()显示xlabel和xvalues

时间:2018-10-03 15:48:44

标签: python pandas matplotlib

我正在使用标准的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 and label missing

2 个答案:

答案 0 :(得分:3)

这是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
)

请参阅this closed pandas issues中的讨论。其中在related SO answer中引用了上述解决方案。

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

答案 1 :(得分:1)

首先创建轴实例,然后将其作为参数发送到plot()

import matplotlib.cm as cm
import pandas as pd


X = np.random.rand(10,3)
df = pd.DataFrame(X,columns=['t','hlReference', 'STEP_STRENGTH'])
fig,ax1=plt.subplots()
df.plot.scatter(x='t', y='hlReference', c='STEP_STRENGTH', cmap=cm.autumn,ax=ax1)

enter image description here