In [2]:
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE OverloadedStrings #-}
import Lucid qualified as L
import IHaskell.Display qualified as IH
import Data.Text.Lazy qualified as TL
htmlText = L.renderText (L.div_ [L.class_ "container"] (L.p_ "some paragraph"))
IH.display . IH.html . TL.unpack $ htmlText
displayLucid = IH.display . IH.html . TL.unpack . L.renderText
some paragraph
In [3]:
import Graphics.Plotly qualified as PT
import Graphics.Plotly.Lucid qualified as PT
import Control.Lens ((.~),(&))
import Lucid.Base qualified as L
points = zip [1,2,3,4] [9,6,1,7]
trace = PT.line (PT.aes & PT.x .~ fst & PT.y .~ snd) points
plot = PT.plotly "testPlot" [trace]
plotlyDoc p = L.doctypehtml_ $ do
L.head_ $ do
L.meta_ [L.charset_ "utf-8"]
PT.plotlyCDN
L.body_ $ L.toHtml p
-- displayLucid $
-- L.iframe_ [
-- L.makeAttribute "srcdoc" (TL.toStrict $ L.renderText plotlyDoc),
-- L.style_ "width:100%; height:600px; border:none;"
-- ] mempty
displayPlotly p = displayLucid (
L.iframe_ [
L.makeAttribute "srcdoc" (TL.toStrict $ L.renderText $ plotlyDoc p),
L.style_ "width:100%; height:600px; border:none;"
] mempty
)
displayPlotly plot
In [4]:
import WGL.IHaskell qualified as WGL
WGL.displayPlotly plot
In [ ]: