gpt4 book ai didi

python - 绘制一维阵列的距离矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 17:26:21 32 4
gpt4 key购买 nike

我想绘制 6 个城镇之间距离的距离矩阵图。 A1至A3和B1至B3。

我已经计算了 A1-B1、A1-B2...同样...A3-B3 的距离,我得到了一个一维数组我得到了 6 个城镇之间距离的一维 numpy 数组。

np.array(R)
[ 3.00 2.50 1.00 3.3192 2.383 2.7128 3.8662 3.6724 3.5112]

现在我想要以距离矩阵格式进行绘图,如下图所示。

Each cell is colors according to its value.

这只是一个代表性数据。我有很多值,所以需要 python 程序。任何建议或示例 python matplotlib 脚本都会有所帮助。问候。

最佳答案

看起来大部分的路都是你自己完成的。您可以通过将轴标签更改为 A1, A2,... 来清理绘图,使其更像您的预期。并打印其中每个单元格的值。

脚本的清理版本如下:

import numpy as np
import matplotlib.pyplot as plt
R = np.array ([3.00, 2.50, 1.00, 3.3192, 2.383, 2.7128, 3.8662, 3.6724, 3.5112])

# Calculate the shape of the 2d array
n = int( np.sqrt( R.size ) )
C = R.reshape((n,n))

# Plot the matrix
plt.matshow(C,cmap="Reds")

ax = plt.gca()

# Set the plot labels
xlabels = ["B%d" % i for i in xrange(n+1)]
ylabels = ["A%d" % i for i in xrange(n+1)]
ax.set_xticklabels(xlabels)
ax.set_yticklabels(ylabels)

#Add text to the plot showing the values at that point
for i in xrange(n):
for j in xrange(n):
plt.text(j,i, C[i,j], horizontalalignment='center', verticalalignment='center')

plt.show()

并将创建以下情节:

enter image description here

关于python - 绘制一维阵列的距离矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32503308/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com