我有一个高图表图形http://jsfiddle.net/jerryvermanen/XRjyc/,但我想添加一个输入字段。输入字段要求一年。输入后:
>
让事情变得更复杂一点,对于输入年份1992(4,94%)、1993(3,74%)、1994(4,77%)、1996(4,52%)、1997(4,94%)、1998(3,74%)和1999(4,77%),应在2001年3月1日添加()之间的百分比。
chart = new Highcharts.Chart({
exporting: {
enabled: false
},
chart: {
renderTo: 'container',
type: 'spline',
marginRight: 20
},
title: {
text: 'Rente DUO'
},
subtitle: {
text: ''
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats: { // don't display the dummy year
month: '%Y',
year: '%Y'
}
},
yAxis: {
min:0,
title: {
text: 'Werkloosheid (%)'
},
plotLines: [{
value: 0,
width: 2,
color: '#000000',
zIndex: 5
}, {
label: {
text: 'Rente DUO',
align: 'right'
},
value: 5,
width: 0.5,
color: '#ffffff',
zIndex: 1
}]
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'<br/>'+
Highcharts.dateFormat('%b %Y', this.x) +':</b> '+ this.y +'%';
}
},
plotOptions: {
spline: {
lineWidth: 3,
states: {
hover: {
lineWidth: 4
}
},
marker: {
enabled: false,
states: {
hover: {
enabled: true,
symbol: 'circle',
radius: 4,
lineWidth: 1
}
}
}
}
},
legend: {
enabled: false
},
如果这很复杂,也可以在进入一年后绘制一个新的图表。该图将是具有相同数据的阶梯线图。
如何做到这一点?
有趣的要求,我想除了第五个,我都有了。要做到这一点相当容易。您需要绘制线、输入表单和另一个
首先,您需要从输入表单中提取您的年份,并在其中添加1年(不确定为什么是1年,但请看这里):
passedYear = parseInt($('input:text').val(), 10) + 1;
然后,您需要将这一人类可读的年份转换为javascript时间戳:
showYear = Date.UTC(passedYear, 0, 1);
在此,您还需要考虑用户输入的值是否高于数据的最大年份(也低于最小年份)。下面是如何测试大于场景:
var extremes = chart.xAxis[0].getExtremes();
var maxYear;
maxYear = extremes.dataMax;
if (maxYear > showYear) {
do stuff
}
然后,您创建初始plotLine
:
chart.xAxis[0].addPlotLine({
value: showYear,
color: 'red',
width: 2,
id: 'plotLine'
});
接下来,要以5年为增量显示其他绘图线项目:
var plInterval;
plInterval = 5;
while (nextPL < maxYear) {
chart.xAxis[0].addPlotLine({
value: nextPL,
color: 'red',
width: 2,
id: 'plotLine'
});
nextYear = nextYear + plInterval;
nextPL = Date.UTC(nextYear, 0, 1);
}
这是为了确保我们不会将不必要的plotLine
项添加到永远不会显示的无穷大。
附加要求是在页面上显示“您支付xxxx”文本。为此,您需要一个<代码>
function getYValue(chartObj, seriesIndex, xValue) {
var yValue = null;
var points = chartObj.series[seriesIndex].points;
for (var i = 0; i < points.length; i++) {
if (points[i].x >= xValue) break;
yValue = points[i].y;
}
return yValue;
}
我这样使用它:
var yVal1;
yVal1 = getYValue(chart, 0, maxYear);
strInterestPay = strInterestPay + yVal1 + '%, ';
然后我将这个strIntrestPay
写入
$("div:interest").html(strInterestPay);
现在,我们需要写出额外绘制线项目的百分比:
yVal1 = getYValue(chart, 0, nextPL);
strInterestPay = ', ' + yVal1 + '%';
$('.content').append(strInterestPay);
演示
问题内容: 我需要在绘图的轴标签中键入希腊字母和埃符号。所以举个例子 除了我实际上希望将“ Angstrom”和“ lambda”替换为实际的符号。我应该怎么做?谢谢! 问题答案: 您不仅可以将原始字符串添加到matplotlib,还可以在matplotlibrc或本地使用以下方式指定字体: 这将更改您的衬线乳胶字体。您也可以像这样指定Sans-serif Helvetica 其他选项包括和及其各
我正在使用Chart.js并将其设置为生成一个漂亮的条形图。不幸的是,当您将鼠标悬停在条形图上时,默认弹出窗口仅显示条形图的值。我想弹出显示组中每个条的标签及其值。你有什么例子吗?非常感谢你! 实例
我的应用程序中有一个客户联系表单,当然需要电话输入。我正在运行Rails 3.2.13并使用Zurb Foundation。我希望找到一个以“(999) 999-9999”形式提供输入掩码的gem,我可以调用它。我的数据确实是本地的,所以我只需要美国格式的数字。 我能够在现场执行验证,但希望将用户限制在输入掩码的更严格范围内。这就是我目前所拥有的。 这方面有什么好东西吗,或者你喜欢的jQuery插
问题内容: 有没有一种快速的方法来创建带有右侧图标的输入文本元素,以清除输入元素本身(如google搜索框)? 我环顾四周,但只发现了如何将图标作为输入元素的背景。是否有jQuery插件或其他工具? 我想要输入文本元素中的图标,例如: 问题答案: 将a添加到您的输入中 该支持相当不错,但在IE <10中不起作用 旧浏览器的可清除输入 如果您需要IE9支持,请采取以下解决方法 使用标准和一些HTML
我正在尝试使用2.3.0绘制chart.js水平条形图- 但它只显示一个小节。我错过了什么?
设置输出选项 输出设置控制如何设置 HTML 文件的格式、如何命名文件和切片,以及在存储优化图像时如何处理背景图像。在 “输出设置 ”对话框中可以设置这些选项。 可以存储输出设置并将它们应用于其它文件。 1要显示 “输出设置 ”对话框,请执行以下任一操作: 存储优化图像时,从 “存储优化结果 ”或 “将优化结果存储为 ”对话框的 “设置 ”弹出菜单中选取 “其它 ”。 从 “存储为 Web 和设备