41 lines
1.6 KiB
Python
41 lines
1.6 KiB
Python
import numpy as np
|
||
# import os
|
||
# os.chdir('D:/data') # 设置文件保存的位置
|
||
|
||
|
||
def main():
|
||
x = np.arange(-5, 5, 0.25)
|
||
y = np.arange(-5, 5, 0.25)
|
||
X, Y = np.meshgrid(x, y)
|
||
R = np.sqrt(X**2 + Y**2)
|
||
Z = np.sin(R)
|
||
Plot_Contour(x,y,Z)
|
||
|
||
|
||
def Plot_Contour(x,y,matrix,filename='a.jpg', titlename='Plot Contour'):
|
||
import matplotlib.pyplot as plt
|
||
from matplotlib import cm
|
||
from matplotlib.ticker import LinearLocator
|
||
fig, ax = plt.subplots()
|
||
plt.subplots_adjust(bottom=0.15, right=0.7) # 调整位置
|
||
x, y = np.meshgrid(x, y)
|
||
contour = ax.contourf(x,y,matrix,cmap='jet')
|
||
ax.set_title(titlename, fontsize=20, fontfamily='Times New Roman')
|
||
ax.set_xlabel('x', fontsize=30, fontfamily='Times New Roman') # 坐标标签
|
||
ax.set_ylabel('y', fontsize=30, fontfamily='Times New Roman') # 坐标标签
|
||
# plt.xlabel('x')
|
||
# plt.ylabel('y')
|
||
ax.tick_params(labelsize=15) # 设置刻度值字体大小
|
||
labels = ax.get_xticklabels() + ax.get_yticklabels()
|
||
[label.set_fontname('Times New Roman') for label in labels] # 设置刻度值字体
|
||
cax = plt.axes([0.75, 0.15, 0.08, 0.73]) # color bar的位置 [左,下,宽度, 高度]
|
||
cbar = fig.colorbar(contour, cax=cax) # color bar
|
||
cbar.ax.tick_params(labelsize=15) # 设置color bar刻度的字体大小
|
||
[l.set_family('Times New Roman') for l in cbar.ax.yaxis.get_ticklabels()] # 设置color bar刻度的字体
|
||
# plt.savefig(filename, dpi=800) # 保存图片文件
|
||
plt.show()
|
||
plt.close('all') # 关闭所有plt,防止循环画图时占用内存
|
||
|
||
|
||
if __name__ == '__main__':
|
||
main() |