标签: histogram

如何使用R绘制长尾数据的直方图?

我的数据主要集中在一个小范围(1-10),但有很多点(比如10%)在(10-1000).我想为这些数据绘制直方图,重点放在(1-10),但也会显示(10-1000)数据.类似于直方图的对数刻度.

是的,我知道这意味着并非所有垃圾桶都具有相同的尺寸

一个简单的hist(x)给出 替代文字 虽然hist(x,breaks=c(0,1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2,3,4,5,7.5,10,15,20,50,100,200,500,1000,10000)))给了 替代文字

这些都不是我想要的.

按照这里的答案更新我现在产生的东西几乎就是我想要的东西(我用连续的情节代替条形直方图):

breaks <- c(0,1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2,4,8)
ggplot(t,aes(x)) + geom_histogram(colour="darkblue", size=1, fill="blue") + scale_x_log10('true size/predicted size', breaks = breaks, labels = breaks)![alt text][3]
Run Code Online (Sandbox Code Playgroud)

替代文字 唯一的问题是我想在比例尺和实际条形图之间进行匹配.这样做有两个选择:一个是简单地使用绘制条形的实际边距(如何?)然后得到"丑陋"的x轴标签,如1.1754,1.2985等.另一个,我更喜欢,是控制实际使用的箱子边距使他们匹配休息时间.

r histogram

16
推荐指数
2
解决办法
2万
查看次数

是否有功能可以检索熊猫系列中的直方图计数?

有一种绘制系列直方图的方法,但是有一个函数可以检索直方图计数以在其上进行进一步的计算吗?

我继续使用numpy的函数来执行此操作,并在需要时将结果转换为DataFrame或Series.一直与熊猫物体呆在一起会很好.

series histogram pandas

16
推荐指数
3
解决办法
1万
查看次数

ggplot2直方图中每个面的不同中断

ggplot2挑战的latticist需要帮助:在直方图中请求变量per-facet中断的语法是什么?

library(ggplot2)
d = data.frame(x=c(rnorm(100,10,0.1),rnorm(100,20,0.1)),par=rep(letters[1:2],each=100))
# Note: breaks have different length by par
breaks = list(a=seq(9,11,by=0.1),b=seq(19,21,by=0.2))
ggplot(d, aes(x=x) ) + 
  geom_histogram() + ### Here the ~breaks should be added
  facet_wrap(~ par,  scales="free")
Run Code Online (Sandbox Code Playgroud)

正如jucor所指出的,这里还有一些解决方案.

根据特殊要求,并说明为什么我不是一个伟大的ggplot粉丝,lattice版本

