标签: linechart

D3.JS时间序列折线图,包含实时数据,平移和缩放

FIDDLE <<<<这里有比问题更新的代码.

我试图在d3中创建一个实时(实时更新)时间序列图表,也可以平移(在X中)和缩放.理想情况下,我想要的功能是,如果用户可以看到该行的最右侧部分,那么当新数据添加到图表时,它将自动横向平移以包含新数据(不更改轴刻度).

我的d3.json()请求应返回如下所示的JSON数组:

[{"timestamp":1399325270,"value":-0.0029460209892230222598710528},{"timestamp":1399325271,"value":-0.0029460209892230222598710528},{"timestamp":1399325279,"value":-0.0029460209892230222598710528},....]
Run Code Online (Sandbox Code Playgroud)

当页面首次加载时,我发出请求并获取到目前为止所有可用的日期,并绘制图表 - 很简单.下面的代码执行此操作,它还允许平移(在X中)和缩放.

var globalData;
var lastUpdateTime = "0";
var dataIntervals = 1;

var margin = { top: 20, right: 20, bottom: 30, left: 50 },
    width = document.getElementById("chartArea").offsetWidth - margin.left - margin.right,
    height = document.getElementById("chartArea").offsetHeight - margin.top - margin.bottom;

var x = d3.time.scale()
    .range([0, width]);

var y = d3.scale.linear()
    .range([height, 0]);

var xAxis = d3.svg.axis()
    .scale(x)
    .orient("bottom")
    .ticks(10)
    .tickFormat(d3.time.format('%X'))
    .tickSize(1);
    //.tickPadding(8);

var yAxis = d3.svg.axis()
    .scale(y)
    .orient("left");

