如何将matplotlib.pyplot转换为散景图

时间:2017-06-07 22:21:28

标签: django python-3.x django-templates bokeh

我今天一直在阅读如何在Django模板中渲染matplotlib.pyplot。

我找到了散景库,我试图将有效输入中的matplotib转换为散景组件。我读 .to_boke 方法已弃用

        datos = np.random.randn(1000)
        ## Discretizamos el conjunto de valores en n intervalos,
        ## en este caso 8 intervalos
        datosbin = np.histogram(datos,
                                bins=np.linspace(np.min(datos), np.max(datos), 9))[0]
        ## Los datos los queremos en tanto por ciento
        datosbin = datosbin * 100. / len(datos)
        ## Los datos los queremos en n direcciones/secciones/sectores,
        ## en este caso usamos 8 sectores de una circunferencia
        sect = np.array([90, 45, 0, 315, 270, 225, 180, 135]) * 2. * math.pi / 360.
        nombresect = ['E', 'NE', 'N', 'NW', 'W', 'SW', 'S', 'SE']
        ## Dibujamos la rosa de frecuencias
        plt.axes([0.1, 0.1, 0.8, 0.8], polar=True)
        plt.bar(sect, datosbin, align='center', width=45 * 2 * math.pi / 360.,
                facecolor='b', edgecolor='k', linewidth=2, alpha=0.5)
        plt.thetagrids(np.arange(0, 360, 45), nombresect, frac=1.1, fontsize=10)
        plt.title(u'Procedencia de las nubes en marzo')
        script, div = components(plt, CDN)
        return render(request, 'consulta/resultado/imprimir.html', {'variables': variables,
                                                                    'respuesta3': peticion3.content,
                                                                    'lugar': lugar,
                                                                    'hora_actual': hora_actual,
                                                                    'hora_siguiente': hora_siguiente,
                                                                    'dias': horas,
                                                                    'Variables': variables_posibles,
                                                                    'latitud':latitud,
                                                                    'longitud': longitud,
                                                                    "the_script": script,
                                                                    "the_div": div})

我有 valueError (显然matplotlib.pyplot不是有效输入):

enter image description here

我在这里堆叠。这是我第一次使用图书馆和matplot。

我感谢任何帮助。非常感谢你。

PS:我编码的数字,我试图打印:

enter image description here

1 个答案:

答案 0 :(得分:3)

您所要求的内容不受支持,并且不存在。 Bokeh或Matplotlib中没有将Matplotlib输出转换为Bokeh输出的功能部件。因此,此问题的答案是:

  

您要的是不可能的。

(作为Bokeh的共同创建者和首席维护者长达5年以上),对于用户来说,清楚明确地知道没有将MPL转换为Bokeh的“魔术子弹”非常重要。 错误信息

生成散景输出的唯一选择是直接使用本机散景API,例如bokeh.plotting API。特别是,您可能想看一下wedge glyph,但是建议您,1.1.0起,Bokeh没有任何内置的径向轴,因此您必须绘制所有轴元素并标签为“手工”。