Q:

Seaborn barplot wrong order when using numbers in factor even its type is string

If factors are numbers even its type string, barplot orders by its value.
For example,
factor = ["24", "12", "60", "18", "36", "6", "10", "48", "30", "15"]
value = [9,8,7,6,5,4,3,2,1,0]
barplot can't order by values...
if I change d list to the alphanumeric characters for example
factor = ["a","b,","c"] 
then it orders by value.
Here is the pictures for before and after.

d = ["24", "12", "60", "18", "36", "6", "10", "48", "30", "15"]
value = [9,8,7,6,5,4,3,2,1,0]
y_cumsum = np.cumsum(value)
sns.barplot(d, value)
sns.pointplot(d, y_cumsum)
plt.show()

A:

d contains strings. As such, they are sorted as words ("6" is higher up than "10" since the letter "6" is higher than "1").
Change it to integers to have the order you expect in general. 
Second issue, you want to order according to the y values (value in your code) so the above won't help you since you don't want the d values sorted. You will have to explicitly order them using the "order" parameter:
sns.barplot(d, value,order=d)

assuming d is ordered as you want, like your example.

