在我的 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/