var valueline = d3.svg.line()
    .x(function (d) { …
Run Code Online (Sandbox Code Playgroud)

javascript linegraph real-time linechart d3.js

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

在rcharts NVD3 lineChart中的绘图区域

我想用rCharts的NVD3 lineChart图使用area = true选项绘制不同种群的分布,如http://nvd3.org/examples/line.html.

我在这里工作:

require(devtools)
install_github('ramnathv/rCharts')
require(rCharts)

df<-data.frame(X=rep(1:4,2),Y=1:8,fil=c(rep("A",4),rep("B",4)))

denp <- nPlot(Y ~ X, group = 'fil', data = df, type = 'lineChart')
denp$chart(color =c('#ff7f0e', 'blue', 'green'))
denp$yAxis(axisLabel= 'Density')
denp$xAxis(axisLabel= 'Value')
denp$chart(margin = list(left=80,bottom=80))
denp$yAxis(tickFormat = "#!function (x,y,e) { return }!#")
denp$xAxis(tickFormat = "#!function (x,y,e) { 
tickformat = ['0,01','0,1',1,10,100,1000,10000,'100k'];
return tickformat[x+2];}!#")
denp$chart(tooltipContent = "#! function(key, val, e, graph){
return '<h3>' + '<font color=blue>'+ key +'</font>'+ '</h3>' + '<p>'+ val } !#")

denp
Run Code Online (Sandbox Code Playgroud)

我发现的问题是我无法将area参数切换为true.我试过了:

denp$chart(area=TRUE)
denp$chart(area=c(TRUE,TRUE,TRUE))
denp$chart(area=c('true'))
denp$chart(area=c('true','true','true'))
denp$chart(area=c('#!true!#')) …
Run Code Online (Sandbox Code Playgroud)

r linechart area nvd3.js rcharts

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

使用dplyr计算95%-CI的长度

上次我询问如何计算每个测量时间(周)的平均分数,对于多个受访者重复测量的变量(procras).所以我的(简化)长格式数据集看起来像下面的例子(这里有两个学生,5个时间点,没有分组变量):

studentID  week   procras
   1        0     1.4
   1        6     1.2
   1        16    1.6
   1        28    NA
   1        40    3.8
   2        0     1.4
   2        6     1.8
   2        16    2.0
   2        28    2.5
   2        40    2.8
Run Code Online (Sandbox Code Playgroud)

使用dplyr我会得到每个测量场合的平均分数

mean_data <- group_by(DataRlong, week)%>% summarise(procras = mean(procras, na.rm = TRUE))
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

Source: local data frame [5 x 2]
        occ  procras
      (dbl)    (dbl)
    1     0 1.993141
    2     6 2.124020
    3    16 2.251548
    4    28 2.469658
    5    40 2.617903
Run Code Online (Sandbox Code Playgroud)

使用ggplot2,我现在可以绘制随时间的平均变化,并通过轻松调整dplyr的group_data(),我也可以获得每个子组的平均值(例如,男性和女性的每次平均得分).现在我想在mean_data表中添加一个列,其中包括每个场合平均得分95%-CIs的长度.

http://www.cookbook-r.com/Graphs/Plotting_means_and_error_bars_(ggplot2)/解释了如何获取和绘制CI,但这种方法似乎一旦我想为任何子组执行此操作就会出现问题,对吧?那么有没有办法让dplyr在mean_data中自动包含CI(基于组大小等)?之后,将新值作为CI绘制到我希望的图表中应该相当容易.谢谢.

r linechart ggplot2 confidence-interval trend

10
推荐指数
2
解决办法
9140
查看次数

D3js - 创建并轻松更新多线图

我使用D3创建了一个小测试线图,但由于我对库很新,我不确定在图表中添加多行是最好的方法,目前我只有一行显示小提琴.

我想在图表上显示2行,但我不确定如何在没有复制粘贴代码的情况下实现这一点,我相信这将是非常低效的,因为我想根据用户选择定期更新/动画图形.

而不是这个,

var data = [12345,22345,32345,42345,52345,62345,72345,82345,92345,102345,112345,122345,132345,142345];
Run Code Online (Sandbox Code Playgroud)

我想展示这样的东西,

var data = [
            [12345,42345,3234,22345,72345,62345,32345,92345,52345,22345], // line one
            [1234,4234,3234,2234,7234,6234,3234,9234,5234,2234] // line two
          ];
Run Code Online (Sandbox Code Playgroud)

这可能吗?如果是这样,那么最好的方法是什么,以便我可以在需要时轻松更新/动画图形?

注意:我只是想学习并熟悉D3最佳实践和整个库.谢谢.

javascript linechart d3.js

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

d3 linechart string domain x-axis

我是相对较新的D3,我无法弄清楚为什么有些东西不起作用..我想用d3绘制一个折线图,这很好用,但我的轴有问题.

使用以下代码在某处出错,我看不出如何解决...

var x = d3.scale.linear()
.range([0, width]);

var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom");

x.domain(d3.extent(data, function(d) { return d.age; }));
Run Code Online (Sandbox Code Playgroud)

如果d.age是一个整数(如1; 2; 3等),它运作良好.但我想在x轴上使用字符串.喜欢("荷兰","英格兰","比利时").

因此,如果d.age是一个整数,它会绘制图表,如果d.age是一个字符串,它不会绘制任何东西.

我也试过使用序数而不是线性,但这给出了一个不正确的图表.(奇怪的看起来......).

希望有人可以帮助我.

axis linechart ordinal d3.js

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

为streamlit line_chart添加标签x轴和y轴

我想为我的简单line_chartin中的 x 和 y 轴添加标签streamlit

绘图命令是

st.line_chart(df[["capacity 1", "capacity 2"]])
Run Code Online (Sandbox Code Playgroud)

line_chart它用 2 条线(容量 1 和容量 2)绘制 a 。

是否有一个简单的命令来添加 x 和 y 轴标签(也许还有图表标题)?

python axis linechart streamlit

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

Google图表 - 曲线图表错误地低于0

我有一个谷歌折线图,我设置'curveType': 'function'所以图形是弯曲的,具有漂亮的外观.我的问题是,当数据点的值为0,后跟一个跟随的高值时,图表下降到0以下,以便曲线可以正确拟合.这也导致vAxis的minRange为-2000,这对我的数据来说是不可能的(随着时间的推移下载次数).

我试图通过设置'minValue': 0'viewWindowMode': 'maximized'在vAxis上解决这个问题,但它还没有完全解决问题.

我附上了一张图片,可以用文字解释我的问题.

http://img41.imageshack.us/img41/7589/screenshot20121031at144.png

如果有人知道这个解决方案,没有我必须回到直线,我将非常感激.谢谢

javascript graph linechart google-visualization

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

JFreeChart折线图,每个点都有文字

我想把文字放在我在折线图上绘制的每个点上.

这就是我能做的:我可以做什么

这就是我需要的(点的名称是绿色):我需要的

java linechart jfreechart

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

Highcharts - fire legendItemClick事件

我想触发当你从外部html按钮选择项目图例时触发的同一事件.可能吗?

我创建了一个jsfiddle来展示它:http://jsfiddle.net/YcJF8/1/ .

$('#container').highcharts({
                    chart : {
                        type : 'spline',
                    },

                    xAxis : {
                        categories : ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
                    },

                    series : [{
                        data : [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],

                    }],

                    plotOptions : {
                        series : {

                        cursor : 'pointer',
                    }
                },
});

$('#button').click(function() {
        alert("Fire legenditemclick event");
});
Run Code Online (Sandbox Code Playgroud)

在这个jsfiddle,我有一个按钮,我希望当我点击按钮时,它会触发一个事件或图表检测到的东西,并且单击了项目图例(系列1).

非常感谢你

events linechart legend highcharts

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

d3js折线图错误 - 绘制奇怪的区域

我找不到有类似问题的人,没有线索解决我在阅读文档和其他问题时遇到的问题,所以我希望有人可以帮助我.

这是我的代码(从文档示例中复制)

var margin = {top: 20, right: 20, bottom: 30, left: 150},
width = document.getElementById("aapp_content_charts").clientWidth - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;

var x = d3.time.scale()
.range([0, width]);

var y = d3.scale.linear()
.range([height, 0]);

var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.ticks(3);

var yAxis = d3.svg.axis()
.scale(y)
.orient("left");

var line = d3.svg.line()
.x(function(d) { return x(d3.time.year(parseDate(d[0]))); })
.y(function(d) { return y(d[1]); });

var svg = d3.select("#aapp_content_charts").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height …
Run Code Online (Sandbox Code Playgroud)

linechart d3.js

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