Python 3.x Gdk CRITICAL**:10:33:28.827:Gdk#u cursor#u new#u for#u display:assertion';GDK#U IS#U显示器(显示器)和#x27;失败
我已通过VSCode运行以下代码:Python 3.x Gdk CRITICAL**:10:33:28.827:Gdk#u cursor#u new#u for#u display:assertion';GDK#U IS#U显示器(显示器)和#x27;失败,python-3.x,matplotlib,visual-studio-code,gdk,Python 3.x,Matplotlib,Visual Studio Code,Gdk,我已通过VSCode运行以下代码: import numpy as np import matplotlib.pyplot as plt a = np.array([2, 4, 5]) plt.plot(a) print('Hello') 其输出未显示matplotlib图,但仍打印“Hello”。这是输出日志: Unable to init server: Could not connect: Connection refused Unable to init server: Could
import numpy as np
import matplotlib.pyplot as plt
a = np.array([2, 4, 5])
plt.plot(a)
print('Hello')
其输出未显示matplotlib图,但仍打印“Hello”。这是输出日志:
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
(demo.py:16992): Gdk-CRITICAL **: 10:33:28.827: gdk_cursor_new_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
Hello
我用VSCode运行这个代码,Ubuntu 20.04。但是,当我使用Spyder3运行时,它会正常显示该图。我不知道VSCode,但我猜它没有使用更复杂的(Qt)控制台来显示matplotlib图。如果我没记错的话,斯派德就是这样 快速matplotlib简介:
- 实际上,您的图形已绘制,但未显示
- 通常,您可以使用
在单独的窗口中显示绘图。然后控制台被“锁定”。通过关闭窗口,可以“删除”绘图。因此,新的“线”(例如,plt.show()
)将在新窗口中绘制,而不需要您以前的数据plt.plot(a+1)
- 您可以通过调用
(使用plt.ion()
)来启动交互模式。然后plt.ioff()
不会锁定控制台plt.show()
- 您可以使用
直接保存它,而不是打印。也许您想设置后端并阻止它加载GTK内容。那么你就不会得到Gdk的关键信息了。插入plt.savefig(“filename.png”)
导入matplotlib;matplotlib。在导入
pyplot
- 当您更改(交互式)后端时会发生什么?提示:阅读帮助
(当然是在加载帮助(matplotlib.use)
导入matplotlib之后)
- 您的默认后端是什么
matplotlib.get\u backend()