javascript - 如何在d3中翻转条形图
问题描述
我在翻转我的酒吧时遇到了麻烦。看起来它们正在“增长”但在 x 轴下。我知道在 SVG 中,(0,0)坐标位于左上角,我设法将它们带到了我的 SVG 的底部,但我该如何改变我的条形图从 x 轴下方到轴上方的方向?
var formatYear = d3.timeFormat("%Y");
var svg = d3.select("svg"); // calling svg
const width = +svg.attr('width'); // width of svg container
const height = +svg.attr('height'); // height of svg container
var padding = 30
// create d3 data join
// load csv file
d3.csv("q3.csv").then(data => {
data.forEach(d => {
d.year = d.year; // need to format year
d.running_total = +d.running_total // format to number
});
render(data);
});
const render = data => {
const yValue = d => d.running_total;
const xValue = d => d.year;
const margin = {
top: 20,
right: 20,
bottom: 20,
left: 20
};
const xScale = d3.scaleBand()
.domain([0, data.map(xValue)])
.range([0, width])
// Line 38
const yScale = d3.scaleLinear()
.domain([0, d3.max(data, yValue)])
.range([0, height])
console.log(yScale.domain())
// const g = svg.append('g')
// .attr('transform','translate(${margin.left},${margin.top})'
// );
svg.selectAll('rect').data(data)
.enter().append('rect') // Line 47
.attr('x', d => yValue(d))
.attr('y', height) // Line 48
.attr('height', d => yValue(d)) // Line 49
.attr('width', 5);
};
解决方案
推荐阅读
- java - 通过定义多对多关系。同一列
- java - Java 多线程输出在线程安全的 System.out 上看似模棱两可
- python - 优化创建列表字典
- python - 防止在 matplotlib 中将颜色条拉伸到绘图轴的宽度
- python - 比较python 3中字典中的列表类型值
- api - 使用 Sublime Text 3 API,如何自定义标签的设计?
- amazon-web-services - AWS SNS 消息属性文档的清晰度
- c# - C# HTMLAgilityPack System.NullReferenceException
- windows - 安装程序无法在 WinServer2012+ 上为 %ProgramData%\MyFirm\MyApp 设置正确的文件夹权限。
- python - 如何设置禁用按钮文本的颜色?