The idea is calculating the key to sort by for each row, adding that as a new column to the DataFrame, and use DataFrame.sort_values to sort by that. (Unfortunately there is no easy way right now to sort the dataframe by an external Series without adding it as a column.)
First, let's set the index permanently, and save the list of original features:
data.set_index('COUNTY', inplace=True)
original_features = list(data.columns)
To sort by total height, first add an extra column to the dataframe with the sum for each row
data["Total"] = data.sum(axis='columns')
and sort by that (but removing the "Total" column out of the plot):
px.bar(data.sort_values("Total", ascending=True)[original_features])
You can control ascending/descending with the ascending parameter.
As another example, sort by "COVID Deaths" + "Diabetic":
data["COVID + Diabetic"] = data["COVID Death"] + data["Diabetic"]
px.bar(data.sort_values("COVID + Diabetic", ascending=True)[original_features])
Since you mentioned you want to sort by the sum of every pair of columns, you can automate that with a loop:
import itertools
for x, y in itertools.combinations(original_features, 2):
name = f"{x} + {y}"
data[name] = data[x] + data[y]
px.bar(data.sort_values(by=name, ascending=True)[original_features])
In fact, you can generalise this to any number of features; i.e. if you want one plot for the sum of each subset of features (i.e. every single feature, every pair, etc., up to the total), you can do:
import operator
from functools import reduce
for k in range(1, len(original_features) + 1):
for comb in itertools.combinations(original_features, k):
name = " + ".join(comb)
data[name] = reduce(operator.add, (data[col] for col in comb))
# optional: reorder the columns so that the ones we're sorting by come first
order = list(comb) + [col for col in original_features if col not in comb]
px.bar(data.sort_values(by=name, ascending=True)[order])