javascript - NVD3.js 中的轴标签

标签 javascript charts nvd3.js angular-nvd3

我正在寻找如何在NVD3.js中修改X轴和Y轴标签字体的字体大小和属性

文档似乎没有指明执行此操作的选项。可能吗?

最佳答案

NVD3 或 D3 本身似乎没有默认属性。

然而,我们可以通过直接将其应用于轴的文本元素来更改字体大小或任何其他 SVG CSS 属性。这可以通过使用 <style> 来完成。标记或使用 d3.select() .

轴文本标签由 <text> 创建节点。对于两个轴,都有具有以下类的父容器元素。

nv-x //for x axis <text> nodes
nv-y //for y axis <text> nodes

因此很容易使用它们来设置文本标签的 CSS 属性。

.nv-x text{
  font-size: 20px;
  fill: blue;
}
.nv-y text{
  font-size: 17px;
  fill:red;
}

以下是 NVD3 中可用的其他属性的链接。

http://nvd3-community.github.io/nvd3/examples/documentation.html

下面是 D3 中 SVG 轴属性的链接。

https://github.com/mbostock/d3/wiki/SVG-Axes

这些不包括有关设置刻度字体大小的任何信息。

以下是工作代码示例。

<html>
<head>
	<style>
		#chart svg {
		  height: 300px;
		}
		.nv-x text{
		  font-size: 20px;
          fill: blue;
		}
        .nv-y text{
		  font-size: 17px;
          fill:red;
		}
	</style>
<head>
	<meta charset="utf-8">
	<link rel="stylesheet" href="http://nvd3.org/assets/css/nv.d3.css">
	<script type="text/javascript" src="http://nvd3.org/assets/lib/d3.v2.js"></script>
	<script type="text/javascript" src="http://nvd3.org/assets/lib/fisheye.js"></script>
	<script type="text/javascript" src="http://nvd3.org/assets/js/nv.d3.js"></script>
</head>
<body>
	<div id="chart">
	  <svg></svg>
	</div>


	<script>
		var data = function() {
		  var sin = [],
			  cos = [];

		  for (var i = 0; i < 100; i++) {
			sin.push({x: i, y: Math.sin(i/10)});
			cos.push({x: i, y: .5 * Math.cos(i/10)});
		  }

		  return [
			{
			  values: sin,
			  key: 'Sine Wave',
			  color: '#ff7f0e'
			},
			{
			  values: cos,
			  key: 'Cosine Wave',
			  color: '#2ca02c'
			}
		  ];
		};

		nv.addGraph(function() {
		  window.chart = nv.models.lineChart()
			.useInteractiveGuideline(true)
			;

		  chart.xAxis
			.axisLabel('Time (ms)')
			.tickFormat(d3.format(',r'))
			;

		  chart.yAxis
			.axisLabel('Voltage (v)')
			.tickFormat(d3.format('.02f'))
			;
			

		  d3.select('#chart svg')
			.datum(data())
			.transition().duration(500)
			.call(chart)
			;

		  nv.utils.windowResize(chart.update);

		  return chart;
		});

		
	</script>
</body>
</html>

关于javascript - NVD3.js 中的轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36507857/

相关文章:

javascript - 根据传递的 Prop 为组件创建类型

javascript - 未捕获的 TypeError : $. getScript(...).done 不是函数

javascript - 基本 JavaScript 变量定义

charts - 是否可以在系列/绘图后面显示形状?

javascript - ChartJS - Y 轴线不绘制

javascript - 融合图表中堆叠条形顶部的总值(value)

javascript - 使所有对象的数组长度相同

javascript - 如何将分类图例添加到 Python Folium map ?

graph - 设置最大 x 和 y 轴范围 NVD3

javascript - Highcharts -plotLines 不会渲染