我正在尝试使用Haskell-Charts(http://hackage.haskell.org/package/Chart)生成一些图表。它运行良好,我得到了一个漂亮的图表,但唯一的“问题”就是左边的数字有点难以阅读。也许有一种方法可以在显示之前提供一个转换这些数字的函数吗?虽然我可以在制图之前将数字转换,但会失去精度。我一直在看文档,但如果存在相应的函数,我并没有找到。谢谢。
以下是代码:
以下是代码:
import Graphics.Rendering.Chart.Easy
import Graphics.Rendering.Chart.Axis.LocalTime
import Graphics.Rendering.Chart.Backend.Diagrams
import Data.Time.LocalTime
main = do
-- Get datas
toFile def "test.svg" $ do
layout_title .= "Active mem"
plot (line "Active" $ [L.map (\v -> ((utcToLocalTime utc $ time v) :: LocalTime, (fromIntegral $ value v) :: Int)) $ V.toList q])
很不幸,我从数据库中获取数据,无法公开访问。但是一个包含大量数字的[(LocalTime, Int)]列表应该可以给你类似的结果。顺便说一下,我正在使用Diagrams后端。
chart
在 简单绘制一些东西而不涉及那些格式不良的数字等问题 方面有点笨拙。我想宣传 dynamic-plot,它可以自动完成这种事情。(但在标签等方面远远不如chart
丰富。) - leftaroundaboutdynamic-plot
实际上是通过diagrams
渲染所有内容的,因此从原理上讲,将其输出到文件而不是GTK窗口应该很容易。事实上我一直想实现这个功能,但一直拖延...下一个版本一定要加入它。 - leftaroundabout