【python海洋专题三】图像修饰之画布和坐标轴

【python海洋专题三】图像修饰之画布和坐标轴
海洋与大气科学

上期读取nc水深文件,并出图

但是存在一些不完美,本期修饰

本期内容目录

1:改变画布大小
2:改变画布背景色
3:改变画布在显示屏中的显示位置
4:改变坐标轴距离画布边界的距离,目的去除白边
5:改变坐标轴字体的大小
6:改变坐标轴显示间隔
7:参考文献及其在本文中的作用
8:全文代码

数据读取和上期一样,本期直接更改画图代码

1:改变画布大小

分辨率参数-dpi,画布大小参数-figsize

plt.figure(dpi=300, figsize=(2, 2))

注释:

1:DPI(Dots Per Inch,每英寸点数)是一个量度单位,用于点阵数码影像,指每一英寸长度中,取样、可显示或输出点的数目。DPI简单理解为像素值,数值越大,图片精度越高,相应的保存占用的空间越大。

2:figsize 设置图形的大小,a 为图形的宽, b 为图形的高,单位为英寸;dpi 为设置图形每英寸的点数;

则此时图形的像素为:px, py = adpi, bdpi # pixels。

效果如图

图片

2:改变画布背景色

plt.figure(dpi=300,figsize=(2, 2),facecolor=[0.6,0.6,0.6], edgecolor=‘blue’);

注释:

facecolor:背景颜色。默认为:rc:igre.facecolor‘=’w‘

edgecolor:边框颜色。如果未提供,默认为:rc:figre.edgecolor‘=’w‘。

效果如图

图片

3:改变画布在显示屏中的显示位置

mngr = plt.get_current_fig_manager() # 获取当前figure manager
mngr.window.wm_geometry(“+38+31”) # 调整窗口在屏幕上弹出的位置

其中:

+38 指窗口左上角顶点的横坐标向X轴正方向移动38,

+31 指窗口左上角顶点的纵坐标向Y轴正方向移动31。

图片

图片

4:改变坐标轴距离画布边界的距离

目的去除白边

ax=fig.add_axes([0.08,0.08,0.85,0.85])

注释:

[距离左边,下边,坐标轴宽度,坐标轴高度] 范围(0, 1)

效果如图

图片

5:改变坐标轴字体的大小

改变文字大小参数-fontsize

plt.xticks(fontsize=4)
plt.yticks(fontsize=4)

效果如图

图片

6:改变坐标轴显示间隔

改变文字大小参数-fontsize

plt.xticks(np.arange(105,125,2),fontsize=4)
plt.yticks(np.arange(0,25,2),fontsize=4)

效果如图

图片

参考文献及其在本文中的作用

1:python画图时设置分辨率和画布大小-plt.figure()_plt 画布大小-CSDN博客

其作用:更改画布大小。

2:DPI(每英寸点数)_百度百科 (baidu.com)

其作用:解释dpi=300的功能。

3:python中figsize什么意思_matplotlib 设置图形大小时 figsize 与 dpi 的关系-CSDN博客

其作用:解释figsize(a,b)中的参数含义。

4:Matplotlib(2)——创建画布_matplotlib创建画布-CSDN博客

其作用:改变画布背景色。

5:如何修改/固定matplotlib显示图片窗口在屏幕上的位置_matplotlib画框摆放在桌面的位置_ygfrancois的博客-CSDN博客

其作用:改变画布在显示屏上位置的显示。

6:python函数之xticks实现时间作为横坐标并按指定间隔显示_python xticks-CSDN博客

其作用:改变坐标轴显示间隔。

上期图像和本期图像的对比

图片

全文代码