library(lattice)
d = data.frame(x=c(rnorm(100,10,0.1),rnorm(100,20,0.1)),par=rep(letters[1:2],each=100))
# Note: breaks have different length by par
myBreaks = list(a=seq(8,12,by=0.1),b=seq(18,22,by=0.2))
histogram(~x|par,data=d,
          panel = function(x,breaks,...){
            # I don't know of a generic way to get the 
            # grouping variable with histogram, so 
            # this is not …
Run Code Online (Sandbox Code Playgroud)

r histogram ggplot2

16
推荐指数
2
解决办法
6391
查看次数

R-根据因子水平分割直方图

这是我的数据:

type<-rep(c(0,1),100) 
diff<-rnorm(100)
data<-data.frame(type,diff)
Run Code Online (Sandbox Code Playgroud)

如果我想绘制历史图diff,我这样做:

hist(data$diff)
Run Code Online (Sandbox Code Playgroud)

但是我想要做什么来分割我的直方图type.我能做到这一点:

par(mfrow=c(1,2))
hist(data$diff[data$type==0])
hist(data$diff[data$type==1])
Run Code Online (Sandbox Code Playgroud)

但这给我的是两个不同的直方图.我想要做的就是生产出一个直方图diff0一侧及diff1,在另一侧.像这样的东西,条形连续,没有断裂或边界.这可能意味着轴将被分成两个因子. 在此输入图像描述

r histogram levels

16
推荐指数
2
解决办法
6万
查看次数

在MATLAB极坐标图上修复径向轴

我在MATLAB中使用极坐标图(POLAR(THETA,RHO)).

是否有一种简单的方法来确定径向轴的范围,比如1.5?

我正在寻找类似于笛卡尔坐标轴的xlim,ylim命令的东西.尚未在文档中找到任何内容.

matlab plot histogram polar-coordinates

15
推荐指数
3
解决办法
4万
查看次数

在matplotlib/Python中为条形图单独标记的条形图

我试图在Python中创建字母频率的条形图.我认为实现这一目标的最佳方法是matplotlib,但我无法破译文档.是否可以标记matplotlib.pyplot.hist图的条形,每个条形码只有一个字母,而不是数字轴?我认为一定是,但我之前没有使用过matplotlib.

这是我之后的图形,呈现为文本:

|
|    *
|    *  *
| *  *  *
+----------
  A  B  C
Run Code Online (Sandbox Code Playgroud)

python plot label matplotlib histogram

15
推荐指数
1
解决办法
3万
查看次数

大阵列的Numpy直方图

我有一堆csv数据集,每个大小约10Gb.我想从他们的列生成直方图.但似乎在numpy中执行此操作的唯一方法是首先将整个列加载到numpy数组中,然后调用numpy.histogram该数组.这会消耗不必要的内存量.

numpy支持在线分类吗?我希望能够在读取它们的同时逐行迭代我的csv.这种方式在任何时候最多一行都在内存中.

不难自我动手,但想知道是否有人已经发明了这个轮子.

python numpy histogram scipy

15
推荐指数
3
解决办法
1万
查看次数

R从原始数据生成2D直方图

我在2D,x,y中有一些原始数据,如下所示.我想从数据中生成二维直方图.通常,将x,y值除以大小为0.5的二进制数,并计算每个二进制数中的出现次数(同时对x和y).有没有办法做到这一点?

> df
            x         y
1   4.2179611 5.7588577
2   5.3901279 5.8219784
3   4.1933089 6.4317645
4   5.8076411 5.8999598
5   5.5781166 5.9382342
6   4.5569735 6.7833469
7   4.4024492 5.8019719
8   4.1734975 6.0896355
9   5.1707871 5.5640962
10  5.6380258 6.9112775
11  4.6405353 5.2251746
12  4.1809004 6.1127144
13  4.2764079 5.4598799
14  5.4466446 6.0130047
15  5.2443804 5.5421851
16  5.7521515 5.4115965
17  4.9667564 5.3519795
18  4.5007141 6.8669231
19  5.0268273 5.7681888
20  4.4738948 6.4241168
21  4.4116357 5.9819519
22  4.5741988 6.4595129
23  4.0839075 6.8105259
24  4.7154364 6.5054761
25  4.8986785 5.5511226 …
Run Code Online (Sandbox Code Playgroud)

2d r histogram raw-data

15
推荐指数
3
解决办法
2万
查看次数

pylab直方图摆脱了南方

当我的一些数据包含"非数字"值时,我在制作直方图时遇到问题.我可以通过使用nan_to_numnumpy 摆脱错误,但是我得到了很多零值,这也搞乱了直方图.

pylab.figure()
pylab.hist(numpy.nan_to_num(A))
pylab.show()
Run Code Online (Sandbox Code Playgroud)

因此,我们的想法是制作另一个阵列,其中所有的纳米值都消失了,或者只是以某种方式在直方图中掩盖它们(最好使用一些内置方法).

python numpy matplotlib nan histogram

15
推荐指数
1
解决办法
2万
查看次数

为加权值创建直方图

如果我有一个矢量(例如v<-runif(1000)),我可以绘制它的直方图(它或多或少看起来像水平线,因为v它是来自均匀分布的样本).

但是,假设我有一个向量及其相关权重(例如,w<-seq(1,1000)除此之外v<-sort(runif(1000))).例如,这是table()一个更大的数据集的结果.

如何绘制新的直方图?(它应该看起来更像是y=x这个例子中的线).

我想我可以table通过使用rep(hist(rep(v,w)))反转效果但是这个"解决方案"看起来很丑陋且资源丰富(创建一个大小的中间向量sum(w)),它只支持整数权重.

plot r histogram weighted-graph

15
推荐指数
3
解决办法
1万
查看次数