Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python matplotlib散点图x轴标签_Python_Pandas_Matplotlib - Fatal编程技术网

Python matplotlib散点图x轴标签

Python matplotlib散点图x轴标签,python,pandas,matplotlib,Python,Pandas,Matplotlib,当我将c选项添加到matplotlib中的散点图时,x轴标签将消失。下面是一个示例:(拉请求是受欢迎的:)) 以下是与笔记本中相同的示例: 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] }) 现在比较以下结果: tes

当我将c选项添加到matplotlib中的散点图时,x轴标签将消失。下面是一个示例:(拉请求是受欢迎的:))

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

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);

致:

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

熊猫版本:0.18.1 Matplotlib:1.5.3 Python:3.5.2

谢谢你的帮助, 科内尔

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

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


另外,它看起来像一个jupyter问题,如果没有jupyter笔记本,标签就可以调用了

,它看起来像一个奇怪的bug,有熊猫在向我密谋!这里有一个解决方法:

fig, ax = plt.subplots()
df.plot(kind='scatter',x='X', y='Y', c='C', ax=ax)
ax.set_xlabel("X")
plt.show()
这将为您提供您期望的图表:


如果您使用的是Anaconda,使用
conda forge
频道安装
pandas
可以解决此问题

conda安装-c conda

我只是想说,我试着从anaconda控制台上切下的python外壳运行相同的代码,并且我能够看到“X”标签。pd.\uuuuuu版本:0.19.2 matplotlib.\uuuu版本:2.0.0 Python 3.6.0。也许只是一个或多个软件包的版本?如果我有时间(或者如果我在你身边),我会尝试用一个新的conda(或虚拟)环境来测试它,看看这是否能解决问题……还有:你有没有试过只把代码作为笔记本运行(使用Jupyter)?如果是这样的话,我会在没有笔记本的情况下测试它,看看这是否不仅仅是因为“X”轴没有出现,因为它在笔记本框架中没有足够的空间(只是猜测)。@umbe1987你说得对!它在jupyter之外工作。我试着调用tight_layout,但这并没有改变任何事情。对我来说,安装pandas with
conda forge
频道很有效
conda安装-c conda forge pandas
非常感谢!你知道什么好笑吗?集合标签是冗余的。调用plt.subplot就可以了。请查看更新的笔记本。
fig, ax = plt.subplots()
df.plot(kind='scatter',x='X', y='Y', c='C', ax=ax)
ax.set_xlabel("X")
plt.show()