我有一个data包含 9 个预测变量和一个ind值为 0 到 3 的指示变量的数据框。我需要为给定值为 的所有变量制作直方图ind。我已经写了一些代码;没有更好的主意,我只是将数据集分为 4 个不相交的子集。
data_no0 <- data[data$ind == 0, -1]
data_no1 <- data[data$ind == 1, -1]
data_no2 <- data[data$ind == 2, -1]
data_no3 <- data[data$ind == 3, -1]
ggplot(gather(data_no1), aes(value)) +
geom_histogram(bins = 6) +
facet_wrap(~key, scales = 'free_x')
Run Code Online (Sandbox Code Playgroud)
更重要的是,我希望能够比较不同值的直方图ind,因此我想分别将 x 的最小值和最大值固定为(即第一个变量)min(data$avg_f0env_sma0)和max(data$avg_f0env_sma)。
我尝试这样做:
scales_x <- list(
'avg_jitterlocal_sma'
= scale_y_continuous(limits = c(min(data$avg_jitterlocal_sma), max(data$avg_jitterlocal_sma))),
'avg_jitterddp_sma'
= scale_y_continuous(limits = c(min(data$avg_jitterddp_sma), max(data$avg_jitterddp_sma))),
'avg_shimmerlocal_sma'
= scale_y_continuous(limits …Run Code Online (Sandbox Code Playgroud) 考虑以下简单示例:
# E. Musk in Grunheide
set.seed(22032022)
# generate random numbers
randomNumbers <- rnorm(n = 1000, mean = 10, sd = 10)
# empirical sd
sd(randomNumbers)
#> [1] 10.34369
# histogram
hist(randomNumbers, probability = TRUE, main = "", breaks = 50)
# just for illusatration purpose
###
# empirical density
lines(density(randomNumbers), col = 'black', lwd = 2)
# theortical density
curve(dnorm(x, mean = 10, sd = 10), col = "blue", lwd = 2, add = TRUE)
###
Run Code Online (Sandbox Code Playgroud)

由reprex 包(v2.0.1)于 …
ax.set_axisbelow(True)可以使用或plt.rc('axes', axisbelow=True)(其他堆栈问题)将网格线设置在填充区域的图后面。但使用时alpha<1网格线也会出现在前面。有没有办法仍然隐藏网格线或应用选择性alpha混合?我正在考虑一种基于对象的方法,其中指定对象 a 和 b 之间的 alpha。
答案应该也适用于fill_between。
重现问题的示例:
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(2022)
x1 = np.random.normal(0, 0.8, 1000)
x2 = np.random.normal(-2, 1, 1000)
x3 = np.random.normal(3, 2, 1000)
kwargs = dict(histtype='stepfilled', alpha=.3, density=True, bins=40)
fig, ax = plt.subplots(figsize=(9, 6))
ax.hist(x1, **kwargs)
ax.hist(x2, **kwargs)
ax.hist(x3, **kwargs)
ax.set_axisbelow(True)
ax.yaxis.grid(color='gray', linestyle='dashed')
ax.xaxis.grid(color='gray', linestyle='dashed')
Run Code Online (Sandbox Code Playgroud)
这是数据:
111, 3
122, 4
155, 3
192, 5
11, 9
123, 10
120, 23
Run Code Online (Sandbox Code Playgroud)
现在我怎么能用这两组数据绘制直方图matplotlib.请帮忙.
我想用histfit从图中得到密度曲线的方程.
我看到使用ksdensity函数可以得到一个点向量.这是最好的方法吗?
我一直在玩RMagick的color_histogram方法,以获得量化的8位图像中的颜色直方图.
然而,虽然我应该从这个方法返回一个哈希,但我得到了一些东西.检查"哈希"时IRB的输出如下所示:
=> {red=1907, green=1893, blue=2716, opacity=0=>25801, red=21141, green=14902, blue=13109, opacity=0=>3744, red=35552, green=15344, blue=8229, opacity=0=>1427, red=48734, green=19120, blue=8539, opacity=0=>1280, red=62091, green=22662, blue=8733, opacity=0=>75158, red=57917, green=33805, blue=24932, opacity=0=>275, red=47046, green=39657, blue=37365, opacity=0=>1873, red=64379, green=64336, blue=64330, opacity=0=>10442}
我在这里做错了什么想法?
您好我想将直方图分成几个不同颜色的部分.例如,蓝色值小于0.3,红色值介于0.3和0.5之间,绿色值介于0.5和0.7之间......等等.
任何的想法?
我正在尝试设计一个水平直方图,我只遇到了Mike Bostock 的垂直直方图.正如这里提到的,稍微讨厌的解决方案是对包含直方图的元素进行变换旋转.或者不使用d3.layout.histogram()并手动写出代码.在D3中有没有办法做一些事情
d3.layout.histogram().orient("left")
Run Code Online (Sandbox Code Playgroud) 我有以下结构:
T = struct('Time',{20, 40, 50, 80, 120, 150, 190, 210, 250, 260, 270, 320, 350, 380, 385, 390, 395},...
'Trial',{'correct','incorrect','incorrect','correct','correct','correct','incorrect','incorrect','correct','correct','correct','incorrect','incorrect','correct','correct','incorrect','incorrect'});
Run Code Online (Sandbox Code Playgroud)
我想执行以下两个任务:
我希望得到'incorrect'每100毫秒时间窗口(间隔)的概率.
例如,对于第一个时间窗口,前100毫秒,有4个试验,2个是'incorrect'4个,所以它会是2/4 = 0.5
我想绘制每个100毫秒时间窗口概率的条形图.所述x轴是时间,而每个条形的宽度将是100毫秒,其高度为用于该特定窗口的概率.
我非常感谢任何帮助.
对于数据diffs07和diffs14,在Matlab我可以通过简单地利用获得的数据分级的X和Y坐标:
[ys07, xs07] = hist(-log10(diffs07), 250);
[ys14, xs14] = hist(-log10(diffs14), 250);
Run Code Online (Sandbox Code Playgroud)
在Python,但是,我无法找到一个简单的方法,所以我使用:
xs_diffs = np.linspace(0, 17, 250)
dx = xs_diffs[1]-xs_diffs[2]
ys07 = []
ys14 = []
for x in xs_diffs:
ys07.append( len( [ ty for ty in diffs07 if (-np.log10(ty)-dx/2.0 < x and -np.log10(ty) < x+dx/2.0) ] ) )
ys14.append( len( [ ty for ty in diffs14 if (-np.log10(ty)-dx/2.0 < x and -np.log10(ty) < x+dx/2.0) ] ) )
plt.plot(xs_diffs, ys07, 'r.', xs_diffs, …Run Code Online (Sandbox Code Playgroud) histogram ×10
matlab ×3
python ×3
r ×3
ggplot2 ×2
matplotlib ×2
plot ×2
probability ×2
arrays ×1
d3.js ×1
hash ×1
imagemagick ×1
javascript ×1
rmagick ×1
ruby ×1
seaborn ×1
struct ×1