我正在尝试将网格线添加到Mathematica中的输出密度图。该图是通过Mathematica中的长计算生成的,当我执行该图时,我忘记添加Mesh-> True选项。我不想做所有的计算并再次生成图,因为它需要很长时间。是否可以使用手头的输出图添加网格线或网格线来进行绘图?
例如,如果我有一个情节p。是否可以添加网格线仅操纵p?
在普通的一维图中,这将起作用
p1 = Plot[Sin[x], {x, -3, 3}];
Insert[p1, GridLines -> Automatic, -1]
但是当我尝试密度图时,看起来网格线总是在图下,并且只能在图像边缘区域看到。
p2 = DensityPlot[Sin[x + y^2], {x, -3, 3}, {y, -2, 2}, PlotRangePadding -> 0.2];
Insert[p2, GridLines -> Automatic, -1]
Updata公司
输出图上的Mesh选项不起作用,因为Mesh不是Graphics的选项:
Show[p2,Mesh->True]
会给出一条消息“渲染图形时遇到了一个未记录的选项名称(Mesh)” 感谢。
答案 0 :(得分:2)
答案 1 :(得分:1)
好吧,这是一个可怕的黑客但它确实有效(至少有时候)。我们的想法是在密度图中创建一个易于计算的网格,但在其他方面类似于你的p2,然后提取出网格。
Show[p2, Graphics[Cases[DensityPlot[0, {x, -3, 3}, {y, -2, 2},
Evaluate[Sequence @@ Append[Options[p2], Mesh -> True]]][[1]] //
Normal, _Line, \[Infinity]]]]