【问题标题】:How to draw a schematic using SchemDraw without using Jupyter Notebook?如何在不使用 Jupyter Notebook 的情况下使用 SchemDraw 绘制示意图?
【发布时间】:2020-10-11 21:28:19
【问题描述】:

下面的代码示例运行没有错误,但屏幕上没有显示任何内容。

这是我尝试使用的代码示例...

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方法的结果……

【问题讨论】:

标签: python matplotlib jupyter-notebook drawing circuit-diagram


【解决方案1】:

丢失 Matplotlib 交互式窗口是 SchemDraw 0.7 中引入的回归错误。它已在 0.7.1 中修复,今天推送到 PyPi。在这个版本中,d.draw() 如果作为脚本运行,则会打开 Matplotlib 窗口,如果在 Jupyter 内联模式下运行,则会在单元格中显示输出。

【讨论】:

  • 我对 Python 有点陌生。过去一年左右我一直在学习它。我通常使用 C/C++ 语言。我知道什么是模块和包,并且我开始习惯它们……训练一个人的思维方式从一种语言转换到另一种语言有一个轻微的过渡阶段。我使用 Python 做的随机项目越多,尝试不同的事情,我就越熟悉这门语言。我认为 SchemDraw 将是一个很好的包,无需依赖为您完成它的集成笔记本!感谢您的反馈。我得看看更新!
  • 太棒了!所以肯定有BUG!我现在可以使用 Window 的命令提示符运行脚本文件了!我尝试使用Jupyter-NotebookAnaconda Explorer,这有点令人费解......设置环境涉及太多,使该环境处于活动状态,必须确保在该环境中安装所有必要的软件包只是为了做点什么运行,设置服务器等...我只想安装软件包,编写我的 python 文件或脚本,然后通过命令提示符运行它!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-07
  • 2022-08-19
  • 2020-04-28
  • 2021-05-16
  • 2018-11-15
  • 2022-07-27
  • 1970-01-01
相关资源
最近更新 更多