小编Mat*_*bst的帖子

如何动态更改定向 d3.js 力布局上方向箭头的位置和大小?

我目前正在我的力布局中实现箭头,如本示例(http://bl.ocks.org/mbostock/1153292)中所做的那样,效果非常好。然而,人们很快就会意识到箭头的位置和大小在这里是硬编码的,因为节点的大小永远不会改变。

我有一个图表,我动态更改节点大小,因此我希望箭头相应更新,否则它们会被节点覆盖或覆盖节点或只是不附加到节点。

我发现只有一篇文章(用箭头链接可变半径的节点)讨论了这个问题。然而,它没有得到回答,并且一张海报给出的答案是让边缘结束于节点的半径而不是中心,这不是我想做的事情。这需要不断地重新计算边缘位置,考虑到我拥有的边缘数量,这是不切实际的。

我认为这会相对简单,但一直无法弄清楚。我当前正在进行的更改是将标记创建移到节点生成下方,因为否则无法获取节点大小数据,除非我想运行我正在使用的大小方法,这将是巨大的浪费处理能力(我有数百个节点)。

我正在尝试什么(粗略的例子,我的代码有点复杂)

var path = svg.append("svg:g").selectAll("path")
    .data(force.links())
  .enter().append("svg:path")
    .attr("class", function(d) { return d.target.nodeID; });

var circle = svg.append("svg:g").selectAll("circle")
    .data(force.nodes())
      .enter().append("svg:circle")
    .attr("r", nodeSize) //Dynamically determine size
    .call(force.drag);

// Per-node markers, as each node could potentially have a unique size
svg.append("svg:defs").selectAll("marker")
    .data(nodes, function(d) { return d.nodeID; })
  .enter().append("svg:marker")
    .attr("id", function(d) { return d.nodeID; })
    .attr("viewBox", "0 -5 10 10")
    .attr("refX", function(d) { return d.r; }) //Offset by the radius of the node
    .attr("refY", 0)
    .attr("markerWidth", …
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js force-layout

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

删除var的内容

我希望在字符串达到14个字符时自动删除字符串的内容.

if(txt.length > 14){
    alert("");
    var res=texto.replace(texto.length," ");
    alert(res);
}
Run Code Online (Sandbox Code Playgroud)

我试图做一个替换,但它失败了,任何想法?

javascript

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

只允许在材料 ui 中达到一定长度的数字

我们只需要用户输入数字,它的最大长度应该是 3。我们如何在材料 ui 中实现这一点?

<TextField
  id="score"
  label="score"
  className={classes.textField}
  name="totalScore"
  margin="normal"
  defaultValue={score}
/>
Run Code Online (Sandbox Code Playgroud)

我们这里只需要数值

html javascript reactjs material-ui

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

PHP无法读取jQuery.ajax POST中发送的数据

JavaScript代码:

var data = {"hiSO": "my very complex - nested objects/arrays - data object"};

var j = jQuery.noConflict();
j.ajax({
  type: "POST",
  url: "postTestingResult.php",
  contentType: "application/json; charset=utf-8",
  data: {"data": JSON.stringify(data)},
  dataType: "json",
  success: ajaxSuccess,
  error: ajaxError
});
Run Code Online (Sandbox Code Playgroud)

PHP代码:

header('Content-Type: application/json');

if(!empty($_POST['data'])) {
    $data = json_decode($_POST['data']);

    //do things with data

    echo json_encode(array("success" => "thanks for the info!"));
} else {
    echo json_encode(array("error" => "'data' is not set or is NULL"));
}
Run Code Online (Sandbox Code Playgroud)

无论我如何构造数据,$ _POST ['data']似乎总是空的(具体来说,未定义).如果你想要我正在使用的数据对象的完整副本,请查看这个JSFiddle.感谢您的帮助,谢谢!

javascript php jquery json stringify

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

回流:让多个组件访问同一个商店

tl; dr:每次向其添加新图表时,GraphStore的UUID都会更改.这使我假设每个Graph都在创建自己独特的GraphStore.我希望他们共享一个商店.

我有一个包含多个Graph组件的React Dashboard组件.

My Graph组件从Dashboard传递id道具.使用该id,它然后在存储在GraphStore中的图形数组中查找数据.但是,在我看来,每个Graph都在创建自己的GraphStore,而不是全部共享相同的(期望的行为).如何让它们全部使用相同的GraphStore?

我考虑过从仪表板传入正确的GraphStore,但是我不可能让每个Graph都从GraphStore中监听更改.

我很高兴不使用Reflux.connectFilter,但它似乎是完美的事情.

我的代码(至少是关键部分):

仪表板

var React        = require('react');
var Graph        = require('./graph').Graph;
var GraphActions = require('./graphActions').GraphActions;
var UUID         = require('uuid');

var Dashboard = React.createClass({
    ...
    render: function() {
        var graphs = [];
        for(var i = 0; i < 10; ++i) {
            var id = UUID.v4();
            GraphActions.createGraph(id);
            graphs.push(
                <Graph id={id} />
            );
        }
    }
});

module.exports = {Dashboard: Dashboard}; 
Run Code Online (Sandbox Code Playgroud)

图形

var React      = require('react');
var GraphStore = require('./graphStore').GraphStore;

var Graph = React.createClass({
    mixins: [Reflux.connectFilter(GraphStore, …
Run Code Online (Sandbox Code Playgroud)

javascript datastore reactjs refluxjs

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

Javascript,从对象构造函数中的另一个onclick调用函数

我需要帮助this.load从内部调用函数thediv.onclick.我删除了大部分代码,所以它非常基本,但我真的找不到办法.这是我目前拥有的:

function CreatePizza(Name, Toppings) {
  this.n = Name;
  this.t = Toppings;
  this.load = function loadpizza() {
    //function that i want to be called
  }

  this.create = function button() {
    var thediv = document.createElement("div");
    thediv.onclick = function() {
      // Call this.load function here
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript

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

在 pandas 中,如何获得第二种模式

所以我summary report从 a生成 a data set。我用了.describe()做过繁重的工作,但它并没有生成我需要的一切,即数据集中第二个最常见的东西。

我注意到,如果我使用.mode()它会返回最常见的值,是否有一种简单的方法来获取第二个最常见的值?

python pandas

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

Windows注册表中的花括号是什么意思?

我一直想知道这一段时间,似乎无法得到答案.

在Windows(也许是其他地方),花括号是什么意思?我猜它与十六进制有关但不确定.

任何帮助,将不胜感激.

*更新

对不起,我没有那么具体.我在注册表中谈到,但我也在文件夹路径中看到它.

windows registry curly-braces

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