gpt4 book ai didi

python - Matplotlib 不适用于 OSX 上的 Python 2.7 和 Django

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:36 24 4
gpt4 key购买 nike

我正在尝试使用 matplotlibmpld3 在我的 Django 报告应用程序上生成一些 html 图。

基本上我有一个如下图的 Controller :

from django.shortcuts import render
import mpld3
from matplotlib.pyplot import figure, title, bar

def cpfLogin(request):
mpl_figure = figure(1)
xvalues = (1,2,3,4,5)
yvalues = (1,2,3,4,5)

width = 0.5 # the width of the bars
title(u'Custom Bar Chart')
bar(xvalues, yvalues, width)
fig_html = mpld3.fig_to_html(mpl_figure)

context = {
'figure': fig_html,
}

return render(request, 'reports/CPFReport.html', context)

reports/CPFReport.html 的代码是:

 {% load i18n %}

{% block extrahead %}
<style type="text/css">
.chart_title {
font-weight: bold;
font-size: 14px;
}
</style>
{% endblock %}

{% block content %}
<div id="content-main">
<div class="chart_title">
{% trans "Custom Bar Chart" %}
</div>
{{ figure|safe }}
</div>
{% endblock %}

代码正确执行并且绘图正确显示,但几秒钟后应用程序终止并出现以下错误:

Assertion failed: (NSViewIsCurrentlyBuildingLayerTreeForDisplay() != currentlyBuildingLayerTree), function NSViewSetCurrentlyBuildingLayerTreeForDisplay, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1561.20.106/AppKit.subproj/NSView.m, line 14480.

我发现,如果我注释所有代码,则在调用任何 matplotlib 库时都会抛出此异常。

有人对此问题有解决方法或解决方案吗?

最佳答案

在我的例子中,我不得不避免导入:

import matplotlib.pyplot as plt

fig,ax = plt.subplots(figsize=(8,9))
l = plt.plot(x,s, 'y-', label="line")

并将其替换为:

from matplotlib.figure import Figure

fig = Figure()
ax = fig.add_subplot(111))
l = ax.plot(x,s, 'y-', label="line")

关于python - Matplotlib 不适用于 OSX 上的 Python 2.7 和 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49286741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com