标签: loglog

用于计算大基数的LogLog和HyperLogLog算法

哪里可以找到LogLog算法的有效实现?试图自己实现它,但我的草案实现产生了奇怪的结果.

是:

function LogLog(max_error, max_count)
{
    function log2(x)
    {
         return Math.log(x) / Math.LN2;
    }

    var m = 1.30 / max_error;
    var k = Math.ceil(log2(m * m));
    m = Math.pow(2, k);

    var k_comp = 32 - k;

    var l = log2(log2(max_count / m));
    if (isNaN(l)) l = 1; else l = Math.ceil(l);
    var l_mask = ((1 << l) - 1) >>> 0;

    var M = [];
    for (var i = 0; i < m; ++i) M[i] = 0; …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm counting loglog hyperloglog

58
推荐指数
1
解决办法
6352
查看次数

log-log plot with seaborn jointgrid

我正在尝试使用seaborn JointGrid对象创建一个带有KDE和与每个轴相关联的直方图的loglog图.这让我非常接近,但直方图箱不能很好地转换为logspace.有没有办法在不重新创建边缘轴的情况下轻松完成这项工作?

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

data = sns.load_dataset('tips')
g = sns.JointGrid('total_bill', 'tip', data)
g.plot_marginals(sns.distplot, hist=True, kde=True, color='blue')
g.plot_joint(plt.scatter, color='black', edgecolor='black')
ax = g.ax_joint
ax.set_xscale('log')
ax.set_yscale('log')
g.ax_marg_x.set_xscale('log')
g.ax_marg_y.set_yscale('log')
Run Code Online (Sandbox Code Playgroud)

输出图

matplotlib seaborn loglog

17
推荐指数
1
解决办法
7658
查看次数

在条形图Matploblib中设置双轴对数

我已经对数据进行分箱以绘制直方图。因此,我正在使用该plt.bar()功能。我想将绘图中的两个轴都设置为对数刻度。

如果设置plt.bar(x, y, width=10, color='b', log=True),则可以将y轴设置为log,但不能设置x轴为对数。plt.xscale('log')不幸的是,我尝试了这种方法。x轴刻度消失,条形的大小没有相等的宽度。

在此处输入图片说明

我将不胜感激。

python matplotlib bar-chart loglog

5
推荐指数
1
解决办法
3859
查看次数

在matplotlib中将直线拟合到对数 - 对数曲线

我和我有一个情节,两个轴都是对数的.我有pyplot的loglog功能来做到这一点.它还给出了两个轴上的对数刻度.

现在,使用numpy我直线到我拥有的点集.但是,当我在情节上绘制这条线时,我无法得到一条直线.我得到一条曲线. 蓝线是所谓的

蓝线是所谓的"直线".它没有直接绘制.我想将这条直线拟合到由红点绘制的曲线上

这是我用来绘制点数的代码:

import numpy
from matplotlib import pyplot as plt
import math
fp=open("word-rank.txt","r")
a=[]
b=[]

for line in fp:
    string=line.strip().split()
    a.append(float(string[0]))
    b.append(float(string[1]))

coefficients=numpy.polyfit(b,a,1)
polynomial=numpy.poly1d(coefficients)
ys=polynomial(b)
print polynomial
plt.loglog(b,a,'ro')
plt.plot(b,ys)
plt.xlabel("Log (Rank of frequency)")
plt.ylabel("Log (Frequency)")
plt.title("Frequency vs frequency rank for words")
plt.show()
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib loglog

4
推荐指数
2
解决办法
8296
查看次数

Python:在循环中以对数对数比例绘制误差条,然后保存图像

我有 58 个文件需要绘制。其中一些是空的(并不重要,我已经用 if 条件跳过了它们)。我需要使用对数刻度和误差线绘制文件中的数据。我想最后保存这些情节。我正在使用Python,spyder。我编写了以下代码:

route='/......./'
L=np.arange (1,59, 1)
for i in range (L.shape[0]):
    I=L[i]
    name_sq= 'Spectra_without_quiescent_'+('{}'.format(I))+'.dat' 
    Q=np.loadtxt(route+name_sq)
    if (len(Q) != 0):
        x=Q[:,1]
        y=Q[:,2]
        z=Q[:,3]
        fig=plt.errorbar(x,y,yerr=z, fmt = 'b')
        fig.set_yscale('log')
        fig.set_xscale('log')
        xlabel='Frequency'
        ylabel='Flux'
        title='Spectrum_'+('{}'.format(I))+'.dat'
        name='Spectrum_without_quiescent_'+('{}'.format(I))+'.pdf'
        fig.savefig(route+name, fig)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,出现以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
    execfile(filename, namespace)
  File "/media/chidiac/My Passport/DOCUMENTS/My_Publications/2-3C273_radio_spectra/Maximum_flux_code.py", line 49, in <module>
    fig.set_yscale('log')
AttributeError: 'ErrorbarContainer' object has no attribute 'set_yscale'
Run Code Online (Sandbox Code Playgroud)

我仍然是Python的初学者,我找不到错误,或者如何修复它。非常感谢任何帮助。

python plot loglog errorbar

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