I am plotting a barplot using the seaborn.barplot
method. The plotting is going through fine. When I am trying to add text on above the bars for better explanation using text method I am running into above mentioned issue.
Below is the code I have tried. With this code I am getting plot like this but i need plot like this
where values displayed at top of bar are the raised_amount_in_millions value
Here is my code
groupedvalues=master_frame_backup1.groupby('funding_round_type')['raised_amount_in_millions'].mean().reset_index()
#groupedvalues
plt.figure(figsize=(30,8))
pal = sns.color_palette("Greens_d", len(groupedvalues))
rank = groupedvalues["raised_amount_in_millions"].argsort().argsort()
g=sns.barplot(x='funding_round_type',y='raised_amount_in_millions',data=groupedvalues, palette=np.array(pal[::-1])[rank])
for index, row in groupedvalues.iterrows():
g.text(row.funding_round_type, row.raised_amount_in_millions," "+str(row.raised_amount_in_millions), color='black', ha="center")
plt.show()
But I am running into above mentioned error. Any help?
Here is the error stack
Here is the error stack Error in callback .post_execute at 0x00000211F5EB2378> (for post_execute): Traceback (most recent call last):
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 109, in post_execute draw_all()
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib_pylab_helpers.py", line 132, in draw_all f_mgr.canvas.draw_idle()
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\backend_bases.py", line 1899, in draw_idle self.draw(*args, **kwargs)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py", line 402, in draw self.figure.draw(self.renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\artist.py", line 50, in draw_wrapper return draw(artist, renderer, *args, **kwargs)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\figure.py", line 1649, in draw renderer, self, artists, self.suppressComposite)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\image.py", line 138, in _draw_list_compositing_images a.draw(renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\artist.py", line 50, in draw_wrapper return draw(artist, renderer, *args, **kwargs)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\axes_base.py", line 2610, in draw mimage._draw_list_compositing_images(renderer, self, artists)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\image.py", line 138, in _draw_list_compositing_images a.draw(renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\artist.py", line 50, in draw_wrapper return draw(artist, renderer, *args, **kwargs)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\text.py", line 709, in draw bbox, info, descent = textobj._get_layout(renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\text.py", line 286, in _get_layout key = self.get_prop_tup(renderer=renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\text.py", line 871, in get_prop_tup x, y = self.get_unitless_position()
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\text.py", line 853, in get_unitless_position x = float(self.convert_xunits(self._x))
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\artist.py", line 186, in convert_xunits return ax.xaxis.convert_units(x)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\axis.py", line 1530, in convert_units ret = self.converter.convert(x, self.units, self)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\category.py", line 53, in convert unit.update(values)
AttributeError: 'NoneType' object has no attribute 'update'
Traceback (most recent call last):
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\IPython\core\formatters.py", line 341, in call return printer(obj)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\IPython\core\pylabtools.py", line 244, in png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\IPython\core\pylabtools.py", line 128, in print_figure fig.canvas.print_figure(bytes_io, **kw)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\backend_bases.py", line 2049, in print_figure **kwargs)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py", line 510, in print_png FigureCanvasAgg.draw(self)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py", line 402, in draw self.figure.draw(self.renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\artist.py", line 50, in draw_wrapper return draw(artist, renderer, *args, **kwargs)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\figure.py", line 1649, in draw renderer, self, artists, self.suppressComposite)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\image.py", line 138, in _draw_list_compositing_images a.draw(renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\artist.py", line 50, in draw_wrapper return draw(artist, renderer, *args, **kwargs)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\axes_base.py", line 2610, in draw mimage._draw_list_compositing_images(renderer, self, artists)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\image.py", line 138, in _draw_list_compositing_images a.draw(renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\artist.py", line 50, in draw_wrapper return draw(artist, renderer, *args, **kwargs)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\text.py", line 709, in draw bbox, info, descent = textobj._get_layout(renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\text.py", line 286, in _get_layout key = self.get_prop_tup(renderer=renderer)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\text.py", line 871, in get_prop_tup x, y = self.get_unitless_position()
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\text.py", line 853, in get_unitless_position x = float(self.convert_xunits(self._x))
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\artist.py", line 186, in convert_xunits return ax.xaxis.convert_units(x)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\axis.py", line 1530, in convert_units ret = self.converter.convert(x, self.units, self)
File "C:\Users\mmajgaon.ORADEV\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\category.py", line 53, in convert unit.update(values)
AttributeError: 'NoneType' object has no attribute 'update'