Когда я создаю графики SVG с помощью Plotly, у меня нет проблем. Когда я создаю графики WebGL, нанесенные точки не такие четкие: они «нечеткие» или «размытые». Я использую сюжетно. js 1.54.1. (И я использую его в основном через plotly-r 4.9.2.1, но, похоже, это не проблема.)
Вот минимальная демонстрация проблемы с использованием R для создания подзаговора:
library(plotly)
data(iris)
mySVG <- plot_ly(
x = ~Petal.Length, y = ~Petal.Width,
type = "scatter", mode = "markers",
color = ~Species,
data = iris,
marker = list(size = 10))
myWebGL <- toWebGL(mySVG)
subplot(mySVG, myWebGL, nrows = 2)
Это дает это число . Левая панель, график SVG, заметно резче, чем правая панель, которая представляет собой график WebGL. Почему графики Plotly в WebGL такие нечеткие?
Проблема была несколько раз отмечена в Plotly. js Репозиторий Github: например, https://github.com/plotly/plotly.js/issues/3246 и https://github.com/plotly/plotly.js/issues/2431. (Последняя проблема оформлена как проблема с обработкой Plotly цветовой модели hsl, но размытый рендеринг возникает даже тогда, когда мы не используем эту модель.)
Проблема не связана c с сетчаткой экраны. Мой собственный монитор имеет разрешение всего 110 dpi, и проблема остро стоит даже на мониторах такого типа.
То, что я пробовал:
- Изменение используемой опции
glPixelRatio
при настройке графиков. - Манипулирование элементом
canvas
графиков WebGL. Я читал, что нечеткость может возникнуть, когда canvas.width
и canvas.clientWidth
не совпадают. Но здесь это не проблема. (То же самое верно для canvas.height
и canvas.clientHeight
.) - Использование Plotly.newplot () для повторного рендеринга графика на этот комментарий .
Ничего из этого не сработало. Есть ли решение этой проблемы?