Hi,

I worked it out...So I have start a new instance of Zeppelin...creating a
new notebook wont take effect...So all the Python code are executed in one
python vm? Shouldn't separating ones are better?

After I get matplotlib work, I have a new problem.

This code snippet works
%python

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(100)

plt.figure()
plt.plot(x, x**2)
z.show(plt, width='300px')
plt.close()

But if I change x value to x= np.linspace(-2, 2, 1000), as it it used in
the example, I got

<matplotlib.figure.Figure object at 0x7fa177d197b8>
[<matplotlib.lines.Line2D object at 0x7fa177ecf080>]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 23, in show
File "<stdin>", line 69, in show_matplotlib
UnicodeEncodeError: 'ascii' codec can't encode character '\u2212' in
position 17262: ordinal not in range(128)

I did some testing, and I found if any of the value passed to plot()
contains negative numbers, I will get this error...very odd.



On Wed, Sep 14, 2016 at 8:50 AM Felix Cheung <felixcheun...@hotmail.com>
wrote:

> And
> matplotlib.use('Agg')
>
> Would only work before matplotlib is first used so you would need to
> restart the interpreter. From error stack below it looks like something
> might be setting the default backend in matplotlib to TkAgg though.
>
> Are you using the Python interpreter or PySpark interpreter? Also how you
> are calling matplotlib like Moon asks?
>
> _____________________________
> From: moon soo Lee <m...@apache.org>
> Sent: Tuesday, September 13, 2016 2:34 PM
> Subject: Re: Matplotlib uses tkinter instead of Agg
> To: <users@zeppelin.apache.org>
>
>
>
> Hi,
>
> Thanks for sharing the problem.
> Could you share which version of Zeppelin are you using and how did you
> try matplotlib inside of Zeppelin? Are you trying matplotlib with
> z.show() ?
>
> Thanks,
> moon
>
> On Tue, Sep 13, 2016 at 1:56 AM Xi Shen <davidshe...@gmail.com> wrote:
>
>> Hi,
>>
>> I want to build a Zeppelin docker image for my self. The docker image is
>> based on ubuntu:wily, and has openjdk-8-jre and python3 installed. I also
>> installed other packages that I need.
>>
>> After started Zeppelin in the docker, I am able to access the webapp from
>> my local browser. I tried to execute some simple Python script, and it
>> works fine. But when I try to run the matplotlib example, I got error
>> saying that tkinter cannot find the $DISPLAY.
>>
>> Traceback (most recent call last):
>> File "<stdin>", line 1, in <module>
>> File "/usr/local/lib/python3.4/dist-packages/matplotlib/pyplot.py", line
>> 535, in figure
>> **kwargs)
>> File
>> "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_tkagg.py",
>> line 84, in new_figure_manager
>> return new_figure_manager_given_figure(num, figure)
>> File
>> "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_tkagg.py",
>> line 92, in new_figure_manager_given_figure
>> window = Tk.Tk()
>> File "/usr/lib/python3.4/tkinter/__init__.py", line 1859, in __init__
>> self.tk = _tkinter.create(screenName, baseName, className, interactive,
>> wantobjects, useTk, sync, use)
>> _tkinter.TclError: no display name and no $DISPLAY environment variable
>>
>> Some people on the Internet suggested adding matplotlib.use('Agg') at the
>> beginning of the notebook, but it still does not work for me.
>>
>> --
>>
>>
>> Thanks,
>> David S.
>>
>
>
> --


Thanks,
David S.

Reply via email to