Вы используете matplotlib 2.1. Обновитесь до matplotlib 2.2 или выше, и код будет работать как положено.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({"index" : ["Belfast", "London", "Twoabbey", "Lisboa", "Barra"],
"town" : [5000,1000,600,600,500],
"pop" : [12,14,16,18,20]})
ax1= df.plot.bar(y="town", x='index')
ax2 = ax1.twinx()
ax2.plot(df["index"], df["pop"])
plt.show()
![enter image description here](https://i.stack.imgur.com/7gZNu.png)