posit-dev / positron

Positron, a next-generation data science IDE
https://positron.posit.co
Other
2.8k stars 86 forks source link

Missing base R plot elements #5412

Closed ryanzomorrodi closed 3 hours ago

ryanzomorrodi commented 3 hours ago

System details:

Positron and OS details:

Positron Version: 2024.12.0 build 41 Code - OSS Version: 1.93.0 Commit: 39536c265d6828a68291984d0d359170316d055e Date: 2024-11-18T02:42:16.243Z Electron: 30.4.0 Chromium: 124.0.6367.243 Node.js: 20.15.1 V8: 12.4.254.20-electron.0 OS: Linux x64 6.8.0-48-generic

Interpreter details:

R version 4.4.1 (2024-06-14) Platform: x86_64-pc-linux-gnu Running under: Ubuntu 24.04.1 LTS

Matrix products: default BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0

locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8
[8] LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

time zone: America/Chicago tzcode source: system (glibc)

attached base packages: [1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached): [1] compiler_4.4.1 cli_3.6.3 tools_4.4.1 rlang_1.1.4 sessioninfo_1.2.2

Describe the issue:

When generating a biplot, loading lines, labels, and top and right axes do not show up.

They do show up on RStudio with the same R version.

Steps to reproduce the issue:

  1. Run the following code:
data(iris)
iris_data <- iris[, 1:4]
# Perform PCA
pca_result <- prcomp(iris_data, scale = TRUE)

# Create a biplot
biplot(pca_result)
  1. Get the following output

Image

Expected or desired behavior:

Get the following output:

Image

Were there any error messages in the UI, Output panel, or Developer Tools console?

Dev tools console errors:

