Как нарисовать схему с помощью SchemDraw без использования Jupyter Notebook?

Приведенный ниже пример кода выполняется без ошибок, но на экране ничего не отображается.

Вот пример кода, который я пытаюсь использовать...

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 даже не вызывается...

После поиска в некоторых документах, кратких руководствах или примерах, которые очень ограничены, я пришел к выводу, что приведенный выше пример, а также другие, полагаются на Jupyter Notebook со встроенным Matplotlib...


Как я могу нарисовать это без использования 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...


person Francis Cugler    schedule 22.06.2020    source источник
comment
См. stackoverflow.com/questions/49158923.   -  person phoenix    schedule 17.08.2020


Ответы (1)


Потеря интерактивного окна Matplotlib была регрессионной ошибкой, появившейся в SchemDraw 0.7. Это было исправлено в версии 0.7.1, а сегодня отправлено в PyPi. В этой версии d.draw() открывает окно Matplotlib, если работает как скрипт, или показывает вывод в ячейке, если работает во встроенном режиме Jupyter.

person Collin    schedule 27.06.2020
comment
Я новичок в Python. Я учился этому в течение последнего года или около того. Обычно я работаю с языками C/C++. Я знаю, что такое модули и пакеты, и начинаю к ним привыкать... Есть небольшой переходный этап тренировки мышления при переключении с одного языка на другой. Чем больше я работаю с Python, выполняя случайные проекты, пробуя разные вещи, тем больше я знакомлюсь с языком. Я подумал, что SchemDraw будет хорошим пакетом для использования, не полагаясь на встроенный блокнот, который сделает это за вас! Спасибо за ответ. надо будет посмотреть обновление! - person Francis Cugler; 28.06.2020
comment
Потрясающий! Так что, должно быть, была ошибка! Теперь я могу запустить файл сценария с помощью командной строки Windows! Я пытался использовать от Jupyter-Notebook до Anaconda Explorer, и это немного запутанно... Слишком много усилий, чтобы настроить среду, сделать эту среду активной, убедиться, что все необходимые пакеты установлены в этой среде, просто чтобы что-то запустить, настроить сервер и т. д. Я просто хочу установить пакет, написать свой файл или скрипт Python и запустить его через командную строку! - person Francis Cugler; 28.06.2020