由于raphael JS库的记录很少,我恳求集体智慧。
我有工作。 raphael多线折线图(类似于http://g.raphaeljs.com/linechart.html)
像这样的东西: var lineChart = rglinechart(10,10,300,220,[1,2,3,4,5],[[10,20,15,35,30],[5,10,5,15,20]],{shade :true,“colors”:[“#44F”,“#CCC”],nostroke:true});我想更改其中一行以设置fill = clear和stroke = a color
我被告知这样的事可行,但没有运气 - 有什么建议吗? lineChart.lines [0] .attr({stroke:“#000”}),
如需额外信用,如何将线条的填充设置为渐变?
谢谢!
答案 0 :(得分:5)
我使用Firebug和console.log()列出一行上的属性:
console.log(chart.lines[0].attr());
我点击日志行查看详细信息,如下所示:
fill: "none"
path: [ ... ]
stroke: "#ff0000"
stroke-dasharray: ""
stroke-linecap: "round"
stroke-linejoin: "round"
stroke-width: 2
transform: []
对我来说,我想改变笔画宽度。此代码有效:
chart.lines[0].attr({'stroke-width': 8});
line-width
中列出了chart.lines[0].attr({'fill': 'none', 'stroke': '#FF00FF'});
属性。
对于您的问题,我希望您需要这样的代码:
{{1}}
我希望这有帮助!
答案 1 :(得分:2)
以下是我通过反复试验找到的一些内容。将在我发现更多时更新。正如你所说,如果gRaphael实际上有像真实项目这样的文档会好得多......虽然它似乎最近被移交了所以希望事情会发生变化。
lineChart.lines
lineChart.symbols
lineChart.axis
{axis: "0 0 1 1"}
),那么axis[0]
将是X轴而axis[1]
是Y.如果你有一个左,下,右,权利将是axis[0]
,底部axis[1]
,左axis[2]
等。lineChart.axis[n].text
(其中n是您想要的轴的数字,如上所示)
答案 2 :(得分:1)
kenny shen建议
lineChart.lines[0].attr({"stroke": "#000"})
答案 3 :(得分:0)
我没有使用Raphäel,但你应该能够将填充设置为透明并为笔画设置颜色。如果SVG元素具有ID或类,那么您应该能够通过CSS设置它:
#id {
stroke: colour;
fill: none;
}
否则,您可以使用path:nth-of-type()
来选择元素,或者选择与JS中任何其他元素一样的元素并设置笔触和填充属性。
您在上面的代码中有nostroke: true
。我不确定这是否会阻止它按预期工作。
要设置渐变(至少在实际SVG中),请将fill属性的值设置为指向id的url。然后,您可以使用该ID创建linearGradient元素。请参阅this example如何编写渐变。您也可以在SVG中将笔画的值设置为渐变。