How to Use Anubisplot May 20, 2016 Version 1.0 May 20, 2016 Copyright (c) 2016 Stuart K. Wier Preparation To install and run anubisplot, first verify your system requirements, and download the anubisplot.py file, as described in http://www.westernexplorers.us/GNSSplotters/Anubisplot_Documentation.txt (this file). You need Python, and the Python libraries numpy version 1.5 and matplotlib version 1.3. Anubisplot plots data from *xtr files created by Anubis, http://www.pecny.cz/gop/index.php/gnss/sw/anubis. As supplied anubisplot is an interactive program, that makes one plot image in a window on your screen. For automatic scripting of anubisplot image file generation, to automatically make and save the plot image as a PNG file, do these code changes in this anubisplot.py file: 1. Uncomment the line # mptl.use('Agg') above, i.e. remove the # , preserving the indentation level 2. Comment out the line plt.show() i.e. start the line with #, preserving the indentation level 3. Uncomment the line # plt.savefig(filename) ; i.e. remove the # , preserving the indentation level Download the anubisplot.py from http://www.westernexplorers.us/GNSSplotters/anubisplot.py . Anubisplot Commands Anubisplot uses command line commands, with data file names and command "options." Spaces " " are not allowed inside options. Option order should not matter. Each run of anubisplot.py in interactive mode makes one plot on your screen. To stop the program, click on the 'x' in the upper right corner of the window which pops up. Examples of anubisplot commands: To run anubisplot.py, you use the command anubisplot.py in the working directory where that file is, or use ./anubisplot.py if that directory is not in your Linux PATH. These examples simply show 'anubisplot.py' in commands to run anubisplot, not ./anubisplot.py. Entering the single command anubisplot.py shows a help message like this file. To make skyplots (polar plots): anubisplot.py +skyplot GOPE150010.xtr where GOPE150010.xtr is a sample Anubis .xtr file name. This creates a skyplot of tracks of SVs. Use typically also option +tcl=n where n is how many lines (SVs) to plot on the graph. To make azimuth-elevation plots (azimuth on x axis; elevation on y axis): anubisplot.py +azelplot GOPE150010.xtr This shows an azimuth-elevation plot of tracks of SVs. To make plots with time of day on the x axis and elevation on the y axis anubisplot.py +timeelplot GOPE150010.xtr Note the ee in timeelplot. Options may added to the command, for example using the option -R means do not plot any GLONASS SVs. anubisplot.py +skyplot GOPE150010.xtr -R This makes a skyplot of tracks of SVs, but with no GLONASS SVs shown. Likewise use -G for no GPS SVs, -E for no Galileo, -J for no QZSS, -C for no Beidou, and -S for no SBAS. To save an image file of the display, click on the "Save the figure" button on the bottom of the window which pops up. To change the plot image file size (pixels) use the options +pw and +pd described next. SVs are selected to plot from the data files, in the order the SVs appear in the data file. If you choose to plot 10 tracks and the first 5 are GPS and the next five are GLONASS in the file, those are the ones plotted, unless options change SV selection. More choices: How many lines plotted: +tcl=n n, an integer, is the maximum number of how many tracks to show (lines in plot). Default is 6. How big are the markers or symbols: +msize=f.f f.f is a float number (or integer) denoting point marker size, for line width or thickness. Default is 2.5. -tracklabels do not show the SV id (like G12) on each track (line on plot). Default is to show the SV labels. +legend to show a legend of colors identifying each SV next to the figure. Default is no legend. This is for plots where each SV data has one color, not for parameter plots. A legend shrinks the plot from right to left to make room for the legend in the image size. In many plots the curves are labeled and the legend is not needed. Default is the legend is not shown. To set picture size and pixel density: +pw=f.f f.f, a float number, sets the width of plot in centimeters. Default value is 20.0 cm. +pd=nn nn, an integer, is the pixel density, how many pixels per centimeter. Default is 50. (* 2.54 is "dots per inch") For illustrations to print later, you can adjust the quality of the plot's image file by changing pw and/or pd. For example: anubisplot.py +skyplot +tcl=8 GOPE150010.xtr +pw=25.0 +pd=80 To select by constellation and by SV number: +GNN, +GNN-MM, +RNN, +RNN-MM, +J01, etc. Select SVs to plot by constellation and a single number or number range. +G12 to plot only data from GPS G12; likewise +R20 for GLONASS; +J01 for QZSS +G12-20 to plot only data from GPS SVs included in the list from G12 through G20; likewise +R20-24 for GLONASS from R20 through R24 +G12,23,24,25 to plot only data from G12, G23, G24 and G25; likewise +R15,20,22 to plot these three GLONASS SVs With the +G, +R, etc. options you may to also include a +tcl=N option. Example: anubisplot.py +skyplot GOPE150010.xtr +R15,20,22,23,25 +G12,23,24,25 +tcl=9 +color=orange sets this one color for all tracks (lines in plot). Use standard HTML color names. Has no effect on plot lines colored by parameter values as described below. +minHour=8.0, +maxHour=16.5 You can limit the time range shown in time plots with options +minHour, +maxHour: anubisplot.py +timeelplot p2301220.azi p2301220.ele p2301220.m12 +G22 +minHour=8 +maxHour=16 To Color Tracks by Parameter Value To make plots like the above, and also color the SV tracks by data values, including signal to noise ratios, use a command option of the parameter symbol in the Anubis .xtr file, such as +S1C for S/N data, and +M1C for multipath: anubisplot.py +skyplot GOPE150010.xtr +S1C anubisplot.py +timeelplot GOPE150010.xtr +M1C anubisplot.py +axelplot GOPE150010.xtr +S1Y Color ranges used depend on the parameter type, each of which has a preset range of values, to enable equal comparion of several plots, and to not stretch the color scale to cover a few extreme high and low values. The default limits for colors of values are: signal to noise: 20.0 to 60.0 "M" values: 0.0 to 80.0 Time-Parameter Plots. To make plots with time of day on the x axis and the parameter on the y axis. Not colored. anubisplot.py +timeparmplot GOPE150010.xtr +G23 +M1X Usually this is done with data from one SV, with an option like +G23. You must includew the parameter option like +M1X. Band Plot Another colored plot is the Band Plot. To make GNSS band plots, with a horizontal line for each SV, versus time, use the plot type option +bandplot: anubisplot.py +bandplot GOPE150010.xtr +M1X You can change the max and min parm values for the colors with either or both of the options +colorMax and +colorMin, for example anubisplot.py +bandplot GOPE150010.xtr +colorMax=50 +colorMin=10 The default color map is the Python matplotlib's "hsv." By experience this is the most distinct color. You can change the Python code to change the color map used to any other matplotlib color map name. Change the color map name in the line cmap=mptl.cm.hsv. You can limit the time range shown with options +minHour, +maxHour: anubisplot.py +timeparmplot GOPE150010.xtr +mp +G22 +minHour=8 +maxHour=16 Visibility Plot Bandplots without a 3rd (parameter values) file make a "Visibility" plot: anubisplot.py +bandplot GOPE150010.xtr Automatic colors If you do not like the automatically-generated colors of markers, you can change the numerical value in a line with the comment " alter colors". For example, the value 1.75 in color=cm.gist_ncar(1.75*svPRNIndex/numberColors) ) # alter colors Which colors will be made are easier to determine by experiment than by prior coding in this case. Spaces " " are not allowed in options. Option order should not matter. Copyright (C) 2016 Stuart K. Wier