布尔数据的可视化

时间:2015-04-14 11:55:33

标签: visualization

我正在进行表面模拟,其中曲面被分成nxn块。我尝试用一​​套规则填补表面。在模拟之后,我得到一个2-D布尔数组输出,例如,如果n = 10,我得到

0011111110
0001101111
1011111111
0101100110
0011111100
0011100000
1111100000
0011110010
0000110000
0000110000

我想以方形图像的形式显示这些数据,其中所有零位置都是一种颜色,所有1位置都是另一种颜色。我将布尔数据输出到.txt文件,格式为1和0,如上所示。我可以在这个可视化中使用java中的一些类吗?我只了解基础知识,所以不应该太难实现。此外,如果有其他语言/程序可以使此过程更容易,请建议。

1 个答案:

答案 0 :(得分:0)

我建议使用Python和numpy / matplotlib库来实现基本" HeatMap"。

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(101)
g = np.floor(np.random.random((100, 100)) + .5)

plt.subplot(211)
plt.imshow(g)
plt.subplot(212)
plt.imshow(g, cmap='Greys',  interpolation='nearest')
plt.savefig('blkwht.png')

plt.show()

如果你想使用Java:

  1. 将您的Boolean [] []数组转换为Byte [] []数组
  2. 将此Byte [] []数组用作图像的InputStream

    BufferedImage img = ImageIO.read(new ByteArrayInputStream(bytes));