Javascript 将两个图表合并到一个分区中-d3/css
我绝对不擅长Javascript 将两个图表合并到一个分区中-d3/css,javascript,html,css,d3.js,Javascript,Html,Css,D3.js,我绝对不擅长css之类的东西。 我有两个图(JSFIDLE示例): 我想把它们放在同一个div,但不是并排,而是放在2x1中(2行1列) 到目前为止,我的结论是(这些数据加在一起没有意义,但这只是一个测试): 我试图在这里重现这种行为: 但在这里,至少他们在同一条线上,看起来更好。 我希望能够有他们在同一列,不同的行。我不知道怎么做 这是.css: .arc text { font: 10px sans-serif; text-anchor: middle; } .arc pa
css
之类的东西。
我有两个图(JSFIDLE示例):
我想把它们放在同一个div
,但不是并排,而是放在2x1中(2行1列)
到目前为止,我的结论是(这些数据加在一起没有意义,但这只是一个测试):
我试图在这里重现这种行为:
但在这里,至少他们在同一条线上,看起来更好。
我希望能够有他们在同一列,不同的行。我不知道怎么做
这是.css
:
.arc text {
font: 10px sans-serif;
text-anchor: middle;
}
.arc path {
stroke: #fff;
}
.info {
padding: 6px 8px;
font: 14px/16px Arial, Helvetica, sans-serif;
background: white;
background: rgba(255, 255, 255, 0.8);
box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
border-radius: 5px;
}
.info h4 {
margin: 0 0 5px;
color: #777;
}
.info-legend {
line-height: 18px;
color: #555;
}
.info-legend i {
width: 18px;
height: 18px;
float: left;
margin-right: 8px;
opacity: 0.7;
}
.axis path,
.axis line {
fill: none;
stroke: black;
shape-rendering: crispEdges;
}
.axis text {
font-family: sans-serif;
font-size: 11px;
}
.dot {
stroke: #000;
}
根据我从您的描述中得到的信息,您希望svg容器的行为类似于
块
,而不是内联块
。实现这一点的一种方法是将svg
的宽度设置为100%
,这样宽度将与div
容器相同,尽管高度与代码中的高度相同
工作示例
如果要将图表居中对齐,可以在svg容器上相应地使用transform translate
此外,如果您想要实现具有属性的响应图表,例如preserveAspectRatio
,那么将宽度设置为100%可能会很有帮助。根据我从您的描述中得到的信息,您希望svg容器的行为类似于块
,而不是内联块
。实现这一点的一种方法是将svg
的宽度设置为100%
,这样宽度将与div
容器相同,尽管高度与代码中的高度相同
工作示例
如果要将图表居中对齐,可以在svg容器上相应地使用transform translate
此外,如果要实现具有属性(如preserveAspectRatio
)的响应图表,将宽度设置为100%可能会很有帮助。这应该可以做到:
svg {
display: block;
}
这应该做到:
svg {
display: block;
}
我喜欢您的解决方案,因为我没有限制其他svg
s的行为,但我最终得到了一个非常大的div,无法调整。@pceccon如果将宽度设置为“100%”,则更容易使图表更具响应性,例如,您可以使用svg的preserveSpectratio
属性来控制如何缩放或转换图表。我只是不知道我怎么会有这么大的宽度,以及如何控制它。它比堆栈条上的larges图大。@pceccon我想你是说div容器的宽度大?这是因为CSS文件中没有.info
的宽度值,因此div将是正文的100%宽度。我在这里加了一个宽度(450px)。希望这是您所需要的。我喜欢您的解决方案,因为我没有限制其他svg
s的行为,但我最终得到了一个非常大的div,无法调整。@pceccon如果将宽度设置为“100%”,则更容易使图表更具响应性,例如,您可以使用svg的preserveSpectratio
属性来控制如何缩放或转换图表。我只是不知道我怎么会有这么大的宽度,以及如何控制它。它比堆栈条上的larges图大。@pceccon我想你是说div容器的宽度大?这是因为CSS文件中没有.info
的宽度值,因此div将是正文的100%宽度。我在这里加了一个宽度(450px)。希望这是你需要的。