我正在尝试使用以下代码创建分组值的堆叠直方图:titanic.groupby('Survived').Age.hist(stacked=True)但我得到的直方图没有堆积条。如何在不直接使用matplotlib或遍历组的情况下堆叠直方图的条形图?使用的数据集:https://www.udacity.com/api/nodes/5454512672/supplemental_media/titanic-datacsv/download 最佳答案 改进答案,最好的方法是:titanic.pivot(columns='Survived')
我正在尝试拟合用CCD上的光谱仪检测到的线轮廓。为了便于考虑,我提供了一个演示,如果解决了,它与我实际上想要解决的问题非常相似。我看过这个:https://stats.stackexchange.com/questions/46626/fitting-model-for-two-normal-distributions-in-pymc以及其他各种问题和答案,但他们所做的事情与我想做的事情根本不同。importpymcasmcimportnumpyasnpimportpylabaspldefGaussFunc(x,amplitude,centroid,sigma):returnampli
我正在寻找有关如何计算直方图的最大y值的建议。#simplehistogram.howcanIobtainthemaximumvalueof,say,xandy?importmatplotlib.pyplotasplthdata=randn(500)x=plt.hist(hdata)y=plt.hist(hdata,bins=40) 最佳答案 hist返回包含直方图bin位置和y值的元组。试试这个:y,x,_=plt.hist(hdata)printx.max()printy.max()请注意len(y)=len(x)-1。
我只是想使用新的OpenCVPython接口(interface)(cv2)绘制直方图。下面是我试过的代码:importcv2importnumpyasnpimporttimeimg=cv2.imread('zzz.jpg')h=np.zeros((300,256,3))b,g,r=cv2.split(img)bins=np.arange(256).reshape(256,1)color=[(255,0,0),(0,255,0),(0,0,255)]foritem,colinzip([b,g,r],color):hist_item=cv2.calcHist([item],[0],Non
我想从Hacker'sDelight中绘制这样的图:在Python中有哪些方法可以实现这一点?理想的解决方案是可以轻松地以交互方式调整图形(更改当前正在观察的X/Y切片)。matplotlib和mplot3d模块都没有此功能AFAICT。我找到了mayavi2,但它非常笨重(我什至找不到调整大小的选项),而且似乎只有从ipython运行时才能正常工作。或者gnuplot可以工作,但我不想为此学习另一种语言语法。 最佳答案 由于TJD指出的示例似乎“难以理解”,这里是一个修改版本,其中包含一些可能有助于澄清问题的注释:#!/usr/b
烦人的奇怪问题,我还没能在这个网站上找到解决方案(尽管问题已经弹出)我正在尝试制作一个直方图,其中bin具有“条形样式”,垂直线将每个bin分开,但无论我如何更改histtype构造函数,我都会得到一个阶梯填充的直方图。这是我的代码。注意我正在使用通过anaconda安装的jupyternotebook和python版本2.7.6importnumpyasnpimportmatplotlib.pyplotaspltx=np.random.rand((100))bins=np.linspace(0,2,40)plt.title('RelativeAmplitude',fontsize
当我的一些数据包含“非数字”值时,我在制作直方图时遇到了问题。我可以通过使用numpy中的nan_to_num来消除错误,但是我得到了很多零值,这也弄乱了直方图。pylab.figure()pylab.hist(numpy.nan_to_num(A))pylab.show()所以我们的想法是制作另一个数组,其中所有nan值都消失了,或者只是以某种方式在直方图中屏蔽它们(最好使用一些内置方法)。 最佳答案 使用A[~np.isnan(A)]从数组中删除np.nan值,这将选择A中的所有条目>哪些值不是nan,因此在计算直方图时将排除它
假设我有一个这样创建的DataFrame:importpandasaspds1=pd.Series(['a','b','a','c','a','b'])s2=pd.Series(['a','f','a','d','a','f','f'])d=pd.DataFrame({'s1':s1,'s2',s2})真实数据中的字符串存在相当多的稀疏性。我想创建字符串出现的直方图,看起来像d.hist()为s1和s2(每个子图一个)生成的字符串(例如,带有子图)。只是做d.hist()给出了这个错误:/Library/Python/2.7/site-packages/pandas/tools/plo
我正在尝试匹配两个图像的直方图(在MATLAB中这可以使用imhistmatch来完成)。标准Python库中是否有可用的等效函数?我看过OpenCV、scipy和numpy,但没有看到任何类似的功能。 最佳答案 我之前写过一个答案here解释如何对图像直方图进行分段线性插值,以强制执行特定比例的高光/中间调/阴影。相同的基本原则是histogrammatching的基础在两个图像之间。本质上,您计算源图像和模板图像的累积直方图,然后进行线性插值以找到模板图像中与源图像中唯一像素值的分位数最匹配的唯一像素值:importnumpya
我正在尝试获取包含已分箱数据的直方图。我一直在尝试为此使用bar(),但我似乎无法弄清楚如何使其成为阶梯状直方图likethisonefromtheexamples,而不是填充直方图。 最佳答案 您可以通过偏移数据并改用plot来作弊:frommatplotlibimportpyplotimportnumpyasnp#sampledata:x=np.arange(30)y=np.cumsum(np.arange(30))#offsetthexforhorizontal,repeattheyforvertical:x=np.ravel