小编wrk*_*yle的帖子

Matplotlib:如何制作具有相等面积区间的直方图?

给定一些任意分布后的数字列表,如何定义bin位置,matplotlib.pyplot.hist()使每个bin中的区域等于(或接近)某个恒定区域,A?该区域的计算方法是将箱子中的物品数量乘以箱子的宽度,其值不应大于A.

这是一个MWE,用于显示具有正态分布的样本数据的直方图:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.randn(100)
plt.hist(x, bin_pos)
plt.show()
Run Code Online (Sandbox Code Playgroud)

bin_pos是一个表示箱子边界位置的列表(参见此处的相关问题).

python matplotlib histogram binning

6
推荐指数
1
解决办法
3119
查看次数

GTK/Python:如何获取按键事件来编辑和导航 TreeView 单元格?

我已经连接到“按键事件”来浏览 Gtk.TreeView。我成功地让Tab向右导航(跨行)。我在使用Return向下导航时遇到问题。当一个单元格被选中时,我可以编辑它的内容,但我必须按一次Return来提交值,然后再次导航到下面的单元格。我希望行为像Tab 一样,我按一次Return并提交更改并且所选单元格向下移动一个。我正在寻找类似电子表格的行为。

我猜这里与键绑定存在冲突,即第一个Return press 事件提交更改,第二个Return press 事件向下导航。此外,我尝试连接Shift_L键(而不是Return)以向下导航,当它一键导航时,它也无法将更改提交到单元格。

如果需要,我会创建一个 MWE,但我认为那里的某个人可能知道这里的问题,并且可以为我指明正确的方向或教育我。

编辑:好的,我花时间将所有内容精简为一个 MWE,任何人都可以提供帮助。相关的代码部分是名为onTreeNavigateKeyPress的回调函数。其中,麻烦的条件是elif keyname == 'Return'。如果您在您的机器上运行它,您将看到您可以将单元格值和Tab更改为右侧,并且Tab都向右导航并将更改的值提交到单元格。使用Return键执行相同操作将提交更改,但您需要再次按Return以向下导航。叫我迂腐,但我讨厌那样。正如您从代码中看到的,我尝试调用Gtk.TreeView.set_cursor方法直接使用新位置以及使用Glib.timeout_add从新线程调用它。

#!/usr/bin/env python3`

from gi.repository import Gtk, Gdk, GLib


class linFitApp(Gtk.Window):

    def __init__(self):

        Gtk.Window.__init__(self, title='Testing Keypress Events on Treeview')
        self.set_position(Gtk.WindowPosition.CENTER)
        self.set_default_size(400, 300)
        self.set_border_width(5)

        self.mainBox = Gtk.Box()
        self.scrollTableWindow = Gtk.ScrolledWindow()
        self.scrollTableWindow.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) …
Run Code Online (Sandbox Code Playgroud)

python gtk treeview keypress

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

标签 统计

python ×2

binning ×1

gtk ×1

histogram ×1

keypress ×1

matplotlib ×1

treeview ×1