Python 2.7 以对数比例绘制线(Python)

Python 2.7 以对数比例绘制线(Python),python-2.7,matplotlib,plot,scale,Python 2.7,Matplotlib,Plot,Scale,我正在尝试使用以下方法在绘图中绘制虚线: ax.plot([dt.datetime(2012,01,27,18,19), dt.datetime(2012,01,27,18,19)], [0, 1300], 'k--', lw=2) 使用linnear scale时效果很好,但定义对数比例时效果很好 ax.set_yscale('log') 线不出现它不会显示,因为y轴上有数字0,请将其更改为正值,例如1: import matplotlib.pyplot as plt i

我正在尝试使用以下方法在绘图中绘制虚线:

ax.plot([dt.datetime(2012,01,27,18,19),
         dt.datetime(2012,01,27,18,19)], [0, 1300], 'k--', lw=2)
使用linnear scale时效果很好,但定义对数比例时效果很好

ax.set_yscale('log')

线不出现

它不会显示,因为y轴上有数字0,请将其更改为正值,例如1:

import matplotlib.pyplot as plt
import datetime as dt

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([dt.datetime(2012,01,27,18,19),
     dt.datetime(2012,01,27,18,19)], [1, 1300], 'k--', lw=2)
ax.set_yscale('log')
plt.show()
说明:


未定义日志(0)。Numpy返回
-inf
(其背后有一些逻辑),但如果您尝试使用
inf
nan
值绘制点,则不会绘制该点。对于由线段组成的绘图,这意味着两条线段将消失。现在,您尝试在现有点和不存在点之间绘制一条线。(您可以通过将样式更改为“o”来验证这一点)。

它不会显示,因为y轴上有数字0,请将其更改为正值,例如1:

import matplotlib.pyplot as plt
import datetime as dt

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([dt.datetime(2012,01,27,18,19),
     dt.datetime(2012,01,27,18,19)], [1, 1300], 'k--', lw=2)
ax.set_yscale('log')
plt.show()
说明:

未定义日志(0)。Numpy返回
-inf
(其背后有一些逻辑),但如果您尝试使用
inf
nan
值绘制点,则不会绘制该点。对于由线段组成的绘图,这意味着两条线段将消失。现在,您尝试在现有点和不存在点之间绘制一条线。(您可以通过将样式更改为“o”来验证这一点。)