- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个多线图表,有两条线和两种不同的颜色,我已按照 http://www.delimited.io/blog/2014/3/3/creating-multi-series-charts-in-d3-lines-bars-area-and-streamgraphs 上的指南进行操作但就我而言,它不起作用,我想知道为什么。我的 tsv 文件是这个 http://wikisend.com/download/732088/difference.tsv]difference.tsv
代码
<html style="height: 100%">
<head>
<title>Information Visualization</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="d3/d3.js"> </script>
<script type="text/javascript" src="d3/d3.tip.js"> </script>
<style type="text/css">
.axis {
font: 9px sans-serif;
}
.axis path,
.axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
/* .x.axis path {
display: none;
}*/
#MainVisualization{
float:left;
/*min-width:1024px;*/
width:50%;
margin-left:0.5%;
margin-right:0.5%;
margin-top:0.5%;
min-height:300px;
height:40%;
background-color: white;
}
#LineChart{
float:left;
/*min-width:1024px;*/
/*width:100%;*/
margin-left:0.5%;
margin-right:0.5%;
margin-top:0.5%;
/*min-height:768px;*/
height:48%;
background-color: yellow;
}
#Command-Area{
width:100%;
height:2%;
background-color: green;
opacity:0.7;
}
#Title{
margin: 0;
margin-bottom: 0.5%;
text-align: center;
font-family: sans-serif;
font-size: 250%;
color: goldenrod;
}
.line{
fill:none;
stroke: steelblue;
stroke-width:1.5px;
}
#tooltip {
position: fixed;
width: 100px;
height: auto;
padding: 10px;
background-color: orange;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
-webkit-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
pointer-events: none;
}
#tooltip.hidden {
display: none;
}
#tooltip p {
margin: 0;
font-family: sans-serif;
font-size: 16px;
line-height: 20px;
}
.d3-tip {
line-height: 1;
font-weight: bold;
padding: 12px;
background: rgba(0, 0, 0, 0.8);
color: #fff;
border-radius: 2px;
}
.d3-tip:after {
box-sizing: border-box;
display: inline;
font-size: 10px;
width: 100%;
line-height: 1;
color: rgba(0, 0, 0, 0.8);
content: "\25BC";
position: absolute;
text-align: center;
}
.d3-tip.n:after {
margin: -1px 0 0 0;
top: 100%;
left: 0;
}
</style>
</head>
<body style="height:100%">
<h1 id="Title" >Difference between 2003 to 2010</h1>
<div id="Command-Area"></div>
<div id="tooltip" class="hidden">
<div id="MainVisualization">
</div>
<div id="LineChart">
</div>
<script type="text/javascript">
var containerWidth,containerHeight;
containerWidth=document.getElementById("MainVisualization").offsetWidth;
containerHeight=document.getElementById("MainVisualization").offsetHeight;
console.log("------ "+containerWidth+ " "+containerHeight);
var margin = {top: 20, right: 20, bottom: 30, left: 40};
width = containerWidth - margin.left - margin.right,
height = containerHeight - margin.top - margin.bottom;
var padding = 20;
var dataset;
var parseDate = d3.time.format("%Y").parse;
var xScale = d3.time.scale().range([0,width]);
var yScale = d3.scale.linear().range([height,0]);
var xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom");
var yAxis = d3.svg.axis().scale(yScale).orient("left");
var line = d3.svg.line().interpolate("linear")
.x(function(d){
return xScale(d.anno);
})
.y(function(d){
return yScale(+d.value);
})
var tip2 = d3.tip()
.attr('class', 'd3-tip')
.offset([ -10, 0 ]).html(
function(d) {
return "<strong>% People:</strong> <span style='color:red'>" + d.Totale + "</span>";
})
/******* multi line chart ********/
containerWidth=document.getElementById("MainVisualization").offsetWidth;
containerHeight=document.getElementById("MainVisualization").offsetHeight;
var color = d3.scale.ordinal()
.range(["#9c8305","#d3c47c"]);
d3.tsv("resources/difference.tsv",function(data){
var labelVar = 'anno';
var varNames = d3.keys(data[0])
.filter(function(key){ return key !== labelVar;});
color.domain(varNames);
var seriesData = varNames.map(function(name){
return{
name: name,
values: data.map(function(d){
return {name: name, anno: d[labelVar], value: +d[name]};
})
};
});
console.log("serieData",seriesData);
var margin = {top: 20, right: 20, bottom: 30, left: 40};
width = containerWidth - margin.left - margin.right,
height = containerHeight - margin.top - margin.bottom;
var parseDate = d3.time.format("%Y").parse;
var xScale = d3.time.scale().range([0,width]);
var yScale = d3.scale.linear().range([height,0]);
var xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom");
var yAxis = d3.svg.axis().scale(yScale).orient("left");
var line = d3.svg.line().interpolate("linear")
.x(function(d){
return xScale(d.anno);
})
.y(function(d){
return yScale(d.value);
})
var svg = d3.select("#LineChart")
.append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
// svg.call(tip2);
svg.append("svg:text")
.text("Men's internet usage from 2003 to 2013")
.attr("x","40%")
.attr("y","6%")
.attr("font-size","100%")
.attr("dx","-25%")
.attr("fill","red");
data.forEach(function(d) {
d.anno = parseDate(d.anno.toString());
});
yAxis.tickFormat(function(d){return d + "%"});
yScale.domain([
d3.min(seriesData, function(c) {
return d3.min(c.values, function(v) { return v.value; });
}),
d3.max(seriesData, function(c) {
return d3.max(c.values, function(v) { return v.value; });
})
]);
xScale.domain(d3.extent(data,function(d){
return +d.anno;
}));
svg.append("g")
.attr("class","x axis")
.attr("transform","translate(0," + height +")")
.call(xAxis);
svg.append("g")
.attr("class","y axis")
.call(yAxis)
.append("text")
.attr("transform", "rotate(-90)")
.attr("y", 6)
.attr("dy", ".71em")
.style("text-anchor", "end")
.text("Frequency");
var series = svg.selectAll(".series").data(seriesData)
.enter().append("g").attr("class","series");
series.append("path")
.attr("class","line")
.attr("d",function(d){ return line(d.values); })
.style("stroke","black")
.style("stroke-width", "4px")
.style("fill", "none");
// .transition().duration(2500).attrTween("d",pathTween);
/*function pathTween() {
var interpolate = d3.scale.quantile()
.domain([0,1])
.range(d3.range(1, data.length + 1));
return function(t) {
return line(data.slice(0, interpolate(t)));
};
}*/
/* svg.selectAll("circle")
.data(datiInternet)
.enter()
.append("circle")
.attr("cx",function(d){
return xScale(d.anno);
})
.attr("cy",function(d){
return yScale(d.value);
})
.attr("r",5)
.on('mouseover', tip2.show).on('mouseout', tip2.hide);
*/
});
</script>
</body>
我看到的只是两个轴,我不知道出了什么问题。也许错误在于检索行(d.values),控制台 d.values 给了我一个数组,对于数组的每个元素,我需要“值”元素。请帮助我,我被封锁在这里,提前致谢!
最佳答案
您的代码似乎有很多错误。 (如果你查看 DOM,所有折线图都被放在工具提示 div 下。)这是我认为你正在寻找的工作准系统版本。
关于javascript - 多折线图显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30270938/
我的Angular-Component位于一个flexbox(id =“log”)中。可以显示或隐藏flexbox。 我的组件内部有一个可滚动区域,用于显示日志消息。 (id =“message-li
我真的很困惑 有一个 phpinfo() 输出: MySQL 支持 启用 客户端 API 版本 5.5.40 MYSQL_MODULE_TYPE 外部 phpMyAdmin 显示: 服务器类型:Mar
我正在研究这个 fiddle : http://jsfiddle.net/cED6c/7/我想让按钮文本在单击时发生变化,我尝试使用以下代码: 但是,它不起作用。我应该如何实现这个?任何帮助都会很棒
我应该在“dogs_cats”中保存表“dogs”和“cats”各自的ID,当看到数据时显示狗和猫的名字。 我有这三个表: CREATE TABLE IF NOT EXISTS cats ( id
我有一个字符串返回到我的 View 之一,如下所示: $text = 'Lorem ipsum dolor ' 我正在尝试用 Blade 显示它: {{$text}} 但是,输出是原始字符串而不是渲染
我无法让我的链接(由图像表示,位于页面左侧)真正有效地显示一个 div(包含一个句子,位于中间)/单击链接时隐藏。 这是我的代码: Practice
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
最初我使用 Listview 来显示 oracle 结果,但是最近我不得不切换到 datagridview 来处理比 Listview 允许的更多的结果。然而,自从切换到数据网格后,我得到的结果越来越
我一直在尝试插入一个 Unicode 字符 ∇ 或 ▽,所以它显示在 Apache FOP 生成的 PDF 中。 这是我到目前为止所做的: 根据这个基本帮助 Apache XSL-FO Input,您
我正在使用 node v0.12.7 编写一个 nodeJS 应用程序。 我正在使用 pm2 v0.14.7 运行我的 nodejs 应用程序。 我的应用程序似乎有内存泄漏,因为它从我启动时的大约 1
好的,所以我有一些 jQuery 代码,如果从下拉菜单中选择了带有前缀 Blue 的项目,它会显示一个输入框。 代码: $(function() { $('#text1').hide();
当我试图检查 Chrome 中的 html 元素时,它显示的是 LESS 文件,而 Firefox 显示的是 CSS 文件。 (我正在使用 Bootstrap 框架) 如何在 Chrome 中查看 c
我是 Microsoft Bot Framework 的新手,我正在通过 youtube 视频 https://youtu.be/ynG6Muox81o 学习它并在 Ubuntu 上使用 python
我正在尝试转换从 mssql 生成的文件到 utf-8。当我打开他的输出 mssql在 Windows Server 2003 中使用 notepad++ 将文件识别为 UCS-2LE我使用 file
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我正在尝试执行单击以打开/关闭一个 div 的功能。 这是基本的,但是,点击只显示 div,当我点击“关闭”时,没有任何反应。 $(".inscricao-email").click(function
假设我有 2 张卡片,屏幕上一次显示一张。我有一个按钮可以用其他卡片替换当前卡片。现在假设卡 1 上有一些数据,卡 2 上有一些数据,我不想破坏它们每个上的数据,或者我不想再次重建它们中的任何一个。
我正在使用 Eloquent Javascript 学习 Javascript。 我在 Firefox 控制台上编写了以下代码,但它返回:“ReferenceError:show() 未定义”为什么?
我正在使用 Symfony2 开发一个 web 项目,我使用 Sonata Admin 作为管理面板,一切正常,但我想要做的是,在 Sonata Admin 的仪表板菜单上,我需要显示隐藏一些菜单取决
我试图显示一个div,具体取决于从下拉列表中选择的内容。例如,如果用户从列表中选择“现金”显示现金div或用户从列表中选择“检查”显示现金div 我整理了样本,但样本不完整,需要接线 http://j
我是一名优秀的程序员,十分优秀!