我试图使用tikzplotlib保存一个图形。但是,我遇到了一个AttributeError:'Legend'对象没有属性'_ncol'。我目前使用的是tikzplotlib版本0.10.1和matplotlib版本3.7.0。不使用“plt.legend()”,一切正常。
下面是一个不工作的例子:
import numpy as np
import matplotlib.pyplot as plt
import tikzplotlib
# Data
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# Plotting
plt.figure()
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.plot(x, y3, label='tan(x)')
plt.legend()
# Save as TikZ file
tikzplotlib.save("plot.tikz")
1条答案
按热度按时间qjp7pelc1#
嘿我也有同样的问题,
问题是matplotlib 3.6的接口发生了变化。GitHub上已经有一个tikzplotlib的修复(#558),但现在看起来什么都不会发生。然而,GitHub上有一个解决这个问题的方法(Issue)。它工作得很好。我希望这个答案很快就会过时。
为了完整起见,我将在这里再次添加代码。
免责声明:这不是我的代码。但这个问题可能非常烦人,这就是为什么我在这里分享代码。作者是st--