概述
目录
一、话 说
二、必知:Matplotlib显示问题|中文乱码问题
三、注意|避坑:设置Matplotlib窗口标题
一、话 说
最近开发软件的时候,遇到了数据可视化的项目,我想都没想直接用Matplotlib。结果到了最后,想让图表美观点,比如把默认的 Figtrue1 改成其他的。结果倒腾了半天,上网查了不少资料,报错一大堆,Spider和PyCharm也被Matplotlib的复杂文件结构搞得连代码提示都没了。最后研究半天,终于找到了解决办法。
我的官网:Lzy-Software官网 (epizy.com)
我的gitee:李政毅 (lzy-software) - Gitee.com
二、必知:Matplotlib显示问题|中文乱码问题
Matplotlib默认使用ASCII编码,但如果统计图中包含中文,那Matplotlib就会报错,统计图里全是框框:
它的解决方法也很简单,只需修改配置即可:
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #正常显示负号
三、注意|避坑:设置Matplotlib窗口标题
网上的说法是这样的:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
fig = plt.figure()
plt.plot([1, 2])
# 设置图像标题
plt.suptitle("这是图像标题")
# 设置子图标题
plt.title("这是子图标题")
# 获取默认窗口标题
current_title = fig.canvas.manager.window.windowTitle()
print("默认窗口:",current_title)
# 设置窗口标题方式一
fig.canvas.set_window_title("这是窗口标题")
# 设置窗口标题方式二
fig.canvas.manager.window.setWindowTitle("这是窗口标题")
plt.show()
但是请注意:在Matplotlib源文件中,它是支持PyQt和Tkinter两个GUI模块的!如果你单纯使用的话,它默认使用的是PyQt模块,没有再去使用Tkinter。但是如果在GUI项目里,你用哪个模块调用的Matplotlib,那他就用那个模块启动。
我们来看看这细微的差别:
使用Qt启动的
使用Tkinter启动的
看到了吗?他们俩最明显的不同之处就是图标和功能。很明显,Qt启动的比Tkinter启动的多一个功能,界面也比Tkinter启动的好看。至于我是怎么看出来的:Qt的导航栏图标(四个点)就可以确认。
这样子的解决办法就是:使用try语句,对设置标题进行随时更改:
self.data = data
self.title = title
self.xlabel = x_name
self.ylabel = y_name
self.fig = plt.figure(figsize=(10,6))
# 如果程序从Qt中启动,plt将使用Qt库绘图,否则使用Tk绘图。
try:
self.fig.canvas.setWindowTitle(self.title)
self.fig.canvas.manager.window.setWindowTitle(self.title)
except:
self.fig.canvas.manager.window.title(self.title)
这样就解决了!!!
最后
以上就是妩媚大米为你收集整理的Python Matplotlib 避坑指南|注意事项|开发必知一、话 说二、必知:Matplotlib显示问题|中文乱码问题三、注意|避坑:设置Matplotlib窗口标题的全部内容,希望文章能够帮你解决Python Matplotlib 避坑指南|注意事项|开发必知一、话 说二、必知:Matplotlib显示问题|中文乱码问题三、注意|避坑:设置Matplotlib窗口标题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复