【python学习】 您所在的位置:网站首页 美标色卡颜色怎么设置 【python学习】

【python学习】

#【python学习】| 来源: 网络整理| 查看: 265

二维等高线图绘制及其相关设置 官方例子改进版1(对levels进行设置)改进版2(美化图形)

官方例子 import matplotlib.pyplot as plt import numpy as np from numpy import ma from matplotlib import ticker, cm #x,y及Z数据信息 N = 100 x = np.linspace(-3.0, 3.0, N) y = np.linspace(-2.0, 2.0, N) X, Y = np.meshgrid(x, y)#此处操作是为了将x,y的数据点数一致 Z1 = np.exp(-X**2 - Y**2) Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2) Z = (Z1 - Z2) * 2 #进行绘图 fig, ax = plt.subplots() cs = ax.contourf(X, Y, Z, cmap=plt.get_cmap('Spectral')) #添加colorbar cbar = fig.colorbar(cs) plt.show()

【显示结果】 在这里插入图片描述

改进版1(对levels进行设置)

待改进/存在问题 官方例子中得到的图形里面颜色与颜色之间轮廓太清晰了,如果想要得到渐进的图形,需要对颜色间隔进行限制,即改进为:

import matplotlib.pyplot as plt import numpy as np from numpy import ma from matplotlib import ticker, cm #x,y及Z数据信息 N = 100 x = np.linspace(-3.0, 3.0, N) y = np.linspace(-2.0, 2.0, N) X, Y = np.meshgrid(x, y)#此处操作是为了将x,y的数据点数一致 Z1 = np.exp(-X**2 - Y**2) Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2) Z = (Z1 - Z2) * 2 #进行绘图 fig, ax = plt.subplots() levels = np.arange(-2,2.0,0.005)#对颜色渐进细致程度进行设置,其中-2与2是色条显示的数据范围,0.005是颜色显示的细致程度 cs = ax.contourf(X, Y, Z, levels,cmap=plt.get_cmap('Spectral')) #添加colorbar cbar = fig.colorbar(cs) plt.show()

【显示结果】 在这里插入图片描述

改进版2(美化图形)

对图形坐标轴坐标,刻度字体大小及刻度间隔进行设置,此外设置colorbar显示的刻度个数,并在colorbar上面添加数据label.

import matplotlib.pyplot as plt import numpy as np from numpy import ma from matplotlib import ticker, cm from matplotlib.pyplot import MultipleLocator #x,y及Z数据信息 N = 100 x = np.linspace(-3.0, 3.0, N) y = np.linspace(-2.0, 2.0, N) X, Y = np.meshgrid(x, y)#此处操作是为了将x,y的数据点数一致 Z1 = np.exp(-X**2 - Y**2) Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2) Z = (Z1 - Z2) * 2 #进行绘图 fig, ax = plt.subplots() levels = np.arange(-2,2.0,0.005)#对颜色渐进细致程度进行设置,其中0与z_max是色条显示的数据范围,0.005是颜色显示的细致程度 cs = ax.contourf(X, Y, Z, levels,cmap=plt.get_cmap('Spectral')) #添加colorbar cbar = fig.colorbar(cs,fraction=0.1, pad=0.15, shrink=0.9, anchor=(0.0, 0.3))#对colorbar的大小进行设置 #设置颜色条的刻度 tick_locator = ticker.MaxNLocator(nbins=6) # colorbar上的刻度值个数 cbar.locator = tick_locator cbar.ax.tick_params(labelsize=12.5) #设置颜色条的title cbar.ax.set_title('unit',fontsize=12.5) cbar.update_ticks()#显示colorbar的刻度值 #设置坐标刻度及间隔 ax.set_xlim(-3,3) ax.set_ylim(-2,2) x_major_locator=MultipleLocator(1.2)#刻度间隔 y_major_locator=MultipleLocator(0.8) ax=plt.gca() ax.xaxis.set_major_locator(x_major_locator) ax.yaxis.set_major_locator(y_major_locator) #设置坐标轴标签 font3 = {'family' : 'Arial', 'weight' : 'normal', 'size' : 14, } ax.set_xlabel('$\t{x}$ (unit)',font3) ax.set_ylabel('$\t{y}$ (unit)',font3) #设置坐标刻度字体大小 ax.tick_params(labelsize=14) labels = ax.get_xticklabels() + ax.get_yticklabels() [label.set_fontname('Arial') for label in labels] #设置图像像素及大小 plt.rcParams['figure.figsize']=(6.0,4.0) plt.rcParams['savefig.dpi'] = 300 #图片像素 plt.rcParams['figure.dpi'] = 300 #分辨率 plt.show()

【图形结果】 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有