当前位置: 首页 > news >正文

Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数



Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数

Python函数绘图与高等代数互融实例(二):闪点函数

Python函数绘图与高等代数互融实例(三):设置X|Y轴|网格线

Python函数绘图与高等代数互融实例(四):设置X|Y轴参考线|参考区域

Python函数绘图与高等代数互融实例(五): 则线图综合案例 


一: 正弦函数plot()绘图实例,中文字体显示问题 

在用matplotlib进行绘图时,如果在绘制过程中会用到中文,则默认情况下会出现字体警告,中文字符显示为方框或乱码的形式

D:\program_file_worker\python_source_work\SSO\pic\chapter01.py:27: UserWarning: Glyph 26412 (\N{CJK UNIFIED IDEOGRAPH-672C}) missing from current font. 

我们可以看到在警告信息中提示“missing from current font”,直译就是“在当前字体中缺少(中文字符)”,大概含义就是默认的字体中不含中文字符。

对于这类问题,核心就是设置绘制图片时的字体参数包含全部的需要用到的字符

# 正弦函数
import matplotlib.pyplot as plt
import numpy as npfrom pylab import mpl'''使用matplotlib模块绘制图Figure 是一个画布linspace(0.5, 3.5, 100)函数是在0.5~3.5之间均匀地取100个数randn(100)表示在标准的正太分布中随机地取100个数'''
# 设置中文显示字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = Falsex = np.linspace(0.05, 20, 1000)y = np.sin(x)y1 = np.random.randn(1000)plt.scatter(x, y, label="正弦函数绘制实例")plt.legend()
plt.show()

二: 运行结果:

D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\pic\chapter01.py 
D:\program_file_worker\python_source_work\SSO\pic\chapter01.py:27: UserWarning: Glyph 26631 (\N{CJK UNIFIED IDEOGRAPH-6807}) missing from current font.
  plt.show()
D:\program_file_worker\python_source_work\SSO\pic\chapter01.py:27: UserWarning: Glyph 35760 (\N{CJK UNIFIED IDEOGRAPH-8BB0}) missing from current font.
  plt.show()
D:\program_file_worker\python_source_work\SSO\pic\chapter01.py:27: UserWarning: Glyph 22270 (\N{CJK UNIFIED IDEOGRAPH-56FE}) missing from current font.
  plt.show()

 

三: 解决方案 

添加下面两行代码:

Python脚本中动态设置matplotlibrc,这样也可以避免由于更改配置文件而造成的麻烦,具体代码如下:
# 设置中文显示字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]有时候,字体更改后,会导致坐标轴中的部分字符无法正常显示,此时需要更改axes.unicode_minus参数:# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False

注意: 

rcParams修改 font.sans-serif 或 font.family 对应字体

# 以下代码从全局设置字体为SimHei(黑体),解决显示中文问题【Windows】
# 设置font.sans-serif 或 font.family 均可
plt.rcParams['font.sans-serif'] = ['SimHei']
# plt.rcParams['font.family']=['SimHei']
# 解决中文字体下坐标轴负数的负号显示问题
plt.rcParams['axes.unicode_minus'] = False 
由于mac电脑默认没有SimHei(黑体)字体,大家可以下载安装该字体或者修改为系统自带的字体如Arial Unicode MS,如下:

# 以下代码从全局设置字体为Arial Unicode MS,解决显示中文问题【mac】
# 设置font.sans-serif 或 font.family 均可
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# plt.rcParams['font.family']=['Arial Unicode MS']
# 解决中文字体下坐标轴负数的负号显示问题
plt.rcParams['axes.unicode_minus'] = False 
rc方法,其实和设置rcParams 基本等效

# 设置font字典为 SimSun(宋体),大小为12(默认为10)
font = {'family' : 'SimSun',
        'size'  : '12'}
# 设置 字体
plt.rc('font', **font)
# 解决中文字体下坐标轴负数的负号显示问题        
plt.rc('axes', unicode_minus=False) 
 

四: 余弦函数plot()绘图实例

# 余弦函数
import matplotlib.pyplot as plt
import numpy as np
from pylab import mpl'''功能函数: 展现变量的趋势变化调用函数: plt.plot(x,y,ls="_",lw=2,label="plot figure"参数说明: x轴上的数值y轴上的数值ls: 折线图的折线风格lw: 折线图的线条宽度label: 标记图形内容标签文本
'''
# 设置中文显示字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False
x = np.linspace(0.05, 10, 1000)y = np.cos(x)plt.plot(x, y, ls='-', lw=2, label="余弦函数绘图实例")plt.legend()plt.show()

五: 实例运行结果 

     

http://www.lryc.cn/news/174092.html

相关文章:

  • Python 判断回文数
  • 人工智能在金融领域的五个应用案例
  • java 工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发
  • Effective C++看书笔记(2):构造/析构/赋值运算
  • 交换奇偶位:交换一个整数的二进制的奇偶位置(仅考虑正数情况)
  • Unity中的两种ScriptingBackend
  • vue3硅谷甄选01 | 使用vite创建vue3项目及项目的配置 环境准备 ESLint配置 prettier配置 husky配置 项目集成
  • 蓝牙核心规范(V5.4)10.5-BLE 入门笔记之HCI
  • 【计算机毕业设计】基于SpringBoot+Vue记帐理财系统的设计与实现
  • 2023年中国研究生数学建模竞赛E题
  • 基于springboot+vue的大学生科创项目在线管理系统
  • 什么是文档签名证书?PDF文档怎么签名?
  • 2023年汉字小达人区级比赛倒计时2天,最新问题解答和真题练一练
  • 关于地址存放的例题
  • Flume最简单使用
  • 第2章 Java集合
  • YOLOv5、YOLOv8改进:C3STR(Swin Transformer)
  • AIGC百模大战
  • docker jira 一键安装含PJ(docker 一键安装jira)
  • 认识一下Git
  • 只需4步使用Redis缓存优化Node.js应用
  • 【react基础01】项目文件结构描述
  • 光电开关-NPN-PNP
  • 学会使用Git 和 GitHub
  • SoftwareTest3 - 要了人命的Bug
  • Linux系统中MySQL库的操作,实操sql代码
  • Python基础分享之面向对象的进一步拓展
  • Windows安装Docker Desktop并配置镜像、修改内存占用大小
  • Zipping
  • pytorch学习---实现线性回归初体验