我在网上找到了那个情节。我不知道哪种分布会产生这种情况。我想在纸上画出这样的情节。但如果可能的话,请从 Mathematica 获得一些帮助:
以这张图片为例,我可以获得绘图每个可见条形边缘的二维坐标吗?
我不知道它是纯粹从绘图中对图像进行边缘检测,还是我们可以从绘图本身获取此信息。
理想情况下,我会调整图像大小以匹配我的纸张大小并获得缩放的坐标。这将是不可思议的。
感谢您的关注。
我在网上找到了那个情节。我不知道哪种分布会产生这种情况。我想在纸上画出这样的情节。但如果可能的话,请从 Mathematica 获得一些帮助:
以这张图片为例,我可以获得绘图每个可见条形边缘的二维坐标吗?
我不知道它是纯粹从绘图中对图像进行边缘检测,还是我们可以从绘图本身获取此信息。
理想情况下,我会调整图像大小以匹配我的纸张大小并获得缩放的坐标。这将是不可思议的。
感谢您的关注。
@500 如果您只是想手动绘制这样的图,请将其捕获并将其作为模板带入绘图程序。然后在不同的图层上绘制它,同时打开网格线;最后,删除图片并打印。将其缩放到您想要的任何大小都是一件容易的事。但如果您想探索 Mathematica 如何使用它,请继续阅读。
看起来你会想要使用Histogram3D
. (请参阅文档。)
让我们生成平均值为 40 和 125 的正态分布数据点 (n=10k),标准差分别为 10 和 50,Spearman rho 为 0.45。
data = RandomVariate[BinormalDistribution[{40, 125}, {10, 50}, .45], 10^4]
FullForm
如果您愿意,您可以从中获取数据。这将为您提供 z 值。
让我们使用 Histogram3D 绘制它。我们将分别为 x、y 使用宽度为 5 和 25 的 bin。
Histogram3D[data2, {{Table[10 + 5 k, {k, 15}]}, {Table[ 0 + 25 k, {k, 0, 12}]}}]
编辑:
当您将鼠标悬停在条上时,z 值将出现在工具提示中。因此,如果您想“手动”收集数据,您可以这样做。或者,使用FullForm
您可以查找如下所示的List
s,其中似乎包含您要查找的坐标。它们似乎在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] &)]