Можно экспортировать PDF-файл из matplotlib, а затем использовать inkscape программным способом, т. Е. Через интерфейс командной строки, чтобы создать желаемый формат.
import matplotlib.pyplot as plt
plt.bar(x=[1,2], height=[3,4], label="Bar")
plt.legend()
plt.xlabel("Label")
plt.title("title")
def savepdf_tex(fig, name, **kwargs):
import subprocess, os
fig.savefig("temp.pdf", format="pdf", **kwargs)
incmd = ["inkscape", "temp.pdf", "--export-pdf={}.pdf".format(name),
"--export-latex"] #"--export-ignore-filters",
subprocess.check_output(incmd)
os.remove("temp.pdf")
savepdf_tex(plt.gcf(), "latest")
plt.show()
Также обратите внимание, что matplotlib можно сохранить в pgf
формат.Это определенно стоит попробовать в качестве альтернативы вышесказанному.См. этот пример и добавьте plt.savefig("filename.pgf")
к нему.В латексном коде используйте \input{filename.pgf}
.