Python-matplotlib画图要点【大总结】

news2025/3/1 13:26:25

文章目录

  • 一、x,y坐标图
    • 1、基本操作
    • 2、进阶操作
      • (1)解决中文乱码情况
      • (2)调整图像大小
      • (3)加标题、坐标文字、坐标轴标签
      • (5)去掉上边框
  • 二、柱状图
    • 1、柱状图画图原理
    • 2、
  • 三、颜色与标记形状
    • 1、颜色表
    • 2、形状表

又到了一年一度的论文级,大家是不是还在为怎么画图担忧呢,别担心,下载好Python软件,准备发车!!

一、x,y坐标图

1、基本操作

   在使用Python画图之前,至少需要安装好matplotlib库,很简单,直接在终端:

pip install matplotlib

 安装好之后,就可以进行简单画图了,用简单地二次函数举个例子。
y    =    x 2 {\rm{y}}\;{\rm{ = }}\;{x^2} % MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqiVu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaqG5bGaaGjbVlaab2dacaaMe8UaamiE % amaaCaaaleqabaGaaGOmaaaaaaa!45DA! y=x2
 那么在画这条曲线之前,需要确定一下x和y的范围和取值,比如x的取值从0~9,那么在代码中可以这样表示:

x = np.arange(0,10)
y = x**2

 有了取值就可以画图了,直接用下面的代码进行最简单的画图:

import matplotlib.plot as plt
x = np.range(1, 10)
y = x**2				
plt.plot(x, y)			# 画图函数
plt.show()				# 用于显示所画的图形
# plt.savfig("demo.svg", dpi=300)

 使用plt.show()函数可以显示所画图形,使用plt.savfig("demo.svg", dpi=300)可以将所画的图形保存下来,这里的svg格式是论文中的常用格式,后面的dpi表示图像的清晰度,这里一般设置为300或者500就够了,设置的太高的话,电脑很有可能死机,或者图像打不开。(电脑性能不好,最好不要设置到1000以上)

2、进阶操作

(1)解决中文乱码情况

 如果在画图的过程中,遇到无法正常显示中文的情况,在画图前加上这两句代码:

plt.rcParams['font.sans-serif'] = ['SimHei'] 	# 显示中文字体
plt.rcParams['axes.unicode_minus'] = False  	# 显示负号

(2)调整图像大小

 想要调整图像大小的话,可以在画图代码的最前边,加上这样一句代码:

plt.figure(figsize=(10, 5))		

在这里插入图片描述
 这里取决于自己,如果是电力电子相关专业的话,可以将图像适当拉长,看起来会比较好看。

(3)加标题、坐标文字、坐标轴标签

plt.title("标题", fontsize=25)
plt.xticks(fontsize=15, fontweight='bold')  			# 默认字体大小为10
plt.yticks(fontsize=15, fontweight='bold')
plt.xlabel('x轴标签', fontsize=25, fontweight='bold')
plt.ylabel('y轴标签', fontsize=25, fontweight='bold')

加上这些东西之后,效果图如下所示(可以与上面的图像比较一下):
在这里插入图片描述
 如果一张图中出现不止一条曲线,也可以加上legend,

plt.plot(x, y, label="二次函数")
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=12, fontweight='bold')                     # 设置图例字体的大小和粗细
plt.grid(linestyle="--")  # 设置背景网格线为虚线

 加上这一段之后,得到的效果图如下所示:
在这里插入图片描述
 如果嫌弃字太大,自行设置即可。

(5)去掉上边框

如果不想要上边框和有边框,加上如下代码:

ax = plt.gca()
ax.spines['top'].set_visible(False)  # 去掉上边框
ax.spines['right'].set_visible(False)  # 去掉右边框

效果如下所示:
在这里插入图片描述
是不是有SCI论文里边那种感觉了。

二、柱状图

1、柱状图画图原理

2、

三、颜色与标记形状

1、颜色表

2、形状表

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运筹说 第83期丨我国网络计划奠基人——华罗庚

经过之前的学习,相信大家已经对运筹学的图论的内容有了一定的了解,接下来小编将带你学习新一章的内容,先来看看网络计划的起源发展,然后共同走近我国网络计划奠基人——华罗庚,去领略他不平凡的一生。 01 网络计划起源…

Pr:导出设置之管理显示色域体积及内容光线级别

视频 VIDEO设置因所选导出格式而异。每种格式都有独特的要求,这些要求决定了哪些设置可用。以导出 H.264 文件格式为例,下面给出 HDR 显示器及节目内容显示相关的选项及说明。管理显示色域体积Mastering Display Color Volume对内容进行分级时所使用的 H…

获取pdf中固定位置图片的二维码,然后解析

1、需要引入下面的pom坐标如下​​ ​2.完整代码如下import com.github.binarywang.utils.qrcode.BufferedImageLuminanceSource; import com.google.zxing.BinaryBitmap; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatReader; import com.goo…

itop3568开发板在Linux系统中使用NPU

下载rknpu2并拷贝虚拟机Ubuntu,如下图所示,RKNPU2提供了访问rk3568 芯片 NPU 的高级接口。 下载地址为“iTOP-3568 开发板\02_【iTOP-RK3568 开发板】开发资料\11_NPU 使用配套资料\01_rknpu2 工具” 对于 RK3568 来说,Linux 平台 RKNN SDK 库…

