为什么Python Matplotlib条形图的X轴刻度显示奇怪且错误的负值? [英] Why is Python Matplotlib bar-chart's X axis ticks showing strange and wrong negative values?

查看:20
本文介绍了为什么Python Matplotlib条形图的X轴刻度显示奇怪且错误的负值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么当X轴值的范围从43990到44003时,X轴刻度显示负值。

import matplotlib.pyplot as plt
x=[44000, 44001, 44002, 44003, 43990, 43991, 43992, 43993, 43994, 43995, 43996, 43997, 43998, 43999]
y=[8, 5, 3, 1, 1, 3, 4, 10, 4, 11, 4, 10, 17, 19]
plt.bar(x,y)
plt.show()

我看到了以下输出。我原本预计x轴的范围是43990到44003

我已经在几台机器上进行了尝试,在最新版本的python和matplotlib(尝试了几个不同的版本)上都显示出类似的奇怪行为

Python3.6.4|蟒蛇公司|(默认,2018年1月16日,18:10:19) [GCC 7.2.0]在Linux上

Python 3.4.3(默认,2016年11月17日01:08:31)

奇怪的是,许多琐碎的玩具示例x和y数组给出了我预期的数字。

例如,下面的代码片段显示了具有正确x轴刻度标签的预期图形

x=[20,30,90,70, 50, 60, 80, 70]
y=[3,2,5,10, 3, 9, 7, 6]
plt.bar(x,y)
plt.show()

我在这里漏掉了什么明显的东西?

推荐答案

您需要禁用偏移量:

plt.ticklabel_format(useOffset=False)

另一种选择是输入自定义刻度标签:

plt.bar(x, y, tick_label=x)

这篇关于为什么Python Matplotlib条形图的X轴刻度显示奇怪且错误的负值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