0我有这个代码,我正在制作一个条形图,问题是我的BNP(GDP)值相当大,我们正在谈论数百万、数十亿和数万亿。当我绘制这些值时,它们被四舍五入为1、2、3、4等。有没有一种方法可以得到实际值,我觉得它比那些小数字更有意义?
import matplotlib.pyplot as plt
plt.barh(landStolpediagram, BNPStolpediagram)
plt.xlabel("BNP")
plt.ylabel("Land")
plt.title("Dine valgte land og deres BNP verdi")
plt.show()
我想用这个函数来取整
def konverter(tall):
magnitude = 0
while abs(tall) >= 1000:
magnitude += 1
tall /= 1000.0
return '%.3f%s' % (tall, ['', 'K', 'Mn', 'Bn', 'Tn'][magnitude])
这个问题的问题是最低的GDP值想要有一个条形图。有什么解决方案吗?另外,如果我使用这个函数,值不会从最低到最大排序,我该如何解决这个问题呢?
额外:当我通过“转换器”函数运行这些数字时,它会绘制出这样的图表
这就是我想要的,我只是想让这些值从低到高排序,最低的国家将有一个酒吧。
1条答案
按热度按时间ndh0cuux1#
你应该在X轴上使用对数刻度。
你也可以使用
plt.xticks
来修改你的x轴的标签,使之成为你想要的样子。