python - 如何在不使用 Jupyter Notebook 的情况下使用 SchemDraw 绘制示意图?
问题描述
下面的代码示例运行没有错误,但屏幕上没有显示任何内容。
这是我正在尝试使用的代码示例...
import SchemDraw
import SchemDraw.elements as elm
d = SchemDraw.Drawing()
R1 = d.add(elm.Resistor(label='1K$\Omega$'))
d.labelI(R1, '1 mA', top=False)
d.add(elm.Capacitor(d='down', botlabel='0.1$\mu$F'))
d.add(elm.Line( d='Left'))
d.add(elm.Ground)
d.add(elm.SourceV( d='up', label='10V') )
d.save('schematic.svg')
d.draw()
我在 Windows 7 平台上,并且我的命令提示符中集成了 Python 3.7。如果我导航到我的schematic.py
文件所在的目录并将其添加到控制台中:
Python schematic.py
它运行良好并以 0 错误退出,但屏幕上没有任何内容,甚至没有调用 Matplotlib...
在搜索了一些非常有限的文档、简短教程或示例之后,我意识到上面的示例以及其他示例都依赖于内联 Matplotlib 的 Jupyter Notebook...
我如何在不使用 Jupyter Notebook 和直接内联 Matplotlib 的情况下绘制它?
我想将它作为基本的 Python 脚本运行,我知道我可以像这样手动导入 Matplotlib 模块......
import Matplotlib.pyplot as plt
//... prev code
d.draw() // doesn't draw anything to the screen or to matplotlib's backend...
// plt.plot(...)? What goes here?
plt.show()
但是我不知道如何使用它来绘制SchemDraw的draw方法的结果......
解决方案
丢失 Matplotlib 交互式窗口是 SchemDraw 0.7 中引入的回归错误。它在 0.7.1 中修复,今天推送到PyPi。在此版本中,d.draw()
如果作为脚本运行,则打开 Matplotlib 窗口,如果在 Jupyter 内联模式下运行,则在单元格中显示输出。
推荐阅读
- java - Under the IDEA environment of Windows 10, it is garbled when using jxl to read in the excel table and output Chinese
- spring-boot - JWT 身份验证 Spring Boot 和 Swagger UI
- bootstrap-4 - 如何使用表单内联对齐内容?
- javascript - @react-navigation/native 和 @react-navigation/stack 应该是我的模块的 peerDependencies 还是依赖项?
- c++ - WebRTC 一对多连接
- python - 自动频道转发电报
- mysql - 输入框中的大写单词不匹配
- c# - 为什么 Window.Resources 用于参考库中的控件?
- android - 无论我在 Play 管理中心选择什么许可证响应,Android LVL 库总是返回“允许用户访问”
- go - 通过 golang 客户端调用 grpcweb 包装的服务器函数?