workbench.desktop.main.js:506147 [vscode.positron-r]Cannot convert undefined or null to object $onExtensionRuntimeError @ workbench.desktop.main.js:506147 S @ workbench.desktop.main.js:363510 Q @ workbench.desktop.main.js:363495 M @ workbench.desktop.main.js:363436 L @ workbench.desktop.main.js:363363 (anonymous) @ workbench.desktop.main.js:363226 B @ workbench.desktop.main.js:17475 fire @ workbench.desktop.main.js:17504 fire @ workbench.desktop.main.js:96195 port.onmessage @ workbench.desktop.main.js:387894 workbench.desktop.main.js:506148 TypeError: Cannot convert undefined or null to object at Function.keys () at t.RSession.onMessage (/usr/share/positron/resources/app/extensions/positron-r/dist/extension.js:1:489187) at UniqueContainer.value (/usr/share/positron/resources/app/extensions/positron-r/dist/extension.js:1:489026) at $qe.B (/usr/share/positron/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:10579:26) at $qe.fire (/usr/share/positron/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:10608:22) at t.RuntimeMessageEmitter.onDisplayData (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:519924) at t.RuntimeMessageEmitter.emitJupyter (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:519118) at t.KallichoreSession.handleJupyterMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:513258) at t.KallichoreSession.handleMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:509363) at _socket.ws.onmessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:508207) at y (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:444017) at I.o (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:443400) at I.emit (node:events:519:28) at e.exports.V (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:483709) at e.exports.emit (node:events:519:28) at e.exports.dataMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:458333) at e.exports.getData (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:457186) at e.exports.startLoop (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:453871) at e.exports._write (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:453157) at writeOrBuffer (node:internal/streams/writable:564:12) at _write (node:internal/streams/writable:493:10) at Writable.write (node:internal/streams/writable:502:10) at Socket.X (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:484676) at Socket.emit (node:events:519:28) at addChunk (node:internal/streams/readable:559:12) at readableAddChunkPushByteMode (node:internal/streams/readable:510:3) at Readable.push (node:internal/streams/readable:390:5) at TCP.onStreamRead (node:internal/stream_base_commons:191:23) $onExtensionRuntimeError @ workbench.desktop.main.js:506148 S @ workbench.desktop.main.js:363510 Q @ workbench.desktop.main.js:363495 M @ workbench.desktop.main.js:363436 L @ workbench.desktop.main.js:363363 (anonymous) @ workbench.desktop.main.js:363226 B @ workbench.desktop.main.js:17475 fire @ workbench.desktop.main.js:17504 fire @ workbench.desktop.main.js:96195 port.onmessage @ workbench.desktop.main.js:387894 workbench.desktop.main.js:130751 DEBUG Comments: URIs of continue on comments to add to storage . workbench.desktop.main.js:130751 DEBUG Comments: URIs of continue on comments to add to storage . workbench.desktop.main.js:506147 [vscode.positron-r]Cannot convert undefined or null to object $onExtensionRuntimeError @ workbench.desktop.main.js:506147 S @ workbench.desktop.main.js:363510 Q @ workbench.desktop.main.js:363495 M @ workbench.desktop.main.js:363436 L @ workbench.desktop.main.js:363363 (anonymous) @ workbench.desktop.main.js:363226 B @ workbench.desktop.main.js:17475 fire @ workbench.desktop.main.js:17504 fire @ workbench.desktop.main.js:96195 port.onmessage @ workbench.desktop.main.js:387894 workbench.desktop.main.js:506148 TypeError: Cannot convert undefined or null to object at Function.keys () at t.RSession.onMessage (/usr/share/positron/resources/app/extensions/positron-r/dist/extension.js:1:489187) at UniqueContainer.value (/usr/share/positron/resources/app/extensions/positron-r/dist/extension.js:1:489026) at $qe.B (/usr/share/positron/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:10579:26) at $qe.fire (/usr/share/positron/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:10608:22) at t.RuntimeMessageEmitter.onDisplayData (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:519924) at t.RuntimeMessageEmitter.emitJupyter (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:519118) at t.KallichoreSession.handleJupyterMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:513258) at t.KallichoreSession.handleMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:509363) at _socket.ws.onmessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:508207) at y (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:444017) at I.o (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:443400) at I.emit (node:events:519:28) at e.exports.V (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:483709) at e.exports.emit (node:events:519:28) at e.exports.dataMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:458333) at e.exports.getData (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:457186) at e.exports.startLoop (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:453871) at e.exports._write (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:453157) at writeOrBuffer (node:internal/streams/writable:564:12) at _write (node:internal/streams/writable:493:10) at Writable.write (node:internal/streams/writable:502:10) at Socket.X (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:484676) at Socket.emit (node:events:519:28) at addChunk (node:internal/streams/readable:559:12) at readableAddChunkPushByteMode (node:internal/streams/readable:510:3) at Readable.push (node:internal/streams/readable:390:5) at TCP.onStreamRead (node:internal/stream_base_commons:191:23) $onExtensionRuntimeError @ workbench.desktop.main.js:506148 S @ workbench.desktop.main.js:363510 Q @ workbench.desktop.main.js:363495 M @ workbench.desktop.main.js:363436 L @ workbench.desktop.main.js:363363 (anonymous) @ workbench.desktop.main.js:363226 B @ workbench.desktop.main.js:17475 fire @ workbench.desktop.main.js:17504 fire @ workbench.desktop.main.js:96195 port.onmessage @ workbench.desktop.main.js:387894 workbench.desktop.main.js:130751 DEBUG Comments: URIs of continue on comments to add to storage . workbench.desktop.main.js:130751 DEBUG Comments: URIs of continue on comments to add to storage .

