我发现网上的情节。我不知道哪种分布会产生这种情况。我想在纸上画出这样的情节。但是如果可能的话,从Mathematica那里得到一些帮助:
以这个图像为例,我可以获得图的每个可见条边的2D坐标吗?
我不知道它是否是从图中纯粹边缘检测图像,或者我们是否可以从图中获取此信息。
理想情况下,我会调整图像大小以匹配我的纸张尺寸并获得缩放的坐标。这将是不可思议的。
感谢您的关注。
答案 0 :(得分:1)
@ 500如果你只是想手工绘制这样的情节,捕捉它并将其作为模板带入绘图程序。然后在不同的图层上绘制它,同时打开网格线;最后,删除图片并打印出来。将它缩放到您想要的任何大小都是一件容易的事。但是你想要探索Mathematica如何使用它,请继续阅读。
您似乎希望使用Histogram3D
。 (见documentation。)
让我们在40和125的平均值周围生成正态分布的数据点(n = 10k),标准偏差分别为10和50,Spearman rho为.45。
data = RandomVariate[BinormalDistribution[{40, 125}, {10, 50}, .45], 10^4]
如果您愿意,可以从FullForm
获取数据。这将为您提供z值。
让我们使用Histogram3D绘制它。我们将分别为x,y使用宽度为5和25的区间。
Histogram3D[data2, {{Table[10 + 5 k, {k, 15}]}, {Table[ 0 + 25 k, {k, 0, 12}]}}]
修改强>
将鼠标悬停在条形图上时,z值将显示在工具提示中。因此,如果您想“手动”收集数据,您可以这样做。或者,使用FullForm
,您可以查找以下List
,其中包含您要查找的坐标。它们似乎位于List
之后CuboidBox
,但它们可能是CuboidBox
参数。有人应该能够澄清这一点。
List[Tooltip[
StatusArea[
List[RawBoxes[
DynamicBox[
List[FEPrivate`If[CurrentValue["MouseOver"],
EdgeForm[
List[RGBColor[0.6666666666666666`, 0.6666666666666666`,
0.6666666666666666`], AbsoluteThickness[1.5`]]], List[],
List[]],
CuboidBox[List[15.`, 0.`, 0.`], List[20.`, 25.`, 10.`]]]]]],
10.`], Style[10.`, List[GrayLevel[0]]]]]
您也可以使用LabelingFunction
来显示z值,但除非您正在垂直于xy平面,否则这看起来不会很好,在这种情况下,使用DensityPlot
可能会更好。
Histogram3D[data2, {{Table[10 + 5 k, {k, 15}]},
{Table[0 + 25 k, {k, 0, 12}]}},
LabelingFunction -> (Placed[Panel[#1, FrameMargins -> 0], Above] &)]