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

news2024/11/25 20:27:15

【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.coloradmin.cn/o/1053586.html

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

相关文章

建筑能源管理(3)——建筑能源监管

为了全面落实科学发展观,提高建筑能源管理水平,进一步降低能源和水资源消耗、合理利用资源,以政府办公建筑和大型公共建筑的运行节能管理为突破口,建立了既有政府办公建筑和大型公共建筑运行节能监管体系,旨在提高政府…

[python 刷题] 刷题常用函数

[python 刷题] 刷题常用函数 最近直到未来一段时间之内应该都会用 python 刷题了,所以记一下碰到的还蛮好用的方法 按照分区实现,基本上刷一个类型的题,了解一些常用函数,就更新一下 这里假设你对编程语言有一定的了解&#xf…

Python海洋专题七之Cartopy画地形水深图的陆地填充

Python海洋专题七之Cartopy画地形水深图的陆地填充 第一期图 本期: 上期 Cartopy画地形水深图 但是陆地没有填充 如图 本期内容 陆地填充 如图: 详细过程如下 1:陆地填充 land feature.NaturalEarthFeature(‘physical’, ‘land’…

如何在Qt6中引入Network模块

2023年10月1日,周日凌晨 如果用的是CMake find_package(Qt6 COMPONENTS Network REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Network) 但在实际使用中,我发现有以下几点要注意: 1、要把“mytarget”换成项目名称 2、要去掉…

指针巩固习题

1.该程序输出的结果为 #include<stdio.h> int main() {int arr[]{1,2,3,4,5};short *p(short*)arr;//转化类型int i0;for(i0;i<4;i){*(pi)0;//short型指针1跳过两个字节}for(i0;i<5;i){printf("%d",arr[i]);}return 0;} 2.程序的输出结果为 #include&…

oracle-使用PLSQL工具自行修改用户密码

1、使用PLSQL工具&#xff0c;输入用户名和原密码登录&#xff0c;如下图 2、登录后&#xff0c;在会话下拉菜单中找到”Change password..” 3、在跳出的窗口中配置新密码&#xff0c;修改完成后单击”确认”&#xff0c;后退出PLSQL 4、重新打开PLSQL&#xff0c;使用新密码登…

1. windows安装elasticSearch

目录 1. 下载 2. 安装和启动 1. 下载 下载地址&#xff1a;https://elasticsearch.cn/download/ 下载7.8.0版本&#xff1a; 下载后的elasticsearch-7.8.0-windows-x86_64.zip文件放在本地合适的位置。 2. 安装和启动 解压elasticsearch-7.8.0-windows-x86_64.zip文件&…

蜂蜜配送销售商城小程序的作用是什么

蜂蜜是农产品中重要的一个类目&#xff0c;其受众之广市场需求量大&#xff0c;但由于非人人必需品&#xff0c;因此传统线下门店经营也面临着痛点&#xff0c;线上入驻平台也有很多限制难以打造自有品牌&#xff0c;无法管理销售商品及会员、营销等&#xff0c;缺少自营渠道&a…

DirectX12_Windows_GameDevelop_1:向量代数

引言 向量在计算机图形学、碰撞检测和物理模拟中扮演者关键的角色。因此在游戏开发之前我们必须先了解向量。本章研究向量的使用。 一、向量 如果你对数学中的向量不太熟悉&#xff0c;建议阅读《3D数学基础&#xff1a;图形和游戏开发 第2版》&#xff0c;如果你需要某些PD…

敏感性分析一览

敏感性分析 SobolMorrisFourier Amplitude Sensitivity Test (FAST)Random Balance Designs - Fourier Amplitude Sensitivity Test (RBD-FAST)Delta Moment-Independent MeasureDerivative-based Global Sensitivity Measure (DGSM)Fractional Factorial Sensitivity Analysis…

Flutter笔记:滚动之-无限滚动与动态加载的实现(GetX简单状态管理版)

Flutter笔记 无限滚动与动态加载的实现&#xff08;GeX简单状态管理版&#xff09; 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq…

Spring Framework 学习笔记5:事务

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

云原生Kubernetes:对外服务之 Ingress

目录 一、理论 1.Ingress 2.部署 nginx-ingress-controller(第一种方式) 3.部署 nginx-ingress-controller(第二种方式) 二、实验 1.部署 nginx-ingress-controller(第一种方式) 2.部署 nginx-ingress-controller(第二种方式) 三、问题 1.启动 nginx-ingress-controll…

Python海洋专题五之水深地形图海岸填充

Python海洋专题五之水深地形图海岸填充 海洋与大气科学 上期读取nc水深文件&#xff0c;并出图 但是存在一些不完美&#xff0c;本期修饰 本期内容 障眼法&#xff1a;把大于零的数据填充为陆地的灰色&#xff1b; 把等于零的数据画等深线为陆地和海洋的分界线&#xff01;…

怒刷LeetCode的第21天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;哈希表 方法二&#xff1a;计数器数组 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;分治法 方法二&#xff1a;快速幂 迭代 方法三&#xff1a;快速幂 递归 第三题 题目来源 题目内容 …

JUC第十二讲:JUC锁: 锁核心类AQS详解

JUC第十二讲&#xff1a;JUC锁: 锁核心类AQS详解 本文是JUC第十二讲&#xff0c;JUC锁: 锁核心类AQS详解。AbstractQueuedSynchronizer抽象类是核心&#xff0c;需要重点掌握。它提供了一个基于FIFO队列&#xff0c;可以用于构建锁或者其他相关同步装置的基础框架。 文章目录 J…

aarch64 平台 musl gcc 工具链手动编译方法

目标 手动编译一个 aarch64 平台的 musl gcc 工具链 musl libc 与 glibc、uclibc 等,都是 标准C 库, musl libc 是基于系统调用之上的 标准C 库,也就是用户态的 标准C 库。 musl libc 轻量、开源、免费,是一些 操作系统的选择,当前 Lite-OS 与 RT-Smart 等均采用自制的 mu…

【算法训练-贪心算法】一 买卖股票的最佳时机II

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【贪心算法】&#xff0c;使用【数组】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为&…

开源校园服务小程序源码 校园综合服务小程序源码 包含快递代取 打印服务 校园跑腿【带详细部署教程】

校园综合服务小程序开源源码是一款功能强大的小程序&#xff0c;可用于搭建校园综合服务平台。共有6个选项可供选择&#xff0c;包括快递代取、打印服务、校园跑腿、代替服务、上门维修和其他帮助。 使用该源码需要自备服务器和备案过的域名&#xff0c;推荐使用2核4G服务器。最…

【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件

【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件 海洋与大气科学 软件 选择此软件是因为习惯了&#xff0c;matlab能看得到的界面。 新建文本 导入相关库 import netCDF4,numpy netCDF4:该包作用&#xff1a;读、写netCDF files. numpy:该包作用&#xff1a;…