首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用dc.js移动x轴位置?

如何使用dc.js移动x轴位置?
EN

Stack Overflow用户
提问于 2022-06-28 16:47:35
回答 1查看 32关注 0票数 2

我有这个:

但是我希望x轴沿着y=0运行。

理想情况下,我要么把勾标放在顶部,比如蓝色的位置,要么放在图表的底部。

编辑:如何创建图表。

我用的是:

代码语言:javascript
复制
var                                                                                     
  ndx = crossfilter(data),                                                              
  dataDimension = ndx.dimension(d => d.period),                                         
  ordinals = data.map(d => d.period),                                                   
  lossGroup = dataDimension.group().reduceSum(d => d.loss),                             
  offsets = lossGroup.all().map(d => -d.value),                                         
  chart;                                                                                
                                                                                        
// The data is like {                                                                   
//   period: Date (start of period, e.g. month),                                        
//   start: Integer (number at start of period/end of last period)                      
//   loss: Integer (number lost during period)                                          
//   gain: Integer (number gained during period)                                        
// }                                                                                    
                                                                                        
chart = dc.barChart(chartElement)                                                       
  .dimension(dataDimension)                                                             
  // The first group is the loss                                                        
  .group(lossGroup)                                                                     
  .stack(dataDimension.group().reduceSum(d => d.start), 'carryforward')                 
  .stack(dataDimension.group().reduceSum(d => d.gain), 'gain')                          
  .stackLayout(d3.layout.stack().offset(layers => offsets))                             
  .x(d3.scale.ordinal(ordinals).domain(ordinals))                                       
  .xUnits(dc.units.ordinal)                                                             
  .elasticY(true)                                                                       
  .renderLabel(false)                                                                   
  // The first group is the loss                                                        
  .title(item => 'Loss: ' + item.value)                                                 
  .title('carryforward', item => 'Sustained: ' + item.value)                            
  .title('gain', item => 'Gain: ' + item.value)                                         
  .renderTitle(true);                                                                   
  dc.renderAll();                     
EN

回答 1

Stack Overflow用户

发布于 2022-06-28 20:26:24

嗯,我猜你是用.stackLayout()来得到负叠加的。由于dc.js没有“查看”这个设置,我不认为有任何内置的东西来偏移轴。您可能需要使用pretransition处理程序来移动它。

至于移动标签,您可以使用.title()代替,就像在这个例子中一样。然后将滴答标签设置为空。

我能想到的最好不过是一句评论,而不是真正的回答。:-)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72790360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档