颜色渐变从蓝色变为红色,表示材质的状态。我现在可以绘制每条曲线。每条直线由两点定义,然后使用pyplot(matplotlib库)简单地绘制。对于如何计算关联值,我也有一个清晰的想法。
但是,可以注意到,例如第一个图形上的点9或22,重叠区域的值不同。我目前不知道如何有效地做到这一点。
我唯一的想法来自this solution。基本上每个多边形都要变成一个曲线。但它看起来很重,在这种情况下,预捕捉不是最好的解决方案。在
我主要是寻求线索,可以帮助我实现这一点,或只是一个更聪明的方式来看待问题!在
生成此图的代码:
import shelve
import matplotlib.pyplot as plt
import os
path = "C:/Users/***/Desktop/Python/PyHugo/"
d = shelve.open(os.path.join(path, 'output.db'))
pointMat = d ['curve']
d.close()
fig=plt.figure()
ax=fig.add_subplot(111)
for matID in pointMat.keys():
for couple in range(len(pointMat[matID])-1):
plt.plot([pointMat[matID][couple][0][0],pointMat[matID][couple][1][0]],[pointMat[matID][couple][0][1],pointMat[matID][couple][1][1]])
plt.show()
点存储在pointMat字典中。每个区域都有一组点。区域是一种特定的材质。它在图1中用黑线(大约540)表示。所以在当前的例子中有两种材料。在
第一组点由以下公式给出:
^{pr2}$结果:[[20,20],[0,40]]。我们在第一份材料中要求了前几点。在
编辑1:添加代码,删除主题外问题
编辑2:我没有绘制曲线,而是将值映射到网格上(现象的离散化)。这个问题有太多的变化,这似乎是一个更好的主意。谢谢你花时间来帮助我!在
您需要使用alpha参数使线半透明:
举个例子。在
相关问题 更多 >
编程相关推荐