Neal Becker
2015-07-06 12:46:56 UTC
This code runs on python3, but on python2 I get:
Traceback (most recent call last):
File "per_vs_lambda.py", line 35, in <module>
ax.set_xlabel (' ')
File "/usr/lib64/python2.7/site-packages/matplotlib/axes/_axes.py", line
179, in set_xlabel
return self.xaxis.set_label_text(xlabel, fontdict, **kwargs)
File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1480,
in set_label_text
self.label.set_text(label)
File "/usr/lib64/python2.7/site-packages/matplotlib/text.py", line 1028,
in set_text
self._text = '%s' % (s,)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 0:
ordinal not in range(128)
#!/usr/bin/python
# -*- coding: utf-8 -*-
data='''carriers,lambda,per
1,7,1.3e-4
1,8,3.0e-4
1,9,.0014
8,7,4.8e-4
8,8,1.3e-3
8,9,.0075
'''
import pandas as pd
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
df = pd.read_csv (StringIO (data))
g = df.groupby ('carriers')
import matplotlib.pyplot as plt
import matplotlib as mpl
#mpl.rcParams['font.family'] = 'stix'
mpl.rc('font', family='DejaVu Sans')
#mpl.rc('font', family='stix')
import itertools
markers = itertools.cycle(['o','s','v'])
fig = plt.figure()
ax = fig.add_subplot(111)
for c, stuff in g:
plt.semilogy (stuff['lambda'].values, stuff['per'].values,
label='carriers=%s'%c, marker=next(markers))
plt.legend (loc='best')
ax.set_xlabel (' ') <<< this invisible character is a small greek lambda
ax.set_ylabel ('per')
plt.grid(which='major', linestyle='solid')
plt.grid(which='minor', linestyle='dashed')
plt.savefig ('per_vs_lambda.pdf')
Traceback (most recent call last):
File "per_vs_lambda.py", line 35, in <module>
ax.set_xlabel (' ')
File "/usr/lib64/python2.7/site-packages/matplotlib/axes/_axes.py", line
179, in set_xlabel
return self.xaxis.set_label_text(xlabel, fontdict, **kwargs)
File "/usr/lib64/python2.7/site-packages/matplotlib/axis.py", line 1480,
in set_label_text
self.label.set_text(label)
File "/usr/lib64/python2.7/site-packages/matplotlib/text.py", line 1028,
in set_text
self._text = '%s' % (s,)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 0:
ordinal not in range(128)
#!/usr/bin/python
# -*- coding: utf-8 -*-
data='''carriers,lambda,per
1,7,1.3e-4
1,8,3.0e-4
1,9,.0014
8,7,4.8e-4
8,8,1.3e-3
8,9,.0075
'''
import pandas as pd
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
df = pd.read_csv (StringIO (data))
g = df.groupby ('carriers')
import matplotlib.pyplot as plt
import matplotlib as mpl
#mpl.rcParams['font.family'] = 'stix'
mpl.rc('font', family='DejaVu Sans')
#mpl.rc('font', family='stix')
import itertools
markers = itertools.cycle(['o','s','v'])
fig = plt.figure()
ax = fig.add_subplot(111)
for c, stuff in g:
plt.semilogy (stuff['lambda'].values, stuff['per'].values,
label='carriers=%s'%c, marker=next(markers))
plt.legend (loc='best')
ax.set_xlabel (' ') <<< this invisible character is a small greek lambda
ax.set_ylabel ('per')
plt.grid(which='major', linestyle='solid')
plt.grid(which='minor', linestyle='dashed')
plt.savefig ('per_vs_lambda.pdf')