我试图每个月绘制一个包含单个数据点的图表。我在每个月的第一天将其作为一个点发送到jqPlot:$.jqplot('actualChart',[[['2011-10-01',0.296],['2011-11-01',0.682]]],{title:programSelection.options[programSelection.selectedIndex].text,axes:{xaxis:{renderer:$.jqplot.DateAxisRenderer,rendererOptions:{tickRenderer:$.jqplot.CanvasAxisTickRenderer},
我正在尝试根据http://mbostock.github.com/d3/talk/20111116/bar-hierarchy.html制作图表,唯一的区别是我想对x轴使用对数刻度。这是我的fiddle:http://jsfiddle.net/JhDVC/5/如您所见,x轴在第4行定义:x=d3.scale.linear().range([0,w]),如果我改变它x=d3.scale.log().range([0,w]),然后它不起作用(没有呈现任何内容),抛出这些错误消息:Error:Invalidvalueforattributewidth="NaN"更改域设置从x.domain
这是一个JSFiddle:http://jsfiddle.net/8p2yc/(此处稍作修改的示例:http://bl.ocks.org/mbostock/3883245)正如您在JSFiddle中看到的,沿y轴的刻度标签不适合svg。我知道我可以增加左边距,但问题是我事先不知道数据是什么。如果我只是将页边距设置得非常大,如果数字的长度很短,图表就会显得很尴尬。有没有办法在创建图表时预先计算最大标签宽度以正确设置边距?或者也许有一个完全不同的解决方案?varmargin={top:20,right:20,bottom:30,left:50},width=400-margin.left-
我在d3.js线图中只有5个值[1,2,3,4,5]作为我的y坐标。但是,我最终得到更多的值[0.5,1,1.5,2,2.5,3,3.5,4,4.5,5]有没有办法编辑d3.js文件或html文件以便将值绘制为按照我的要求? 最佳答案 d3轴创建的刻度线可以通过两种方式控制:使用axis.tickValues(arrayOfValues)您可以明确设置要在轴上显示的值。通过将每个值传递给关联的比例来定位刻度,因此这些值应该在您的比例范围内。这适用于任何类型的量表,包括序数量表,只要您提供的值适合该量表。或者,使用axis.ticks
我试图在文档中查找(我在其他地方找到的所有示例都不再有效,可能是由于早期版本的语法过时)如何使用“scaleLabel”,但它引用了比例标题配置一个不存在的链接(不再):http://www.chartjs.org/docs/#scale-title-configuration有人可以提供一个工作示例吗? 最佳答案 如果您在文档中向下滚动,则比例标题配置是一个标题。这是一个简单的条形图示例,使用经过轻微修改的scaleLabel来说明百分比。https://jsfiddle.net/r71no58a/4/scales:{yAxes:
我之前问过一个关于d3的问题,他们建议我使用序数尺度,这会解决我的问题。它确实解决了我的问题,但我知道我遇到了另一个问题......它画得很好,但我的X轴上全是文字。例如,我想要:1900190419081912...但我得到了:190119021903190419051906。如您所见,这还不清楚。(这只是一个例子,如果只有日期我可以使用另一个尺度)。我看到的每个地方都在谈论axis.ticks(number)。但这不起作用。没有任何反应,我仍然得到相同的结果。我破解了一个结果以在x轴上获得更少的结果:varstr=[];vari=0;while(i但如果我这样做,它会创建一条随机线
是否可以在plotly.js中为刻度标签留出更多空间??我图表中的长标签被chop了。HTML:JavaScript:vardata=[{type:'bar',x:[20,14,23],y:['giraffes','orangutans','alooooooooongstring'],orientation:'h'}];varlayout={title:'BarChart'};Plotly.newPlot('plot',data,layout);我在APIfory-axesticksettings中看不到如何执行此操作.鉴于我的图表的性质,我需要使用水平方向。因此,我无法使用的解决方案
使用d3js格式化此时间序列图表的x轴时遇到问题。这是一个工作示例:http://tributary.io/inlet/7798421问题:我只能在x轴上看到1个日期(标签),无论指定的刻度总数如何。如何在x轴上以4-6个刻度显示时间?编辑:下面感谢Lars的解决方案。这是我在UTC的时间:vardata=[{"time":1387212120,"open":368,"close":275,"high":380,"low":158},{"time":1387212130,"open":330,"close":350,"high":389,"low":310},{"time":13872
我正在d3.js中构建面积图。对于我的y轴,我想使用从图中表示的数据的最小值延伸到最大值的线性刻度。使用y=d3.scale.linear().range([height,0]),yAxis=d3.svg.axis().scale(y).orient("left")d3仅显示10000的倍数的刻度。我还希望看到起始值和结束值的刻度。这可能吗?怎么办? 最佳答案 nice()方法通常更可取,但如果您确实希望在数据的最大值和最小值处有明确的刻度标签,您可以强制轴包括它们,连同比例尺将创建任何默认刻度值:axis.tickValues(s
我是D3的新手,只是有一个关于用D3制作的折线图上的刻度标签的快速问题。我正在使用d3.svg.axis.scale().tickSize().tickSubdivide()来生成我的刻度线。有没有办法隐藏它们或改变它们的值?例如,我有一个折线图,其中刻度标签是间隔(1、2、3等),我想将它们更改为字符串('Jan'、'Feb'、'Mar'、'Apr',ETC)。这可能吗?谢谢! 最佳答案 您可以像这样隐藏刻度格式:myGraph.yAxis.tickFormat(function(d){return'';});