小编mez*_*ano的帖子

如何在monaco编辑器实例中设置标签宽度?

我想在monaco编辑器的实例中设置缩进宽度(在空格中).

到目前为止,我已经能够通过在IEditorOptions初始化期间传入任何选项来自定义许多选项.也可以稍后使用updateOptions编辑器实例上的方法自定义这些选项,如以下示例所示:

// Many settings can be applied at initialization
var editor = monaco.editor.create(
  document.getElementById("editor"), {
    language: "html",
    value: "<p>Hello World!</p>",
});

// ... they can also be changed later ...
editor.updateOptions({
  lineNumbers: true,
})

// ... however, tabSize is not among the settings that can be modified --
// the following has no effect:
editor.updateOptions({
  tabSize: 2,
})
Run Code Online (Sandbox Code Playgroud)

但是,该接口中没有定义tabSize设置,而是一个单独的接口,我无法找到绑定(代码搜索找到接口定义).FormattingOptions

你能帮我调整一下这个设置吗?我的猜测是我误解了(其他优秀的)编辑器文档,所以任何导航它的帮助都会非常有帮助.

与往常一样,任何想法和提示都非常受欢迎. …

javascript typescript monaco-editor

7
推荐指数
1
解决办法
1535
查看次数

如何(有效地)生成不相交的集合,同时只使用一对元素?

我想要做的是将一组(n)项分成相同大小的组(大小为m的组,为简单起见,假设没有剩余,即n可被m整除).多次这样做,我想确保两个项目没有一对项目在同一组中.

为了使这一点更具体,为了构建六个项目中的两个项目的组A..F,曾经可以以不同的方式对该组进行五次分区:

  • (A, B),(C, D),(E, F)
  • (A, C),(B, E),(D, F)
  • (A, D),(B, F),(C, E)
  • (A, E),(B, D),(C, F)
  • (A, F),(B, C),(D, E)

同一组项目只能分为三组,不重叠对:

  • (A, B, C), (D, E, F)

(正如@DavidHammen在下面指出的那样,在这个例子中有不同的方法来制作分区.但是,一旦进行了一次分区,就不会有另一个第二次分割,它将所有项目对分开.这很好 - 我的应用程序没有不需要生成所有可能的全局分区方法,一个满足约束条件的解决方案就可以了


我现在的问题是:有没有办法有效地做到这一点?是否有技巧加速这些集的生成?

所以,到目前为止,我一直将此视为一个确切的覆盖问题,并使用回溯算法(DLX的变体)来解决它.这对于对很有效,但随着组变大,算法必须考虑爆炸的可能性的数量,并且处理变得非常难以处理.

我正在寻找的是加快速度的技巧.任何想法都非常受欢迎,特别是(但不限于): …

algorithm solver combinatorics constraint-programming disjoint-sets

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

Matplotlib:限制绘图宽度,同时允许灵活的高度

我想要实现的是具有等比例纵横比固定宽度动态选择高度的图。

\n\n

为了使这一点更加具体,请考虑以下绘图示例:

\n\n
import matplotlib as mpl\nimport matplotlib.pyplot as plt\n\ndef example_figure(slope):\n    #\xc2\xa0Create a new figure\n    fig = plt.figure()\n    ax = fig.add_subplot(111)\n\n    #\xc2\xa0Set axes to equal aspect ratio\n    ax.set_aspect(\'equal\')\n\n    # Plot a line with a given slope,\n    #\xc2\xa0starting from the origin\n    ax.plot([x * slope for x in range(5)])\n\n    # Output the result\n    return fig\n
Run Code Online (Sandbox Code Playgroud)\n\n

此示例代码将产生不同宽度的图形,具体取决于数据:

\n\n
example_figure(1).show()\n
Run Code Online (Sandbox Code Playgroud)\n\n

斜率为 1 的线

\n\n
example_figure(2).show()\n
Run Code Online (Sandbox Code Playgroud)\n\n

斜率为 2 的线

\n\n

Matplotlib 似乎将绘图调整到一定的高度,然后选择宽度以适应纵横比。对我来说理想的结果是相反的——上面的两个图将具有相同的宽度,但第二个图将是第一个图的两倍高。

\n\n
\n\n

奖励 — 难度级别:Gridspec …

python plot matplotlib

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