小编Nab*_*abs的帖子

实时matplotlib图仍然在循环中不起作用

我想创建一个实时图形绘图程序,它从串口输入.最初,我尝试了很多在网站上发布的代码,但都没有.所以,我决定通过集成我在网站上看到的代码片段来自己编写代码.但问题是图形将仅在程序结束时弹出,换句话说,在循环之外.在循环中,它没有显示任何内容,只是一个空白的画布.我仍然是python的新手.这是我的代码.

import matplotlib.pyplot as plt
import time
import random
from collections import deque
import numpy as np

# simulates input from serial port
def random_gen():
    while True:
        val = random.randint(1,10)
        yield val
        time.sleep(0.1)


a1 = deque([0]*100)
ax = plt.axes(xlim=(0, 20), ylim=(0, 10))
d = random_gen()

line, = plt.plot(a1)
plt.ion()
plt.ylim([0,10])
plt.show()

for i in range(0,20):
    a1.appendleft(next(d))
    datatoplot = a1.pop()
    line.set_ydata(a1) 
    plt.draw()
    print a1[0]
    i += 1
    time.sleep(0.1)
Run Code Online (Sandbox Code Playgroud)

另外,我使用Enthought Canopy学术许可证ver 1.1.0.

python real-time matplotlib

8
推荐指数
1
解决办法
2万
查看次数

如何通过 cfg 文件中的 cmdclass 覆盖 distutils 命令?

我正在将配置从 迁移setup.pysetup.cfg,但我遇到了关键字问题cmdclass。我查看了 setuptools 文档,似乎没有记录或支持此关键字。所以我尝试了options.entry_points。但我不断收到无效命令错误。

这是我所拥有的:

setup.cfg

[options.entry_points]
console_scripts =
    install = CustomInstall:run
Run Code Online (Sandbox Code Playgroud)

setup.py

from setuptools.command.install import install
from setuptools import setup

class CustomInstall(install):
    def run(self):
        print('overriden install command')

setup()
Run Code Online (Sandbox Code Playgroud)

结果只是一个正常的安装命令。但是,我想复制运行时得到的行为:

# setup.py
from setuptools.command.install import install
from setuptools import setup

class CustomInstall(install):
    def run(self):
        print('overriden install command')

setup(cmdclass= {"install": CustomInstall})
Run Code Online (Sandbox Code Playgroud)

它给出了一个覆盖的安装命令。

distutils setuptools setup.py python-packaging

6
推荐指数
1
解决办法
966
查看次数