如何仅增加 SVG 行的大小(宽度)
How to increase the size(width) of the SVG line only
我上面有一条线和一个标记。现在我只想增加线条的宽度而不是箭头。如果我给 stroke-width 线的大小和标记都在增加。
这是我的fiddle:http://fiddle.jshell.net/keshav_1007/pwr7043d/7/
var yMax = 1.2;
var svg1 = dimple.newSvg("body", 370, 230);
var data = [{
"Brand":"A",
"Day":"Mon",
"SalesVolume":10 },
{
"Brand":"B",
"Day":"Mon",
"SalesVolume":20 }];
var myChart = new dimple.chart(svg1, data);
myChart.setBounds(120, 10, 170, 150)
var x = myChart.addCategoryAxis("x", "Day");
var y = myChart.addPctAxis("y", "SalesVolume");
y.overrideMax = yMax;
y.addOrderRule("SalesVolume");
var s = myChart.addSeries("Brand",dimple.plot.bar);
s.getTooltipText = function (e) {
var graphValue = (e.aggField[0]);
return [
""+graphValue+""
];
};
s.barGap=0.7;
myChart.draw();
var defs = svg1.append("defs");
defs.append("marker")
.attr("id", "triangle-start")
.attr("viewBox", "0 0 10 10")
.attr("refX", 10)
.attr("refY", 5)
.attr("markerWidth", 10)
.attr("markerHeight", 10)
.attr("orient", "auto")
.append("path")
.attr("class", "marker")
.attr("d", "M 0 0 L 10 5 L 0 10 z");
svg1.append("line")
.attr("x1", 140)
.attr("x2", 195)
.attr('stroke','black')
.attr("y1", y._scale(0.5))
.attr("y2", y._scale(0.5))
.attr("marker-start", "url(#triangle-start)");
请告诉我如何单独增加行的大小。
默认情况下,标记大小是相对于笔画宽度的,如果你不想这样,那么你可以使用 markerUnits
属性使大小相对于当前用户空间坐标系。
所以,只需添加:
.attr("markerUnits", "userSpaceOnUse")
到创建标记元素的位置,并将大小调整为您想要的大小。之后改变笔画宽度应该不会影响标记的大小。
我上面有一条线和一个标记。现在我只想增加线条的宽度而不是箭头。如果我给 stroke-width 线的大小和标记都在增加。
这是我的fiddle:http://fiddle.jshell.net/keshav_1007/pwr7043d/7/
var yMax = 1.2;
var svg1 = dimple.newSvg("body", 370, 230);
var data = [{
"Brand":"A",
"Day":"Mon",
"SalesVolume":10 },
{
"Brand":"B",
"Day":"Mon",
"SalesVolume":20 }];
var myChart = new dimple.chart(svg1, data);
myChart.setBounds(120, 10, 170, 150)
var x = myChart.addCategoryAxis("x", "Day");
var y = myChart.addPctAxis("y", "SalesVolume");
y.overrideMax = yMax;
y.addOrderRule("SalesVolume");
var s = myChart.addSeries("Brand",dimple.plot.bar);
s.getTooltipText = function (e) {
var graphValue = (e.aggField[0]);
return [
""+graphValue+""
];
};
s.barGap=0.7;
myChart.draw();
var defs = svg1.append("defs");
defs.append("marker")
.attr("id", "triangle-start")
.attr("viewBox", "0 0 10 10")
.attr("refX", 10)
.attr("refY", 5)
.attr("markerWidth", 10)
.attr("markerHeight", 10)
.attr("orient", "auto")
.append("path")
.attr("class", "marker")
.attr("d", "M 0 0 L 10 5 L 0 10 z");
svg1.append("line")
.attr("x1", 140)
.attr("x2", 195)
.attr('stroke','black')
.attr("y1", y._scale(0.5))
.attr("y2", y._scale(0.5))
.attr("marker-start", "url(#triangle-start)");
请告诉我如何单独增加行的大小。
默认情况下,标记大小是相对于笔画宽度的,如果你不想这样,那么你可以使用 markerUnits
属性使大小相对于当前用户空间坐标系。
所以,只需添加:
.attr("markerUnits", "userSpaceOnUse")
到创建标记元素的位置,并将大小调整为您想要的大小。之后改变笔画宽度应该不会影响标记的大小。