Python Matplotlib未显示足够的连续性

Python Matplotlib未显示足够的连续性,python,python-3.x,matplotlib,plot,Python,Python 3.x,Matplotlib,Plot,所以我一直在试图理解MatPlotLib是如何工作的,这样我就可以显示数据库中的数据了。我目前正在努力解决一个可能是错误的问题。基本上,当数据从3864423更改为3500000时,该行应该下降,但事实并非如此。代码如下: from matplotlib import pyplot as plt dev_x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] dev_y = ['3514942', '3524077', '3524077', '3540430', '3

所以我一直在试图理解MatPlotLib是如何工作的,这样我就可以显示数据库中的数据了。我目前正在努力解决一个可能是错误的问题。基本上,当数据从3864423更改为3500000时,该行应该下降,但事实并非如此。代码如下:

from matplotlib import pyplot as plt

dev_x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

dev_y = ['3514942', '3524077', '3524077', '3540430', '3540430', '3643543', '3753312', '3864423',
         '3500000', '3990458', '3965666']

plt.plot(dev_x, dev_y)
plt.show()


我想知道为什么会发生这种情况,以及如何修复它。另外,我真的希望Y轴看起来更有条理,因此它具有对称的步进,例如3000000-3250000-3500000-等等。

以下应该可以工作:

from matplotlib import pyplot as plt
import numpy as np

dev_x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
dev_y = [3514942, 3524077, 3524077, 3540430, 3540430, 3643543,3753312,3864423, 
         3500000, 3990458, 3965666]

plt.plot(dev_x, dev_y)
plt.ticklabel_format(style='plain') #this to set y-axsis to normal values
plt.ylim([3000000,5000000])
plt.yticks(np.arange(3000000,5000000,250000))
plt.show()

您正在Y轴上绘制字符串值。对于matplotlib,“3500000”和“3864423”与“Hello”和“world”一样不同(哪个更高?)。把你的值改成数值(int/float)好吧,那肯定是做了些什么,但是现在我的Y轴正在做一些奇怪的步骤,我不知道如何改变(?“奇怪的步骤”?你想要这个情节是什么样的?正如我在文章的最后一部分所说的,我希望它是从3000000开始,然后是3250000,然后是3500000。。。因为这个数字很高所以。。。Ylick是ylim之间的步骤吗?还有,正常值是什么意思,字符串?是的,Ylicks是ylim之间的步骤。至于正常值,它指的是数据点的实际格式,如果不添加这条线,则在这种情况下,y轴值将以对数格式设置。我还有一些问题需要更多解释,我可以与您联系吗?