问题标签 [angular-nvd3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nvd3.js - 使用 NVD3 从轴获取渲染日期范围
我正在使用 NVD3 显示许多折线图,并希望能够获得当前显示的 xAxis 的最小值和最大值。在这种情况下,xAxis 显示时间值。
当切换图表中线条的可见性时,通过单击图例标签,日期范围会发生变化。我添加了一个事件处理程序来收听 legendClicks,但我如何才能掌握新呈现的日期范围?
angularjs - 有没有办法让我在甜甜圈图表的标题之后添加一个文本?
我将 nvd3js 用于 angular ( http://krispo.github.io/angular-nvd3/#/ ),我想在标题之后添加一个文本(在这种情况下,标题是 98%) 和要添加的文本是“完成”。到目前为止,我能够让它工作,但我似乎无法让它工作。到目前为止,这是我的 plunkr:http ://plnkr.co/edit/KSdnFepUaI4MUCwAQJgP?p=preview
nvd3.js - Angular-nvd3 折线图,线条呈现在图表之外
我正在使用 Krispos angular-nvd3来渲染折线图。出于某种原因,线条呈现在图表之外或日期错误。xDomain
x 轴是时间刻度,使用 datepicker 设置的最小值和最大值。
设置xDomain
图表时,使用选定的开始日期和结束日期作为 x 轴的最小值和最大值来呈现图表。但是,由于数据集的最短日期出现在所选开始日期之前,因此这些线条会在时间间隔之外呈现。在此示例中,选择的开始日期为2015-08-08,结束日期为2015-11-08:
如果我使用forceX
而不是xDomain
设置最小值和最大值,则线条将在图表网格中呈现。但在这种情况下,数据集的最小日期在所选开始日期之前,因此 x 轴从2015-07-07而不是2015-08-08开始。如下图所示:
这些是使用的基本图表选项。xDomain
或forceX
动态设置。
$scope.chartOptions = {
chart: {
type: 'lineChart',
yDomain: [0,5],
xDomain: [moment(data.startDate).valueOf(), moment(data.endDate).valueOf()],
useInteractiveGuideline: true,
interactiveLayer: {
showGuideLine: true
},
lines: {
},
xScale: d3.time.scale(),
xAxis: {
showMaxMin: true,
rotateLabels: -45,
tickFormat: function(d) {
return d3.time.format('%Y-%m-%d')(new Date(d));
}
},
height: 350,
margin : {
bottom: 100
}
}
};
我是否需要以某种方式使用范围才能正常工作,即仅在选定的开始和结束日期内呈现数据。
感谢您的意见!
javascript - Angular-nvd3:x 尺度上的数据之间的距离相同
默认情况下,x 轴的比例是根据值计算的。这使得两个相邻点之间的距离不均匀。例如,如果我有一个值数组,例如[1,2,5]
,点的 x 轴上会有不同的距离,并且 x 轴标签将包含一些其他值,如 1、2、3、4、5。如果在 x 轴上显示的日期,可能会打印两个相等的日期,看起来很难看。
看看这个笨蛋。如果您最大化浏览器窗口,您可能会看到 x 轴标签有重复项(例如 02/09/2015 在我的屏幕上可见 2 次)。点之间的距离也不同。
我怎样才能:
- 确保不存在重复的 x 轴标签?
- 点之间的距离是否根据图形的宽度均匀分布(不根据值缩放)?
javascript - 与 angular-nvd3 一起使用的 nvd3 是 slooooowwwww
我相信我有一个问题,可以通过我遗漏的东西很容易地解决,但我似乎看不出实际问题是什么。我有一个应用程序,它每秒返回 5000 个点(1000 个 x,y 点的 5 个数组元素),我想在客户端使用 NVD3 进行更新。这是一个 AngularJS 应用程序,所以我使用 krisposangular-nvd3
指令。但是,它使整个应用程序陷入困境,根据 Chrome 的开发人员工具捕获的时间线,该应用程序似乎要等待d3_timer_step
5-6 秒才能返回。
我认为这个问题是由于我们如何更新数据,但整个问题似乎与实际的 d3 部分有关。客户端的代码是
在控制器中,选项定义如下
并且数据在以下模板中定义
数据通过使用以下方法从服务广播的函数调用更新
使用以下方法在广播中调用该函数(以 1 秒为间隔广播)
有没有人看到这里看起来明显错误的东西或者我应该做不同的事情?有没有我错过的选项?任何帮助都会很棒。
干杯,马特
angularjs - 使用 angular-nvd3 图表库在饼图上添加启动动画
我需要在 angular-nvd3 图表库中的饼图上添加启动动画,可以为某些部分添加动画,但我无法为饼图设置动画。
angularjs - linePlusBarWithFocusChart 的预定义过滤器
我正在尝试在我的应用程序中使用 linePlusBarWithFocusChart ( angular-nvd3 ),但我遇到了以下问题 - 我无法在底部图表中设置初始范围(例如,我需要在上部图表中显示特定年份的值和当图表加载时,将此年份范围设置为下图中的初始过滤器)。是否可以实现此功能?
var app = angular.module('plunker', ['nvd3']);
这是我的代码。请帮我。