Mathematica画Histogram画不出来,

phz77582022-10-04 11:39:541条回答

Mathematica画Histogram画不出来,
运行出来是这样:

(如果不加参数,即Histogram[data]则可以运行)

代码如下:
data = {40.6, 41.4, 40.6, 43.1, 37.3, 40.4, 43.4, 43.2, 38.3, 40.3,
39.5, 44.4, 43.4, 42.3, 44.2, 40.5, 41.2, 43.6, 44.7, 45.1, 39.2,
43.3, 41.7, 42.7, 40.4, 42.1, 44.3, 42.1, 42, 47, 45.6, 42.6, 44.3,
44.7, 41.7, 45.7, 43.7, 45.8, 39.8, 45.6, 42, 47, 45.6, 42.6,
41.4, 41.6, 39.1, 37, 43.3, 43.8, 38.9, 40.7, 39.8, 39.8, 43.4,
41.7, 42.7, 40.1, 43.6, 44.7};
Needs["Histograms`"]
Max[data] - Min[data]
CatLength = Ceiling[10/6];
categories = Table[Min[data] - 0.05 + i CatLength, {i, 0, 6}]

Histogram[data, {Min[categories], Max[categories] , categories},
PlotRange -> {0, Automatic}, Frame -> {True, True, False, False},
FrameTicks -> {{Automatic, None}, {categories, None}},
FrameLabel -> {"x",
"y"}]

已提交,审核后显示!提交回复

共1条回复
lovelycelia0613 共回答了21个问题 | 采纳率100%
你在用哪个版本?版本7时,Histogram函数就已经内置了,至少我现在用版本8是可以直接用的.
你下面给的代码怎么有一行没有命名的Max[data] - Min[data],写在那里看啥的?
你到底是想要使用怎样的箱体?你现在这种定义宽度的方法是错的,你可以看看帮助里的“更多信息”,里面给出了宽度的几种可用语法.最简单的修改方法是把你的
{Min[categories],Max[categories] ,categories}
改成
{categories}
当然我并不清楚你到底是想做怎样的分隔,所以……你说清楚些吧——还是说你想要这样的?:
{Sort@Flatten@{Max[data],Min[data],categories}}
1年前

相关推荐