json表示为d3强制定向网络(json representation for d3 force directed networks)
我正在尝试使风险的网络可视化。 您可以在http://bl.ocks.org/4683850上查看所需的代码。
可视化工作,但它需要大量的体力劳动。 我手动调整了json文件,使得连接具有以下形状:
{ "source": 1, "target": 0, "value": 5 }
需要对d3代码做些什么,以便连接由节点的名称决定? 输入将是:
{ "source": "WesternAustralia", "target": "NewGuinea", "value": 5 }
每当我尝试,我得到以下错误:
Uncaught TypeError: Cannot call method 'push' of undefined
I am trying to make a network visualisation of RISK. You can view it with the required code at http://bl.ocks.org/4683850.
The visualisation works but it required a lot of manual labor. I manually adapted the json file such that the connections were of the following shape:
{ "source": 1, "target": 0, "value": 5 }
What would one need to do to the d3 code such that a connection is determined by the names of the nodes? The input would then be:
{ "source": "WesternAustralia", "target": "NewGuinea", "value": 5 }
Whenever I try that I get the following error:
Uncaught TypeError: Cannot call method 'push' of undefined
原文:https://stackoverflow.com/questions/14629853
最满意答案
你可以这样做:
TextView cloned = new TextView(getApplicationContext()); cloned.setText(tvPop.getText()); cloned.setLayoutParams(tvPop.getLayoutParams()); ... cloned.setWhateverFieldYouNeedToBeCloned(tvPop().getWhateverFieldYouNeedToBeCloned());
希望有所帮助。
you can do this:
TextView cloned = new TextView(getApplicationContext()); cloned.setText(tvPop.getText()); cloned.setLayoutParams(tvPop.getLayoutParams()); ... cloned.setWhateverFieldYouNeedToBeCloned(tvPop().getWhateverFieldYouNeedToBeCloned());
Hope that helps.
相关问答
更多-
这里的问题是你使用valueOf() 。 它没有做你认为它做的事情。 它只是返回传入的对象,如果它是SpannableStringBuilder ; 否则,它将给定的CharSequence包装在SpannableStringBuilder 。 从来源: public static SpannableStringBuilder valueOf(CharSequence source) { if (source instanceof SpannableStringBuilder) { ...
-
如何克隆View?(How do I clone a View?)[2023-05-15]
你不能克隆视图,这样做的方式是每次都会夸大你的观察。 请注意,XML被编译成二进制,可以非常有效地解析。 You cannot clone views, the way to do it is to inflate your View every time. Note that the XML is compiled into binary which can be parsed very efficiently. -
如果您可以选择TextView ,用户可以使用复制/粘贴。 显然,“皮棉”开发者认为这是一件好事,所以他们警告你,如果你不这样做。 有很多皮棉警告只是“建议”,这就是为什么有简单的方法来关闭这些警告。 If you make the TextView selectable, users can use copy/paste on it. Obviously the "lint" developers thought that was a good thing, so they warn you if you ...
-
Android -Dynamic TextView超过以前的TextView(Android -Dynamic TextView over previous TextView)[2022-02-07]
您可以指定必须在ViewGroup添加TextView的索引... ViewGroup.addView(TextView, 0); 每次创建TextView并添加到mLayout ,请添加index 0,该index将添加到之前的TextView之上 mLayout.addView(createNewTextView("TextView"),0); You can specify the index where TextView has to be added in ViewGroup... ViewG ... -
TextView Scrollable(TextView Scrollable)[2023-12-03]
你为什么不在xml中使用ScrollView将更容易打开ScrollView打开一个布局设置它你想要它是如何水平或垂直放入你的TextViews然后先关闭布局然后ScrollView和Voila完成.. What I did to solve my problem: textView.post(new Runnable() { @Override public void run() { textHeight = textViews.getLi ... -
不。如果您希望以不同方式格式化两位文本,请考虑在一个TextView中使用跨度 。 No. If you're looking to format the two bits of text differently, consider using spans within one TextView.
-
TextView具有不同的大小(TextView with different sizes)[2023-10-24]
或者只是使用Spannable类: String text = textView.getText(); Spannable span = new SpannableString(text); span.setSpan(new RelativeSizeSpan(1.5f), text.indexOf("Blah"), text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); textView.setText(span); Or simply using the ... -
如何克隆TextView?(How to clone a TextView?)[2023-09-12]
你可以这样做: TextView cloned = new TextView(getApplicationContext()); cloned.setText(tvPop.getText()); cloned.setLayoutParams(tvPop.getLayoutParams()); ... cloned.setWhateverFieldYouNeedToBeCloned(tvPop().getWhateverFieldYouNeedToBeCloned()); 希望有所帮助。 you can d ... -
TextView为null(TextView is null)[2024-03-27]
不要使用v.findViewById,而是使用this.findViewById Not use v.findViewById, but this.findViewById -
TextView到String(TextView to String)[2022-03-28]
你的代码是正确的。 请注意,只有在调用onCreate并且已设置了contentView才能使用它。 Your code is correct. Beware that it will only work once onCreate has been called and your contentView has been set.