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.

Reply via email to