| Andrew Cooke | Contents | Latest | RSS | Twitter | Previous | Next

C[omp]ute

Welcome to my blog, which was once a mailing list of the same name and is still generated by mail. Please reply via the "comment" links.

Always interested in offers/projects/new ideas. Eclectic experience in fields like: numerical computing; Python web; Java enterprise; functional languages; GPGPU; SQL databases; etc. Based in Santiago, Chile; telecommute worldwide. CV; email.

Personal Projects

Lepl parser for Python.

Colorless Green.

Photography around Santiago.

SVG experiment.

Professional Portfolio

Calibration of seismometers.

Data access via web services.

Cache rewrite.

Extending OpenSSH.

C-ORM: docs, API.

Last 100 entries

RAND on fighting online anarchy (2001); Now Is Cat Soft LLC's Chance To Save Up To 32% On Mail; NSA Hacked; Call Center Services for Cat Soft LLC; Very Good LRB Article on Brexit; Nussbaum on Anger; Credit Card Processing for Cat Soft LLC; Discover new movies on demand in our online cinema; Tasting; Credit Card Processing for Cat Soft LLC; Apple + Kiwi Jam; Hit Me; Increase Efficiency with GPS Vehicle Tracking for Cat Soft LLC; Sudoku - CSP + Chaos; Recycling Electronics In Santiago; Vector Displays in OpenGL; Call Center Services for Cat Soft LLC; And Anti-Aliased; OpenGL - Render via Intermediate Texture; And Garmin Connect; Using Garmin Forerunner 230 With Linux; Payroll Service Quotes for Cat Soft LLC; (Beating Dead Horse) StackOverflow; Current State of Justice in China; Now Is Cat Soft LLC's Chance To Save Up To 32% On Mail; Axiom of Determinacy; Ewww; Fee Chaos Book; Course on Differential Geometry; Increase Efficiency with GPS Vehicle Tracking for Cat Soft LLC; Okay, but...; Sparse Matrices, Deep Learning; Sounds Bad; Applebaum Rape; Tomato Chutney v4; Have to add...; Culturally Liberal and Nothing More; Weird Finite / Infinite Result; Your diamond is a beaten up mess; Maths Books; Good Bike Route from Providencia / Las Condes to Panul\; Iain Pears (Author of Complex Plots); Plum Jam; Excellent; More Recently; For a moment I forgot StackOverflow sucked; A Few Weeks On...; Chilean Book Recommendations; How To Write Shared Libraries; Jenny Erpenbeck (Author); Dijkstra, Coins, Tables; Python libraries error on OpenSuse; Deserving Trump; And Smugness; McCloskey Economics Trilogy; cmocka - Mocks for C; Concept Creep (Americans); Futhark - OpenCL Language; Moved / Gone; Fan and USB issues; Burgers in Santiago; The Origin of Icosahedral Symmetry in Viruses; autoenum on PyPI; Jars Explains; Tomato Chutney v3; REST; US Elections and Gender: 24 Point Swing; PPPoE on OpenSuse Leap 42.1; SuperMicro X10SDV-TLN4F/F with Opensuse Leap 42.1; Big Data AI Could Be Very Bad Indeed....; Cornering; Postcapitalism (Paul Mason); Black Science Fiction; Git is not a CDN; Mining of Massive Data Sets; Rachel Kaadzi Ghansah; How great republics meet their end; Raspberry, Strawberry and Banana Jam; Interesting Dead Areas of Math; Later Taste; For Sale; Death By Bean; It's Good!; Tomato Chutney v2; Time ATAC MX 2 Pedals - First Impressions; Online Chilean Crafts; Intellectual Variety; Taste + Texture; Time Invariance and Gauge Symmetry; Jodorowsky; Tomato Chutney; Analysis of Support for Trump; Indian SF; TP-Link TL-WR841N DNS TCP Bug; TP-Link TL-WR841N as Wireless Bridge; Sending Email On Time; Maybe run a command; Sterile Neutrinos; Strawberry and Banana Jam; The Best Of All Possible Worlds; Kenzaburo Oe: The Changeling

© 2006-2015 Andrew Cooke (site) / post authors (content).

Plotting Data from Postgres

From: "andrew cooke" <andrew@...>

Date: Sun, 31 Aug 2008 13:16:04 -0400 (CLT)

If PL/R looks too complicated -
http://www.varlena.com/GeneralBits/Tidbits/bernier/art_66/graphingWithR.html
- then from google hits it looks like gnuplot is the best (ie most
popular) option for plotting data in Postgres.

In postgres:
\t (do this only once - it toggles)
\o plot.txt
select count(*), distance from nearest_6_100 group by distance order by
distance;
\o

In gnuplot:
set term dumb 70 24
plot 'plot.txt'

  120 ++--------A---------+----------+---------+---------+--------++
      +         +         +          +         + 'plot.txt'   A    +
      |         AA                                                 |
  100 ++      AAAAA                                               ++
      |       AAA AA                                               |
      |        AAA A A                                             |
      |       A  AAA                                               |
   80 ++      AA AAAA                                             ++
      |       A A AAA                                              |
      |     AAA     AA                                             |
   60 ++    AAA     A                                             ++
      |    AAAA      A                                             |
      |    AAA      A A                                            |
   40 ++   AA        AAA                                          ++
      |    A          AA                                           |
      |   AA          AAA                                          |
      |   AA           AA                                          |
   20 ++ AAA           AAA                                        ++
      | AAA              AAA A                                     |
      +AAA      +        AAAAAA  AA  +     A   AAAAAAAAAA+A        +
    0 AAA-------+---------+-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-----++
      0        100       200        300       400       500       600


Andrew

With Separator

From: "andrew cooke" <andrew@...>

Date: Sun, 31 Aug 2008 13:28:17 -0400 (CLT)

Ooops.  That plotted only the first column.

What I wanted was...

In postgres:
\t
\o plot.txt
select distance, count(*) from nearest_6_100 group by distance order by
distance; (note swapped order)
\o

In gnuplot:
set datafile separator '|'
set log x
set xtics (1000,2000,3000,5000,10000)
plot [1000:10000] 'plot.txt'


  120 ++----------------A----------+-------------+----------------++
      +                 +          +             'plot.txt'   A    +
      |                 A                                          |
  100 ++                A                                         ++
      |                 A                                          |
      |                 A                                          |
      |                 AA                                         |
   80 ++                AA                                        ++
      |                 AA                                         |
      |                 AA                                         |
   60 ++               AAA                                        ++
      |                AAA                                         |
      |                AAA                                         |
   40 ++               AAA                                        ++
      |                A A                                         |
      |                A A                                         |
      |                A A                                         |
   20 ++               A A                                        ++
      |                A AA                                        |
      +                A+AA        + A          A+                 +
    0 ++--------------AA+-A--------+AAA---AA-AAAAA----------------++
     1000              2000       3000          5000             10000

(data have changed since last post).

Andrew

Comment on this post