我正在做一个具有缩放和平移功能的热图,并意识到在我增加热图左边的空间后,数据点在缩放和平移时显示在y轴的左侧,以便制作y轴的空间(见图).我怎么能避免这个?代码示例如下所示.

var zoom = d3.behavior.zoom()
.scaleExtent([dotWidth, dotHeight])
.x(xScale)
.on("zoom", zoomHandler);
var svg = d3.select("body")
.append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.call(zoom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
function zoomHandler() {
var t = zoom.translate(),
tx = t[0],
ty = t[1];
tx = Math.min(tx, 0); // tx < 0
tx = Math.max(tx, -1000); //
zoom.translate([tx, ty]);
svg.select(".x.axis").call(xAxis);
svg.selectAll("ellipse")
.attr("cx", function(d) { return xScale(d.day); })
.attr("cy", function(d) { return yScale(d.hour); …Run Code Online (Sandbox Code Playgroud) 如何将SVG路径转换为xy坐标?直到最近我才使用了一个网页,该网页使用了下面的jQuery代码.但是,我不知道如何在本地存储的SVG文件上执行代码.任何帮助或推荐的工具(对于Mac)表示赞赏.
$("path").each(function(i){
var path = this;
var len = path.getTotalLength();
var p=path.getPointAtLength(0);
stp=p.x+","+p.y
for(var i=1; i<len; i++){
p=path.getPointAtLength(i);
stp=stp+" "+p.x+","+p.y;
}
$(path).replaceWith('<polygon points="' + stp + '" />');
});
Run Code Online (Sandbox Code Playgroud) 我想用 ? 对嵌套数据框的内部数据框进行子集化dplyr?
我有以下嵌套数据框:
library(dplyr)
# Initialise nested data frame
d <- tibble(group = c("A", "B"),
data = rep(list(NA), 2))
set.seed(1)
d$data[[1]] <- data.frame(x = seq(1:10),
y = rnorm(10))
d$data[[2]] <- data.frame(x = seq(1:15),
y = rnorm(15),
z = runif(15))
Run Code Online (Sandbox Code Playgroud)
假设我只想要group == "A"where数据框中的行y >= 0,而 for 数据框group == B保持不变。编辑: 操作后两个结果数据框应具有相同的变量。
我正在考虑做类似下面一行的事情,但与 mutate 命令结合使用,但filter(y >= 0)在这里不起作用。那么,我应该怎么做呢?
d %>% filter(group == "A") %>% select(data) %>% filter(y >= 0)
Run Code Online (Sandbox Code Playgroud) 我是Python的新手,我正在尝试创建一个函数,该函数使用来自用户输入的不同材料参数创建列表,如下面的代码所示.
def material():
layers = int(raw_input("State the number of material layers in the wall (0 for default material): "))
rho = [] # Density [kg/m3]
c = [] # Heat capacity [J/(kg K)]
k = [] # Heat conductivity [W/(m K)]
#a = [] # Thermal diffusivity [m2/s]
d = [] # Thickness of material [m]
# Saveing material properties
if layers == 0:
rho.append(2300)
c.append(900)
k.append(1.6)
d.append(3.2)
layers = 1
else:
for i in range(layers):
print "\n" "Define thermal …Run Code Online (Sandbox Code Playgroud) 将list包含日期转换为a时遇到麻烦date.frame,因为使用unlist命令时日期会转换为整数.
将list在我的工作似乎与此类似,只是方式更多的数据帧:
list(
data.frame(
date = as.POSIXct(Sys.time() + days(seq(0, 4))),
value = c(4,5,1,7,9)),
data.frame(
date = as.POSIXct(Sys.time() + days(seq(5, 9))),
value = c(3,3,5,1,7))
)
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法将其转换为单个data.frame看起来像这样:
date value
1 2017-07-24 14:30:18 4
2 2017-07-25 14:30:18 5
3 2017-07-26 14:30:18 1
4 2017-07-27 14:30:18 7
5 2017-07-28 14:30:18 9
6 2017-07-29 14:30:18 3
7 2017-07-30 14:30:18 3
8 2017-07-31 14:30:18 5
9 2017-08-01 14:30:18 1
10 2017-08-02 14:30:18 7
Run Code Online (Sandbox Code Playgroud)