'Python data visualization: too small value to be visible - how to solve?

Here is dataset, i have:

Source All Leads Not Junks Warms Hots Deals Weighted Sum
web 281316 269490 10252 2508 1602 4376.5
telesales 30458 29732 431 138 85 316.2
networking 4249 4195 763 547 476 539.1
promos 1356 1308 30 1 0 10.8

I visualized it:

df.plot.bar()

And got this output:

enter image description here

Some columns got too small values, so that they are not visible, how can tackle this problem?

Setting bigger figure size isn't useful, it makes chart bigger, but columns ratio is still the same, so nothing changes

Any ideas how to make it look more sophisticated? Or maybe i should try different type of chart? Thank you!



Solution 1:[1]

Could try df.plot.bar(logy=true), but it's going to make useful interpretation of it messy. A Sankey diagram would probably be a better fit for showing how the data breaks down in each category.

Solution 2:[2]

Seaborn comes out a little nicer, but takes some transformation to produce the same type of output:

import seaborn as sns

df2 = df.melt('Source').rename(columns={'variable': 'Category', 'value': 'Values'})

sns.barplot(x='Source', y='Values', data=df2, hue='Category')
plt.show()

Output:

Seaborn Barplot

Or with log=True

log of it

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Alexander Jordan
Solution 2 BeRT2me