Pandas plotting in Windows terminal
Question:
I have a simple pandas data frame. Trying to plot from the Windows 10 terminal session of IPython gives me this:
In [4]: df = pd.DataFrame({'Y':[1, 3, 5, 7, 9], 'X':[0, 2, 4, 6, 8]})
In [5]: df
Out[5]:
X Y
0 0 1
1 2 3
2 4 5
3 6 7
4 8 9
In [6]: df.plot(kind='line')
Out[6]: <matplotlib.axes._subplots.AxesSubplot at 0x26c4d366940>
In [7]:
I can not see any plot. Is there something I’m doing wrong?
Answers:
I think you can try add %matplotlib inline
or ipython notebook --matplotlib inline
for a notebook:
%matplotlib inline
#ipython notebook --matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'Y':[1, 3, 5, 7, 9], 'X':[0, 2, 4, 6, 8]})
df.plot(kind='line')
Or you can add plt.show()
for a console:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'Y':[1, 3, 5, 7, 9], 'X':[0, 2, 4, 6, 8]})
df.plot(kind='line')
plt.show()
Start your IPython session with the option --matplotlib
:
ipython --matplotlib
This should give you a second window after this line df.plot(kind='line')
and pressing <Enter>
.:
You can keep the window open. For example:
In [4]: from matplotlib import pyplot as plt
In [5]: plt.title('Test')
Out[5]: <matplotlib.text.Text at 0x1124ed908>
Now you should see the title Test on your plot.
If it does not update try draw()
:
In [6]: plt.draw()
I have a simple pandas data frame. Trying to plot from the Windows 10 terminal session of IPython gives me this:
In [4]: df = pd.DataFrame({'Y':[1, 3, 5, 7, 9], 'X':[0, 2, 4, 6, 8]})
In [5]: df
Out[5]:
X Y
0 0 1
1 2 3
2 4 5
3 6 7
4 8 9
In [6]: df.plot(kind='line')
Out[6]: <matplotlib.axes._subplots.AxesSubplot at 0x26c4d366940>
In [7]:
I can not see any plot. Is there something I’m doing wrong?
I think you can try add %matplotlib inline
or ipython notebook --matplotlib inline
for a notebook:
%matplotlib inline
#ipython notebook --matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'Y':[1, 3, 5, 7, 9], 'X':[0, 2, 4, 6, 8]})
df.plot(kind='line')
Or you can add plt.show()
for a console:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'Y':[1, 3, 5, 7, 9], 'X':[0, 2, 4, 6, 8]})
df.plot(kind='line')
plt.show()
Start your IPython session with the option --matplotlib
:
ipython --matplotlib
This should give you a second window after this line df.plot(kind='line')
and pressing <Enter>
.:
You can keep the window open. For example:
In [4]: from matplotlib import pyplot as plt
In [5]: plt.title('Test')
Out[5]: <matplotlib.text.Text at 0x1124ed908>
Now you should see the title Test on your plot.
If it does not update try draw()
:
In [6]: plt.draw()