柱状图直方图
直方图对于查看(或真正地摸索)数据点的分布是很有效的。查看下面我们以频率和 IQ 做的直方图。我们可以清跋扈地看稻翱中心集合,并且能看到中位数是若干。我们也可以看到它呈正态分布。应用直方图真得能清楚地出现出各个组的频率之间的相对差别。组的应用(离散化)真正地赞助我们看到了“加倍宏不雅的图形”,然而当我们应用所有没有离散组的数据点时,将对可视化可能造成很多干扰,使得看清真正产生了什么变得艰苦。

下面是在 Matplotlib 中的直方图代码。有两个参数须要留意一下:起首,参数 n_bins 控制我们想要在直方图中有若干个离散的组。更多的组将给我们供给加倍完美的信息,然则也许也会引进干扰,使得我们远离全局;另一方面,较少的组给我们一种更多的是“鸟瞰图”和没有更多细节的全局图。其次,参数 cumulative 是一个布尔值,许可我们选择直方图是否为累加的,根本上就是选择是 PDF(Probability Density Function,概率密度函数)照样 CDF(Cumulative Density Function,累积密度函数)。
- def histogram(data, n_bins, cumulative=False, x_label = "", y_label = "", title = ""):
- _, ax = plt.subplots()
- ax.hist(data, n_bins = n_bins, cumulative = cumulative, color = '#539caf')
- ax.set_ylabel(y_label)
- ax.set_xlabel(x_label)
- ax.set_title(title)
想象一下我们想要比较数据中两个变量的分布。有人可能会想你必须制造两张直方图,并且把它们并排放在一路进行比较。然而,实际上有一种更好的办法:我们可以应用不合的透明度对直方图进行叠加覆盖。看下图,平均分布的透明度设置为 0.5 ,使得我们可以看到他背后的图形。如许我们就可以直接在同一张图表里看到两个分布。

对于重叠的直方图,须要设置一些器械。起首,我们设置可同时容纳不合分布的横轴范围。根据这个范围和期望的组数,我们可以真正地计算出每个组的宽度。最后,我们在同一张图上绘制两个直方图,个中有一个稍微更透明一些。

- def histogram(data, n_bins, cumulative=False, x_label = "", y_label = "", title = ""):
- _, ax = plt.subplots()
- ax.hist(data, n_bins = n_bins, cumulative = cumulative, color = '#539caf')
- ax.set_ylabel(y_label)
- ax.set_xlabel(x_label)
- ax.set_title(title)

惯例的柱状图如下面的图1。在 barplot() 函数中,xdata 表示 x 轴上的标记,ydata 表示 y 轴上的杆高度。误差条是一条以每条柱为中间的额外的线,可以画出标准误差。
分组的柱状图让我们可以比较多个分类变量。看看下面的图2。我们比较的第一个变量是不合组的分数是若何变更的(组是G1,G2,……等等)。我们也在比较性别本身和色彩代码。看一下代码,y_data_list 变量实际上是一个 y 元素为列表的列表,个中每个子列表代表一个不合的组。然后我们对每个组进行轮回,对于每一个组,我们在 x 轴上画出每一个标记;每个组都用彩色进行编码。
推荐阅读 HTTPS那些协议:TLS, SSL, SNI, ALPN, NPN 沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践!
本文存眷个中 Web 办事(HTTPS)相干>>>详细阅读 地址:http://www.17bianji.com/lsqh/40891.html 1/2 1