解决Matplotlib 画图中文无法正常显示的问题(显示方框)

解决Matplotlib 画图中文无法正常显示的问题(显示方框)

  • 错误描述
  • 解决方案一(暂时解决)
  • 解决方法二(永久解决)
  • 测试代码

错误描述

image-20240315144806446

这个错误消息来自于使用 Python 的 IPython 环境,特别是在尝试输出图形时。错误说明你的系统中的字体库缺少某些中文字符,所以在图形输出时无法正确显示这些字符

解决方案一(暂时解决)

非常简单,但每次都需要这样做,适合紧急情况下来用

即在你的代码前面添加这两行代码

plt.rcParams['font.sans-serif']=['SimHei']    # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    # 用来显示负号

解决方法二(永久解决)

  1. 查看Matplotlib是否存在中文字体

    具体路径:C:\Users\你的用户名\.matplotlib,打开fontList.json

image-20240315145614782

image-20240315150214990

搜索SimHei能搜索的到,说明是有中文字体的,那只需要设置中文字体就好了,如果搜索不到,请到https://www.fontpalace.com/font-details/SimHei/先下载字体

  1. 到你的Pycharm或者Jupyter当中运行下面的代码

    import matplotlib
    
    print(matplotlib.matplotlib_fname())
    

    运行的结果应该是C:\Users\你的用户名\你的Python安装路径\site-packages\matplotlib\mpl-data\matplotlibrc,打开该文件

    image-20240315154046675

  2. 修改三处

image-20240315154648626

去掉圈出来这两行的注释,并且修改第二行

font.sans-serif: SimHei, DejaVu Sans, Bitstream Vera Sans

删除这里的注释,并且将true改为false

axes.unicode_minus : false

一定要记得保存该文件!

测试代码

import matplotlib.pyplot as plt

# 示例数据
x = [-1, 2, 3, 4, 5]
y = [-1, 4, 9, 16, 25]

plt.figure(figsize=(8, 4))
plt.plot(x, y, 'o-')
plt.title('中文标题测试', fontsize=14)
plt.xlabel('横轴(x)', fontsize=12)
plt.ylabel('纵轴(y)', fontsize=12)
plt.grid(True)
plt.show()

image-20240316125457407

能正常显示中文即成功解决

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/478324.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用sortablejs 对分层数据排序

在项目中,需要对有层级关系的数据进行排序,如图 Item 1 可以在item 2 、item 3 、item 4 等之间进行拖拽,但是item 1.1 item 1.2 等 只能在item 1 里面拖拽。拖拽的范围只能是该item 所在的层级里面拖拽,不能超出,也不…

外包干了6天,技术明显进步。。。

我是一名大专生,自19年通过校招进入湖南某软件公司以来,便扎根于功能测试岗位,一晃便是近四年的光阴。今年8月,我如梦初醒,意识到长时间待在舒适的环境中,已让我变得不思进取,技术停滞不前。更令…

【计算机毕业设计】ssm073基于Word自动出题系统

基于Word自动出题系统 操作系统: Windows XP或Windows 7 开发工具: myeclipse 数据库: MySQL 系统研究目的及意义: 本课题研究通过信息化的手段进行对试题的出题工作,实现更加有效便捷的试题的编写和试卷的生成。这样不仅可以最大程度上较少学校教研工作…

阿里云4核16G服务器优惠价格26.52元1个月、79.56元3个月、149.00元半年

阿里云4核16G服务器优惠价格26.52元1个月、79.56元3个月、149.00元半年,配置为阿里云服务器ECS经济e实例ecs.e-c1m4.xlarge,4核16G、按固定带宽 10Mbs、100GB ESSD Entry系统盘,活动链接 aliyunfuwuqi.com/go/aliyun 活动打开如下图&#xf…

物联网数据报表分析

随着物联网技术的迅猛发展,越来越多的企业开始将物联网解决方案应用于各个领域,从提高生产效率到优化用户体验,物联网都发挥着至关重要的作用。然而,如何有效地分析和管理物联网产生的海量数据,成为企业面临的挑战之一…

微软首批AI电脑来了!一键Copilot带飞,英特尔酷睿Ultra加持,零售店买不到

Surface Pro 10商用版和Surface Laptop 6商用版均起售1199美元。前者配酷睿Ultra U系列芯片,新增AI增强型摄像头,PC摄像头首次具有114度超宽视野,改进后13英寸LCD显示屏亮度提高33%;后者摄像头无超广角,但搭载的H系列芯…

