How can I sort the axis in descending order? I tried the following and it did not work:
from io import BytesIO
from fpdf import FPDF
import pandas as pd
import matplotlib.pyplot as plt
import io
DATA = {
'x': ['val_1', 'val_2', 'val_3', 'val_4', 'val_5'],
'y': [1, 2, 3, 4, 5]
}
COLUMNS = tuple(DATA.keys())
plt.figure()
df = pd.DataFrame(DATA, columns=COLUMNS)
df.sort_values(['y'], ascending=[False]).plot(x=COLUMNS[0], y=COLUMNS[1], kind="barh", legend=False)
img_buf = BytesIO()
plt.savefig(img_buf, dpi=200)
pdf = FPDF()
pdf.add_page()
pdf.image(img_buf, w=pdf.epw)
pdf.output('output.pdf')
img_buf.close()
Or just change ascending = [False]
to ascending = [True]
:
import pandas as pd
import matplotlib.pyplot as plt
DATA = {
'x': ['val_1', 'val_2', 'val_3', 'val_4', 'val_5'],
'y': [1, 2, 3, 2.5, 0.5]
}
COLUMNS = tuple(DATA.keys())
df = pd.DataFrame(DATA, columns=COLUMNS)
df.sort_values(['y'], ascending=[True]).plot(x=COLUMNS[0], y=COLUMNS[1], kind="barh", legend=False)
plt.show()