[Spring5.3.2] Servlet[springmvc]的Servlet.init()引发异常, 解析类文件失败

Spring / Spring MVC遇到问题 找了一本spring相关的教材,书上的代码拿过来就能运行,自己写就总报HTTP 500错误,反复检查没有任何一处写错,同一个错误卡了我三天,非常郁闷,今天终于解决了.特此记录. 问题表现: 图中提到的问题: 例外情况 javax.servlet.ServletException: Ser…

编码规约学习要点

工程结构应用分层 日志规约 编程规约 > 其它 【强制】日期格式化时,传入 pattern 中表示年份统一使用小写的 y。 说明:日期格式化时,yyyy 表示当天所在的年,而大写的 YYYY 代表是 week in which year(JDK7 之后引…

第二证券|热门板块再次爆发,早盘主力抢筹超10亿元!

抗原检测、房地产概念股团体冲高,板块热度居高不下。 抗原检测概念股团体上涨 12月9日早盘,新冠抗原检测概念股团体上涨,概念指数涨4.74%,明德生物涨停,九安医疗、万孚生物、热景生物涨幅居前,分别上涨8.4…

【Window环境下使用MSYS2搭建CMake + MinGW环境】

目录标题安装CMakecmake 测试MSYS2下载MSYS2安装MSYS2修改软件下载源MSYS2下安装MinGW配置MinGW配置到环境变量hello world测试安装CMake Cmake下载地址:https://cmake.org/download/,下一个windows压缩包就好了,因为我比较喜欢自己来配置,免得不知道安…

嵌入式软件开发知识点总结-uboot文件系统

【推荐阅读】 浅析linux 系统进程冻结(freezing of task) 30分钟了解linux操作系统内核总结 深入linux内核架构--进程&线程 需要多久才能看完linux内核源码? 概述Linux内核驱动之GPIO子系统API接口 Uboot 什么是bootloader? …

Linux操作系统~进程崩溃的原理是什么?信号的产生方式有哪些?

目录 1.信号的概念 2.signal函数的使用 kill -l 自定义信号处理函数signal函数 3.进程异常/崩溃的原理 (1).进程为什么会崩溃? (2).如何知道进程崩溃/异常的原因 (3).core dump的作用—…

C++类设计和实现的十大最佳实践

C代码提供了足够的灵活性,因此对于大部分工程师来说都很难把握。本文介绍了写好C代码需要遵循的10个最佳实践,并在最后提供了一个工具可以帮助我们分析C代码的健壮度。原文:10 Best practices to design and implement a C class 1. 尽可能尝…

Word处理控件Aspose.Words功能演示:使用 C# 将 Word 文档转换为 HTML

在各种情况下,您需要在 Web 或桌面应用程序中显示 Word 文档的内容。在这种情况下,合适的选项之一是将 Word 文档转换为HTML。为了在 .NET 应用程序中实现这一点,本文介绍了如何使用 C# 将 Word DOCX或DOC文件转换为 HTML。此外,您…

搅拌釜反应器全自动真空压力(正负压)控制解决方案

摘要:针对双层玻璃反应釜中存在的无法进行真空压力自动和准确控制等问题,本文提出了完整和成熟的解决方案,即采用卫生级电动调节阀和高精度双通道PID控制器,结合不同量程的真空计,与反应器、真空泵和正压气源构成闭环控…

ARP协议与ARP欺骗

一、ARP协议(地址解析协议) 所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。 将一个已知的IP地址解析为MAC…

169. 基于Django-RESTFramework的节流的使用

1.节流概述 节流又称限流,限制访问。 就是一个用户多次发送一个请求(页面或者链接)的时候,单位时间允许访问次数限制,超过限制就会出现访问受限,提示譬如:离下一场访问还有多久之类等的字样。 …

基于SSM的学生考勤管理系统的设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

【学习笔记】顺序容器的表格方式总结 C++

目录顺序容器及其特点顺序容器操作向顺序容器添加元素insertemplace参考更新中… 顺序容器及其特点 名字访问元素插入,删除元素vector(可变大小数组)支持快速随机访问在尾部之外的位置插入或删除元素可能很慢deque(双端队列&…

SpringBoot实战:整合MapStruct实现数据类型转化

MapStruct 是一个代码生成器,它基于约定优于配置方法极大地简化了 Java bean 类型之间映射的实现。自动生成的映射转换代码只使用简单的方法调用,因此速度快、类型安全而且易于理解阅读;本篇就是实现 SpringBoot 整合 MapStruct 实现数据类型…

[附源码]JAVA毕业设计小区物业管理系统演示录像2020(系统+LW)

[附源码]JAVA毕业设计小区物业管理系统演示录像2020(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09…

ffmpeg库安装及入门指南(Windows篇)- 2022年底钜献

最近项目需要,使用了 ffmpeg 做摄像头视频采集和串流。这几天有点时间,打算把相关的一些知识记录分享一下。 在撰写本文时,我又在另外一台电脑上把 ffmpeg 重新安装了一遍,所以绝对真实靠谱!如果你觉得文章写得还不错…