Python 添加图例时,Seaborn绘图变为空白
我刚从一本书中关于Seaborn的教程开始;'Python数据科学手册'。当我执行关于向绘图中添加图例的部分时,绘图图形变为空白 我在Spyder控制台中一行一行地输入了这些代码Python 添加图例时,Seaborn绘图变为空白,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我刚从一本书中关于Seaborn的教程开始;'Python数据科学手册'。当我执行关于向绘图中添加图例的部分时,绘图图形变为空白 我在Spyder控制台中一行一行地输入了这些代码 import matplotlib.pyplot as plt import numpy as np rng = np.random.RandomState(0) x = np.linspace(0, 10, 500) y = np.cumsum(rng.randn(500, 6), 0) plt.plot(x, y
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.RandomState(0)
x = np.linspace(0, 10, 500)
y = np.cumsum(rng.randn(500, 6), 0)
plt.plot(x, y)
然后是
plt.legend('ABCDEF', ncol=2, loc='upper left');
无法理解为什么绘图图变为空白。我安装了Seaborn的最新版本。您必须一起运行代码:
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.RandomState(0)
x = np.linspace(0, 10, 500)
y = np.cumsum(rng.randn(500, 6), 0)
plt.plot(x, y)
plt.legend('ABCDEF', ncol=2, loc='upper left');
这导致:
但我们首先运行的是绘图,在单独的单元格图例上,我们将得到:
因为
plt.legend
本身试图在没有数据的空图上创建图例您必须一起运行代码:
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.RandomState(0)
x = np.linspace(0, 10, 500)
y = np.cumsum(rng.randn(500, 6), 0)
plt.plot(x, y)
plt.legend('ABCDEF', ncol=2, loc='upper left');
这导致:
但我们首先运行的是绘图,在单独的单元格图例上,我们将得到:
因为
plt.legend
本身试图在没有数据的空图上创建图例尝试增加ncol
。例如,plt.legend('ABCDEF',ncol=20,loc='左上角')
@VanPeer,感谢您的澄清。在书中再次回顾了这个示例之后,作者确实同时执行了这两行。这真的是一个快速浏览页面,我想这两行是分别执行的。奇怪的是,为什么开发人员会这样构造代码。您在哪里使用seaborn?此外,我使用的代码与您输入的代码完全相同(导入除外),并且我在绘图中获得了图例。好的。@nahusznaj,如前所述,我输入了plot.plot(x)@nahusznaj,如我在帖子中所述,它是在我的Spyder IDE控制台中输入的。我排队了。。plot.plot(x,y),然后在我的控制台中按enter按钮,然后输入plt.legend。。。单独输入一行代码,然后按enter按钮,这就是错误所在。在一起输入两行代码(用分隔符分隔)后,我能够生成绘图。我没有包括与导入相关的两行,因为这些导入行是最少需要的。请尝试增加ncol
。例如,plt.legend('ABCDEF',ncol=20,loc='左上角')
@VanPeer,感谢您的澄清。在书中再次回顾了这个示例之后,作者确实同时执行了这两行。这真的是一个快速浏览页面,我想这两行是分别执行的。奇怪的是,为什么开发人员会这样构造代码。您在哪里使用seaborn?此外,我使用的代码与您输入的代码完全相同(导入除外),并且我在绘图中获得了图例。好的。@nahusznaj,如前所述,我输入了plot.plot(x)@nahusznaj,如我在帖子中所述,它是在我的Spyder IDE控制台中输入的。我排队了。。plot.plot(x,y),然后在我的控制台中按enter按钮,然后输入plt.legend。。。单独输入一行代码,然后按enter按钮,这就是错误所在。在一起输入两行代码(用分隔符分隔)后,我能够生成绘图。我没有包括与进口相关的两行,因为这些进口行是最低限度需要的。谢谢你的解释,布哈里先生。谢谢你的解释,布哈里先生。