成都网站建设设计

将想法与焦点和您一起共享

Javascript柱图,javascript 柱状图

在js中用什么标签将柱状统计图上的分类显示从上方移到下方

显示标记标签。将文本、时间等字段拖入维度栏,将数值拖入左值轴和右值轴,设置好标签和显示,在柱状图上午显示数据标签,只需要将标签设置为“显示标记标签”,在js中用显示标记标签将柱状统计图上的分类显示从上方移到下方。JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。

专注于为中小企业提供成都做网站、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业玉屏免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

js柱状图,但是X轴上的值太多都覆盖了或者只显示几个,如何将全部显示

这个可以在先显示内容摘要,设置热点区域,鼠标移入后进行全部内容的放大显示

如何用D3.js绘制柱状图

1、模拟数据

// 模拟100条0-100的随机数,作为柱状图的高度

var data = Array.apply(0, Array(100)).map(function() {

return Math.random() * 100;

});

2、创建SVG容器

var margin = {top: 20, right: 20, bottom: 30, left: 50},

width = document.body.clientWidth - margin.left - margin.right,

height = 500 - margin.top - margin.bottom;

var chart = d3.select('body')

.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 + ')');

chart就是最终建立的容器,下面就往容器里面放元素。

3、画柱状图

// 计算每根柱状物体的宽度

var barWidth = width / data.length;

// 用g作每根柱状物体的容器,意义可类比div

// 前一篇文章已经介绍过selectAll的意义,即生成占位符,等待填充svg图形

var bar = chart.selectAll('g')

.data(data)

.enter()

.append('g')

// 接收一个数据填充一个g元素

// 同时为g设置位置

.attr('transform', function(d, i) {

return 'translate(' + i * barWidth + ', 0)';

});

bar.append('rect')

// 添加一个矩形

.attr('y', function(d) {

return height - d;

})

.attr('height', function(d) {

return d;

})

.attr('width', barWidth - 1);

前文提到svg的元素定位都是基于整个svg容器左上角作为原点,但并不能使用position: absolute等方法定位,此处的g元素通过位移来定位x坐标,即transform: translate(x, 0)。

这里的bar可类比jQuery对象,是一个类数组对象,bar调用的方法都会对bar里面每个对象进行调用。代码中每一次调用都插入一个矩形,同时设置y坐标、高度和宽度,x坐标跟父容器(g)保持一致即可。这里需要注意y坐标往下为正,为了让所有矩形的下边处于同一高度,这里设置每个矩形的y坐标为容器高度减去矩形高度。为了用一像素区分开每个矩形,这里设置矩形宽度为父容器的宽度减1。

通过以上js代码再稍微设置一点css

rect {

fill: #2177BB;

}

即可看到一张最简单的柱状图了。

4、添加坐标轴

var y = d3.scale.linear()

.domain([0, d3.max(data)])

.range([height, 0]);

var xAxis = d3.svg.axis()

.scale(x)

.orient('bottom')

.ticks(1);

var yAxis = d3.svg.axis()

.scale(y)

.orient('left');

// 添加x坐标轴

chart.append('g')

.attr('class', 'x axis')

.attr('transform', 'translate(0,' + height + ')')

.call(xAxis);

// 添加y坐标轴

chart.append('g')

.attr('class', 'y axis')

.call(yAxis);

完整的柱状图就是这样了


文章标题:Javascript柱图,javascript 柱状图
URL链接:http://chengdu.cdxwcx.cn/article/dscsode.html