小编use*_*494的帖子

使用d3附加多个svg文本

几天来我一直坚持这个问题.

所以我有一个以下形式的对象数据集:

dataset = [{metric:"revenue",value:0.03},{metric:"sales", value:0.15},{metric:"churn", value: 0.06},{metric:"logins", value: 0.45}]
Run Code Online (Sandbox Code Playgroud)

以下代码将以网格模式显示4个度量标准名称(meshy,meshx是网格的坐标点,meshsize是网格的大小,因此这只是将文本放在网格方块的中间):

svg.selectAll("text")
    .data(dataset)
    .enter()
    .append("text")
    .text(function(d){
        return d.metric;
    })
    .attr("y",function(d,i){
        return meshy[i] + meshsize/2;
    })
    .attr("x", function(d,i){
        return meshx[i] + meshsize/2;
    })
    .attr("font-size",25)
    .attr("font-family","serif")
    .attr("text-anchor","middle")
    .attr("font-weight","bold");
Run Code Online (Sandbox Code Playgroud)

现在我想将度量标准的值放在度量标准名称下面,如下所示:

 svg.append("text")
    .data(dataset)
    .text(function(d){
        return (d.value);
    })
    .attr("y",function(d,i){
        return meshy[i] + meshsize/2 + 20;
    })
    .attr("x", function(d,i){
        return meshx[i] + meshsize/2 ;
    })
    .attr("font-size",25)
    .attr("font-family","serif")
    .attr("text-anchor","middle")
    .attr("font-weight","bold");
Run Code Online (Sandbox Code Playgroud)

但是这只返回FIRST度量标准名称下面的值,其他3个值文本甚至不在DOM中.我尝试了多种方法,包括用.html替换.text,如下所述:https://github.com/mbostock/d3/wiki/Selections#wiki-html但没有成功.我也尝试添加段落元素 - 这是有效的,但是p元素位于列表中的svg体下方,没有明显的方法将它们移动到正确的位置.上面的代码是我最接近我需要的代码,但由于某种原因,只显示第一个值文本.但是,我对d3中完成任务的任何方法持开放态度:4个度量标准名称,其值正好位于其下方

svg d3.js

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

将列表拆分为与每个其他元素对应的2个列表

我知道有很多方法可以做到这一点,但我正在寻找一种光滑的pythonic方式来完成以下工作.给出一个数字列表:

