我已经在论坛上搜索过,找到了这个,但我的问题有点不同。正如您从代码和下面的图像中看到的,我创建了一个带有颜色图“virdis”的地图。如何使用相同的颜色图创建单独的条形图?我想为 4 个颜色条着色(现在用简单颜色着色),以便 y 轴上的值与颜色条上的值相对应,这可能吗?
我有这个矩阵:
matrix=[[ 0 0 0 0 17 25 29 35 36 41]
[16 22 17 10 9 21 23 27 26 22]
[ 8 19 13 16 13 5 4 11 5 4]
[ 3 11 10 8 7 1 0 0 0 0]]
在这段代码中:
fig, ax = plt.subplots(figsize=(7, 10))
im = ax.imshow(matrix, cmap='viridian')
ax.set_xticks([0,1,2,3,4,5,6,7,8,9])
ax.set_xticklabels(['0.5','1.0','1.5','2.0','2.5','3.0','3.5','4.0','4.5','5.0'])
ax.set_xlabel('Redshift')
ax.set_yticks([-0.5,0.5,1.5,2.5,3.5])
ax.set_yticklabels(['50k','10k','1k','0.1k','0'])
ax.set_ylabel('counts')
divider = make_axes_locatable(ax)
axHistx1 = divider.append_axes("top", 1.2, pad=0.2, sharex=ax)
axHistx1.xaxis.set_tick_params(labelbottom=False)
axHistx2 = divider.append_axes("top", …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个代码,对于给定的圆列表(list1),它能够找到新圆(list2)的位置。list1 和 list2 具有相同的长度,因为对于 list1 中的每个圆,都必须有一个来自 list2 的圆。
list1 是固定的,所以现在我必须从 list2 中找到圆圈的正确位置。
我编写了这个简单的函数来识别两个圆是否重叠:
def overlap(x1, y1, x2, y2, r1, r2):
distSq = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)
radSumSq = (r1 + r2) * (r1 + r2)
if (distSq >= radSumSq):
return False # no overlap
else:
return True #overlap
Run Code Online (Sandbox Code Playgroud)
这是列表1:
和:
x=[14.11450195 14.14184093 14.15435028 14.16206741 14.16951752 14.17171097
14.18569565 …Run Code Online (Sandbox Code Playgroud)