Некоторые параметры, которые у вас есть для анимации графиков в Jupyter / IPython, с использованием matplotlib:
display
в цикле Используйте IPython.display.display(fig)
для отображения фигуры на выходе. Используя цикл, вы хотите очистить вывод до отображения новой фигуры. Обратите внимание, что эта методика дает в целом не столь гладкие результы. Поэтому я бы посоветовал использовать любое из приведенных ниже. import matplotlib.pyplot as plt
import matplotlib.animation
import numpy as np
from IPython.display import display, clear_output
t = np.linspace(0,2*np.pi)
x = np.sin(t)
fig, ax = plt.subplots()
l, = ax.plot([0,2*np.pi],[-1,1])
animate = lambda i: l.set_data(t[:i], x[:i])
for i in range(len(x)):
animate(i)
clear_output(wait=True)
display(fig)
plt.show()
%matplotlib notebook
Использовать магию IPython %matplotlib notebook
для установки бэкэнд на бэкэнд ноутбука. Это приведет к сохранению фигуры вместо отображения статического файла png и, следовательно, может также отображать анимацию. Полный пример: %matplotlib notebook
import matplotlib.pyplot as plt
import matplotlib.animation
import numpy as np
t = np.linspace(0,2*np.pi)
x = np.sin(t)
fig, ax = plt.subplots()
l, = ax.plot([0,2*np.pi],[-1,1])
animate = lambda i: l.set_data(t[:i], x[:i])
ani = matplotlib.animation.FuncAnimation(fig, animate, frames=len(t))
plt.show()
%matplotlib tk
Используйте магию IPython %matplotlib tk
, чтобы установить бэкэнд на бэкэнд tk. Это откроет фигуру в новом окне графика, который является интерактивным и может также показывать анимацию. Полный пример: %matplotlib tk
import matplotlib.pyplot as plt
import matplotlib.animation
import numpy as np
t = np.linspace(0,2*np.pi)
x = np.sin(t)
fig, ax = plt.subplots()
l, = ax.plot([0,2*np.pi],[-1,1])
animate = lambda i: l.set_data(t[:i], x[:i])
ani = matplotlib.animation.FuncAnimation(fig, animate, frames=len(t))
plt.show()
from IPython.display import HTML
HTML(ani.to_html5_video())
или использовать plt.rcParams["animation.html"] = "html5"
в начале ноутбука. Это потребует наличия видеокодеков ffmpeg для конвертирования в видео HTML5. Затем видео отображается в строке. Поэтому он совместим с бэкэндом %matplotlib inline
. Полный пример: %matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams["animation.html"] = "html5"
import matplotlib.animation
import numpy as np
t = np.linspace(0,2*np.pi)
x = np.sin(t)
fig, ax = plt.subplots()
l, = ax.plot([0,2*np.pi],[-1,1])
animate = lambda i: l.set_data(t[:i], x[:i])
ani = matplotlib.animation.FuncAnimation(fig, animate, frames=len(t))
ani
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.animation
import numpy as np
t = np.linspace(0,2*np.pi)
x = np.sin(t)
fig, ax = plt.subplots()
l, = ax.plot([0,2*np.pi],[-1,1])
animate = lambda i: l.set_data(t[:i], x[:i])
ani = matplotlib.animation.FuncAnimation(fig, animate, frames=len(t))
from IPython.display import HTML
HTML(ani.to_html5_video())
from IPython.display import HTML
HTML(ani.to_jshtml())
или использование plt.rcParams["animation.html"] = "jshtml"
в начале ноутбука. Это отобразит анимацию как HTML с JavaScript. Это очень совместимо с большинством новых браузеров, а также с бэкэндом %matplotlib inline
. Он доступен в matplotlib 2.1 или выше. Полный пример: %matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams["animation.html"] = "jshtml"
import matplotlib.animation
import numpy as np
t = np.linspace(0,2*np.pi)
x = np.sin(t)
fig, ax = plt.subplots()
l, = ax.plot([0,2*np.pi],[-1,1])
animate = lambda i: l.set_data(t[:i], x[:i])
ani = matplotlib.animation.FuncAnimation(fig, animate, frames=len(t))
ani
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.animation
import numpy as np
t = np.linspace(0,2*np.pi)
x = np.sin(t)
fig, ax = plt.subplots()
l, = ax.plot([0,2*np.pi],[-1,1])
animate = lambda i: l.set_data(t[:i], x[:i])
ani = matplotlib.animation.FuncAnimation(fig, animate, frames=len(t))
from IPython.display import HTML
HTML(ani.to_jshtml())
В зависимости от масштаба проекта посмотрите на.NET компактная платформа. Если Вы знакомы во всей Visual Studio затем, довольно легко начать. Конечно, MSDN является местом для ресурсов.
Выполнение управляемого кода на мобильном устройстве действительно получает большой удар производительности, но для маленького персонального проекта это довольно хорошо.
Кроме того, большинство устройств имеет все виды нечетных и странных причуд, а также странных аппаратных конфигураций. Ищите любой вид программы разработчика от производителя Вашего устройства.
Устройства Windows Mobile 6 идут с.NET Компактная Платформа 2.0 в ROM и также выставляют API.NET для большого количества вещей (камера, системные уведомления, электронное письмо, контакты...).
Я рекомендовал бы использовать Visual Studio 2008 и версия обновления Windows Mobile 6 SDK, который включает эмуляторы, документацию, инструменты и образцы.
Помимо MSDN, хороший ресурс для образцов Windows Mobile является Блогом Chris Craft's, кто недавно создал 30 мобильных приложений за 30 дней. Существуют образцы для большого количества различных методов, которые можно использовать для инициирования.
Для Visual Studio можно загрузить Windows Mobile SDK, который идет со стартовыми наборами и эмуляторами. Можно программировать или собственный C++ или приложения .NET довольно легко и быстро. Смотрите на образцы, которым предоставляют SDK для хорошей точки входа. Это, вероятно, будет лучшим ресурсом там для начала работы. Я предлагаю установить SDK, затем выполняющий некоторые образцы, чтобы намочить ноги.
Запустите в Центре разработки Windows Mobile. Там Вы найдете, что большое получение запускает раздел с большого количества ссылок на программное обеспечение, в котором Вы нуждаетесь и учебные руководства. Разработка Windows Mobile является большой забавой.:)
Хороший справочник для проверки является "Руководством Разработки Microsoft Mobile" Wigley, Молью и Ногой. Это затрагивает много тем в мобильной разработке с.NET компактная платформа и также платформа Windows Mobile.
Вы также могли бы хотеть узнать о Windows CE, из которого Windows Mobile является разновидностью. Хорошим местом, чтобы начать узнавать о Windows CE является windowsembedded.com. Оттуда можно загрузить пробную версию "Platform Builder", который является инструментом для создания изображения Windows CE для тестирования с.
Другой хороший источник примеров кода Разработки Windows Mobile и приложений в качестве примера может быть найден в блоге Chris Fairbairn.
Если у вас есть фон C #, перейти на Windows Mobile довольно просто. Конечно, есть много различий, но вы привыкнете к этому.
Некоторые вопросы:
Познакомьтесь с управлением памятью .NET CF и с тем, как сборщик мусора работает на мобильных устройствах. Стивен Пратшнер .Net CF WebLog . У Стива также есть хорошие уроки, как использовать RPM (Remote Performance Manager), чтобы избавиться от утечек памяти и т. Д.
Кроме того, некоторые вещи делаются с помощью библиотек pinvoking, таких как core.dll, поэтому перейдите к P / Invoke.net и ознакомьтесь с методами в разделе «Функции смарт-устройств».
И, наконец, несколько блогов
Робот Тиффани для Windows Mobile Accelerator
Разработка мобильных приложений Раффаэле Лимосани
Редактировать: О, похоже, похожий вопрос с отличными ответами @ Разработка Windows Mobile - с чего начать?