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