Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python 2.7.15绘制的matplotlib不正确,但在使用2.7.10时不正确_Python_Matplotlib - Fatal编程技术网

使用Python 2.7.15绘制的matplotlib不正确,但在使用2.7.10时不正确

使用Python 2.7.15绘制的matplotlib不正确,但在使用2.7.10时不正确,python,matplotlib,Python,Matplotlib,请注意底部打印中的打印是如何向左移动的。这两个绘图都是使用完全相同的输入数据和相同的Python脚本绘制的,但绘制在使用不同版本Python的不同计算机上。有人能告诉我在哪里可以找到罪犯吗?上图正确,下图不正确。正如@DanielLabbe所说,这很可能是matplotlib版本的问题。您可以检查matplotlib的版本: 将matplotlib导入为mpl mpl.\u版本__ 如果您具有sudo/管理权限,则需要在其中一台计算机上更新matplotlib,以便它们运行相同的版本。如果不能做

请注意底部打印中的打印是如何向左移动的。这两个绘图都是使用完全相同的输入数据和相同的Python脚本绘制的,但绘制在使用不同版本Python的不同计算机上。有人能告诉我在哪里可以找到罪犯吗?上图正确,下图不正确。

正如@DanielLabbe所说,这很可能是matplotlib版本的问题。您可以检查matplotlib的版本:

将matplotlib导入为mpl mpl.\u版本__ 如果您具有sudo/管理权限,则需要在其中一台计算机上更新matplotlib,以便它们运行相同的版本。如果不能做到这一点,那么在plt.hist中显式指定align参数可能会有所帮助,例如

plt.histmy_数据,align='right'
从bar的matplotlib文档

对齐:[“边缘”|“中心”],可选,默认值:“边缘”

对齐:{'center','edge',},可选,默认值为'center'


使用align=edge获得两个版本中的第一个图像。使用align=center获得两个版本中的第二个图像。

您的matplotlib版本是什么?在下面的一个答案中作为注释进行响应。良好的绘图matplotlib版本是1.3.1,错误的绘图版本是2.2.3。差别很大。我将推迟更新旧版本,直到我找到修复脚本的方法。在这种情况下,在版本2.2.3中打印时,您应该尝试在对plt.hist的调用中指定align='right'或align='left'。默认情况下,2.2.3中的align='mid',这就是您看到的。下面的两个答案都是正确的。我不知道该接受谁。技术上重要的是,由于@jwalton3141的答案中使用了edge而不是right,因此Feingernest更为正确。但原则上,这两种观点都是正确的。你可以对每一个你觉得有用的答案进行投票,并接受一个你认为最能解决问题的答案。如果你不能决定,一个标准可能就是你希望这个问题的未来读者首先看到哪个答案。从这个困境中可以清楚地看出,您当然应该首先提到您使用的函数。