Closed
Description
Bug report
Bug summary
Passing a pandas Series object to axes.plot as data doesn't work.
This used to work in matplotlib 2.
Code for reproduction
from matplotlib import figure
from matplotlib.backends.backend_agg import FigureCanvasAgg
import pandas as pd
if __name__ == '__main__':
fig = figure.Figure()
ax = fig.add_subplot(1, 1, 1)
data = pd.Series(data=[0, 1], index=['xdata', 'ydata'])
print(data['xdata'])
print(data['ydata'])
ax.plot('xdata', 'ydata', data=data, marker='o')
canvas = FigureCanvasAgg(fig)
canvas.print_figure('test.png')
Actual outcome
0
1
Traceback (most recent call last):
File "test1.
66DF
py", line 12, in <module>
ax.plot('xdata', 'ydata', data=data, marker='o')
File "/home/stilley2/anaconda3/envs/testmpl/lib/python3.7/site-packages/matplotlib/__init__.py", line 1805, in inner
return func(ax, *args, **kwargs)
File "/home/stilley2/anaconda3/envs/testmpl/lib/python3.7/site-packages/matplotlib/axes/_axes.py", line 1603, in plot
for line in self._get_lines(*args, **kwargs):
File "/home/stilley2/anaconda3/envs/testmpl/lib/python3.7/site-packages/matplotlib/axes/_base.py", line 393, in _grab_next_args
yield from self._plot_args(this, kwargs)
File "/home/stilley2/anaconda3/envs/testmpl/lib/python3.7/site-packages/matplotlib/axes/_base.py", line 342, in _plot_args
linestyle, marker, color = _process_plot_format(tup[-1])
File "/home/stilley2/anaconda3/envs/testmpl/lib/python3.7/site-packages/matplotlib/axes/_base.py", line 118, in _process_plot_format
'Unrecognized character %c in format string' % c)
ValueError: Unrecognized character a in format string
Expected outcome
A plot with a point at (0, 1)
Matplotlib version
(installed using conda)
- Operating system: Centos7
- Matplotlib version: 3.0.1
- Matplotlib backend: agg (but probably doesn't matter)
- Python version: 3.7
- Pandas version: 0.23.4