Changeset 21253 for issm/trunk-jpl/src/m/plot/applyoptions.py
- Timestamp:
- 10/11/16 01:15:17 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/plot/applyoptions.py
r19493 r21253 32 32 #ax=p.gca() 33 33 34 # font {{{34 # {{{ font 35 35 fontsize=options.getfieldvalue('fontsize',8) 36 36 fontweight=options.getfieldvalue('fontweight','normal') 37 37 fontfamily=options.getfieldvalue('fontfamily','sans-serif') 38 font={ 39 'fontsize' :fontsize, 40 'fontweight' :fontweight, 41 'family' :fontfamily 42 } 43 #}}} 44 45 #title {{{ 38 font={'fontsize' :fontsize, 39 'fontweight' :fontweight, 40 'family' :fontfamily} 41 # }}} 42 # {{{ title 46 43 if options.exist('title'): 47 44 title=options.getfieldvalue('title') … … 59 56 titlefont['weight']=titlefontweight 60 57 ax.set_title(title,**titlefont) 61 #}}} 62 63 #xlabel, ylabel, zlabel {{{ 58 # }}} 59 # {{{ xlabel, ylabel, zlabel 64 60 if options.exist('labelfontsize'): 65 61 labelfontsize=options.getfieldvalue('labelfontsize') … … 82 78 if options.exist('zlabel'): 83 79 ax.set_zlabel(options.getfieldvalue('zlabel'),**labelfont) 84 #}}} 85 86 #xticks, yticks, zticks (tick locations) {{{ 80 # }}} 81 # {{{ xticks, yticks, zticks (tick locations) 87 82 if options.exist('xticks'): 88 83 if options.exist('xticklabels'): … … 103 98 else: 104 99 ax.set_zticks(options.getfieldvalue('zticks')) 105 #}}} 106 107 #xticklabels,yticklabels,zticklabels {{{ 100 # }}} 101 # {{{ xticklabels,yticklabels,zticklabels 108 102 if options.getfieldvalue('ticklabels','off')=='off' or options.getfieldvalue('ticklabels',0)==0: 109 103 options.addfielddefault('xticklabels',[]) … … 119 113 zticklabels=options.getfieldvalue('zticklabels') 120 114 ax.set_zticklabels(zticklabels) 121 #}}} 122 123 #ticklabel notation {{{ 115 # }}} 116 # {{{ ticklabel notation 124 117 #ax.ticklabel_format(style='sci',scilimits=(0,0)) 125 #}}} 126 127 #ticklabelfontsize {{{ 118 # }}} 119 # {{{ ticklabelfontsize 128 120 if options.exist('ticklabelfontsize'): 129 121 for label in ax.get_xticklabels() + ax.get_yticklabels(): … … 132 124 for label in ax.get_zticklabels(): 133 125 label.set_fontsize(options.getfieldvalue('ticklabelfontsize')) 134 #}}} 135 136 #view 126 # }}} 127 # {{{ view TOFIX 137 128 #if int(md.mesh.dimension) == 3 and options.exist('layer'): 138 129 # #options.getfieldvalue('view') ? 139 130 # ax=fig.gca(projection='3d') 140 131 #plt.show() 141 142 # axis {{{132 # }}} 133 # {{{ axis 143 134 if options.exist('axis'): 144 135 if options.getfieldvalue('axis',True)=='off': … … 147 138 p.setp(ax.get_yticklabels(), visible=False) 148 139 # }}} 149 150 #box 140 # {{{ box 151 141 if options.exist('box'): 152 142 eval(options.getfieldvalue('box')) 153 154 # xlim, ylim, zlim {{{143 # }}} 144 # {{{ xlim, ylim, zlim 155 145 if options.exist('xlim'): 156 146 ax.set_xlim(options.getfieldvalue('xlim')) … … 159 149 if options.exist('zlim'): 160 150 ax.set_zlim(options.getfieldvalue('zlim')) 161 #}}} 162 163 #latlon 164 165 #Basinzoom 166 167 #ShowBasins 168 169 #clim {{{ 151 # }}} 152 # {{{ latlon TODO 153 # }}} 154 # {{{ Basinzoom TODO 155 # }}} 156 # {{{ ShowBasins TODO 157 # }}} 158 # {{{ clim 170 159 if options.exist('clim'): 171 160 lims=options.getfieldvalue('clim') … … 178 167 if len(data)>0: lims=[data.min(),data.max()] 179 168 else: lims=[0,1] 180 #}}} 181 182 #shading 169 # }}} 170 # {{{ shading TODO 183 171 #if options.exist('shading'): 184 185 # grid {{{172 # }}} 173 # {{{ grid 186 174 if options.exist('grid'): 187 175 if 'on' in options.getfieldvalue('grid','on'): 188 176 ax.grid() 189 #}}} 190 191 #colormap {{{ 177 # }}} 178 # {{{ colormap 192 179 # default sequential colormap 193 180 defaultmap=truncate_colormap(mpl.cm.gnuplot2,0.1,0.9,128) 194 181 cmap=options.getfieldvalue('colormap',defaultmap) 195 norm = mpl.colors.Normalize(vmin=lims[0], vmax=lims[1]) 182 if options.exist('log'): 183 norm = mpl.colors.LogNorm(vmin=lims[0], vmax=lims[1]) 184 else: 185 norm = mpl.colors.Normalize(vmin=lims[0], vmax=lims[1]) 196 186 options.addfield('colornorm',norm) 187 if options.exist('cmap_set_bad'): 188 NaNcolor=options.getfieldvalue('cmap_set_bad','w') 189 cmap.set_bad(NaNcolor,1.0) 197 190 cbar_extend=0 198 191 if options.exist('cmap_set_over'): … … 205 198 cbar_extend+=2 206 199 options.addfield('colormap',cmap) 207 #}}} 208 209 #contours {{{ 200 # }}} 201 # {{{ contours 210 202 if options.exist('contourlevels'): 211 203 plot_contour(md,data,options,ax) 212 #}}} 213 214 #wrapping 215 216 #colorbar {{{ 204 # }}} 205 # {{{ wrapping TODO 206 # }}} 207 # {{{ colorbar 217 208 if options.getfieldvalue('colorbar',1)==1: 218 if cbar_extend==0: 219 extend='neither' 220 elif cbar_extend==1: 221 extend='max' 222 elif cbar_extend==2: 223 extend='min' 224 elif cbar_extend==3: 225 extend='both' 226 cb = mpl.colorbar.ColorbarBase(ax.cax, cmap=cmap, norm=norm, extend=extend) 227 if options.exist('alpha'): 228 cb.set_alpha(options.getfieldvalue('alpha')) 229 if options.exist('colorbarnumticks'): 230 cb.locator=MaxNLocator(nbins=options.getfieldvalue('colorbarnumticks',5)) 231 else: 232 cb.locator=MaxNLocator(nbins=5) # default 5 ticks 233 if options.exist('colorbartickspacing'): 234 locs=npy.arange(lims[0],lims[1]+1,options.getfieldvalue('colorbartickspacing')) 235 cb.set_ticks(locs) 236 if options.exist('colorbarlines'): 237 locs=npy.arange(lims[0],lims[1]+1,options.getfieldvalue('colorbarlines')) 238 cb.add_lines(locs,['k' for i in range(len(locs))],npy.ones_like(locs)) 239 if options.exist('colorbarlineatvalue'): 240 locs=options.getfieldvalue('colorbarlineatvalue') 241 colors=options.getfieldvalue('colorbarlineatvaluecolor',['k' for i in range (len(locs))]) 242 widths=options.getfieldvalue('colorbarlineatvaluewidth',npy.ones_like(locs)) 243 cb.add_lines(locs,colors,widths) 244 if options.exist('colorbartitle'): 245 if options.exist('colorbartitlepad'): 246 cb.set_label(options.getfieldvalue('colorbartitle'),\ 247 labelpad=options.getfieldvalue('colorbartitlepad'),fontsize=fontsize) 248 else: 249 cb.set_label(options.getfieldvalue('colorbartitle'),fontsize=fontsize) 250 cb.ax.tick_params(labelsize=fontsize) 251 cb.solids.set_rasterized(True) 252 cb.update_ticks() 253 cb.set_alpha(1) 254 cb.draw_all() 255 plt.sca(ax) # return to original axes control 256 #}}} 257 258 #expdisp {{{ 259 if options.exist('expdisp'): 260 filename=options.getfieldvalue('expdisp') 261 style=options.getfieldvalue('expstyle','k') 262 linewidth=options.getfieldvalue('explinewidth',1) 263 for i in xrange(len(filename)): 264 filenamei=filename[i] 265 stylei=style[i] 266 if type(linewidth)==list: 267 linewidthi=linewidth[i] 268 else: 269 linewidthi=linewidth 270 expdisp(filenamei,ax,linestyle=stylei,linewidth=linewidthi,unitmultiplier=options.getfieldvalue('unit',1)) 271 #}}} 272 273 #area 274 275 #text {{{ 209 if cbar_extend==0: 210 extend='neither' 211 elif cbar_extend==1: 212 extend='max' 213 elif cbar_extend==2: 214 extend='min' 215 elif cbar_extend==3: 216 extend='both' 217 cb = mpl.colorbar.ColorbarBase(ax.cax, cmap=cmap, norm=norm, extend=extend) 218 if options.exist('alpha'): 219 cb.set_alpha(options.getfieldvalue('alpha')) 220 if options.exist('colorbarnumticks'): 221 cb.locator=MaxNLocator(nbins=options.getfieldvalue('colorbarnumticks',5)) 222 else: 223 cb.locator=MaxNLocator(nbins=5) # default 5 ticks 224 if options.exist('colorbartickspacing'): 225 locs=npy.arange(lims[0],lims[1]+1,options.getfieldvalue('colorbartickspacing')) 226 cb.set_ticks(locs) 227 if options.exist('colorbarlines'): 228 locs=npy.arange(lims[0],lims[1]+1,options.getfieldvalue('colorbarlines')) 229 cb.add_lines(locs,['k' for i in range(len(locs))],npy.ones_like(locs)) 230 if options.exist('colorbarlineatvalue'): 231 locs=options.getfieldvalue('colorbarlineatvalue') 232 colors=options.getfieldvalue('colorbarlineatvaluecolor',['k' for i in range (len(locs))]) 233 widths=options.getfieldvalue('colorbarlineatvaluewidth',npy.ones_like(locs)) 234 cb.add_lines(locs,colors,widths) 235 if options.exist('colorbartitle'): 236 if options.exist('colorbartitlepad'): 237 cb.set_label(options.getfieldvalue('colorbartitle'), 238 labelpad=options.getfieldvalue('colorbartitlepad'),fontsize=fontsize) 239 else: 240 cb.set_label(options.getfieldvalue('colorbartitle'),fontsize=fontsize) 241 cb.ax.tick_params(labelsize=fontsize) 242 cb.solids.set_rasterized(True) 243 cb.update_ticks() 244 cb.set_alpha(1) 245 cb.draw_all() 246 plt.sca(ax) # return to original axes control 247 # }}} 248 # {{{ expdisp 249 if options.exist('expdisp'): 250 filename=options.getfieldvalue('expdisp') 251 style=options.getfieldvalue('expstyle','k') 252 linewidth=options.getfieldvalue('explinewidth',1) 253 for i in xrange(len(filename)): 254 filenamei=filename[i] 255 stylei=style[i] 256 if type(linewidth)==list: 257 linewidthi=linewidth[i] 258 else: 259 linewidthi=linewidth 260 expdisp(filenamei,ax,linestyle=stylei,linewidth=linewidthi,unitmultiplier=options.getfieldvalue('unit',1)) 261 # }}} 262 # {{{ area TODO 263 # }}} 264 # {{{ text 276 265 if options.exist('text'): 277 278 279 280 281 282 283 284 285 286 # }}}287 288 # north arrow289 290 # scale ruler291 292 #streamlines293 if options.exist('streamlines'): 294 plot_streamlines(md,options,ax) 295 296 297 # axis positions298 299 # figure position300 301 # axes position302 303 # showregion304 305 # flat edges of a partition306 307 # scatter308 309 # backgroundcolor310 311 # figurebackgroundcolor312 313 # lighting314 315 # point cloud316 317 #inset266 text=options.getfieldvalue('text') 267 textx=options.getfieldvalue('textx') 268 texty=options.getfieldvalue('texty') 269 textcolor=options.getfieldvalue('textcolor') 270 textweight=options.getfieldvalue('textweight') 271 textrotation=options.getfieldvalue('textrotation') 272 textfontsize=options.getfieldvalue('textfontsize') 273 for label,x,y,size,color,weight,rotation in zip(text,textx,texty,textfontsize,textcolor,textweight,textrotation): 274 ax.text(x,y,label,transform=ax.transAxes,fontsize=size,color=color,weight=weight,rotation=rotation) 275 # }}} 276 # {{{ north arrow TODO 277 # }}} 278 # {{{ scale ruler TODO 279 # }}} 280 # {{{ streamlines TOFIX 281 if options.exist('streamlines'): 282 plot_streamlines(md,options,ax) 283 # }}} 284 # {{{ axis positions TODO 285 # }}} 286 # {{{ figure position TODO 287 # }}} 288 # {{{ axes position TODO 289 # }}} 290 # {{{ showregion TODO 291 # }}} 292 # {{{ flat edges of a partition TODO 293 # }}} 294 # {{{ scatter TODO 295 # }}} 296 # {{{ backgroundcolor TODO 297 # }}} 298 # {{{ figurebackgroundcolor TODO 299 # }}} 300 # {{{ lighting TODO 301 # }}} 302 # {{{ point cloud TODO 303 # }}} 304 # {{{ inset TODO 305 # }}} 306
Note:
See TracChangeset
for help on using the changeset viewer.