# -*- coding: utf-8 -*-
# %%
# Importing related function packages
from netCDF4 import Dataset
import numpy as np
# import pandas as pd
# import os
from PIL import Image
import matplotlib.pyplot as plt # https://matplotlib.org/
# read data
a = Dataset('D:\pycharm_work\data\scs_etopo.nc')
print(a)
lon = a.variables['lon'][:]
lat = a.variables['lat'][:]
ele = a.variables['elevation'][:]
print(lon)
print(lat)
print(ele)
# 画图 图一;
# 分辨率参数-dpi,画布大小参数-figsize
plt.figure(dpi=300, figsize=(2, 2))
plt.contourf(lon, lat, ele[:, :])
plt.show()
# 画图 图二;
# 分辨率参数-dpi,画布大小参数-figsize
plt.figure(dpi=300, figsize=(2, 2))
plt.contourf(lon, lat, ele[:, :])
plt.xticks(fontsize=4)
plt.yticks(fontsize=4)
plt.show()
# 画图 图三;
# 分辨率参数-dpi,画布大小参数-figsize
plt.figure(dpi=300, figsize=(2, 2),facecolor= [0.6,0.6,0.6], edgecolor='blue')
mngr = plt.get_current_fig_manager()  # 获取当前figure manager
mngr.window.wm_geometry("+38+31")  # 调整窗口在屏幕上弹出的位置
# 改变文字大小参数-fontsize
plt.xticks(fontsize=4)
plt.yticks(fontsize=4)
plt.contourf(lon, lat, ele[:, :])
plt.show()
# 画图 图4;
#%% 分辨率参数-dpi,画布大小参数-figsize
fig =plt.figure(dpi=300, figsize=(2, 2),facecolor= [0.6,0.6,0.6], edgecolor='blue')
mngr = plt.get_current_fig_manager()  # 获取当前figure manager
mngr.window.wm_geometry("+38+31")  # 调整窗口在屏幕上弹出的位置
ax=fig.add_axes([0.08,0.08,0.85,0.85])# [距离左边,下边,坐标轴宽度,坐标轴高度] 范围(0, 1)
# 改变文字大小参数-fontsize
plt.xticks(fontsize=4)
plt.yticks(fontsize=4)
plt.contourf(lon, lat, ele[:, :])
plt.show()
#%%
# 画图 图5;
#%% 分辨率参数-dpi,画布大小参数-figsize
fig =plt.figure(dpi=300, figsize=(2, 2),facecolor= [0.6,0.6,0.6], edgecolor='blue')
mngr = plt.get_current_fig_manager()  # 获取当前figure manager
mngr.window.wm_geometry("+38+31")  # 调整窗口在屏幕上弹出的位置
ax=fig.add_axes([0.08,0.08,0.85,0.85])# [距离左边,下边,坐标轴宽度,坐标轴高度] 范围(0, 1)
# 改变文字大小参数-fontsize
plt.xticks(np.arange(105,125,2),fontsize=4)
plt.yticks(np.arange(0,25,2),fontsize=4)
plt.contourf(lon, lat, ele[:, :])
plt.show()
#%%

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

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

相关文章

【项目管理】--敏捷开发管理之Scrum

目录 一、前言二、what---敏捷开发是什么2.1、敏捷开发宣言2.2、敏捷开发原则2.3、一句话概述敏捷开发三、why---为什么会有敏捷开发3.1、传统开发模式和敏捷开发模式对比四、how---敏捷开发怎么实践到项目团队4.1、what---Scrum是什么4.2、what---Scrum有哪些内容(1)、Scrum之…

NLP 01(介绍)

一、NLP 自然语言处理 (Natural Language rrocessing,简称NLP) 是计算机科学与语言学中关注于计算机与人类语言间转换的领域。 1.1 发展 规则:基于语法 自然语言处理的应用场景: 语音助手 机器翻译 搜索引擎 智能问答

【单片机】12-串口通信和RS485

1.通信有关的常见概念 区分:串口,COM口,UART,USART_usart和串口区别-CSDN博客 串口、COM口、UART口, TTL、RS-232、RS-485区别详解-CSDN博客 1.什么是通信 (1)人和人之间的通信:说话&#xff…

抓包习讯云院校数据通过PHP解析导入数据库

前言 最近,打卡APP需要这个数据,通过抓包后发现这个数据是固定的,获取很简单,但是数据太多,手动导入不显示,于是分析了json格式后果断通过脚本完成 【推荐】 《【MQTT】Esp32数据上传采集:最…

栈和队列的概念和实现

栈和队列的概念和实现 一.栈二.队列一些题目 一.栈 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,栈中的数据元素遵守后进先出LIFO&#x…

UG\NX二次开发 用程序修改“用户默认设置”

文章作者:里海 来源网站:《里海NX二次开发3000例专栏》 简介 可以用程序修改“用户默认设置”吗?下面是用代码修改“用户默认设置->基本环境->用户界面->操作记录->操作记录语言”的例子。 效果 代码 #include <uf_defs.h> #include <NXOpen/NXExcept…

angular 在vscode 下的hello world

Angulai 是google 公司开发的前端开发框架。Angular 使用 typescript 作为编程语言。typescript 是Javascript 的一个超集&#xff0c;提升了某些功能。本文介绍运行我的第一个angular 程序。 前面部分参考&#xff1a; Angular TypeScript Tutorial in Visual Studio Code 一…

Kafka-Kerberos票据刷新问题

