Hi,

Has this problem been solved? I also encountered the same problem (see the
following). I build from the source pulled from the Master branch.

/afancy

%python plt.figure() plt.plot(x, f(x), lw=2) z.show(plt, width='500px')
plt.close()

raceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 423, in
figure
**kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 79, in new_figure_manager
return new_figure_manager_given_figure(num, figure)
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 87, in new_figure_manager_given_figure
window = Tk.Tk()
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1767, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive,
wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2980, in plot
ax = gca()
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 803, in gca
ax = gcf().gca(**kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 450, in gcf
return figure()
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 423, in
figure
**kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 79, in new_figure_manager
return new_figure_manager_given_figure(num, figure)
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 87, in new_figure_manager_given_figure
window = Tk.Tk()
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1767, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive,
wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 22, in show
File "<stdin>", line 63, in show_matplotlib
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 560, in
savefig
fig = gcf()
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 450, in gcf
return figure()
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 423, in
figure
**kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 79, in new_figure_manager
return new_figure_manager_given_figure(num, figure)
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 87, in new_figure_manager_given_figure
window = Tk.Tk()
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1767, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive,
wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

On Thu, Sep 15, 2016 at 3:16 AM, Xi Shen <davidshe...@gmail.com> wrote:

> I think I found the cause. I think it is font problem. In docker
> environment, it only has a small set of fonts installed. But I have not
> find out which font should I install...I will update you guys later.
>
> On Thu, Sep 15, 2016, 00:33 moon soo Lee <m...@apache.org> wrote:
>
>> Tried x = np.arange(100), x = np.linspace(-2,2,1000) with both python2
>> and python3 in %python interpreter. I don't have any problem.
>>
>>
>> On Wed, Sep 14, 2016 at 3:12 AM Xi Shen <davidshe...@gmail.com> wrote:
>>
>>> OK, for this problem, it is discussed at https://stackoverflow.com/
>>> questions/15538099/conversion-of-unicode-minus-sign-from-
>>> matplotlib-ticklabels
>>>
>>> However, I just tried with Jupyter notebook, and its matplotlib can plot
>>> with negative values on the axes correctly, and 
>>> matplotlib.rcParams['axes.unicode_minus']
>>> = True.
>>>
>>> Can you guys please check if this only happens to a Python3 environment?
>>> I don't think I am the first one hit this problem.
>>>
>>>
>>>
>>> On Wed, Sep 14, 2016 at 5:49 PM Xi Shen <davidshe...@gmail.com> wrote:
>>>
>>>> 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.
>>>>
>>> --
>>>
>>>
>>> Thanks,
>>> David S.
>>>
>> --
>
>
> Thanks,
> David S.
>

Reply via email to