Python 为什么此绘图在添加散布时失败,但在删除散布时有效?

Python 为什么此绘图在添加散布时失败,但在删除散布时有效?,python,matplotlib,Python,Matplotlib,我使用下面的方法绘制x日期和y小数点。如果没有注释线(散点),它的效果非常好,但是如果取消注释,它会在一个x轴上显示所有内容 我错过了什么 谢谢 import matplotlib.pyplot as plt import datetime fig = plt.figure(facecolor="#979899") ax = plt.gca() ax.set_facecolor("#d1d1d1") plt.grid(True) plt.title("This is a title",font

我使用下面的方法绘制x日期和y小数点。如果没有注释线(散点),它的效果非常好,但是如果取消注释,它会在一个x轴上显示所有内容

我错过了什么

谢谢

import matplotlib.pyplot as plt
import datetime

fig = plt.figure(facecolor="#979899")
ax = plt.gca()
ax.set_facecolor("#d1d1d1")
plt.grid(True)
plt.title("This is a title",fontsize=16)

plt.xticks([datetime.date(2018,11,20),datetime.date(2018,11,21),datetime.date(2018,11,22)],["11/20","11/21","11/22"])
plt.yticks([0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0],["0.0","0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0"])

x1 = [datetime.date(2018,11,20),datetime.date(2018,11,21),datetime.date(2018,11,22)]
y1 = [0.18,0.32,0.21]

for i,item in enumerate(y1):
    xP = x1[i]
    yP = y1[i]
    plt.text(xP,yP,str(item)+"%",fontsize=11)

#plt.scatter(x1,y1)
plt.plot(x1,y1)
plt.show()

尝试设置x轴和y轴的限制:

plt.scatter(x1,y1)
plt.plot(x1,y1)
plt.xlim(datetime.date(2018,11,20),datetime.date(2018,11,22))
plt.ylim(0.1,0.4)
plt.show()

尝试设置x轴和y轴的限制:

plt.scatter(x1,y1)
plt.plot(x1,y1)
plt.xlim(datetime.date(2018,11,20),datetime.date(2018,11,22))
plt.ylim(0.1,0.4)
plt.show()

问题是集合的自动缩放。根本问题早已为人所知,但很难找到。在某些情况下,当值彼此太接近时,自动缩放无法可靠工作。不幸的是,日期往往如此

import matplotlib.pyplot as plt
import datetime

fig, ax = plt.subplots()

x1 = [datetime.date(2018,11,20),datetime.date(2018,11,22)]
y1 = [1,2]

plt.scatter(x1,y1, s=50, color="red")
plt.plot(x1,y1, marker="o", ms=3, zorder=3)

plt.show()

但是,您可以先创建
绘图。这将充分确定自动缩放限制。之后,绘制
散点图

import matplotlib.pyplot as plt
import datetime

fig, ax = plt.subplots()

x1 = [datetime.date(2018,11,20),datetime.date(2018,11,22)]
y1 = [1,2]

plt.plot(x1,y1, marker="o", ms=3)
plt.scatter(x1,y1, s=50, color="red")

plt.show()

问题在于集合的自动缩放。根本问题早已为人所知,但很难找到。在某些情况下,当值彼此太接近时,自动缩放无法可靠工作。不幸的是,日期往往如此

import matplotlib.pyplot as plt
import datetime

fig, ax = plt.subplots()

x1 = [datetime.date(2018,11,20),datetime.date(2018,11,22)]
y1 = [1,2]

plt.scatter(x1,y1, s=50, color="red")
plt.plot(x1,y1, marker="o", ms=3, zorder=3)

plt.show()

但是,您可以先创建
绘图。这将充分确定自动缩放限制。之后,绘制
散点图

import matplotlib.pyplot as plt
import datetime

fig, ax = plt.subplots()

x1 = [datetime.date(2018,11,20),datetime.date(2018,11,22)]
y1 = [1,2]

plt.plot(x1,y1, marker="o", ms=3)
plt.scatter(x1,y1, s=50, color="red")

plt.show()

这是一个奇怪的错误tks这是一个奇怪的错误tks