Matplotlib set_drawstyle不起作用

时间:2018-01-28 10:52:32

标签: python matplotlib

我注意到一些奇怪的东西。当我使用drawstyle参数创建链接图表时,它可以正常工作。例如

import matplotlib.pyplot as plt

x = np.linspace(10, 24, 10)
y = np.random.randn(10)

fig, ax = plt.subplots() 
ax.plot(x, y, drawstyle="steps")

但是,如果我想设置它,比方说,

ax.lines[0].set_drawstyle('steps') 

根本不起作用。而是显示没有步骤的线。

任何线索?

1 个答案:

答案 0 :(得分:2)

现在有一个fix to this bug

在找到matplotlib的下一个版本之前,您可以手动应用它。解决方案是添加line._invalidx = True以强制恢复行。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(10, 24, 10)
y = np.random.randn(10)

fig, ax = plt.subplots() 
line, = ax.plot(x, y)
line.set_drawstyle("steps-pre") 
line._invalidx = True

plt.show()