python - Django 和 Matplotlib : signal only works in main thread

标签 python django matplotlib

在我的 Django 项目的 views.py 中,在代码的某个位置,我想在服务器上显示一个图表,以实时可视化用户输入。因此,我在与 views.py 相同的文件夹中创建了另一个文件 plotter.py,其中包含以下内容以显示一个简单的图形:

导入 numpy 导入 matplotlib.pyplot

def plot():
    N = 50
    x = numpy.random.rand(N)
    y = numpy.random.rand(N)
    colors = numpy.random.rand(N)
    area = numpy.pi * (15 * numpy.random.rand(N))**2
    matplotlib.pyplot.scatter(x, y, s=area, c=colors, alpha=0.5)
    matplotlib.pyplot.show()

然后,在 views.py 中,我导入绘图仪,然后在文件中我想要的位置,我有 plotter.plot()。但是,这会产生以下错误:

Request Method:     POST
Request URL:    http://localhost:8000/teacher/
Django Version:     1.7
Exception Type:     ValueError
Exception Value:    

signal only works in main thread

Exception Location:     C:\Anaconda\lib\site-packages\matplotlib\backends\backend_qt5.py in mainloop, line 150
Python Executable:  C:\Anaconda\python.exe
Python Version:     2.7.8

如何在不导致此类错误的情况下实现此目的?

最佳答案

如下运行你的服务器

python manage.py runserver --nothreading --noreload

关于python - Django 和 Matplotlib : signal only works in main thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26496996/

相关文章:

python - 为什么我的梯度下降算法不能正常工作?

python - 根据来自 QComboBox 的用户输入添加和删除动态生成的 QLineEdit 小部件

python - Django 中的 "x Days ago' 模板过滤器?

python - 在Python中忽略大于x分钟的时间间隔Matplotlib

python - 使用 python 中的 for 循环仅在一个轴上创建多个绘图

python - 没有名为 'sage.all' 的模块

python - 使用 pyodbc 和 mysql8 的参数化查询对于 int 数据类型的列返回 0

python - 为什么我的托管 Django 站点(alwaysdata)无法显示我的页面

jquery - 创建与 CSS/HTML 相关的丰富动态单页 Django Web 应用程序的最佳方法

python - 将 Xticks 频率设置为数据帧索引