线上kafka使用了 kerberos 认证&#xff0c;每隔24小时&#xff0c;票据过期&#xff0c;无法自动续期&#xff0c;出现消息发送失败问题。 从日志可以发现会有如下报错&#xff1a; 2023-09-14 17:48:47,144 [kafka-kerberos-refresh-thread-kafka/hdp-1HADOOP.COM] [] WARN …

gitee 远程仓库操作基础(二)

(1&#xff09;clone远端仓库,本地建立分支推送 (基于远程仓库版本库 本地建立分支开发新功能) git clone gitgitee.com:xxxxx/alsa_test.git git remote add origin gitgitee.com:xxxxx/alsa_test.git进入clone过后路径代码,查看本地分支,发现该项目远程仓库有很多分支 基于…

Spring Framework 学习笔记5:事务

Spring Framework 学习笔记5&#xff1a;事务 1.快速入门 1.1.准备工作 这里提供一个示例项目 transaction-demo&#xff0c;这个项目包含 Spring 框架、MyBatis 以及 JUnit。 对应的表结构见 bank.sql。 服务层有一个方法可以用于在不同的账户间进行转账&#xff1a; Se…

机器学习之单层神经网络的训练:增量规则(Delta Rule)

文章目录 权重的调整单层神经网络使用delta规则的训练过程 神经网络以权值的形式存储信息,根据给定的信息来修改权值的系统方法称为学习规则。由于训练是神经网络系统地存储信息的唯一途径&#xff0c;因此学习规则是神经网络研究中的一个重要组成部分 权重的调整 &#xff08…

【中秋国庆不断更】OpenHarmony多态样式stateStyles使用场景

Styles和Extend仅仅应用于静态页面的样式复用&#xff0c;stateStyles可以依据组件的内部状态的不同&#xff0c;快速设置不同样式。这就是我们本章要介绍的内容stateStyles&#xff08;又称为&#xff1a;多态样式&#xff09;。 概述 stateStyles是属性方法&#xff0c;可以根…

蓝桥等考Python组别十级003

第一部分&#xff1a;选择题 1、Python L10 &#xff08;15分&#xff09; 已知s Pencil&#xff0c;下列说法正确的是&#xff08; &#xff09;。 s[0]对应的字符是Ps[1]对应的字符是ns[-1]对应的字符是is[3]对应的字符是e 正确答案&#xff1a;A 2、Python L10 &am…

NLP 03(LSTM)

一、LSTM LSTM (Long Short-Term Memory) 也称长短时记忆结构,它是传统RNN的变体,与经典RNN相比&#xff1a; 能够有效捕捉长序列之间的语义关联缓解梯度消失或爆炸现象 LSTM的结构更复杂,它的核心结构可以分为四个部分去解析: 遗忘门、输入门、细胞状态、输出门 LSTM内部结构…

解决 react 项目启动端口冲突

报错信息&#xff1a; Emitted error event on Server instance at:at emitErrorNT (net.js:1358:8)at processTicksAndRejections (internal/process/task_queues.js:82:21) {code: EADDRINUSE,errno: -4091,syscall: listen,address: 0.0.0.0,port: 8070 }解决方法&#xff…

叶工好容6-自定义与扩展

本篇主要介绍扩展的本质以及CRD与Operator之间的区别&#xff0c;帮助大家理解相关的概念以及知道要进行扩展需要做哪些工作。 CRD&#xff08;CustomerResourceDefinition&#xff09; 自定义资源定义,代表某种自定义的配置或者独立运行的服务。 用户只定义了CRD没有任何意…

最新AI智能创作系统ChatGPT商业源码+详细图文搭建部署教程+AI绘画系统

一、AI系统介绍 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&am…

liunx的攻击

1.场景和分析 2.病毒分析 3.解决步骤

MySQL在线修改表结构-PerconaTookit工具

在线修改表结构必须慎重 在业务系统 运行 过程中随意删改字段&#xff0c;会 造成重大事故。 常规的做法是&#xff1a;业务停机&#xff0c;再 维护表结构 比如&#xff1a;12306 凌晨 0 点到早上 7 点是停机维护 如果是不影响正常业务的表结构是允许在线修改的。 比如&…

Ubuntu部署运行ORB-SLAM2

ORB-SLAM2是特征点法的视觉SLAM集大成者&#xff0c;不夸张地说是必学代码。博主已经多次部署运行与ORB-SLAM2相关的代码&#xff0c;所以对环境和依赖很熟悉&#xff0c;对整个系统也是学习了几个月&#xff0c;一行行代码理解。本次在工控机上部署记录下完整的流程。 ORB-SLA…