小编LBe*_*Bes的帖子

D3:将两个色标合并为一个

我目前有两个变量,我可以在两个颜色标度s1和s2上映射到两种不同的颜色.s1给出了红色的阴影,对应于我的变量X的值(4种不同的颜色).s1给出了对应于我的变量Y的值的蓝色阴影(也有4种不同的可能颜色).

现在我想得到的是允许我将这两者结合起来以获得变量组合的独特颜色.所以对于一对(X,Y),我在比例上得到一种颜色.所以我得到了16种颜色的比例.

这是一个传说,说明了我正在寻找的东西:

在此输入图像描述

我一直在寻找在线示例,但无法弄清楚如何实现这一目标.

javascript colors d3.js

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

仅从字符串的右侧删除空格

我有一个String printerName;256 个字符长。我需要从字符串的右侧删除空格,以便我只得到一个有效的打印机名称。

这个解决方案:

st.replaceAll("\\s+","")
Run Code Online (Sandbox Code Playgroud)

不起作用,因为有效的 printerName 可以有空格。而且我不知道要删除多少个字符,因为可能有很多打印机。什么是最好的解决方案?

java string replace trim

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

带有printf()的c中的十六进制unicode

这是我的代码:

#include <stdlib.h>
#include <stdio.h>

int main(int argc,char **argv){
    printf("%x\n",*argv[1]);
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

编译后(gcc -o main main.c),我运行它没有问题:

./main 1
31
Run Code Online (Sandbox Code Playgroud)

注意:31是十六进制代码1

但是当用Unicode参数运行它时,打印4Byte十六进制:

./main $(printf "\Udbb1")
ffffffed
Run Code Online (Sandbox Code Playgroud)

有什么问题?

c printf gcc

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

使用 Javascript 检测 html 页面中的所有图像

我正在编写一个 Chrome 扩展程序,并试图检测网页中的所有图像。

我正在尝试在我的 JS 代码中检测网页上的所有图像,我的意思是:

  1. 网页加载后加载的图像
  2. 用作背景的图像(在 CSS 或内联 html 中)
  3. 网页加载完成后可以加载的图像,例如,在进行谷歌图像搜索时,很容易找到所有图像,但一旦单击一张图像使其变大,则不会检测到该图像。浏览社交媒体网站也是如此。

我现在拥有的代码可以轻松找到初始图像 (1)。但我很难理解其他两个部分(2)和(3)。

这是我当前在 contentScript.js 中的代码:

var images = document.getElementsByTagName('img');
for (var i = 0, l = images.length; i < l; i++) {
    //Do something
}
Run Code Online (Sandbox Code Playgroud)

我应该如何修改它,以便它实际上可以检测所有其他图像(2 和 3)。

我在 SO 上看到了几个关于 (2) 的问题,比如这个或这个,但没有一个答案似乎完全满足我的第二个要求,而且没有一个答案与第三个要求有关。

html javascript css image google-chrome-extension

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

Java FileWriter没有写入文件

我正在创建一个应用程序,它需要为每个用户编写一个文件(采用JSON格式).

该应用程序成功创建了该文件,但它是空的.在代码中我添加了一个更精细的输出,以查看转换后的JSON字符串是什么样的,我注意到它已完成(它包含所有内容,因此转换正常).但该字符串不存在于文件中.

//create a new FileWriter C:/.../42.guser
        FileWriter writer = null;

        //for every User
        for(int i=0; i<users.size(); i++) {

            try {
                File f = new File(Users.usersDir.getPath()+"/"+i+".guser");

                //Create new file
                f.createNewFile();

                writer = new FileWriter(f);

                //convert to json and write to file. Here we get the object with KEY = keys[i].
                String stringedUsr = gson.toJson(users.get(keys[i]));

                logger.finer("Converted user: \""+stringedUsr+"\""); //Output seems ok

                //Write (NOT WORKING)
                writer.write(stringedUsr);

                logger.fine("Wrote updated user \""+keys[i]+"\" to file "+f.getCanonicalPath());

            } catch (IOException e) {
                FAILS++;
                e.printStackTrace();
            }

        } …
Run Code Online (Sandbox Code Playgroud)

java json filewriter is-empty

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

更改李克特量表中的绘图顺序

我正在尝试更改用 Likert 包绘制我的 Likert 项目的顺序,但到目前为止我还不是很成功。让我们考虑以下最小代码来重现我的错误。我希望看到以特定的自定义(或至少问题 1 到问题 4,从上到下)顺序进行绘图。我尝试了几件事(基于这里的一些问题和答案),但都失败了。

首先是数据:

question1<- c(1,5,3,4,1,1,1,3,4,5)
question2<- rev(c(1,5,3,4,1,1,1,3,4,5))
question3<- c(1,1,1,2,2,2,3,3,4,5)
question4<- c(5,5,5,4,4,4,3,3,2,1)
testData<-data.frame(question1,question2,question3,question4)
testData <- lapply(testData, factor, levels= c(1:5), ordered = TRUE)
testData <- as.data.frame(testData)
Run Code Online (Sandbox Code Playgroud)

然后绘制尝试#1:

p <- (likert(testData))
plot(p)
Run Code Online (Sandbox Code Playgroud)

给了我以下内容:

绘图尝试1

绘制第二次尝试(足够接近,但顺序颠倒了,这并没有给我任何随机排序的解决方案):

p <- (likert(testData))
plot(p, ordered=FALSE)
Run Code Online (Sandbox Code Playgroud)

给了我这个:

绘图尝试2

绘图尝试#3:

p <- (likert(testData))
p$Item <- factor(p$Item, levels = rev(c("question1", "question2", "question3", "question4")))
plot(p)
Run Code Online (Sandbox Code Playgroud)

也不起作用。有人知道如何解决这个问题吗?

提前致谢。

plot r ggplot2 likert

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

使用递归创建二叉树时的C - 分割错误

我试图编写一个使用C中的指针创建二叉树的简单程序,但我无法找到此代码的问题.我在第二次插入时收到Segmentation Fault.

该程序接受五个数字的输入,然后使用数组输入创建一个二叉树.示例运行:

这是程序的输出

输入5个元素:

45 78 89 32 46

在generateBST中

在插入中转到右侧子树

插入

分段故障

请帮我解决这个错误.谢谢.

#include <stdio.h>
#include <stdlib.h>

typedef struct node {
    int value;
    struct node * lst;
    struct node * rst;
}Node;

void printBST(Node *root){
    puts("In printBST");
    if(root == NULL){
        return;
    }
    printBST(root->lst);
    printf(" %d ", root->value);
    printBST(root->rst);
}

void insert(Node **root, int element){
    puts("In insert");
    if((*root)->value > element){
        puts("Going to left sub tree");
        insert(&(*root)->lst ,element);
    } else if ((*root)->value < element) {
        puts("Going to right sub tree"); …
Run Code Online (Sandbox Code Playgroud)

c pointers segmentation-fault binary-search-tree

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

Visual Studio运行不需要的代码

如何让Visual Studio运行某个项目?我有两个项目,它运行我每次创建的第一个项目.我正在使用VS 2013

c c# visual-studio visual-studio-2013

-8
推荐指数
1
解决办法
169
查看次数