基于ssm的医院门诊挂号系统论文

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,医院门诊挂号系统当然也不能排除在外。医院门诊挂号系统是以实际运用为开发背景,运用软件工程开发方法&…

淘宝、京东、1688商品详情接口对比:哪个更适合你的业务?

淘宝、京东、1688商品详情接口对比:哪个更适合你的业务? 请求示例,API接口接入Anzexi58 在电商业务中,商品详情接口扮演着至关重要的角色。通过调用这些接口,商家可以获取商品的详细信息,从而更好地进行商…

tinyrenderer-zBuffer隐藏面剔除

绘制物体的深度远近会影响最终投射的效果 画家算法:是z值排序所有物体,从远往近全部绘制,近处物体覆盖远处物体。效率低,且无法处理物体相互穿插的情况 维护一个zBuffer,记录每个像素点的最近zBuffer,根据…

C++ 哈希表

目录 两数之和 面试题 01.02. 判定是否互为字符重排 存在重复元素 存在重复元素 II 字母异位词分组 两数之和 1. 两数之和 思路1:两层for循环 思路2:逐步添加哈希表 思路3:一次填完哈希表 如果一次填完,那么相同元素的值&…

Stable Diffusion 本地训练端口与云端训练端口冲突解决办法

方法之一,修改本地训练所用的端口 1 首先,进入脚本训练器的根目录 例如:C:\MarkDeng\lora-scripts-v1.7.3 找到gui.py 2 修改端口号 因为云端训练器也是占用28000和6006端口 那么本地改成28001和6007也是可以的 保存退出,运行启动…

兼容 Presto、Trino、ClickHouse、Hive 近 10 种 SQL 方言,Doris SQL Convertor 解读及实操演示

随着版本迭代,Apache Doris 一直在拓展应用场景边界,从典型的实时报表、交互式 Ad-hoc 分析等 OLAP 场景到湖仓一体、高并发数据服务、日志检索分析及批量数据处理,越来越多用户与企业开始将 Apache Doris 作为统一的数据分析产品&#xff0c…

从0学代码审计——极致CMS v1.9.5

0x01 框架基础 环境搭建这块还是比较容易的,github可以下载任意版本的极致CMS,下载源码有注册脚本,本地只需要新建一个数据库即可安装成功。下载链接:https://github.com/Cherry-toto/jizhicms 下载后的目录结构如下:…

vue3+threejs新手从零开发卡牌游戏(七):创建卡组

在开始前先优化下之前的代码: 在之前hand/p1.vue中为了定位 utils文件夹下新建common.ts,将一些公用方法提取出来放在这里: 在game/Cards.ts中,我们调整下卡牌的厚度,由原来的0.02改为0.005,原因是之前的…

深入剖析Java并发库(JUC)之StampedLock的应用与原理

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在现代多核处理器架构下,并发编程成为提升程序性能的关键手段。Java作为一门广泛使用的编程语言,提供了丰…

谷歌浏览器调用相同url数据不刷新

原代码 原因 谷歌浏览访问相同接口默认调用缓存数据 解决方案 添加时间戳

机器视觉学习(六)—— 图像的颜色识别

目录 一、色彩空间 1.1 RGB色彩空间 1.2 HSV色彩空间 1.3 灰度 1.4 CMYK色彩空间 1.5 Lab色彩空间 二、色彩空间转换 三、识别颜色 3.1 识别一种特定的颜色 3.2 识别多种颜色 一、色彩空间 计算机视觉中常用的色彩空间有RGB色彩空间、HSV色彩空间、CMYK色彩空间、La…

TR1 - Transformer起源与发展

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 1. Transformer的起源与发展 2017年Google在《Attention Is All You Need》中提出了Transformer结构用于序列标注,在翻译任务…

simulink里枚举量的使用--在m文件中创建枚举量实践操作(推荐)

本文将介绍一种非常重要的概念,枚举量,以及它在simulink状态机中的使用,并且给出模型,方便大家学习。 枚举量:实际上是用一个名字表示了一个变量,能够比较方便的表示标志信息 A.简单举例: 1&a…

“低代码+平台”:驱动企业数字化转型与创新的新引擎

“低代码平台”作为一种新兴的软件开发范式,正逐渐成为企业快速响应市场变化、优化业务流程、提升数字化水平的重要手段。它的价值在于,将传统软件开发的复杂性大大降低,赋予了非技术人员或轻量级开发者快速构建应用的能力,并能灵…