Okay, I think this is a bug with pandas plot. However, this SO post shows the following workaround.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(
{'mean': {0: 10,
1: 16,
2: 18,
3: 22,
4: 30},
'size': {0: 103, 1: 2509, 2: 41939, 3: 145997, 4: 143530},
'value': {0: 1.5, 1: 4.5, 2: 7.5, 3: 10.5, 4: 13.5}}
)
fig, ax = plt.subplots()
df.plot(kind='scatter', x='value', y='mean', s=60, c='size', cmap='RdYlGn', ax=ax)