workbench.desktop.main.js:506147 [vscode.positron-r]Cannot convert undefined or null to object $onExtensionRuntimeError @ workbench.desktop.main.js:506147 S @ workbench.desktop.main.js:363510 Q @ workbench.desktop.main.js:363495 M @ workbench.desktop.main.js:363436 L @ workbench.desktop.main.js:363363 (anonymous) @ workbench.desktop.main.js:363226 B @ workbench.desktop.main.js:17475 fire @ workbench.desktop.main.js:17504 fire @ workbench.desktop.main.js:96195 port.onmessage @ workbench.desktop.main.js:387894 workbench.desktop.main.js:506148 TypeError: Cannot convert undefined or null to object at Function.keys () at t.RSession.onMessage (/usr/share/positron/resources/app/extensions/positron-r/dist/extension.js:1:489187) at UniqueContainer.value (/usr/share/positron/resources/app/extensions/positron-r/dist/extension.js:1:489026) at $qe.B (/usr/share/positron/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:10579:26) at $qe.fire (/usr/share/positron/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:10608:22) at t.RuntimeMessageEmitter.onDisplayData (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:519924) at t.RuntimeMessageEmitter.emitJupyter (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:519118) at t.KallichoreSession.handleJupyterMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:513258) at t.KallichoreSession.handleMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:509363) at _socket.ws.onmessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:508207) at y (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:444017) at I.o (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:443400) at I.emit (node:events:519:28) at e.exports.V (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:483709) at e.exports.emit (node:events:519:28) at e.exports.dataMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:458333) at e.exports.getData (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:457186) at e.exports.startLoop (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:453871) at e.exports._write (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:453157) at writeOrBuffer (node:internal/streams/writable:564:12) at _write (node:internal/streams/writable:493:10) at Writable.write (node:internal/streams/writable:502:10) at Socket.X (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:484676) at Socket.emit (node:events:519:28) at addChunk (node:internal/streams/readable:559:12) at readableAddChunkPushByteMode (node:internal/streams/readable:510:3) at Readable.push (node:internal/streams/readable:390:5) at TCP.onStreamRead (node:internal/stream_base_commons:191:23) $onExtensionRuntimeError @ workbench.desktop.main.js:506148 S @ workbench.desktop.main.js:363510 Q @ workbench.desktop.main.js:363495 M @ workbench.desktop.main.js:363436 L @ workbench.desktop.main.js:363363 (anonymous) @ workbench.desktop.main.js:363226 B @ workbench.desktop.main.js:17475 fire @ workbench.desktop.main.js:17504 fire @ workbench.desktop.main.js:96195 port.onmessage @ workbench.desktop.main.js:387894 workbench.desktop.main.js:130751 DEBUG Comments: URIs of continue on comments to add to storage . workbench.desktop.main.js:130751 DEBUG Comments: URIs of continue on comments to add to storage . workbench.desktop.main.js:506147 [vscode.positron-r]Cannot convert undefined or null to object $onExtensionRuntimeError @ workbench.desktop.main.js:506147 S @ workbench.desktop.main.js:363510 Q @ workbench.desktop.main.js:363495 M @ workbench.desktop.main.js:363436 L @ workbench.desktop.main.js:363363 (anonymous) @ workbench.desktop.main.js:363226 B @ workbench.desktop.main.js:17475 fire @ workbench.desktop.main.js:17504 fire @ workbench.desktop.main.js:96195 port.onmessage @ workbench.desktop.main.js:387894 workbench.desktop.main.js:506148 TypeError: Cannot convert undefined or null to object at Function.keys () at t.RSession.onMessage (/usr/share/positron/resources/app/extensions/positron-r/dist/extension.js:1:489187) at UniqueContainer.value (/usr/share/positron/resources/app/extensions/positron-r/dist/extension.js:1:489026) at $qe.B (/usr/share/positron/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:10579:26) at $qe.fire (/usr/share/positron/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:10608:22) at t.RuntimeMessageEmitter.onDisplayData (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:519924) at t.RuntimeMessageEmitter.emitJupyter (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:519118) at t.KallichoreSession.handleJupyterMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:513258) at t.KallichoreSession.handleMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:509363) at _socket.ws.onmessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:508207) at y (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:444017) at I.o (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:443400) at I.emit (node:events:519:28) at e.exports.V (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:483709) at e.exports.emit (node:events:519:28) at e.exports.dataMessage (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:458333) at e.exports.getData (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:457186) at e.exports.startLoop (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:453871) at e.exports._write (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:453157) at writeOrBuffer (node:internal/streams/writable:564:12) at _write (node:internal/streams/writable:493:10) at Writable.write (node:internal/streams/writable:502:10) at Socket.X (/usr/share/positron/resources/app/extensions/positron-supervisor/dist/extension.js:2:484676) at Socket.emit (node:events:519:28) at addChunk (node:internal/streams/readable:559:12) at readableAddChunkPushByteMode (node:internal/streams/readable:510:3) at Readable.push (node:internal/streams/readable:390:5) at TCP.onStreamRead (node:internal/stream_base_commons:191:23) $onExtensionRuntimeError @ workbench.desktop.main.js:506148 S @ workbench.desktop.main.js:363510 Q @ workbench.desktop.main.js:363495 M @ workbench.desktop.main.js:363436 L @ workbench.desktop.main.js:363363 (anonymous) @ workbench.desktop.main.js:363226 B @ workbench.desktop.main.js:17475 fire @ workbench.desktop.main.js:17504 fire @ workbench.desktop.main.js:96195 port.onmessage @ workbench.desktop.main.js:387894 workbench.desktop.main.js:130751 DEBUG Comments: URIs of continue on comments to add to storage . workbench.desktop.main.js:130751 DEBUG Comments: URIs of continue on comments to add to storage . workbench.desktop.main.js:130751 DEBUG Comments: URIs of continue on comments to add to storage .

ryanzomorrodi commented 3 hours ago

Found #4549