a = [0,1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

将此列表拆分为与每个其他元素对应的2个列表:

b = [0,2,4,6,8]
c = [1,3,5,7,9]
Run Code Online (Sandbox Code Playgroud)

python

9
推荐指数
2
解决办法
5051
查看次数

使用Underscore.js从某些属性排序的数组中检索前n个元素

我在javascript中有一个对象数组.每个对象都是形式

obj {
    location: "left", // some string
    weight: 1.25 // some real, positive number
}
Run Code Online (Sandbox Code Playgroud)

我们假设数组的长度大于500.

我想返回一个数组的过滤副本,其中只有weight属性排名的前500个元素存在.换句话说,我希望数组中的对象具有500个最高weights

用下划线做这个的干净方法是什么?

javascript underscore.js

8
推荐指数
2
解决办法
7235
查看次数

使用Underscore.js根据属性从数组中删除对象

我在javascript中有一个对象数组.每个对象都是形式

obj {
    location: "left", // some string
    weight: 0 // can be zero or non zero
}
Run Code Online (Sandbox Code Playgroud)

我想返回一个数组的过滤副本,其中删除了权重属性为零的对象

用下划线做这个的干净方法是什么?

javascript underscore.js

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

使用 MatPlotLib 绘制点周围误差范围的折线图

我正在尝试绘制十个值的折线图,每个点的误差范围为:

u = [1,2,3,4,5,6,7,8,9,10]
plt.errorbar(range(10), u, yerr=1)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我收到错误消息

ValueError: too many values to unpack
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我在每个点上绘制带有误差线的折线图的最佳方法吗?http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.errorbar

谢谢

python matplotlib

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

TypeError:对于仅使用浮点数的函数,返回数组必须是ArrayType

这个真的让我很难过.我有一个计算单词重量的函数,我已经确认a和b局部变量都是float类型:

def word_weight(term):
    a = term_freq(term)
    print a, type(a)
    b = idf(term)
    print b, type(b)
    return a*log(b,2)
Run Code Online (Sandbox Code Playgroud)

运行word_weight("the")日志:

0.0208837518791 <type 'float'>
6.04987801572 <type 'float'>
Traceback (most recent call last):
  File "summary.py", line 59, in <module>
    print word_weight("the")
  File "summary.py", line 43, in word_weight
    return a*log(b,2)
TypeError: return arrays must be of ArrayType
Run Code Online (Sandbox Code Playgroud)

为什么?

python arrays numpy function

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

Python 3 Pandas错误:pandas.parser.CParserError:标记数据时出错.C错误:第5行预计11个字段,见13

我检查了这个答案,因为我遇到了类似的问题.

Python Pandas错误标记数据

但是,出于某种原因,我的所有行都被跳过了.

我的代码很简单:

import pandas as pd

fname = "data.csv"
input_data = pd.read_csv(fname) 
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

  File "preprocessing.py", line 8, in <module>
    input_data = pd.read_csv(fname) #raw data file ---> pandas.core.frame.DataFrame type
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/io/parsers.py", line 465, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/io/parsers.py", line 251, in _read
    return parser.read()
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/io/parsers.py", line 710, in read
    ret = self._engine.read(nrows)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/io/parsers.py", line 1154, in read
    data = self._reader.read(nrows)
  File "pandas/parser.pyx", line 754, in pandas.parser.TextReader.read (pandas/parser.c:7391)
  File "pandas/parser.pyx", line 776, in pandas.parser.TextReader._read_low_memory (pandas/parser.c:7631) …
Run Code Online (Sandbox Code Playgroud)

csv python-3.x pandas

4
推荐指数
2
解决办法
3万
查看次数

使用函数值访问python dict

我试图在python中创建一个选项菜单,如果用户选择一个数字,则执行不同的函数:

def options(x):
    return {
        1: f1(),
        2: f2()
    }[x]

def f1():
    print "hi"

def f2():
    print "bye"
Run Code Online (Sandbox Code Playgroud)

但是,我打电话

options(1)
Run Code Online (Sandbox Code Playgroud)

我明白了:

hi
bye
Run Code Online (Sandbox Code Playgroud)

和我打电话时一样 options(2)

到底是怎么回事?

python dictionary function

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

从列表列表中创建一个平面列表,其中元素是字符串

我知道这里提出了类似的问题Making a flat list out of list of list in Python

但是当列表的元素是字符串时,此方法不会剪切它:

arr = [['i', 'dont'], 'hi']
[item for sublist in arr for item in sublist]
>>['i', 'dont', 'h', 'i']
Run Code Online (Sandbox Code Playgroud)

我需要的是:

["I", "dont", "hi"]
Run Code Online (Sandbox Code Playgroud)

谢谢

python list

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

Google Maps API热图图层 - 单个渐变,两个极端

假设我以通常的方式设置了Google热图图层:

  heatmap = new google.maps.visualization.HeatmapLayer({
    radius: 20,
    opacity: 0.5,
    gradient: g
  });

  heatmap.setMap(map);
Run Code Online (Sandbox Code Playgroud)

哪里:

  var g = [
    'rgba(255, 0, 0, 1)',
    'rgba(255, 255, 0, 0.9)',
    'rgba(0, 255, 0, 0.7)',
    'rgba(173, 255, 47, 0.5)',
    'rgba(152, 251, 152, 0)',
    'rgba(152, 251, 152, 0)',
    'rgba(0, 0, 238, 0.5)',
    'rgba(186, 85, 211, 0.7)',
    'rgba(255, 0, 255, 0.9)',
    'rgba(255, 0, 0, 1)'

]
Run Code Online (Sandbox Code Playgroud)

我正在热映射的事情取0到1的范围.我想显示一个热点,接近0和接近1的值和接近0.5的中性(冷)点.这就是为什么我有更高的不透明度接近该g变量的开头和结尾.

问题是热图图层将NO数据解释为0,因此将地图的空白区域热映射为红色.我想要的是0和1附近的数据是红色的,没有数据的区域是单独的.

有什么建议?

google-maps heatmap google-maps-api-3

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