【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。

效果如图

【python海洋专题三】图像修饰之画布和坐标轴_第1张图片

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‘。

效果如图

【python海洋专题三】图像修饰之画布和坐标轴_第2张图片

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

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

其中:

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

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

【python海洋专题三】图像修饰之画布和坐标轴_第3张图片

【python海洋专题三】图像修饰之画布和坐标轴_第4张图片

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

目的去除白边

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

注释:

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

效果如图

【python海洋专题三】图像修饰之画布和坐标轴_第5张图片

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

改变文字大小参数-fontsize

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

效果如图

【python海洋专题三】图像修饰之画布和坐标轴_第6张图片

6:改变坐标轴显示间隔

改变文字大小参数-fontsize

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

效果如图

【python海洋专题三】图像修饰之画布和坐标轴_第7张图片

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

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博客

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

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

【python海洋专题三】图像修饰之画布和坐标轴_第8张图片

全文代码

# -*- 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()
#%%

你可能感兴趣的:(python,开发语言)