如何在IHaskell(Jupyter)中使用Chart包设置绘图尺寸
解决IHaskell中Chart包图表尺寸调整问题
要在IHaskell Notebook中缩小Chart包生成的图表尺寸,核心是通过Layout的layout_size镜头直接设置绘图的宽高像素值,无需依赖文件输出的配置。以下是具体实现:
修改后的代码
import Graphics.Rendering.Chart.Easy cData = [1,2,3,4,3,2,1] toRenderable $ do layout_title .= "Recovered Signal" layout_x_axis . laxis_title .= "Time (msecs)" layout_y_axis . laxis_title .= "Original Input Level" -- 设置图表尺寸为宽400像素,高300像素,可按需调整数值 layout_size .= (400, 300) plot (line "Amplitude" [zip [0,1..] cData])
关键说明
layout_size的作用:这是Chart库中Layout类型的内置镜头,用于直接指定绘图的实际像素尺寸。你之前关注的minsize是控制图表的最小显示阈值,并非强制设置实际大小,因此不适用当前场景。- Lens基础用法:对于未接触过lenses的开发者,
.=操作符的作用是通过镜头给目标字段赋值。这里layout_size .= (w, h)等价于给图表的宽高属性设置具体数值,可根据需求自由调整像素值。 - 无效方法的原因:文件输出时的尺寸配置是在渲染到文件的步骤中指定的,而IHaskell是直接渲染
Renderable对象,因此需要在Layout内部设置尺寸属性,才能影响Notebook中的显示效果。
内容的提问来源于stack exchange,提问作者TomP
相关产品推荐
相关产品推荐

