Mam istniejącą działkę, która została utworzona z pandami takimi jak ta:
df['myvar'].plot(kind='bar')
Oś y ma format zmiennoprzecinkowy i chcę zmienić oś y na wartości procentowe. Wszystkie rozwiązania, które znalazłem, używają składni ax.xyz i mogę umieścić kod tylko poniżej linii powyżej, która tworzy wykres (nie mogę dodać ax = ax do linii powyżej).
Jak sformatować oś y jako wartości procentowe bez zmiany powyższej linii?
Oto rozwiązanie, które znalazłem, ale wymaga ponownego zdefiniowania działki :
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker as mtick
data = [8,12,15,17,18,18.5]
perc = np.linspace(0,100,len(data))
fig = plt.figure(1, (7,4))
ax = fig.add_subplot(1,1,1)
ax.plot(perc, data)
fmt = '%.0f%%' # Format you want the ticks, e.g. '40%'
xticks = mtick.FormatStrFormatter(fmt)
ax.xaxis.set_major_formatter(xticks)
plt.show()
Link do powyższego rozwiązania: Pyplot: używając procentu na osi x