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

python画图:matpolt,设置图片尺寸,字体大小,副坐标轴,保存

文章重心:

  • 写论文的时候,图片的大小,字体的大小,副坐标轴,这些都是很重要的因素,保存一下之前用过的画图代码
  • 单图
  • 多图(两个子图)
  • 堆叠柱状图
  • 两个Y轴的图

问题:

  • python保存的时候,我选择的是svg,但是这样图片会比较大,查重什么的需要把图片都删了(一般有文件大小限制),虽然不影响,但是让人不爽,有博主分享了怎么保存为emf
  • python保存的图,有时候需要裁剪一下,不然边上留白比较多

单图示例

import numpy as np
from matplotlib import pyplot as plt
# 设置显示中文字体
plt.rcParams['font.family'] = ['SimSun', 'Times New Roman']  # 中文为SimSun,英文为Times New Roman
plt.rcParams['mathtext.fontset'] = 'stix'  # 设置数学公式字体为stix
# 设定的图片宽度
width_cm = 12
high_cm = 6
# 设置图的大小,将宽度转换为英寸
fig, ax = plt.subplots(figsize=(width_cm / 2.54, high_cm / 2.54))  # 6是一个示例高度
# 设置全局字体大小
plt.rc('font', size=10.5)
# 关闭自动缩放字体大小的功能
plt.rcParams['font.size'] = 10.5  # 字体大小为10.5磅
plt.rcParams['axes.titlesize'] = 10.5  # 坐标轴标题的字体大小为10.5磅
time_scope = range(24)
# 在主坐标轴上绘制曲线图
plt.plot(time_scope, np.zeros(24), linestyle='--', linewidth=1.5, color='gray')
plt.plot(time_scope, range(24), label='ESS功率', linestyle='-', linewidth=1.5, color='red')
# 设置次坐标轴的y轴标签
plt.xlabel('时间(h)')
plt.ylabel('功率(kW)')
# 添加曲线图的图例
plt.legend(loc='upper left', frameon=False, fancybox=False, shadow=False)
# 设置主坐标轴的刻度
plt.xlim(-0.5, 23.5)
plt.xticks(range(0, 24, 2))
# 启用副刻度线
plt.minorticks_on()
plt.xticks(range(0, 24, 1), minor=True)
plt.yticks([x / 2 for x in range(-0 * 2, 24 * 2, 5)])
# plt.yticks([x / 2 for x in range(-0 * 2, 25 * 2 + 1, 2)], minor=True)
# 调整 Matplotlib 的显示设置,紧凑
plt.tight_layout()
plt.savefig( '图片.svg', dpi=500)
plt.show()

结果如图所示:
在这里插入图片描述

多图示例

两个子图,但是实际上画一个图就够了,在word里面再排版会更好:

import numpy as np
from matplotlib import pyplot as plt
from matplotlib.gridspec import GridSpec# 设置显示中文字体
plt.rcParams['font.family'] = ['SimSun', 'Times New Roman']  # 中文为SimSun,英文为Times New Roman
plt.rcParams['matht
http://www.lryc.cn/news/353875.html

相关文章:

  • 如果突然失业,靠这个项目也能养活自己,6天收入3K
  • 【OpenCV 基础知识 13】高斯平滑处理图像
  • web安全渗透测试工具篇(二):sqlmap常用命令和nmap常用命令
  • STM32 USART的字符编码(发送器的实现逻辑)
  • [市赛2024-X2]自习室
  • Spring ----> IOC
  • AI重塑保险业未来:机器学习在风险评估、欺诈检测与客户服务中的深度应用
  • 某某某加固系统分析
  • 嵌入式之音频基础知识
  • 如何做好软件项目的沟通管理
  • linmux
  • Vue3学习-vue-router之路由传参
  • ubuntu20.04 10分钟搭建无延迟大疆无人机多线程流媒体服务器
  • hugging face笔记:PEFT
  • 作业5.26
  • 银河麒麟服务器系统xshell连接之后主动断开,报错socket error event:32 Error:10053问题分析
  • 蓝桥杯算法心得——李白打酒(加强版)
  • java练习2
  • 【安装笔记-20240523-Windows-安装测试 ShareX】
  • 2024年150道高频Java面试题(七十一)
  • 【深度学习】2.单层感知机
  • JS经常碰见的报错问题
  • 纯前端实现截图功能
  • 【网络协议】应用层协议--HTTP
  • 【图书推荐】《Vue.js 3.x+Element Plus从入门到精通(视频教学版)》
  • 抖店如何打造出爆品?学好这几招,轻松打爆新品流量
  • 软件需求规范说明模板
  • vs2013使用qt Linguist以及tr不生效问题
  • Leetcode 3163. String Compression III
  • Java匿名内部类的使用