【发布时间】:2016-11-17 13:40:20
【问题描述】:
我有一个简单的图形用户界面,可以绘制这样的图形:
def display_graph(self,f1):
self.canvas = FigureCanvasTkAgg(f1, self)
self.canvas.show()
self.canvas.get_tk_widget().place(anchor = N ,x = 200 ,y= 150)
self.get_all_figures()
self.canvas._tkcanvas.place(anchor = N ,x = 675 ,y= 325)
self.toolbar_frame = Frame(self)
toolbar = NavigationToolbar2TkAgg(self.canvas, self.toolbar_frame)
self.toolbar_frame.place(anchor = N ,x = 540 ,y= 933)
有一些文本,如 xlabel、ylabel,用户应该能够以 pdf 格式导出。要使用该图形,如果显示的文本也是 Illustrator 中的文本对象,那就太好了,但它只是被识别为路径。 (没有字体信息)。
我已经更改了pyl.rcParams['pdf.fonttype'] = 42,但它仅在我直接从控制台绘制时才有效。
有没有一个技巧可以通过使用画布的 GUI 来实现?
要保存图像,我想使用工具栏和此功能(取决于用户单击的内容)
def save_all(figures,save_path_name,curr = 'all'):
try:
pp = PdfPages(save_path_name)
if curr == 'last':
pp.savefig(figures[-1])
else:
for i in figures:
pp.savefig(i)
pp.close()
except (OSError, IOError) as e:
messagebox.showinfo('Error ...',e)
return
【问题讨论】:
-
您在上面的代码中遗漏了最重要的部分,那就是如何保存图像?
-
我想使用工具栏按钮将图像保存为 pdf 格式
-
@ImportanceOfBeingErnest 但实际上我也写了一个函数来保存所有生成的数字,我已经编辑了问题
标签: python pdf canvas matplotlib tkinter