From e87d3e11030aaa3ff9fe1ad7918439f446a246c0 Mon Sep 17 00:00:00 2001 From: guanjihuan <34735497+guanjihuan@users.noreply.github.com> Date: Wed, 26 May 2021 21:40:57 +0800 Subject: [PATCH] version_10 --- GJH_source_code.py | 19 ++++++++++++++++--- PyPI/setup.cfg | 2 +- PyPI/src/gjh/__init__.py | 19 ++++++++++++++++--- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/GJH_source_code.py b/GJH_source_code.py index 8224581..6607d8d 100755 --- a/GJH_source_code.py +++ b/GJH_source_code.py @@ -856,7 +856,7 @@ def write_two_dimensional_data(x, y, matrix, filename='a'): # plot figures -def plot(x, y, xlabel='x', ylabel='y', title='', filename='a', show=1, save=0, type=''): +def plot(x, y, xlabel='x', ylabel='y', title='', filename='a', show=1, save=0, type='', y_min=None, y_max=None): import matplotlib.pyplot as plt fig, ax = plt.subplots() plt.subplots_adjust(bottom=0.20, left=0.18) @@ -865,6 +865,12 @@ def plot(x, y, xlabel='x', ylabel='y', title='', filename='a', show=1, save=0, t ax.set_title(title, fontsize=20, fontfamily='Times New Roman') ax.set_xlabel(xlabel, fontsize=20, fontfamily='Times New Roman') ax.set_ylabel(ylabel, fontsize=20, fontfamily='Times New Roman') + if y_min!=None or y_max!=None: + if y_min==None: + y_min=min(y) + if y_max==None: + y_max=max(y) + ax.set_ylim(y_min, y_max) ax.tick_params(labelsize=20) labels = ax.get_xticklabels() + ax.get_yticklabels() [label.set_fontname('Times New Roman') for label in labels] @@ -875,10 +881,11 @@ def plot(x, y, xlabel='x', ylabel='y', title='', filename='a', show=1, save=0, t plt.close('all') -def plot_3d_surface(x, y, matrix, xlabel='x', ylabel='y', zlabel='z', title='', filename='a', show=1, save=0): +def plot_3d_surface(x, y, matrix, xlabel='x', ylabel='y', zlabel='z', title='', filename='a', show=1, save=0, z_min=None, z_max=None): import matplotlib.pyplot as plt from matplotlib import cm from matplotlib.ticker import LinearLocator + matrix = np.array(matrix) fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) plt.subplots_adjust(bottom=0.1, right=0.65) x, y = np.meshgrid(x, y) @@ -892,7 +899,13 @@ def plot_3d_surface(x, y, matrix, xlabel='x', ylabel='y', zlabel='z', title='', ax.set_ylabel(ylabel, fontsize=20, fontfamily='Times New Roman') ax.set_zlabel(zlabel, fontsize=20, fontfamily='Times New Roman') ax.zaxis.set_major_locator(LinearLocator(5)) - ax.zaxis.set_major_formatter('{x:.2f}') + ax.zaxis.set_major_formatter('{x:.2f}') + if z_min!=None or z_max!=None: + if z_min==None: + z_min=matrix.min() + if z_max==None: + z_max=matrix.max() + ax.set_zlim(z_min, z_max) ax.tick_params(labelsize=15) labels = ax.get_xticklabels() + ax.get_yticklabels() + ax.get_zticklabels() [label.set_fontname('Times New Roman') for label in labels] diff --git a/PyPI/setup.cfg b/PyPI/setup.cfg index 0176584..8636363 100644 --- a/PyPI/setup.cfg +++ b/PyPI/setup.cfg @@ -1,7 +1,7 @@ [metadata] # replace with your username: name = gjh -version = 0.0.9 +version = 0.0.10 author = guanjihuan author_email = guanjihuan@163.com description = An open source python package diff --git a/PyPI/src/gjh/__init__.py b/PyPI/src/gjh/__init__.py index 24e153e..821f974 100644 --- a/PyPI/src/gjh/__init__.py +++ b/PyPI/src/gjh/__init__.py @@ -856,7 +856,7 @@ def write_two_dimensional_data(x, y, matrix, filename='a'): # plot figures -def plot(x, y, xlabel='x', ylabel='y', title='', filename='a', show=1, save=0, type=''): +def plot(x, y, xlabel='x', ylabel='y', title='', filename='a', show=1, save=0, type='', y_min=None, y_max=None): import matplotlib.pyplot as plt fig, ax = plt.subplots() plt.subplots_adjust(bottom=0.20, left=0.18) @@ -865,6 +865,12 @@ def plot(x, y, xlabel='x', ylabel='y', title='', filename='a', show=1, save=0, t ax.set_title(title, fontsize=20, fontfamily='Times New Roman') ax.set_xlabel(xlabel, fontsize=20, fontfamily='Times New Roman') ax.set_ylabel(ylabel, fontsize=20, fontfamily='Times New Roman') + if y_min!=None or y_max!=None: + if y_min==None: + y_min=min(y) + if y_max==None: + y_max=max(y) + ax.set_ylim(y_min, y_max) ax.tick_params(labelsize=20) labels = ax.get_xticklabels() + ax.get_yticklabels() [label.set_fontname('Times New Roman') for label in labels] @@ -875,10 +881,11 @@ def plot(x, y, xlabel='x', ylabel='y', title='', filename='a', show=1, save=0, t plt.close('all') -def plot_3d_surface(x, y, matrix, xlabel='x', ylabel='y', zlabel='z', title='', filename='a', show=1, save=0): +def plot_3d_surface(x, y, matrix, xlabel='x', ylabel='y', zlabel='z', title='', filename='a', show=1, save=0, z_min=None, z_max=None): import matplotlib.pyplot as plt from matplotlib import cm from matplotlib.ticker import LinearLocator + matrix = np.array(matrix) fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) plt.subplots_adjust(bottom=0.1, right=0.65) x, y = np.meshgrid(x, y) @@ -892,7 +899,13 @@ def plot_3d_surface(x, y, matrix, xlabel='x', ylabel='y', zlabel='z', title='', ax.set_ylabel(ylabel, fontsize=20, fontfamily='Times New Roman') ax.set_zlabel(zlabel, fontsize=20, fontfamily='Times New Roman') ax.zaxis.set_major_locator(LinearLocator(5)) - ax.zaxis.set_major_formatter('{x:.2f}') + ax.zaxis.set_major_formatter('{x:.2f}') + if z_min!=None or z_max!=None: + if z_min==None: + z_min=matrix.min() + if z_max==None: + z_max=matrix.max() + ax.set_zlim(z_min, z_max) ax.tick_params(labelsize=15) labels = ax.get_xticklabels() + ax.get_yticklabels() + ax.get_zticklabels() [label.set_fontname('Times New Roman') for label in labels]