matplotlib scatterplot x轴标签

时间:2017-03-30 15:02:49

标签: python pandas matplotlib

当我将c选项添加到matplotlib中的散点图时,x轴标记为dissapear。这是一个例子:https://github.com/Kornel/scatterplot-matplotlib/blob/master/Scatter%20plot%20x%20axis%20labels.ipynb(欢迎拉取请求:))

这是与笔记本中相同的示例:

import pandas as pd
import matplotlib.pyplot as plt


test_df = pd.DataFrame({
        "X": [1, 2, 3, 4],
        "Y": [5, 4, 2, 1],
        "C": [1, 2, 3, 4]
    })

现在比较结果:

test_df.plot(kind="scatter", x="X", y="Y", s=50);

here the x axis labels are present

要:

test_df.plot(kind="scatter", x="X", y="Y", c="C");

enter image description here

x轴标签在哪里?这是我缺少的一个功能吗?

熊猫版:0.18.1 Matplotlib:1.5.3 Python:3.5.2

感谢您的帮助,  科内尔

编辑 @Kewl指出的解决方案是调用plt.subplots并指定轴:

fig, ax = plt.subplots()
test_df.plot(kind="scatter", x="X", y="Y", s=50, c="C", cmap="plasma", ax=ax);

给出

solved

P.S。它看起来像一个jupyter问题,没有jupyter笔记本时调用标签很好

3 个答案:

答案 0 :(得分:10)

这看起来像一只奇怪的虫子,熊猫密谋给我看!这是解决问题的方法:

fig, ax = plt.subplots()
df.plot(kind='scatter',x='X', y='Y', c='C', ax=ax)
ax.set_xlabel("X")
plt.show()

这将为您提供您期望的图表:

enter image description here

答案 1 :(得分:0)

如果您正在使用Anaconda,则通过pandas频道安装conda-forge可解决此问题。

conda install -c conda-forge pandas

Example Image

答案 2 :(得分:0)

你可以这样做。

plt.scatter(x="X", y="Y", c=df.color)
plt.xlabel("X axis label")
plt.ylabel("Y axis label")