小编Chr*_*son的帖子

Plotly Scatter3d:如何强制 3D 轴具有相同的比例/纵横比?

据我了解,这与 2D 绘图不同,并且可能无法通过plotly API 实现。

我正在绘制空间数据,并且我的数据看起来有偏差,因为 X 轴上的 1 米不等于 Y 轴上的 1 米,等等。

例子:

  • x 值在 [0, 30] 范围内
  • y 值范围 [0, 120]
  • z 值在 [0, 1] 范围内

默认情况下,当 z 的差异在空间上非常小时,它们看起来会被夸大;无论数据规模如何,plotly 都使用立方体来可视化整个范围。如果我将每个轴的范围设置为 [0, 120],我可视化的数据将是平方/相同比例,但在图底部非常小,使其难以查看和交互。

python data-visualization plotly

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

使用chrome.tabs.captureVisibleTab的屏幕截图

我正在尝试使用chrome.tabs.captureVisibleTab捕获页面的可见区域.以下是拨打电话的代码:

chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
    if (request.name == 'screenshot') {
        chrome.tabs.captureVisibleTab(null, null, function(dataUrl) {
            sendResponse({ screenshotUrl: dataUrl });
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

但是当我尝试捕获选项卡时,我收到此错误:

运行tabs.captureVisibleTab时未经检查的runtime.lastError:'activeTab'权限无效,因为尚未调用此扩展.

这是我的清单文件:

   {
  "manifest_version": 2,

  "name": "Empathy",
  "version": "0.1",

  "description": "Simulate accessibility issues for websites.",

  "browser_action": {
    "default_icon": "empathy19.png",
    "default_title": "Empathy!"
  },

  "permissions": [
    "activeTab",
    "contextMenus",
    "desktopCapture",
    "tabCapture",
    "tts" // Text-to-speech
  ],

  "background":   {
    "scripts": [
      "boot.js"
    ],
    "persistent": false
  },

  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": [
        "src/helpers.js",
        "src/colorblindness.js",
        "lib/colorvision.js",
        "lib/html2canvas.js"
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)
  • 我有活动的标签权限
  • 该调用是通过后台脚本进行的 …

javascript google-chrome-extension

4
推荐指数
1
解决办法
1846
查看次数

pyparsing:组合多个元素的setResultsName

这是我正在解析的文本:

x ~ normal(mu, 1)
y ~ normal(mu2, 1)
Run Code Online (Sandbox Code Playgroud)

解析器使用以下方式匹配这些行:

model_definition = Group(identifier.setResultsName('random_variable_name') + '~' + expression).setResultsName('model_definition')

// end of line: .setResultsName('model_definition')
Run Code Online (Sandbox Code Playgroud)

问题是,当有两个模型定义时,它们不会在 ParseResults 对象中单独命名:

在此输入图像描述

看起来第一个被第二个覆盖了。我命名它们的原因是为了使执行这些行变得更容易 - 这样我(希望)不必弄清楚在评估时发生了什么 - 解析器已经标记了所有内容。我如何才能同时标记model_definition这两个标签?model_definition如果能保存找到的每个模型定义的列表,那就太好了。

以防万一,这是我的更多代码:

model_definition = Group(identifier.setResultsName('random_variable_name') + '~' + expression).setResultsName('model_definition')
expression << Or([function_application, number, identifier, list_literal, probability_expression])
statement = Optional(newline) + Or([model_definition, assignment, function_application]) + Optional(newline)
line = OneOrMore('\n').suppress()
comment = Group('#' + SkipTo(newline)).suppress()
program = OneOrMore(Or([line, statement, comment]))
ast = program.parseString(input_string)
return ast
Run Code Online (Sandbox Code Playgroud)

python pyparsing

2
推荐指数
1
解决办法
1958
查看次数

为什么这是假的?`SomeClass.method是SomeClass.method`

以此代码为例:

class SomeClass():
    def a_method(self):
        pass

print(SomeClass.a_method is SomeClass.a_method)     # Example 1: False
print(SomeClass.a_method == SomeClass.a_method)     # Example 2: True
print(SomeClass().a_method is SomeClass().a_method) # Example 3: False
print(SomeClass().a_method == SomeClass().a_method) # Example 4: False
Run Code Online (Sandbox Code Playgroud)
  • 例1:我猜他们是同一个对象.Python每次引用时都会复制该方法吗?
  • 例2:预期.
  • 示例3:预期,因为它们是不同的对象.
  • 示例4:为什么此输出不匹配示例2?

python python-2.7 python-descriptors

2
推荐指数
1
解决办法
125
查看次数

Clojure :( double 0)vs(cast(class 0.0)0)

我正在尝试动态转换列表的值 - 我不需要,但我很好奇这里的问题是什么:

(double 0)           ; => 0.0

(class 0.0)          ; => java.lang.Double

(cast (class 0.0) 0) ; =>  ClassCastException Cannot cast java.lang.Long to 
                     ;     java.lang.Double java.lang.Class.cast
Run Code Online (Sandbox Code Playgroud)

我猜它与资本D有关Double.为什么我不能cast按照上面的代码尝试的方式?

casting clojure

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