Tôi có một cốt truyện hiện có được tạo với những con gấu trúc như thế này:
df['myvar'].plot(kind='bar')
Trục y được định dạng là float và tôi muốn thay đổi trục y thành tỷ lệ phần trăm. Tất cả các giải pháp tôi tìm thấy đều sử dụng cú pháp ax.xyz và tôi chỉ có thể đặt mã bên dưới dòng bên trên để tạo ra cốt truyện (tôi không thể thêm ax = ax vào dòng bên trên.)
Làm cách nào để định dạng trục y dưới dạng tỷ lệ phần trăm mà không thay đổi dòng ở trên?
Đây là giải pháp tôi đã tìm thấy nhưng yêu cầu tôi xác định lại cốt truyện :
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()
Liên kết đến giải pháp trên: Pyplot: sử dụng tỷ lệ phần trăm trên trục x