6 wolfram-mathematica levelscheme
我刚刚开始使用LevelScheme,并且在使直方图在图中正确拟合方面存在问题.最小的非工作示例:
<<"LevelScheme`"
Figure[{FigurePanel[{{0, 1}, {0, 1}},
LabB -> textit["x"], BufferB -> 2.5,
LabL -> textit["p(x)"], BufferL -> 2.5,
FrameTicks -> {LinTicks[-4, 4], LinTicks[0, 1]},
PlotRange -> {{-3, 3}, {0, 0.5}}],
RawGraphics[
Histogram[RandomReal[NormalDistribution[], 1000], Automatic,
"ProbabilityDensity"]]},
Frame -> False, PlotRange -> {{-0.075, 1.1}, {-0.1, 1.03}}]
Run Code Online (Sandbox Code Playgroud)
输出看起来像这样

它看起来应该是这样的

基本上,Histogram图形对象不服从FigurePanel's PlotRange,而是服从主要Figure的PlotRange.当Histogram被一个Plot或类似的命令替换时,不会发生此行为.所以以下产生了一个干净的情节
Figure[{FigurePanel[{{0, 1}, {0, 1}},
LabB -> textit["x"], BufferB -> 2.5,
LabL -> textit["p(x)"], BufferL -> 2.5,
FrameTicks -> {LinTicks[-4, 4], LinTicks[0, 1]},
PlotRange -> {{-3, 3}, {0, 0.5}}],
RawGraphics[Plot[1/Sqrt[2 Pi] Exp[-x^2/2], {x, -4, 4}]]},
Frame -> False, PlotRange -> {{-0.075, 1.1}, {-0.1, 1.03}}]
Run Code Online (Sandbox Code Playgroud)

还有其他人遇到过这个问题吗?或者,您有解决方案的建议吗?
编辑
我以为我会在这个问题上添加一些绿色.我仍然有兴趣知道如何克服这个障碍.
好吧,我猜你不会太喜欢这个,但它是一种解决方法。
如果我给出PerformanceGoal -> "Speed"直方图选项(而不是PerformanceGoal -> "Quality"),我会禁用交互行为,但是,通过一些小的调整,我会得到以下结果:
<< "LevelScheme`"
Figure[{FigurePanel[{{0, 1}, {0, 1}}, LabB -> textit["x"],
BufferB -> 2.5, LabL -> textit["p(x)"], BufferL -> 2.5,
FrameTicks -> {LinTicks[-4, 4], LinTicks[0, 1]},
PlotRange -> {{-3, 3}, {0, 0.55}}],
RawGraphics[
Histogram[RandomReal[NormalDistribution[], 1000], Automatic,
"ProbabilityDensity", PerformanceGoal -> "Speed"]]},
Frame -> False, PlotRange -> {{-0.075, 1.1}, {-0.15, 1.1}}]
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
885 次 |
| 最近记录: |