GVKun编程网logo

使用本地 JSON 文件运行 d3.js(本地json数据)

29

对于使用本地JSON文件运行d3.js感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍本地json数据,并为您提供关于angularjs–使用本地绝对路径读取/下载文件、asp.net–使用“使

对于使用本地 JSON 文件运行 d3.js感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍本地json数据,并为您提供关于angularjs – 使用本地绝对路径读取/下载文件、asp.net – 使用“使用本地IIS Web服务器”时出现Microsoft JScript运行时错误、Django使用本地css/js文件、Django使用本地css/js文件的基本流程的有用信息。

本文目录一览:

使用本地 JSON 文件运行 d3.js(本地json数据)

使用本地 JSON 文件运行 d3.js(本地json数据)

如何解决使用本地 JSON 文件运行 d3.js?

我正在尝试使用本地 JSON 文件运行附加的代码。到目前为止,数据在 HTML 中并按预期工作。我尝试了 stackoverflow 的几种解决方案。我最近的尝试是视觉代码扩展“实时服务器”,它加载但没有任何数据或 d3 代码。此外,我的 Firefox 设置允许外部文件导入以及 chrome。还是行不通。 :/

显然我做错了。如果有人能指导我,我将不胜感激。

{
  "nodes": [
      { "id": 0,"active": true,"state": "on" },{ "id": 1,{ "id": 2,{ "id": 3,{ "id": 4,{ "id": 5,{ "id": 6,{ "id": 7,{ "id": 8,"state": "on" }
  ],"links": [
      { "source": 0,"target": 1},{ "source": 0,"target": 2},"target": 3},{ "source": 1,"target": 7},"target": 6},"target": 8},{ "source": 2,"target": 4},"target": 5}
  ]
}
<!DOCTYPE html>
<html lang="en">

<head>
    <Meta charset="UTF-8">
    <title>stackoverflow demo</title>
    <script src="https://d3js.org/d3.v6.min.js"></script>
</head>

<style>
    body {
        background-color: #e6e7ee;
    }

    circle {
        stroke: black;
        stroke-width: 1px;
        cursor: pointer;
    }
</style>

<body>
    <script>

        /*
      var graph = {
          "nodes": [
              { "id": 0,],"links": [
              { "source": 0,"target": 5},]
      }
      */

        d3.json("data.json",function (error,graph) {
            if (error) throw error


            var svg = d3.select("body").append("svg")
                .attr("width",window.innerWidth)
                .attr("height",window.innerHeight)
                .attr("class","svg")
                .call(d3.zoom().on("zoom",function (event) {
                    svg.attr("transform",event.transform)
                }))
                .append("g")

            d3.select("svg").on("dblclick.zoom",null)


            // append markers to svg
            svg.append("defs").append("marker")
                .attr("id","arrowhead")
                .attr("viewBox","-0 -5 10 10")
                .attr("refX",6)
                .attr("refY",0)
                .attr("orient","auto")
                .attr("markerWidth",100)
                .attr("markerHeight",100)
                .attr("xoverflow","visible")
                .append("svg:path")
                .attr("d","M 0,-1 L 2,0 L 0,1")
                .attr("fill","red")
                .style("stroke","none")

            var linkContainer = svg.append("g").attr("class","linkContainer")
            var nodeContainer = svg.append("g").attr("class","nodeContainer")




            var forceLayout = d3.forceSimulation()
                .force("link",d3.forceLink().id(function (d) {
                    return d.id;
                }).distance(125))
                .force("charge",d3.forceManyBody().strength(-1250))
                .force("center",d3.forceCenter(window.innerWidth / 2,window.innerHeight / 2))
                .force("collision",d3.forceCollide().radius(50))


            //###############################################
            //################## initialize #################
            //###############################################

            function init() {

                links = linkContainer.selectAll(".link")
                    .data(graph.links)
                    .join("line")
                    .attr("class","link")
                    .attr(''marker-end'',''url(#arrowhead)'')
                    .style("stroke","black")

                nodes = nodeContainer.selectAll(".node")
                    .data(graph.nodes,function (d) { return d.id; })
                    .join("g")
                    .attr("class","node")
                    .attr("id",function (d) { return "node" + d.id; })
                    .call(d3.drag()
                        .on("start",dragStarted)
                        .on("drag",dragged)
                        .on("end",dragEnded)
                    )

                nodes.selectAll("circle")
                    .data(d => [d])
                    .join("circle")
                    .attr("r",40)
                    .style("fill",setColor)
                    .on("click",switchState)


                nodes.selectAll("text")
                    .data(d => [d])
                    .join("text")
                    .attr("dominant-baseline","central")
                    .attr("text-anchor","middle")
                    .attr("id",function (d) { return "text" + d.id })
                    .attr("pointer-events","none")
                    .text(function (d) {
                        return d.id + " - " + d.state
                    })


                forceLayout
                    .nodes(graph.nodes)
                    .on("tick",outerTick)

                forceLayout
                    .force("link")
                    .links(graph.links)
            }

            //###############################################
            //##### set color in relation of the state ######
            //###############################################

            function setColor(d) {
                switch (d.state) {
                    case "on":
                        return "greenyellow"
                    case "limited":
                        return "yellow"
                    case "error":
                        return "red"
                    case "off":
                        return "grey"
                    default:
                        return "greenyellow"
                }
            }


            //###############################################
            //######## switch state - turn off & on #########
            //###############################################

            function switchState(event,d) {
                if (d.active == true) {
                    d.active = false
                    d.state = "off"
                } else if (d.active == false) {
                    d.active = true
                    d.state = "on"
                }
            }


            function outerTick() {
                links
                    .attr("x1",function (d) {
                        return d.source.x;
                    })
                    .attr("y1",function (d) {
                        return d.source.y;
                    })
                    .attr("x2",function (d) {
                        return d.target.x;
                    })
                    .attr("y2",function (d) {
                        return d.target.y;
                    });

                nodes.attr("transform",function (d) {
                    return "translate(" + d.x + "," + d.y + ")";
                });
            }


            function dragStarted(event,d) {
                if (!event.active) forceLayout.alphaTarget(0.3).restart();

                d.fx = d.x;
                d.fy = d.y;
            }

            function dragged(event,d) {
                d.fx = event.x;
                d.fy = event.y;
            }

            function dragEnded(event,d) {
                if (!event.active) forceLayout.alphaTarget(0);

                d.fx = undefined;
                d.fy = undefined;
            }
        })
    </script>
</body>

</html>

解决方法

在 D3 V6 中,d3.json 函数应该用作 Promise:

d3.json(url).then(onLoad).catch(err => console.log(err));

请看下面的片段:

const url = "https://api.jsonbin.io/b/60a62c6265d5d77ffc89cdca";

const onLoad = graph => {
        console.log(''G: '',graph);

            var svg = d3.select("svg")
                .call(d3.zoom().on("zoom",function (event) {
                    svg.attr("transform",event.transform)
                }))
                .append("g")

            d3.select("svg").on("dblclick.zoom",null)


            // append markers to svg
            svg.append("defs").append("marker")
                .attr("id","arrowhead")
                .attr("viewBox","-0 -5 10 10")
                .attr("refX",6)
                .attr("refY",0)
                .attr("orient","auto")
                .attr("markerWidth",100)
                .attr("markerHeight",100)
                .attr("xoverflow","visible")
                .append("svg:path")
                .attr("d","M 0,-1 L 2,0 L 0,1")
                .attr("fill","red")
                .style("stroke","none")

            var linkContainer = svg.append("g").attr("class","linkContainer")
            var nodeContainer = svg.append("g").attr("class","nodeContainer")




            var forceLayout = d3.forceSimulation()
                .force("link",d3.forceLink().id(function (d) {
                    return d.id;
                }).distance(125))
                .force("charge",d3.forceManyBody().strength(-1250))
                .force("center",d3.forceCenter(window.innerWidth / 2,window.innerHeight / 2))
                .force("collision",d3.forceCollide().radius(50))

  init();

            //###############################################
            //################## initialize #################
            //###############################################

            function init() {

                links = linkContainer.selectAll(".link")
                    .data(graph.links)
                    .join("line")
                    .attr("class","link")
                    .attr(''marker-end'',''url(#arrowhead)'')
                    .style("stroke","black")

                nodes = nodeContainer.selectAll(".node")
                    .data(graph.nodes,function (d) { return d.id; })
                    .join("g")
                    .attr("class","node")
                    .attr("id",function (d) { return "node" + d.id; })
                    .call(d3.drag()
                        .on("start",dragStarted)
                        .on("drag",dragged)
                        .on("end",dragEnded)
                    )

                nodes.selectAll("circle")
                    .data(d => [d])
                    .join("circle")
                    .attr("r",40)
                    .style("fill",setColor)
                    .on("click",switchState)


                nodes.selectAll("text")
                    .data(d => [d])
                    .join("text")
                    .attr("dominant-baseline","central")
                    .attr("text-anchor","middle")
                    .attr("id",function (d) { return "text" + d.id })
                    .attr("pointer-events","none")
                    .text(function (d) {
                        return d.id + " - " + d.state
                    })


                forceLayout
                    .nodes(graph.nodes)
                    .on("tick",outerTick)

                forceLayout
                    .force("link")
                    .links(graph.links)
            }

            //###############################################
            //##### set color in relation of the state ######
            //###############################################

            function setColor(d) {
                switch (d.state) {
                    case "on":
                        return "greenyellow"
                    case "limited":
                        return "yellow"
                    case "error":
                        return "red"
                    case "off":
                        return "grey"
                    default:
                        return "greenyellow"
                }
            }


            //###############################################
            //######## switch state - turn off & on #########
            //###############################################

            function switchState(event,d) {
                if (d.active == true) {
                    d.active = false
                    d.state = "off"
                } else if (d.active == false) {
                    d.active = true
                    d.state = "on"
                }
            }


            function outerTick() {
                links
                    .attr("x1",function (d) {
                        return d.source.x;
                    })
                    .attr("y1",function (d) {
                        return d.source.y;
                    })
                    .attr("x2",function (d) {
                        return d.target.x;
                    })
                    .attr("y2",function (d) {
                        return d.target.y;
                    });

                nodes.attr("transform",function (d) {
                    return "translate(" + d.x + "," + d.y + ")";
                });
            }


            function dragStarted(event,d) {
                if (!event.active) forceLayout.alphaTarget(0.3).restart();

                d.fx = d.x;
                d.fy = d.y;
            }

            function dragged(event,d) {
                d.fx = event.x;
                d.fy = event.y;
            }

            function dragEnded(event,d) {
                if (!event.active) forceLayout.alphaTarget(0);

                d.fx = undefined;
                d.fy = undefined;
            }
        };

d3.json(url).then(onLoad).catch(err => console.log(err));
    body {
        background-color: #e6e7ee;
    }

    circle {
        stroke: black;
        stroke-width: 1px;
        cursor: pointer;
    }
<script src="https://d3js.org/d3.v6.min.js"></script>

<svg width="1000" height="1000" />

angularjs – 使用本地绝对路径读取/下载文件

angularjs – 使用本地绝对路径读取/下载文件

@H_301_1@
我有一个文件存储在D:/home/abc.pdf本地.
我必须使用AngularJs读取此文件

var path="D:/home/abc.pdf";
var doc = document.createElement("a");
doc.href = path;
doc.download = path;
doc.click();
window.URL.revokeObjectURL(path);

我无法下载此文件.出现Failed-Network错误等错误

enter image description here

解决方法

这是不可能的,因为本地文件受到保护.否则,只要运行本地html页面,您就可以按照自己的意愿操作硬盘.

所以:如果你想从计算机的硬盘驱动器中获取文件,你必须使用< input>字段并要求用户使用它上传文件.

asp.net – 使用“使用本地IIS Web服务器”时出现Microsoft JScript运行时错误

asp.net – 使用“使用本地IIS Web服务器”时出现Microsoft JScript运行时错误

一切都工作正常,直到微软论坛中的某个人在命令提示符模式下尝试了几个devenv开关:devenv / Resetsettings和Run devenv /ResetSkipPkgs.Prompt一个无关的问题,即我只需点击一下保存就无法保存aspx文件按钮.从那时起,我遇到了一个新问题.

我尝试卸载VS2012,重新启动,并重新安装无济于事.

问题是我使用“使用本地IIS Web服务器”设置时收到Microsoft JScript运行时错误. IIS无法找到它加载的文件中定义的变量.当我使用“使用Visual Studio开发服务器”选项运行时,它可以工作.

为什么这样,我怎样才能让“使用本地IIS Web服务器”再次运行.

2个图像显示问题.

(我昨天上传了图片,不确定发生了什么.)

我不知道该怎么回事.我在另一个论坛上看到了关于类似问题的另一篇文章.

解决方法

0x800a1391错误代码是由 Windows操作系统中配置错误的系统文件以某种方式引起的.

0x800a1391错误可能是由Windows系统文件损坏引起的.
可能有许多事件可能导致系统文件错误.安装不完整,卸载不完整,应用程序或硬件删除不当.

我真诚地说,您应该在使用devenv开关之前将计算机恢复到较早的时间.他们什么也没做,只是破坏了你的系统文件并在里面创建了一个bug来阻止程序检索要执行的javascript代码的数据.

http://www.wiki-errors.com/wiki-errors.php?wiki=0x800a1391您可以随时访问此Wiki文章以下载错误检测工具,以帮助您协助纠错

Django使用本地css/js文件

Django使用本地css/js文件

Django使用本地css/js文件

在manager.py同层级下创建static文件夹, 里面放上css , js, images等文件或者文件夹

我的文件夹层级

然后只需在settings.py中进行设置就行, 在末尾添加以下代码:

STATIC_URL = ''/static/''
HERE = os.path.dirname(os.path.abspath(__file__))
HERE = os.path.join(HERE, ''../'')
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don''t forget to use absolute paths, not relative paths.
    os.path.join(HERE, ''static/''),
)

最后在需要使用的html文件中通过以下方式导入:

<!--引入本地css & js-->
<link rel="stylesheet" href="../static/style/app.css" />
<script type="text/javascript" src="../static/js/app.js"></script>

 

Django使用本地css/js文件的基本流程

Django使用本地css/js文件的基本流程

 在网上看了很多说Django如何使用本地css/js的文章, 很多都是说的不是很清楚。

今天终于自己来验证一个能用的了, 记录下

在manager.py同层级下创建static文件夹, 里面放上css , js, image等文件或者文件夹

我的文件夹tree:

➜  FileService git:(master) ✗ tree
.
├── 2kill_port.sh
├── FileService
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   ├── settings.cpython-37.pyc
│   │   ├── urls.cpython-37.pyc
│   │   └── wsgi.cpython-37.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── db.sqlite3
├── en_bg.jpg
├── fileoperation
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   ├── admin.cpython-37.pyc
│   │   ├── models.cpython-37.pyc
│   │   └── views.cpython-37.pyc
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   ├── __init__.py
│   │   └── __pycache__
│   │       └── __init__.cpython-37.pyc
│   ├── models.py
│   ├── templates
│   │   ├── bg_homg.html
│   │   └── home.html
│   └── views.py
├── files
│   ├── 11.log
│   ├── 22.log
│   ├── 44.log
│   ├── th.jpeg
│   ├── �\217�\225快�\205�\ 2020-01-08\ �\213�\215\2101.50.03.png
│   └── �\235�\231��\212��\224\200�\207��\201.pdf
├── kill_port.sh
├── manage.py
└── static
    ├── images
    │   └── en_bg.jpg
    └── style
        └── style.css

然后只需在FileService/settings.py中进行设置就行, 在末尾添加以下代码

STATIC_URL = ''/static/''
STATICFILES_DIRS=[
    os.path.join(BASE_DIR,''static'')
]

最后只需要在使用的html文件中通过以下方式导入:

<head>

    <link rel="stylesheet" type="text/css" href="../static/style/style.css" />
    <meta charset="UTF-8">
    <title>文件传输</title>

</head>

我们今天的关于使用本地 JSON 文件运行 d3.js本地json数据的分享就到这里,谢谢您的阅读,如果想了解更多关于angularjs – 使用本地绝对路径读取/下载文件、asp.net – 使用“使用本地IIS Web服务器”时出现Microsoft JScript运行时错误、Django使用本地css/js文件、Django使用本地css/js文件的基本流程的相关信息,可以在本站进行搜索。

本文标签:

上一篇Spring Kafka:kafkaTemplate executeInTransaction 方法如何发挥 Consumer 的 read_committed 隔离级别 我的具体场景我的困惑是

下一篇为什么我的代码在 Visual Studio 上运行时在hackerearth 中不起作用?数组中最常见的元素