我们从Python开源项目中,提取了以下8个代码示例,用于说明如何使用matplotlib.cm.viridis()。
def plot_mean_quantity_tgas(self,tag,func=None,**kwargs): """ NAME: plot_mean_quantity_tgas PURPOSE: Plot the mean of a quantity in the TGAS catalog on the sky INPUT: tag - tag in the TGAS data to plot func= if set, a function to apply to the quantity +healpy.mollview plotting kwargs OUTPUT: plot to output device HISTORY: 2017-01-17 - Written - Bovy (UofT/CCA) """ mq= self._compute_mean_quantity_tgas(tag,func=func) cmap= cm.viridis cmap.set_under('w') kwargs['unit']= kwargs.get('unit',tag) kwargs['title']= kwargs.get('title',"") healpy.mollview(mq,nest=True,cmap=cmap,**kwargs) return None
def plot_2mass(self,jmin=None,jmax=None, jkmin=None,jkmax=None, cut=False, **kwargs): """ NAME: plot_2mass PURPOSE: Plot star counts in 2MASS INPUT: If the following are not set, fullsky will be plotted: jmin, jmax= minimum and maximum Jt jkmin, jkmax= minimum and maximum J-Ks cut= (False) if True, cut to the 'good' sky +healpy.mollview plotting kwargs OUTPUT: plot to output device HISTORY: 2017-01-17 - Written - Bovy (UofT/CCA) """ # Select stars if jmin is None or jmax is None \ or jkmin is None or jkmax is None: pt= _2mc_skyonly[1] else: pindx= (_2mc[0] > jmin)*(_2mc[0] < jmax)\ *(_2mc[1] > jkmin)*(_2mc[1] < jkmax) pt, e= numpy.histogram(_2mc[2][pindx], range=[-0.5,_BASE_NPIX-0.5], bins=_BASE_NPIX) pt= numpy.log10(pt) if cut: pt[self._exclude_mask_skyonly]= healpy.UNSEEN cmap= cm.viridis cmap.set_under('w') kwargs['unit']= r'$\log_{10}\mathrm{number\ counts}$' kwargs['title']= kwargs.get('title',"") healpy.mollview(pt,nest=True,cmap=cmap,**kwargs) return None
def plot_tgas(self,jmin=None,jmax=None, jkmin=None,jkmax=None, cut=False, **kwargs): """ NAME: plot_tgas PURPOSE: Plot star counts in TGAS INPUT: If the following are not set, fullsky will be plotted: jmin, jmax= minimum and maximum Jt jkmin, jkmax= minimum and maximum J-Ks cut= (False) if True, cut to the 'good' sky +healpy.mollview plotting kwargs OUTPUT: plot to output device HISTORY: 2017-01-17 - Written - Bovy (UofT/CCA) """ # Select stars if jmin is None or jmax is None \ or jkmin is None or jkmax is None: pt= self._nstar_tgas_skyonly else: pindx= (self._full_jt > jmin)*(self._full_jt < jmax)\ *(self._full_jk > jkmin)*(self._full_jk < jkmax) pt, e= numpy.histogram((self._full_tgas['source_id']/2**(35.\ +2*(12.-numpy.log2(_BASE_NSIDE)))).astype('int')[pindx], range=[-0.5,_BASE_NPIX-0.5], bins=_BASE_NPIX) pt= numpy.log10(pt) if cut: pt[self._exclude_mask_skyonly]= healpy.UNSEEN cmap= cm.viridis cmap.set_under('w') kwargs['unit']= r'$\log_{10}\mathrm{number\ counts}$' kwargs['title']= kwargs.get('title',"") healpy.mollview(pt,nest=True,cmap=cmap,**kwargs) return None
def init_plot(self): plot = ManualPlotter("DRAG Cal", x_label=['DRAG parameter', 'Number of pulses'], y_label=['Amplitude (Arb. Units)', 'Fit DRAG parameter'], numplots = 2) cmap = cm.viridis(np.linspace(0, 1, len(self.num_pulses))) for n in range(len(self.num_pulses)): plot.add_data_trace('Data_{}'.format(n), {'color': list(cmap[n])}) plot.add_fit_trace('Fit_{}'.format(n), {'color': list(cmap[n])}) plot.add_data_trace('Data_opt', subplot_num = 1) #TODO: error bars return plot
def plot_ml(self, ax, alpha, beta, alpha_hat, beta_hat): from itertools import product n = 50 alpha_max = 0.2 beta_max = 1.5 if alpha is not None: alpha_max = alpha_max if alpha < alpha_max else 1.1 * alpha beta_max = beta_max if beta < beta_max else 1.1 * beta if alpha_hat is not None: alpha_max = alpha_max if alpha_hat < alpha_max else 1.1 * alpha_hat beta_max = beta_max if beta_hat < beta_max else 1.1 * beta_hat alphas = np.linspace(0, alpha_max, n) betas = np.linspace(0, beta_max, n) Alpha, Beta = np.meshgrid(alphas, betas) Z = np.zeros(len(Alpha) * len(Beta)) for i, (a, b) in enumerate(product(alphas, betas)): Z[i] = self.neg_log_likelihood((a, b, 0, 0, 0, 0)) Z.resize((len(alphas), len(betas))) ax.contourf(Alpha, Beta, Z.T, 50, cmap=cm.viridis) if alpha is not None: ax.plot(alpha, beta, 'rs', ms=7) if alpha_hat is not None: ax.plot(alpha_hat, beta_hat, 'r^', ms=7) ax.set_xlabel(r'$\alpha_c$', fontsize=20) ax.set_ylabel(r'$\beta_c$', fontsize=20) return
def _string_to_cmap(cm_name): """Return colormap given name. Parameters: cm_name (str): Name of colormap. Returns: `matplotlib.cm <http://matplotlib.org/api/cm_api.html>`_ (colormap) object """ if isinstance(cm_name, str): if 'linearlab' in cm_name: try: cmap, cmap_r = linearlab() except IOError: cmap = cm.viridis else: if '_r' in cm_name: cmap = cmap_r else: cmap = cm.get_cmap(cm_name) elif isinstance(cm_name, ListedColormap) or isinstance(cm_name, LinearSegmentedColormap): cmap = cm_name else: raise MarvinError('{} is not a valid cmap'.format(cm_name)) return cmap
def plot_field(field, xmax=2., ymax=2., zmax=None, view=None, linewidth=0): """Utility plotting routine for 2D data :param field: Numpy array with field data to plot :param xmax: (Optional) Length of the x-axis :param ymax: (Optional) Length of the y-axis :param view: (Optional) View point to intialise """ x_coord = np.linspace(0, xmax, field.shape[0]) y_coord = np.linspace(0, ymax, field.shape[1]) fig = pyplot.figure(figsize=(11, 7), dpi=100) ax = fig.gca(projection='3d') X, Y = np.meshgrid(x_coord, y_coord) ax.plot_surface(X, Y, field[:], cmap=cm.viridis, rstride=1, cstride=1, linewidth=linewidth, antialiased=False) # Enforce axis measures and set view if given ax.set_xlim(0., xmax) ax.set_ylim(0., ymax) if zmax is not None: ax.set_zlim(1., zmax) if view is not None: ax.view_init(*view) # Label axis ax.set_xlabel('$x$') ax.set_ylabel('$y$') pyplot.show()
def plot_cmd(self,type='sf',cut=True): """ NAME: plot_cmd PURPOSE: Plot the distribution of counts in the color-magnitude diagram INPUT: type= ('sf') Plot 'sf': selection function 'tgas': TGAS counts '2mass': 2MASS counts cut= (True) cut to the 'good' part of the sky OUTPUT: Plot to output device HISTORY: 2017-01-17 - Written - Bovy (UofT/CCA) """ jtbins= (numpy.amax(_2mc[0])-numpy.amin(_2mc[0]))/0.1+1 nstar2mass, edges= numpy.histogramdd(\ _2mc[:3].T,bins=[jtbins,3,_BASE_NPIX], range=[[numpy.amin(_2mc[0])-0.05,numpy.amax(_2mc[0])+0.05], [-0.05,1.0],[-0.5,_BASE_NPIX-0.5]],weights=_2mc[3]) findx= (self._full_jk > -0.05)*(self._full_jk < 1.0)\ *(self._full_twomass['j_mag'] < 13.5) nstartgas, edges= numpy.histogramdd(\ numpy.array([self._full_jt[findx],self._full_jk[findx],\ (self._full_tgas['source_id'][findx]\ /2**(35.+2*(12.-numpy.log2(_BASE_NSIDE))))\ .astype('int')]).T, bins=[jtbins,3,_BASE_NPIX], range=[[numpy.amin(_2mc[0])-0.05,numpy.amax(_2mc[0])+0.05], [-0.05,1.0],[-0.5,_BASE_NPIX-0.5]]) if cut: nstar2mass[:,:,self._exclude_mask_skyonly]= numpy.nan nstartgas[:,:,self._exclude_mask_skyonly]= numpy.nan nstar2mass= numpy.nansum(nstar2mass,axis=-1) nstartgas= numpy.nansum(nstartgas,axis=-1) if type == 'sf': pt= nstartgas/nstar2mass vmin= 0. vmax= 1. zlabel=r'$\mathrm{completeness}$' elif type == 'tgas' or type == '2mass': vmin= 0. vmax= 6. zlabel= r'$\log_{10}\mathrm{number\ counts}$' if type == 'tgas': pt= numpy.log10(nstartgas) elif type == '2mass': pt= numpy.log10(nstar2mass) return bovy_plot.bovy_dens2d(pt,origin='lower', cmap='viridis',interpolation='nearest', colorbar=True,shrink=0.78, vmin=vmin,vmax=vmax,zlabel=zlabel, yrange=[edges[0][0],edges[0][-1]], xrange=[edges[1][0],edges[1][-1]], xlabel=r'$J-K_s$', ylabel=r'$J+\Delta J$')