Produce a scatter plot of the pressure in cell (i,j) vs. r(i,j) = distance from origin.
Example generating data: $CLAW/doc/sphinx/example-acoustics-2d/README.html
Resulting plots: $CLAW/doc/sphinx/example-acoustics-2d/plots_5/_PlotIndex.html
#--------------------------
def setplot(plotdata):
#--------------------------
"""
Specify what is to be plotted at each frame.
Input: plotdata, an instance of pyclaw.plotters.data.ClawPlotData.
Output: a modified version of plotdata.
"""
from pyclaw.plotters import colormaps
plotdata.clearfigures() # clear any old figures,axes,items data
plotfigure = plotdata.new_plotfigure(name='scatter', figno=1)
# Set up for axes in this figure:
plotaxes = plotfigure.new_plotaxes()
plotaxes.xlimits = 'auto'
plotaxes.ylimits = 'auto'
plotaxes.title = 'Scatter plot'
# Set up for item on these axes: scatter of 2d data
plotitem = plotaxes.new_plotitem(plot_type='1d_from_2d_data')
def p_vs_r(current_data):
# Return radius of each grid cell and p value in the cell
from pylab import sqrt
x = current_data.x
y = current_data.y
r = sqrt(x**2 + y**2)
q = current_data.q
p = q[:,:,0]
return r,p
plotitem.map_2d_to_1d = p_vs_r
plotitem.plot_var = 0
plotitem.plotstyle = 'o'
plotitem.color = 'b'
plotitem.show = True # show on plot?
# Parameters used only when creating html and/or latex hardcopy
# e.g., via pyclaw.plotters.frametools.printframes:
plotdata.printfigs = True # print figures
plotdata.print_format = 'png' # file format
plotdata.print_framenos = 'all' # list of frames to print
plotdata.print_fignos = 'all' # list of figures to print
plotdata.html = True # create html files of plots?
plotdata.html_homelink = '../README.html' # pointer for top of index
plotdata.latex = True # create latex file of plots?
plotdata.latex_figsperline = 1 # layout of plots
plotdata.latex_framesperline = 2 # layout of plots
plotdata.latex_makepdf = True # also run pdflatex?
return plotdata