草庐IT

scatter_hist

全部标签

python - matplotlib:hist2d 中的日志转换计数

在matplotlib中绘制二维直方图时,是否有一种简单的方法来获取对数转换计数?不同于pyplot.hist方法,pyplot.hist2d方法似乎没有日志参数。目前我正在做以下事情:importnumpyasnpimportmatplotlibasmplimportmatplotlib.pylabaspltmatrix,*opt=np.histogram2d(x,y)img=plt.imshow(matrix,norm=mpl.colors.LogNorm(),cmap=mpl.cm.gray,interpolation="None")它绘制了预期的直方图,但轴标签显示了bin的索

python - matplotlib hist() 中条形之间的间距有数千个 bin

我正在使用matplotlib的hist()函数或bar()制作直方图,我想使用>10,000个bin(一个bin代表一个大实体的每个坐标处的计数)。当我创建图形时,有什么方法可以在垂直条之间创建更多的空白吗?目前,直方图的每个条形之间没有空格。例如:#importsimportmatplotlibmatplotlib.use('Agg')importmatplotlib.pyplotaspltimportnumpyasnpimportrandom#Generatingdummydatacoordinate_counts=[]for__inrange(1,100000):coordin

python - 如何将 hist2d 图的无数据区域设置为零值颜色?

我正在跟踪对象在计算机屏幕特定区域的注视。我正在使用pyplot的hist2d函数构建凝视热图。这是一个简单的例子:figure()hist2d(xval,yval,bins=1000)xlim([-6,6])ylim([-4.5,4.5])如您所见,有一个重要区域超出了我的数据范围。但是,我想将此区域设置为蓝色,表示零值。我第一次尝试使用imshow可以在这里看到:figure()imshow(np.array([[0]*8]*12),extent=[-6,6,-4.5,4.5])hist2d(xval,yval,bins=1000)xlim([-6,6])ylim([-4.5,4.

python - matplotlib.scatter() 不能在 Python 3.6 上使用 Numpy

我很难理解为什么matplotlib.scatter()在使用Python3.6.3作为解释器时不断抛出以下异常,但在使用我的MacBook内置的2.7时工作正常:Traceback(mostrecentcalllast):File"/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/colors.py",line132,into_rgbargba=_colors_full_map.cache[c,alpha]TypeError:unhashabletype:'nu

python - Matplotlib Legend for Scatter 自定义颜色

我在这方面有点新手,我正在尝试创建一个具有自定义气泡大小和颜色的散点图。图表显示正常,但我如何获得说明颜色所指内容的图例。据我所知:inc=[]out=[]bal=[]col=[]fig=Figure()ax=fig.add_subplot(111)inc=(30000,20000,70000)out=(80000,30000,40000)bal=(12000,10000,6000)col=(1,2,3)leg=('proj1','proj2','proj3')ax.scatter(inc,out,s=bal,c=col)ax.axis([0,100000,0,100000])ax.s

python - matplotlib hist() 自动裁剪范围

我正在尝试在特定范围内制作直方图,但matplotlib.pyplot.hist()函数不断将范围裁剪到包含条目的容器中。玩具示例:importnumpyasnpimportmatplotlib.pyplotaspltx=np.random.uniform(-100,100,1000)nbins=100xmin=-500xmax=500fig=plt.figure();ax=fig.add_subplot(1,1,1)ax.hist(x,bins=nbins,range=[xmin,xmax])plt.show()给出范围为[-100,100]的图。为什么范围不是指定的[-500,50

python - 在二维 tf.Variable 中使用 tf.scatter_update

我正在关注这个Manipulatingmatrixelementsintensorflow.使用tf.scatter_update。但我的问题是:如果我的tf.Variable是二维的会怎样?比方说:a=tf.Variable(initial_value=[[0,0,0,0],[0,0,0,0]])例如,我如何更新每行的第一个元素并为其分配值1?我试过类似的东西forlineinrange(2):sess.run(tf.scatter_update(a[line],[0],[1]))但它失败了(我预料到了)并给我错误:TypeError:Input'ref'of'ScatterUpda

python - 使 pyplot.hist() 第一个和最后一个 bin 包含离群值

pyplot.hist()文档指定在为直方图设置范围时“忽略上下异常值”。是否有可能使直方图的第一个和最后一个bin包含所有异常值而不改变bin的宽度?例如,假设我想查看范围0-3的3个bin:0-1、1-2、2-3(让我们忽略为简单起见完全相等的情况)。我希望第一个bin包含从负无穷大到1的所有值,最后一个bin包含从2到无穷大的所有值。但是,如果我明确地将这些箱子设置为跨越该范围,它们将非常宽。我希望它们具有相同的宽度。我正在寻找的行为类似于Matlab中hist()的行为。显然我可以numpy.clip()数据并绘制它,这会给我想要的东西。但我对是否有针对此的内置解决方案很感兴趣

python - 使用 matplotlib imshow 和 scatter 获得相同的子图大小

我正在尝试在同一图中绘制图像(使用matplotlib.imshow)和散点图。尝试这样做时,图像看起来比散点图小。小示例代码如下所示:importmatplotlib.pyplotaspltimportnumpyasnpimage=np.random.randint(100,200,(200,200))x=np.arange(0,10,0.1)y=np.sin(x)fig,(ax1,ax2)=plt.subplots(1,2)ax1.imshow(image)ax2.scatter(x,y)plt.show()其中给出了下图:如何让两个子盆具有相同的高度?(和我想的宽度)我试过使用g

python - 无法使用灵活类型 plt.hist 执行 reduce

我有一个包含1000多个元素及其各自频率的数据集。我需要绘制前10个出现元素的直方图。我做到了:top_words=Counter(my_data).most_common()top_words_10=top_words[:10]plt.hist(top_words_10,label='True')得到了这个错误:TypeErrorTraceback(mostrecentcalllast)in()5printtop_words[:10]6---->7plt.hist(top_words_10)C:\Anaconda\lib\site-packages\numpy\core\_metho