小编Ale*_*eca的帖子

根据颜色图绘制条形图中的 y 值

我已经在论坛上搜索过,找到了这个,但我的问题有点不同。正如您从代码和下面的图像中看到的,我创建了一个带有颜色图“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)

python plot matplotlib colorbar colormap

4
推荐指数
1
解决办法
4421
查看次数

找到重叠圆圈的新位置

我正在尝试编写一个代码,对于给定的圆列表(list1),它能够找到新圆(list2)的位置。list1 和 list2 具有相同的长度,因为对于 list1 中的每个圆,都必须有一个来自 list2 的圆。

  1. 每对圆(假设 list1 中的 Circle1 和 list2 中的 Circle2)必须尽可能靠近,
  2. list2 中的圆圈不得与 list1 中的圆圈重叠,而单个列表中的圆圈可以相互重叠。

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)

python algorithm geometry numpy overlap

4
推荐指数
2
解决办法
1438
查看次数

标签 统计

python ×2

algorithm ×1

colorbar ×1

colormap ×1

geometry ×1

matplotlib ×1

numpy ×1

overlap ×1

plot ×1