我有一个按比例缩放的条形图,试图将y刻度从10 ^ 1、10 ^ 2等更改为整数。我尝试过手动设置刻度值,并尝试从数据中设置值,也将格式设置为标量。在我正在查看的所有问题中,我注意到的一件事是,我的图形构造不包含subplot
。
def confirmed_cases():
x = df['Date']
y = df['Confirmed']
plt.figure(figsize=(20, 10))
plt.bar(x, y)
plt.yscale('log')
# plt.yticks([0, 100000, 250000, 500000, 750000, 1000000, 1250000])
# plt.get_yaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
plt.title('US Corona Cases By Date')
plt.xlabel('Date')
plt.ylabel('Confirmed Cases')
plt.xticks(rotation=90)
答案 0 :(得分:2)
有几个问题:
yaxis
的{{1}}处。使用ax
获取当前的plt.gca()
。请注意,没有函数ax
。plt.get_yaxis()
确保仅针对set_powerlimits((m,n))
和10**m
范围之外的值显示幂。10**n
的值10**n
。其他滴答声或次要滴答声,位于2到9的k的位置n
上。如果只有几个主要滴答声可见,则次要滴答声也会得到一个滴答声标签。要同时删除次要刻度线和它们的可选标签,可以使用k*10**n
。NullFormatter