{
  "_id": "6abd6d3099f7aa8c6aa502c0",
  "Package": "ggtaichi",
  "Type": "Package",
  "Title": "Taichi-Diagram Visualization for Two Data Sources",
  "Version": "0.3.0",
  "Authors@R": "person(given = \"Youzhi\", family = \"Yu\", role = c(\"aut\", \"cre\"), email = \"yuyouzhi666@icloud.com\")",
  "Description": "A data visualization design that compares two (usually on\na par with each other) data sources on one grid of taichi\n(yin-yang) diagrams, where the two interlocking fish of every\nsymbol are filled by the two sources, while inheriting\n'ggplot2' features.",
  "License": "GPL (>= 3)",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "LazyData": "true",
  "URL": "https://pursuitofdatascience.github.io/ggtaichi/,\nhttps://github.com/PursuitOfDataScience/ggtaichi",
  "BugReports": "https://github.com/PursuitOfDataScience/ggtaichi/issues",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Repository": "https://pursuitofdatascience.r-universe.dev",
  "Date/Publication": "2026-09-30 18:31:51 UTC",
  "RemoteUrl": "https://github.com/pursuitofdatascience/ggtaichi",
  "RemoteRef": "HEAD",
  "RemoteSha": "beecf736d0ab6032281c576afe2b7a75fc60c477",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-30 19:46:00 UTC",
    "User": "root"
  },
  "Author": "Youzhi Yu [aut, cre]",
  "Maintainer": "Youzhi Yu <yuyouzhi666@icloud.com>",
  "_user": "pursuitofdatascience",
  "_type": "src",
  "_file": "ggtaichi_0.3.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/cac2caf3a0afff9e69f8abddaf2a5a95bef5e2b87c15b26936721f3a1e1c9dae",
  "_filesize": 3848382,
  "_sha256": "cac2caf3a0afff9e69f8abddaf2a5a95bef5e2b87c15b26936721f3a1e1c9dae",
  "_expires": "2027-01-08T20:12:29.000Z",
  "_created": "2026-09-30T19:46:00.000Z",
  "_published": "2026-09-30T20:12:31.944Z",
  "_jobs": [
    {
      "job": 110066881022,
      "time": 230,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11122481905"
    },
    {
      "job": 110066881085,
      "time": 204,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11121443042"
    },
    {
      "job": 110066881287,
      "time": 145,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11124075582"
    },
    {
      "job": 110066881222,
      "time": 192,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11122618717"
    },
    {
      "job": 110064974681,
      "time": 290,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11121642416"
    },
    {
      "job": 110066881000,
      "time": 128,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11121627824"
    },
    {
      "job": 110066881035,
      "time": 300,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11121588245"
    },
    {
      "job": 110066880992,
      "time": 169,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11122516439"
    },
    {
      "job": 110066881130,
      "time": 164,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11122871642"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/pursuitofdatascience/actions/runs/36767388924",
  "_status": "success",
  "_upstream": "https://github.com/pursuitofdatascience/ggtaichi",
  "_commit": {
    "id": "beecf736d0ab6032281c576afe2b7a75fc60c477",
    "author": "Youzhi Yu <yuyouzhi666@icloud.com>",
    "committer": "Youzhi Yu <yuyouzhi666@icloud.com>",
    "message": "Record the 0.3.0 CRAN submission\n\ndevtools::submit_cran() bookkeeping: version, timestamp and the SHA that\nwas submitted (2f2e8f5, tagged v0.3.0). CRAN's auto-check passed on\nr-devel-linux-x86_64-debian-gcc and r-devel-windows-x86_64.\n",
    "time": 1790793111
  },
  "_maintainer": {
    "name": "Youzhi Yu",
    "email": "yuyouzhi666@icloud.com",
    "login": "pursuitofdatascience",
    "description": "CUDA out of memory",
    "uuid": 54338793
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "farver",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.4.0",
      "role": "Imports"
    },
    {
      "package": "ggnewscale",
      "version": ">= 0.4.5",
      "role": "Imports"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "role": "Suggests"
    },
    {
      "package": "gganimate",
      "role": "Suggests"
    },
    {
      "package": "gifski",
      "role": "Suggests"
    },
    {
      "package": "ggiraph",
      "role": "Suggests"
    },
    {
      "package": "colorspace",
      "role": "Suggests"
    }
  ],
  "_owner": "pursuitofdatascience",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-25",
      "n": 6
    },
    {
      "week": "2026-27",
      "n": 5
    },
    {
      "week": "2026-28",
      "n": 2
    },
    {
      "week": "2026-34",
      "n": 1
    },
    {
      "week": "2026-35",
      "n": 1
    },
    {
      "week": "2026-36",
      "n": 7
    },
    {
      "week": "2026-39",
      "n": 5
    },
    {
      "week": "2026-40",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.2.0",
      "date": "2026-08-20"
    },
    {
      "name": "v0.3.0",
      "date": "2026-09-27"
    }
  ],
  "_topics": [
    "dataviz",
    "ggplot-extension",
    "ggplot2",
    "ggplot2-geom"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "pursuitofdatascience",
      "count": 30,
      "uuid": 54338793
    }
  ],
  "_userbio": {
    "uuid": 54338793,
    "type": "user",
    "name": "Y. Yu",
    "followers": 35,
    "description": "CUDA out of memory"
  },
  "_downloads": {
    "count": 309,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ggtaichi"
  },
  "_devurl": "https://github.com/pursuitofdatascience/ggtaichi",
  "_pkgdown": "https://pursuitofdatascience.github.io/ggtaichi/",
  "_searchresults": 16,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ggtaichi.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/pursuitofdatascience/ggtaichi",
  "_realowner": "pursuitofdatascience",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-06-24"
    },
    {
      "version": "0.2.0",
      "date": "2026-08-24"
    }
  ],
  "_exports": [
    "draw_key_taichi",
    "geom_taichi",
    "geom_taichi_diff",
    "geom_yang_fish",
    "geom_yin_fish",
    "GeomYangFish",
    "GeomYinFish",
    "remove_padding",
    "scale_taichi_yang_binned",
    "scale_taichi_yang_c",
    "scale_taichi_yang_d",
    "scale_taichi_yang_viridis_c",
    "scale_taichi_yang_viridis_d",
    "scale_taichi_yin_binned",
    "scale_taichi_yin_c",
    "scale_taichi_yin_d",
    "scale_taichi_yin_viridis_c",
    "scale_taichi_yin_viridis_d",
    "taichi_check_palette",
    "taichi_palette",
    "taichi_palette_pair",
    "taichi_summary",
    "theme_taichi"
  ],
  "_datasets": [
    {
      "name": "cafes_tg",
      "title": "Synthetic café orders: espresso vs. matcha",
      "object": "cafes_tg",
      "class": [
        "data.frame"
      ],
      "fields": [
        "week",
        "neighbourhood",
        "espresso",
        "matcha"
      ],
      "rows": 96,
      "table": true,
      "tojson": true
    },
    {
      "name": "pitts_emojis",
      "title": "Popular Emojis",
      "object": "pitts_emojis",
      "class": [
        "character"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "pitts_tg",
      "title": "Pittsburgh COVID-related Google & Twitter incidence rates",
      "object": "pitts_tg",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "msa",
        "week",
        "week_start",
        "category",
        "Twitter",
        "Google"
      ],
      "rows": 270,
      "table": true,
      "tojson": true
    },
    {
      "name": "states_tg",
      "title": "States' COVID-related Google & Twitter incidence rates",
      "object": "states_tg",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "state",
        "week",
        "week_start",
        "category",
        "Twitter",
        "Google"
      ],
      "rows": 1116,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "cafes_tg",
      "title": "Synthetic café orders: espresso vs. matcha",
      "topics": [
        "cafes_tg"
      ]
    },
    {
      "page": "draw_key_taichi",
      "title": "A taichi-shaped legend key",
      "topics": [
        "draw_key_taichi"
      ]
    },
    {
      "page": "geom_taichi",
      "title": "Taichi",
      "topics": [
        "geom_taichi"
      ]
    },
    {
      "page": "geom_taichi_diff",
      "title": "The difference between the two sources, as a heatmap",
      "topics": [
        "geom_taichi_diff"
      ]
    },
    {
      "page": "geom_yin_fish",
      "title": "The individual taichi fish layers",
      "topics": [
        "geom_yang_fish",
        "geom_yin_fish"
      ]
    },
    {
      "page": "pitts_emojis",
      "title": "Popular Emojis",
      "topics": [
        "pitts_emojis"
      ]
    },
    {
      "page": "pitts_tg",
      "title": "Pittsburgh COVID-related Google & Twitter incidence rates",
      "topics": [
        "pitts_tg"
      ]
    },
    {
      "page": "remove_padding",
      "title": "Remove ggplot2 default padding",
      "topics": [
        "remove_padding"
      ]
    },
    {
      "page": "scale_taichi",
      "title": "Fill scales for the taichi fish",
      "topics": [
        "scale_taichi",
        "scale_taichi_yang_binned",
        "scale_taichi_yang_c",
        "scale_taichi_yang_d",
        "scale_taichi_yang_viridis_c",
        "scale_taichi_yang_viridis_d",
        "scale_taichi_yin_binned",
        "scale_taichi_yin_c",
        "scale_taichi_yin_d",
        "scale_taichi_yin_viridis_c",
        "scale_taichi_yin_viridis_d"
      ]
    },
    {
      "page": "states_tg",
      "title": "States' COVID-related Google & Twitter incidence rates",
      "topics": [
        "states_tg"
      ]
    },
    {
      "page": "taichi_check_palette",
      "title": "Measure whether two fill ramps are a fair pair",
      "topics": [
        "taichi_check_palette"
      ]
    },
    {
      "page": "taichi_palette",
      "title": "Ready-made palette pairs",
      "topics": [
        "taichi_palette"
      ]
    },
    {
      "page": "taichi_palette_pair",
      "title": "Build a luminance-matched pair of sequential palettes",
      "topics": [
        "taichi_palette_pair"
      ]
    },
    {
      "page": "taichi_summary",
      "title": "Summarise the two sources cell by cell",
      "topics": [
        "taichi_summary"
      ]
    },
    {
      "page": "theme_taichi",
      "title": "Plot Themes",
      "topics": [
        "theme_taichi"
      ]
    }
  ],
  "_pkglogo": "https://github.com/pursuitofdatascience/ggtaichi/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/pursuitofdatascience/ggtaichi/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "farver",
    "ggnewscale",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "animations.Rmd",
      "filename": "animations.html",
      "title": "Animating taichi diagrams",
      "author": "Youzhi Yu University of Chicago",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why animate?",
        "How geom_taichi() composes with gganimate",
        "Animating over a third variable",
        "Keeping glyphs round",
        "Spin animation",
        "Export helpers"
      ],
      "created": "2026-06-29 22:22:13",
      "modified": "2026-09-27 19:05:49",
      "commits": 6
    },
    {
      "source": "ggtaichi.Rmd",
      "filename": "ggtaichi.html",
      "title": "Introduction to ggtaichi",
      "author": "Youzhi Yu University of Chicago",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why taichi?",
        "Reading a single symbol",
        "The example data",
        "A first taichi grid",
        "Fewer cells, bigger glyphs",
        "Which source should be yin?",
        "Customizing the color scales",
        "Removing the panel padding",
        "Comparing places with facets",
        "Theming",
        "The glyph's other channels",
        "Rotation",
        "Data-driven eyes",
        "Categorical fills",
        "Missing values",
        "Geom parameter routing",
        "Shared limits and a single legend",
        "The fish geoms are exported",
        "Faster rendering",
        "New in v0.3.0",
        "How much bigger? The explicit channel",
        "The same numbers, as a table and as a heatmap",
        "Palette pairing is a correctness problem",
        "Binned fills, for grids too dense to read",
        "Hovering for the exact values",
        "Following the theme",
        "When (not) to use taichi",
        "Acknowledgement"
      ],
      "created": "2026-06-18 15:52:26",
      "modified": "2026-09-24 08:52:27",
      "commits": 10
    }
  ],
  "_score": 5.107209969647869,
  "_indexed": true,
  "_nocasepkg": "ggtaichi",
  "_universes": [
    "pursuitofdatascience"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-09-30T19:48:49.000Z",
      "distro": "resolute",
      "commit": "beecf736d0ab6032281c576afe2b7a75fc60c477",
      "fileid": "https://r2.ropensci.org/3890933c842443220fb07f971df29d899aac3a25ffd7491a4e8b200e245a2603",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pursuitofdatascience/actions/runs/36767388924"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-09-30T19:48:26.000Z",
      "distro": "resolute",
      "commit": "beecf736d0ab6032281c576afe2b7a75fc60c477",
      "fileid": "https://r2.ropensci.org/0881207c9a3e9a573cc5ccbfd7c370675705da13d664f7ac9b608f3e8dadf9ae",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pursuitofdatascience/actions/runs/36767388924"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-09-30T20:11:03.000Z",
      "commit": "beecf736d0ab6032281c576afe2b7a75fc60c477",
      "fileid": "https://r2.ropensci.org/51555718d603132b5418db9c13f5b0440a18929a9fbc55640cd223c9a65662e4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pursuitofdatascience/actions/runs/36767388924"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-09-30T19:59:28.000Z",
      "commit": "beecf736d0ab6032281c576afe2b7a75fc60c477",
      "fileid": "https://r2.ropensci.org/76431b4ba64ff5ad4ab81ec58cc6be8ee7831b5d744a442328e25c944815a0a0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pursuitofdatascience/actions/runs/36767388924"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.0",
      "date": "2026-09-30T19:48:29.000Z",
      "commit": "beecf736d0ab6032281c576afe2b7a75fc60c477",
      "fileid": "https://r2.ropensci.org/dd720e2888aac14d1aa88f53a8fe7e0010857dd8e97fdb7729c46ea8a4f06ef4",
      "status": "success",
      "buildurl": "https://github.com/r-universe/pursuitofdatascience/actions/runs/36767388924"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-09-30T19:49:33.000Z",
      "commit": "beecf736d0ab6032281c576afe2b7a75fc60c477",
      "fileid": "https://r2.ropensci.org/15992b38ece0653b000505eb11bbcb615c23f005798e0d3b57ef6a1e7ac2cd81",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pursuitofdatascience/actions/runs/36767388924"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-09-30T19:47:28.000Z",
      "commit": "beecf736d0ab6032281c576afe2b7a75fc60c477",
      "fileid": "https://r2.ropensci.org/999fc8d6de22e11b27b4888c1dcd4e40fc28c90d07badcc4f62eb639001c61be",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pursuitofdatascience/actions/runs/36767388924"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-09-30T19:47:20.000Z",
      "commit": "beecf736d0ab6032281c576afe2b7a75fc60c477",
      "fileid": "https://r2.ropensci.org/821cdb8663a371f438c441fdd7c25e40edfa8753b023b0650f5bb92f63a8dc62",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pursuitofdatascience/actions/runs/36767388924"
    }
  ]
}