From 0f9e3af031d66722ce5a676530872be2c6bce19c Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Wed, 20 Sep 2023 09:26:46 -0700 Subject: [PATCH 1/5] 0.6.11 (#1854) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * draft changelog * tip * edits * format * edits, document tip **format** * delimiter = character * document tip option as an options object * edits * 0.6.11 * Update CHANGELOG --------- Co-authored-by: Philippe Rivière --- CHANGELOG.md | 56 +++++++++++++++++++++++++++++++++++++++ docs/features/marks.md | 2 +- docs/features/scales.md | 2 +- docs/marks/tip.md | 32 +++++++++++++++++++++- docs/transforms/tree.md | 2 +- img/temporal-ordinal.png | Bin 0 -> 12171 bytes img/tip-custom.png | Bin 0 -> 86211 bytes package.json | 2 +- src/channel.d.ts | 3 ++- 9 files changed, 93 insertions(+), 6 deletions(-) create mode 100644 img/temporal-ordinal.png create mode 100644 img/tip-custom.png diff --git a/CHANGELOG.md b/CHANGELOG.md index e7de2c7826..9b0b90fd94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,62 @@ Year: **Current (2023)** · [2022](./CHANGELOG-2022.md) · [2021](./CHANGELOG-2021.md) +## 0.6.11 + +[Released September 20, 2023.](https://github.com/observablehq/plot/releases/tag/v0.6.11) + +The **tip** mark option can now pass options to the derived [tip mark](https://observablehq.com/plot/marks/tip); the options object can also specify the **pointer** option to control the derived tip’s pointer mode (_x_, _y_, or _xy_). The new **format** tip mark option enables greater control over order and formatting of channels. + +A tip with a custom order and formatting of the channel values. + +```js +Plot.dot(olympians, { + x: "weight", + y: "height", + stroke: "sex", + channels: { + name: "name", + nationality: "nationality", + sport: "sport" + }, + tip: { + format: { + name: true, // show name first + y: (d) => `${d}m`, // units in meters + x: (d) => `${d}kg`, // units in kilograms + stroke: false // suppress stroke channel + } + } +}).plot() +``` + +Axes for ordinal scales now generalize the scale’s temporal or quantitative **interval** if any, resulting in more readable ticks. For instance, the bar chart below of monthly values now sports multi-line tick labels. + +A temporal bar chart with a multi-line axis. + +```js +Plot.plot({ + x: {interval: "month"}, + marks: [ + Plot.barY(aapl, Plot.groupX({y: "median"}, {x: "Date", y: "Close"})) + ] +}) +``` + +Plot now recognizes CSS Color Module [Level 4](https://www.w3.org/TR/css-color-4/) and [Level 5](https://www.w3.org/TR/css-color-5/) syntax as literal colors, making it easier to use modern color syntax such as [oklab()](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklab), [color-mix()](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color-mix), and alternative color spaces such as [display-p3](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color). + +A channel value can now be given a label by specifying it as a {value, label} object; this may affect the label used in axes, legends, and tips. + +This release also includes numerous bug fixes: +- exposed ordinal domains are now correctly deduplicated; +- the default symbol set is now inferred correctly when **fill** is *currentColor*; +- the **fontVariant** axis option now applies to the axis label in addition to ticks; +- the tip mark is no longer briefly visible before asynchronous rendering; +- the bin transform no longer generates undefined colors for empty bins; +- the bin transform now uses the **interval** option to reduce *x1* & *x2* (and *y1* & *y2*); +- the stack transform now correctly handles the *exclude* **facet** option; +- the tree transform now correctly handles escaping with the **delimiter** option. + ## 0.6.10 [Released August 14, 2023.](https://github.com/observablehq/plot/releases/tag/v0.6.10) diff --git a/docs/features/marks.md b/docs/features/marks.md index 927fcbd3f8..99f805f0a6 100644 --- a/docs/features/marks.md +++ b/docs/features/marks.md @@ -490,7 +490,7 @@ All marks support the following style options: If the **clip** option is *frame* (or equivalently true), the mark is clipped to the frame’s dimensions; if the **clip** option is null (or equivalently false), the mark is not clipped. If the **clip** option is *sphere*, then a [geographic projection](./projections.md) is required and the mark will be clipped to the projected sphere (_e.g._, the front hemisphere when using the orthographic projection). -If the **tip** option is true, a [tip mark](../marks/tip.md) with the [pointer transform](../interactions/pointer.md) will be derived from this mark and placed atop all other marks, offering details on demand. If the **tip** option is set to *x*, *y*, or *xy*, [pointerX](../interactions/pointer.md#pointerX), [pointerY](../interactions/pointer.md#pointerY), or [pointer](../interactions/pointer.md#pointer) will be used, respectively; otherwise the pointing mode will be chosen automatically. (If the **tip** mark option is truthy, the **title** channel is no longer applied using an SVG title element as this would conflict with the tip mark.) +If the **tip** option is true, a [tip mark](../marks/tip.md) with the [pointer transform](../interactions/pointer.md) will be derived from this mark and placed atop all other marks, offering details on demand. If the **tip** option is set to an options object, these options will be passed to the derived tip mark. If the **tip** option (or, if an object, its **pointer** option) is set to *x*, *y*, or *xy*, [pointerX](../interactions/pointer.md#pointerX), [pointerY](../interactions/pointer.md#pointerY), or [pointer](../interactions/pointer.md#pointer) will be used, respectively; otherwise the pointing mode will be chosen automatically. (If the **tip** mark option is truthy, the **title** channel is no longer applied using an SVG title element as this would conflict with the tip mark.) For all marks except [text](../marks/text.md), the **dx** and **dy** options are rendered as a transform property, possibly including a 0.5px offset on low-density screens. diff --git a/docs/features/scales.md b/docs/features/scales.md index cb263345c4..52f3e2fc39 100644 --- a/docs/features/scales.md +++ b/docs/features/scales.md @@ -940,7 +940,7 @@ Plot implicitly generates an [axis mark](../marks/axis.md) for position scales i * **tickPadding** - the separation between the tick and its label (in pixels; default 3) * **tickFormat** - either a function or specifier string to format tick values; see [Formats](./formats.md) * **tickRotate** - whether to rotate tick labels (an angle in degrees clockwise; default 0) -* **fontVariant** - the font-variant attribute for ticks; defaults to *tabular-nums* if quantitative +* **fontVariant** - the font-variant attribute; defaults to *tabular-nums* if quantitative * **label** - a string to label the axis * **labelAnchor** - the label anchor: *top*, *right*, *bottom*, *left*, or *center* * **labelArrow** - the label arrow: *auto* (default), *up*, *right*, *down*, *left*, *none*, or true diff --git a/docs/marks/tip.md b/docs/marks/tip.md index 75aadc0cc1..be8cf4c4b1 100644 --- a/docs/marks/tip.md +++ b/docs/marks/tip.md @@ -129,7 +129,37 @@ Plot.rectY(olympians, Plot.binX({y: "sum"}, {x: "weight", y: (d) => d.sex === "m ``` ::: -The tip mark does not provide options for formatting channel names or values. When a channel is bound to a scale, the scale’s label is shown instead of the channel name. If you desire greater customization, please upvote [#1612](https://github.com/observablehq/plot/issues/1612). +The order and formatting of channels in the tip can be customized with the **format** option , which accepts a key-value object mapping channel names to formats. Each [format](../features/formats.md) can be a string (for number or time formats), a function that receives the value as input and returns a string, true to use the default format, and null or false to suppress. The order of channels in the tip follows their order in the format object followed by any additional channels. + +A channel’s label can be specified alongside its value as a {value, label} object; if a channel label is not specified, the associated scale’s label is used, if any; if there is no associated scale, or if the scale has no label, the channel name is used instead. + +:::plot defer +```js +Plot.dot(olympians, { + x: "weight", + y: "height", + stroke: "sex", + channels: { + name: "name", + nationality: { + value: "nationality", + label: "country" + }, + sport: "sport" + }, + tip: { + format: { + name: true, + sport: true, + nationality: true, + y: (d) => `${d}m`, + x: (d) => `${d}kg`, + stroke: false + } + } +}).plot() +``` +::: The tip mark supports nine different orientations specified by the **anchor** option: the four sides (*top*, *right*, *bottom*, *left*), the four corners (*top-left*, *top-right*, *bottom-right*, *bottom-left*), and *middle*. Note that when *middle* is used, the tip will obscure its anchor point. diff --git a/docs/transforms/tree.md b/docs/transforms/tree.md index c836b30f65..3f0d1c9a23 100644 --- a/docs/transforms/tree.md +++ b/docs/transforms/tree.md @@ -60,7 +60,7 @@ Given a text file, you can use `text.split("\n")` to split the contents into mul The following options control how the tabular data is organized into a hierarchy: * **path** - a column specifying each node’s hierarchy location; defaults to identity -* **delimiter** - the path separator; defaults to forward slash (/) +* **delimiter** - the path separator, a single character; defaults to forward slash (/) The **path** column is typically slash-separated, as with UNIX-based file systems or URLs. diff --git a/img/temporal-ordinal.png b/img/temporal-ordinal.png new file mode 100644 index 0000000000000000000000000000000000000000..b9b1cc009b90fde6ada6df9578a2b3568228eed6 GIT binary patch literal 12171 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 Huk-%}a6@P+ literal 0 HcmV?d00001 diff --git a/img/tip-custom.png b/img/tip-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..a14663221449c16833c63af2f09e867efd7de76d GIT binary patch literal 86211 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 Vda~gDS_%kwEY0Dt8q+Ix{sG6L?qUD{ literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 839bc01bf3..efb33b6b36 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@observablehq/plot", "description": "A JavaScript library for exploratory data visualization.", - "version": "0.6.10", + "version": "0.6.11", "author": { "name": "Observable, Inc.", "url": "https://observablehq.com" diff --git a/src/channel.d.ts b/src/channel.d.ts index 51819817a6..a45a191a6f 100644 --- a/src/channel.d.ts +++ b/src/channel.d.ts @@ -56,7 +56,8 @@ export type ChannelName = | "y" | "y1" | "y2" - | "z"; + | "z" + | (string & Record); // custom channel; see also https://github.com/microsoft/TypeScript/issues/29729 /** * An object literal of channel definitions. This is also used to represent From 61d8a74e531d6cf1aceb43ab6589b4d57f27fcc9 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Wed, 20 Sep 2023 09:46:50 -0700 Subject: [PATCH 2/5] test:tsc in CI (#1865) --- .github/workflows/test.yml | 7 ++++--- src/transforms/bin.d.ts | 2 +- src/transforms/group.d.ts | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bcb310641d..7e1f1fd2bb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ on: branches: [main] jobs: - build: + test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -16,11 +16,12 @@ jobs: node-version: 16 cache: 'yarn' - run: yarn --frozen-lockfile + - run: yarn test:mocha + - run: yarn test:tsc - run: | echo ::add-matcher::.github/eslint.json yarn run eslint src test --format=compact - - run: yarn run prettier --check src test - - run: yarn test:mocha + - run: yarn test:prettier - run: yarn prepublishOnly - run: yarn docs:build - uses: actions/upload-artifact@v3 diff --git a/src/transforms/bin.d.ts b/src/transforms/bin.d.ts index 61edab725f..b630278af9 100644 --- a/src/transforms/bin.d.ts +++ b/src/transforms/bin.d.ts @@ -164,7 +164,7 @@ export type BinYInputs = Omit & {y?: ChannelValueBinSpec} & BinOption export type BinInputs = Omit & {x?: ChannelValueBinSpec; y?: ChannelValueBinSpec} & BinOptions; /** Output channels (and options) for the bin transform. */ -export type BinOutputs = ChannelReducers & GroupOutputOptions & BinOptions; +export type BinOutputs = ChannelReducers | (GroupOutputOptions & BinOptions); /** * Bins on the **x** channel; then subdivides bins on the first channel of diff --git a/src/transforms/group.d.ts b/src/transforms/group.d.ts index 24b422aa40..2ecbf22310 100644 --- a/src/transforms/group.d.ts +++ b/src/transforms/group.d.ts @@ -39,7 +39,7 @@ export interface GroupOutputOptions { } /** Output channels (and options) for the group transform. */ -export type GroupOutputs = ChannelReducers & GroupOutputOptions; +export type GroupOutputs = ChannelReducers | GroupOutputOptions; /** * Groups on the first channel of **z**, **fill**, or **stroke**, if any, and From 1b1da9f2535371fb08f8116bc28f6ef78fc44f63 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Wed, 20 Sep 2023 17:49:06 -0700 Subject: [PATCH 3/5] --vp-c-{red,green}; vitepress 1.0.0-rc.15 --- docs/.vitepress/theme/custom.css | 2 ++ yarn.lock | 48 ++++++++++++++++---------------- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css index 53cc17fd48..748b25a4b4 100644 --- a/docs/.vitepress/theme/custom.css +++ b/docs/.vitepress/theme/custom.css @@ -13,6 +13,8 @@ } :root { + --vp-c-red: #f43f5e; + --vp-c-green: #10b981; --vp-c-blue: #0092ff; --vp-c-purple: #a463f2; --vp-c-brand-1: var(--vp-c-purple-1); diff --git a/yarn.lock b/yarn.lock index 0684227352..7670376b3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -419,17 +419,17 @@ isoformat "^0.2.0" "@observablehq/runtime@^5.7.3": - version "5.9.2" - resolved "https://registry.yarnpkg.com/@observablehq/runtime/-/runtime-5.9.2.tgz#a786886da93dfaf55582e1586b607520d9703bcb" - integrity sha512-cRnlbTrVG5Y5FESJ3K8DiH59Ic72025e7vWVkTClGKecjyXQnpalh9Nbt1krHT9TP+nj2SclgtkiJC6bR3fMHg== + version "5.9.3" + resolved "https://registry.yarnpkg.com/@observablehq/runtime/-/runtime-5.9.3.tgz#a4a766b8eee7d6d2ee2ed29bb3e73d777fc9bcaf" + integrity sha512-dRgqbClP4QiOSlInp6NaBXRPK7fJ2LtyPY/xppR8p9COTgwAPlP0/wHL8d1OD4f6AgwWXMqotiZqmduXsZgkSQ== dependencies: "@observablehq/inspector" "^5.0.0" "@observablehq/stdlib" "^5.0.0" "@observablehq/stdlib@^5.0.0": - version "5.8.2" - resolved "https://registry.yarnpkg.com/@observablehq/stdlib/-/stdlib-5.8.2.tgz#0e5f73064783ed9d23a20feecd4a42bdfb996a30" - integrity sha512-68Xo97UJzJNOTDkZFSOqpGifMJ7KCXGXB0EljWIYzu9CzpaAjiakdJgMm2h7xHdPRh8HKoFIEPqeVg7YKjQh0Q== + version "5.8.3" + resolved "https://registry.yarnpkg.com/@observablehq/stdlib/-/stdlib-5.8.3.tgz#5ddd760c60aa9102c9b1323230cbe4c9da248d3d" + integrity sha512-XmuwqzAMZ8H0ICJfzd5wV3WD6nLlC2XwhMIdu2QDZppTSxGafATMSbgZ2JaiNPCejenkpERGmoC3W83FUGuNeg== dependencies: d3-array "^3.2.0" d3-dsv "^3.0.1" @@ -720,9 +720,9 @@ integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== "@types/geojson@*": - version "7946.0.10" - resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.10.tgz#6dfbf5ea17142f7f9a043809f1cd4c448cb68249" - integrity sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA== + version "7946.0.11" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.11.tgz#012c17cb2256ad8de78560da851ab914a7b9b40e" + integrity sha512-L7A0AINMXQpVwxHJ4jxD6/XjZ4NDufaRlUJHjNIFKYUFBH1SvOW+neaqb0VTRSLW5suSrSu19ObFEFnfNcr+qg== "@types/json-schema@^7.0.12": version "7.0.13" @@ -735,9 +735,9 @@ integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== "@types/node@^20.5.0": - version "20.6.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.2.tgz#a065925409f59657022e9063275cd0b9bd7e1b12" - integrity sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw== + version "20.6.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.3.tgz#5b763b321cd3b80f6b8dde7a37e1a77ff9358dd9" + integrity sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA== "@types/resolve@1.20.2": version "1.20.2" @@ -1971,9 +1971,9 @@ glob@^8.0.3, glob@^8.1.0: once "^1.3.0" globals@^13.19.0: - version "13.21.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.21.0.tgz#163aae12f34ef502f5153cfbdd3600f36c63c571" - integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== + version "13.22.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.22.0.tgz#0c9fcb9c48a2494fbb5edbfee644285543eba9d8" + integrity sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw== dependencies: type-fest "^0.20.2" @@ -2856,9 +2856,9 @@ slash@^3.0.0: integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== smob@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/smob/-/smob-1.4.0.tgz#ac9751fe54b1fc1fc8286a628d4e7f824273b95a" - integrity sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg== + version "1.4.1" + resolved "https://registry.yarnpkg.com/smob/-/smob-1.4.1.tgz#66270e7df6a7527664816c5b577a23f17ba6f5b5" + integrity sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ== source-map-js@^1.0.2: version "1.0.2" @@ -2948,9 +2948,9 @@ tar@^6.1.11: yallist "^4.0.0" terser@^5.17.4: - version "5.19.4" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.19.4.tgz#941426fa482bf9b40a0308ab2b3cd0cf7c775ebd" - integrity sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g== + version "5.20.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.20.0.tgz#ea42aea62578703e33def47d5c5b93c49772423e" + integrity sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -3065,9 +3065,9 @@ vite@^4.4.9: fsevents "~2.3.2" vitepress@^1.0.0-rc.12: - version "1.0.0-rc.14" - resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-rc.14.tgz#d014df7890ca26d3ef73a5c05b2a73cc659e961c" - integrity sha512-yChIeXOAcNvVnSVjhziH1vte0uhKb00PuZf7KdIMfx3ixTMAz73Nn+6gREvCv0SdH+anteGUKz5eljv0ygcgGQ== + version "1.0.0-rc.15" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-rc.15.tgz#a0810e91ed2bb6000ea78c084a7263d7519840de" + integrity sha512-5criiHoEibkT/du7t6wQ2xQVsuTNuirQZbMAi0M9Hp0YzJoJvEX68Ej9p2PtNC84bYb/CxAh5QkMtMutk03lHw== dependencies: "@docsearch/css" "^3.5.2" "@docsearch/js" "^3.5.2" From ebe85f29240da7912390764bcfade6d8e57488ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Rivi=C3=A8re?= Date: Tue, 26 Sep 2023 17:57:10 +0200 Subject: [PATCH 4/5] tip format notebook (#1878) --- docs/marks/tip.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/marks/tip.md b/docs/marks/tip.md index be8cf4c4b1..69e950fb26 100644 --- a/docs/marks/tip.md +++ b/docs/marks/tip.md @@ -133,7 +133,7 @@ The order and formatting of channels in the tip can be customized with the **for A channel’s label can be specified alongside its value as a {value, label} object; if a channel label is not specified, the associated scale’s label is used, if any; if there is no associated scale, or if the scale has no label, the channel name is used instead. -:::plot defer +:::plot defer https://observablehq.com/@observablehq/plot-tip-format ```js Plot.dot(olympians, { x: "weight", From 32cd30116503a99c0497968b8f736a7769c0b1ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Rivi=C3=A8re?= Date: Fri, 29 Sep 2023 15:01:09 +0200 Subject: [PATCH 5/5] Update community.md (#1884) no email updates atm --- docs/community.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/community.md b/docs/community.md index 75d20a1aea..4923b1e9e1 100644 --- a/docs/community.md +++ b/docs/community.md @@ -10,8 +10,6 @@ Please star ⭐️ our [GitHub repo](https://github.com/observablehq/plot) to sh Plot is getting better all the time; catch up on [recent releases](https://github.com/observablehq/plot/releases) by reading our [CHANGELOG](https://github.com/observablehq/plot/blob/main/CHANGELOG.md). -For email updates, sign up for the [Observable Plot Twist](https://observablehq.com/@observablehq/plot-twist-newsletter-signup) newsletter. (See our [back issues](https://observablehq.com/collection/@observablehq/newsletters/2) and [blog](https://observablehq.com/blog), too.) This monthly newsletter will let you know about new features in Plot, inspiring work by the community, upcoming workshops and community events, and more. - And of course, follow us on [Observable](https://observablehq.com/@observablehq?tab=profile), [Mastodon](https://vis.social/@observablehq), [Twitter](https://twitter.com/observablehq), and [LinkedIn](https://www.linkedin.com/company/observable)! ## Getting help