【发布时间】:2017-08-24 14:21:26
【问题描述】:
当我在 matplotlib 的散点图中添加 c 选项时,x 轴标签消失。这是一个例子: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);
收件人:
test_df.plot(kind="scatter", x="X", y="Y", c="C");
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);
给予
附:看起来像一个 jupyter 问题,在没有 jupyter notebook 的情况下调用标签很好
【问题讨论】:
-
只是说我试图从从 anaconda 控制台启动的 python shell 运行相同的代码,我能够看到“X”标签。 pd.__version__:0.19.2 matplotlib.__version__:2.0.0 Python 3.6.0。也许它只是这些软件包中的一个或多个的版本?如果我有时间(或者如果我在你身边),我会尝试使用新的 conda(或虚拟)环境对其进行测试,看看这是否能解决问题......
-
另外:您是否尝试过仅将代码作为笔记本运行(使用 Jupyter)?如果是这样,我会在没有笔记本的情况下对其进行测试,看看是否不仅仅是“X”轴没有显示的问题,因为它在笔记本框架中没有足够的空间(只是猜测)。
-
@umbe1987 你是对的!它在 jupyter 之外工作。我试过调用tight_layout,但这并没有改变任何东西:/对我来说看起来像一个jupyter错误。
-
对我来说,使用
conda-forge频道安装熊猫是有效的。conda install -c conda-forge pandas
标签: python pandas matplotlib