user1934212 user1934212 - 1 year ago 143
Python Question

Cannot combine bar and line plot using pandas plot() function

I am plotting one column of a pandas dataframe as line plot, using plot() :


and get the desired result:

enter image description here

Now I want to plot another column of the same dataframe as bar chart using


with the result:

enter image description here

And finally I want to combine both by


which doesn't produce any plot.

Why are the x-ticks of the bar plot so different to the x-ticks of the line plot? How can I combine both plots in one plot?

Answer Source
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

some data

df = pd.DataFrame(np.random.randn(5,2))
print (df)
          0         1
0  0.008177 -0.121644
1  0.643535 -0.070786
2 -0.104024  0.872997
3 -0.033835  0.067264
4 -0.576762  0.571293

then we create an axes object (ax). Notice that we pass ax to both plots

_, ax = plt.subplots()

df[1].plot(kind='bar', ax=ax)

enter image description here

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download