{
  "_id": "6a1973b9acfb0bcc41defb7d",
  "Package": "productplots",
  "Title": "Product Plots for R",
  "Description": "Framework for visualising tables of counts, proportions\nand probabilities. The framework is called product plots,\nalluding to the computation of area as a product of height and\nwidth, and the statistical concept of generating a joint\ndistribution from the product of conditional and marginal\ndistributions. The framework, with extensions, is sufficient to\nencompass over 20 visualisations previously described in fields\nof statistical graphics and 'infovis', including bar charts,\nmosaic plots, 'treemaps', equal area plots and fluctuation\ndiagrams.",
  "Version": "0.1.2",
  "Authors@R": "c(\nperson(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", c(\"aut\", \"cre\")),\nperson(\"Heike\", \"Hofmann\", , \"heike.hofmann@gmail.com\", role = \"aut\")\n)",
  "License": "GPL-2",
  "LazyData": "true",
  "RoxygenNote": "7.3.3",
  "Encoding": "UTF-8",
  "URL": "https://github.com/hadley/productplots",
  "BugReports": "https://github.com/hadley/productplots/issues",
  "Repository": "https://hadley.r-universe.dev",
  "Date/Publication": "2025-10-27 20:50:51 UTC",
  "RemoteUrl": "https://github.com/hadley/productplots",
  "RemoteRef": "HEAD",
  "RemoteSha": "e30b611c3b0e045867a5b5af7481a49b53c33845",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-29 09:33:46 UTC",
    "User": "root"
  },
  "Author": "Hadley Wickham [aut, cre],\nHeike Hofmann [aut]",
  "Maintainer": "Hadley Wickham <hadley@posit.co>",
  "MD5sum": "516970263d9aac296268f4cd25f14f81",
  "_user": "hadley",
  "_type": "src",
  "_file": "productplots_0.1.2.tar.gz",
  "_fileid": "e1810c84b22d63cd59065b18c9d4e56340896351646bcecd84ec988ac4bd3431",
  "_filesize": 335343,
  "_sha256": "e1810c84b22d63cd59065b18c9d4e56340896351646bcecd84ec988ac4bd3431",
  "_created": "2026-05-29T09:33:46.000Z",
  "_published": "2026-05-29T11:08:41.266Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78475346910,
      "time": 134,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7287654987"
    },
    {
      "job": 78475346830,
      "time": 130,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287653973"
    },
    {
      "job": 78475346894,
      "time": 128,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7289244564"
    },
    {
      "job": 78475346861,
      "time": 111,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7289193785"
    },
    {
      "job": 78474938151,
      "time": 159,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287614050"
    },
    {
      "job": 78475346831,
      "time": 97,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287644187"
    },
    {
      "job": 78475346958,
      "time": 80,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7287639128"
    },
    {
      "job": 78475346882,
      "time": 92,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7287643027"
    },
    {
      "job": 78475346866,
      "time": 86,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287640551"
    }
  ],
  "_buildurl": "https://github.com/r-universe/hadley/actions/runs/26629616820",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/hadley/productplots",
  "_commit": {
    "id": "e30b611c3b0e045867a5b5af7481a49b53c33845",
    "author": "Hadley Wickham <h.wickham@gmail.com>",
    "committer": "Hadley Wickham <h.wickham@gmail.com>",
    "message": "Ignore `CRAN-SUBMISSION`\n",
    "time": 1761598251
  },
  "_maintainer": {
    "name": "Hadley Wickham",
    "email": "hadley@posit.co",
    "login": "hadley",
    "bluesky": "@hadley.nz",
    "description": "Chief Scientist at @posit-pbc",
    "uuid": 4196
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "plyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "reshape2",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    }
  ],
  "_owner": "hadley",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-40",
      "n": 2
    },
    {
      "week": "2025-44",
      "n": 4
    }
  ],
  "_tags": [
    {
      "name": "v0.1.2",
      "date": "2025-10-27"
    }
  ],
  "_stars": 30,
  "_contributors": [
    {
      "user": "hadley",
      "count": 114,
      "uuid": 4196
    },
    {
      "user": "heike",
      "count": 8,
      "uuid": 92882
    },
    {
      "user": "yihui",
      "count": 1,
      "uuid": 163582
    }
  ],
  "_userbio": {
    "uuid": 4196,
    "type": "user",
    "name": "Hadley Wickham",
    "description": "Chief Scientist at @posit-pbc"
  },
  "_downloads": {
    "count": 1941,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/productplots"
  },
  "_devurl": "https://github.com/hadley/productplots",
  "_searchresults": 76,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/productplots.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/hadley/productplots",
  "_realowner": "hadley",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1",
      "date": "2011-07-23"
    },
    {
      "version": "0.1.1",
      "date": "2016-07-02"
    },
    {
      "version": "0.1.2",
      "date": "2025-10-27"
    }
  ],
  "_exports": [
    "col_labels",
    "colour_level",
    "colour_weight",
    "ddecker",
    "find_col_level",
    "find_row_level",
    "fluct",
    "flucts",
    "hbar",
    "hspine",
    "mosaic",
    "nested",
    "parse_product_formula",
    "prodcalc",
    "prodplot",
    "row_labels",
    "scale_x_product",
    "scale_y_product",
    "spine",
    "stacked",
    "tile",
    "vbar",
    "vspine"
  ],
  "_datasets": [
    {
      "name": "happy",
      "title": "Data related to happiness from the general social survey.",
      "object": "happy",
      "class": [
        "data.frame"
      ],
      "fields": [
        "id",
        "happy",
        "year",
        "age",
        "sex",
        "marital",
        "degree",
        "finrela",
        "health",
        "wtssall"
      ],
      "rows": 51020,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "ddecker",
      "title": "Template for a double decker plot. A double decker plot is composed of a sequence of spines in the same direction, with the final spine in the opposite direction.",
      "topics": [
        "ddecker"
      ]
    },
    {
      "page": "find_col_level",
      "title": "Find the first level which has columns.",
      "topics": [
        "find_col_level"
      ]
    },
    {
      "page": "find_row_level",
      "title": "Find the first level which has rows.",
      "topics": [
        "find_row_level"
      ]
    },
    {
      "page": "fluct",
      "title": "Fluctation partitioning.",
      "topics": [
        "fluct"
      ]
    },
    {
      "page": "flucts",
      "title": "Template for a fluctuation diagram.",
      "topics": [
        "flucts"
      ]
    },
    {
      "page": "happy",
      "title": "Data related to happiness from the general social survey.",
      "topics": [
        "happy"
      ]
    },
    {
      "page": "hbar",
      "title": "Horizontal bar partition: width constant, height varies.",
      "topics": [
        "hbar"
      ]
    },
    {
      "page": "hspine",
      "title": "Horizontal spine partition: height constant, width varies.",
      "topics": [
        "hspine"
      ]
    },
    {
      "page": "mosaic",
      "title": "Template for a mosaic plot. A mosaic plot is composed of spines in alternating directions.",
      "topics": [
        "mosaic"
      ]
    },
    {
      "page": "nested",
      "title": "Template for a nested barchart. A nested bar is just a sequence of bars in the same direction.",
      "topics": [
        "nested"
      ]
    },
    {
      "page": "prodplot",
      "title": "Create a product plot",
      "topics": [
        "prodplot"
      ]
    },
    {
      "page": "scale_x_product",
      "title": "Generate an x-scale for ggplot2 graphics.",
      "topics": [
        "scale_x_product"
      ]
    },
    {
      "page": "scale_y_product",
      "title": "Generate a y-scale for ggplot2 graphics.",
      "topics": [
        "scale_y_product"
      ]
    },
    {
      "page": "spine",
      "title": "Spine partition: divide longest dimesion.",
      "topics": [
        "spine"
      ]
    },
    {
      "page": "stacked",
      "title": "Template for a stacked bar chart. A stacked bar chart starts with a bar and then continues with spines in the opposite direction.",
      "topics": [
        "stacked"
      ]
    },
    {
      "page": "tile",
      "title": "Tree map partitioning.",
      "topics": [
        "tile"
      ]
    },
    {
      "page": "vbar",
      "title": "Vertical bar partition: height constant, width varies.",
      "topics": [
        "vbar"
      ]
    },
    {
      "page": "vspine",
      "title": "Vertical spine partition: width constant, height varies.",
      "topics": [
        "vspine"
      ]
    }
  ],
  "_readme": "https://github.com/hadley/productplots/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "plyr",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "S7",
    "scales",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_score": 6.424111632772461,
  "_indexed": true,
  "_nocasepkg": "productplots",
  "_universes": [
    "hadley"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-29T09:35:49.000Z",
      "distro": "noble",
      "commit": "e30b611c3b0e045867a5b5af7481a49b53c33845",
      "fileid": "72783e0b840405476e8bc785113edfbf89140cae1fc36b160fdcc8bdfa5b86ae",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hadley/actions/runs/26629616820"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-29T09:35:47.000Z",
      "distro": "noble",
      "commit": "e30b611c3b0e045867a5b5af7481a49b53c33845",
      "fileid": "e7ba037abbe90dc2ce1b24ae46fbfc792a630a5b88d47ac3c4332a6ce5e98139",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hadley/actions/runs/26629616820"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-29T11:07:55.000Z",
      "commit": "e30b611c3b0e045867a5b5af7481a49b53c33845",
      "fileid": "43169f0afc67be2fe922c71f56b34d4951d2cf4231dea6c0b9e230b674df3102",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hadley/actions/runs/26629616820"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-29T11:04:58.000Z",
      "commit": "e30b611c3b0e045867a5b5af7481a49b53c33845",
      "fileid": "cde7f75d841417f080f0b2522f0b3e232cd415c33ca330f2e51e893f93e9a956",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hadley/actions/runs/26629616820"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-05-29T09:35:38.000Z",
      "commit": "e30b611c3b0e045867a5b5af7481a49b53c33845",
      "fileid": "ea530f78a697db6349ea446e37e0947e59a0d9b5115b199c5367320235d316f1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/hadley/actions/runs/26629616820"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-29T09:34:52.000Z",
      "commit": "e30b611c3b0e045867a5b5af7481a49b53c33845",
      "fileid": "c8bc273497d9c3077fcf4333a5f4eab8611a273d6d7723ec2e8a8f801d89ee11",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hadley/actions/runs/26629616820"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-29T09:35:05.000Z",
      "commit": "e30b611c3b0e045867a5b5af7481a49b53c33845",
      "fileid": "cb816d86324850d37d43c4da2d367c38649138ce103fb0df019a6c3f59b4e632",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hadley/actions/runs/26629616820"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-29T09:34:58.000Z",
      "commit": "e30b611c3b0e045867a5b5af7481a49b53c33845",
      "fileid": "214e518cc736d51feb8eed8a8891647e3a2ddb100d5efbc0764a224a5934440d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hadley/actions/runs/26629616820"
    }
  ]
}