【发布时间】:2020-03-16 06:31:49
【问题描述】:
我对网络编程很陌生,所以如果我遗漏了一些明显的东西,请多多包涵。我正在使用 html、css 和 javascript 来可视化不同的 DNA 序列。每个序列都表示为 html 元素的图形,并具有对应于 DNA 序列长度的固定长度。跨度位于每个图中的固定点以表示某些主题。一个这样的图的代码如下所示(使用 django 作为我的网络框架):
<div class="graph" style='--graph-length: {{sequence_length}}'>
<hr class="line">
{% for key, value2 in value.items %}
{% if value2.start_position %}
<span class='motif' style="--start: {{ value2.start_position }}; --stop: {{ value2.stop_position }};"></span>
{% endif %}
{% endfor %}
</div>
像这样,我在我的网页上创建了几个序列的表示,一个在另一个之下。现在,这些序列中的一些可能彼此相似。我想以图形方式显示序列与其下方显示的序列相似的区域,如下所示:
在上面的例子中,graph1 和 2 和 graph2 和 3 表示的序列具有相似的区域,但是序列的总长度(以及图上表示的基序的显示大小)不同,导致更宽graph2 和 3 之间的蓝色元素。
所以我对每个图的了解是每个图应该表示的序列长度、相应图上每个主题的开始和结束位置,以及如果两个图(序列) 包含一个相似的区域(图中的绿色)。
所以我的问题是:如何使用 html、css 或 javascript 创建表示两个图形(图中蓝色)之间相似区域的元素? (或者实际上我可以在我已经拥有的东西中实现的任何其他东西)
如果您有更多问题,请告诉我如何解决此问题的任何提示!
编辑:我实际上更喜欢 svg 中的解决方案,因为我认为它更适合集成到我的应用程序中
【问题讨论】:
-
画布被禁止了吗?
-
我可以集成到我的 html 代码中的所有内容都被允许 @user753642 !虽然我真的不知道画布上的限制是什么,但看起来它在 html 中使用了很多,所以我想我可以使用它
-
您可以使用出色的 d3,也称为 data-driver-documents。但它只适用于画布,所以你必须忘记 html。
标签: javascript html css svg visualization