GPSPLOT(1)
GPSPLOT(1) π the GPSD Documentation girlies presentβ¦
okay bestie, welcome to gpsplot, a tool to dynamically dump plot data from gpsd β¨ (yes that's the actual NAME line, i'm not being cute, that's just what it is π )
β¨ SYNOPSIS β¨
gpsplot [OPTIONS] [server[:port[:device]]]
gpsplot -h
gpsplot -V
like. three whole ways to summon her. iconic. π
πΈ DESCRIPTION πΈ
gpsplot is a tool that connects to gpsd and dynamically plots data to your screen. plot types include scatterplots and stripcharts. that's it, that's the vibe π¦
so for the plotting to actually happen, you need the Python Matplotlib module β and like, all of its many dependencies β installed on the display host. here's the cute part tho: if the display host isn't the same machine as the gpsd host, then Matplotlib does NOT need to be on the gpsd host. split the load, share the work, main character energy fr π
gpsplot does not require root privileges, but yeah you can run it as root if you want. > heads up tho: running under sudo will cause some loss of functionality π so like, don't unless you have to.
and the bestie behaviour award goes to: it can be run concurrently with other tools connecting to the local gpsd without causing problems. she shares the aux cord. she's a good friend. π«Ά
β¨ OPTIONS β¨
-?,-h,--helpβ prints a usage message and dips out. classic.-b BACKEND,--backend BACKENDβ set the Matplotlib interactive backend to BACKEND.-B,--backendsβ print all the available Matplotlib interactive backends, then exit. ngl the Matplotlib backends vary wildly in how fast they run and how good they look, so likeβ¦ try them all and see for yourself bestie π₯-d LVL,--debug LVLβ set debug level to LVL.--device DEVICEβ the DEVICE on the gpsd to connect to. defaults to all.--exitβ exit after--count,--file, or--filecompletes.--fields FIELDSβ the code for the fields to plot. FIELDS is one of:llh(lat/lon/altHAE) orllm(lat/lon/altMSL).--file FILEβ read JSON from FILE instead of from gpsd..--host HOSTβ connect to the gpsd on HOST (server). defaults tolocalhost.--image IMAGE.EXTβ save the plot as IMAGE.EXT. theEXTdecides the image type (.jpg,.png, etc.). whichEXTvalues are supported is installation dependent π-n COUNT,--count COUNTβ stop after COUNT plot messages.0to disable. default0.--plottype PLOTTYPEβ the type of plot to make. PLOTTYPE is one of'scatterplot'or'stripchart'.-p PORT,--port PORTβ use PORT to connect to gpsd. defaults to2947.-V,--versionβ print the program version and exit.-x SECONDS,--seconds SECONDSβ stop after SECONDS.0to disable. default0.
π¦ ARGUMENTS π¦
by default, clients collect data from the local gpsd daemon running on localhost, using the default GPSD port 2947. the optional argument to any client can override this behaviour:
[server[:port[:device]]]
for further explanation and examples, go read the ARGUMENTS section in the gps(1) man page. she's got the lore πβ¨
π ENVIRONMENT π
you can set the environment variable MPLBACKEND to whatever Matplotlib backend you're feeling that day. this saves you from typing -b BACKEND every single time you run gpsplot. literally a time-saver, we love efficiency π
π EXAMPLES π
generate a scatterplot of Latitude, Longitude and the Altitude above Mean Sea Level (altMSL). stop after 60 seconds:
gpsplot --seconds 60 --fields llm
generate a scatterplot of Latitude, Longitude and the Height Above Ellipsoid (altHAE). stop after 60 fixes:
gpsplot --count 60 --plottype stripchart
use the WXAgg backend to repeat the last experiment and see if it's faster or looks better to you:
export MPLBACKEND=WX
gpsplot --count 60 --plottype stripchart
generate a scatterplot locally of Latitude, Longitude and altMSL from a remote gpsd instance at host "example.com" and the remote device "/dev/ttyS0". collect 60 fixes, stop, save the plot as "save.jpg, and exit:
gpsplot --count 60 --exit --fields llm --image save.jpg example.com::/dev/ttyS0
β RETURN VALUES β
0β on success π₯³1β on failure π
π SEE ALSO π
gpsd(8), gpsprof(1), gpsfake(1).
πΈ RESOURCES πΈ
project web site: https://gpsd.io/
π COPYING π
this file is Copyright 2020 by the GPSD project SPDX-License-Identifier: BSD-2-clause
π AUTHOR π
Gary E. Miller
and that's the whole page bestie!! this was GPSD 3.27.5, dated 2025-11-04, brought to you by the gpsplot manual girlies. mwah π stay plotted, stay iconic β¨π¦
π¦ where this page comes from
- arch rolling: gpsd 3.27.5-1 Β· BSD
- fedora 44: gpsd-clients 1:3.27.5-3.fc44 Β· BSD-2-Clause
- fedora 44: gpsd-clients 1:3.27.5-5.fc44 Β· BSD-2-Clause
- nixos 26.05: gpsd 3.27.5
- nixpkgs unstable: gpsd 3.27.5
- opensuse-leap 16.0: gpsd-clients 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-clients 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-clients 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-clients 3.27.5-160000.1.1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms