我正在尝试使用以下方法在情节中绘制虚线:
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')
该行不会出现
答案 0 :(得分:4)
它不会显示,因为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()
<强>解释强>
log(0)未定义。 Numpy返回-inf
(其背后有一些逻辑),但是如果您尝试绘制一个inf
或nan
值的点,则不会绘制它。由线段组成的图表意味着两个线段将消失。现在,您尝试在现有点和不存在点之间绘制一条线。 (您可以通过将样式更改为&#39; o&#39;来验证这一点。)