- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我按照一种模式为我的散点图创建自定义颜色图和 cbar。我正在创建 4 个子图,每个子图涵盖用于为点提供颜色的参数的不同范围。此参数的值范围从 1e-10 到 1.0。
我做了以下事情:
cmap = plt.cm.jet
# extract all colors from the .jet map
cmaplist = [cmap(i) for i in range(cmap.N)]
# force the first color entry to be grey
cmaplist[0] = (.5,.5,.5,1.0)
# create the new map
cmap = cmap.from_list('Custom cmap', cmaplist, cmap.N)
# define the bins and normalize
bounds = np.linspace(-10,0,11)
norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
...
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex='col', sharey='row', figsize=(20,20))
...
ax1.scatter(xcoord[rng1], ycoord[rng1], s=massFilt[rng1]/dotNorm,
c=np.ma.log10(Zfilt[rng1]), cmap=cmap)
ax2.scatter(xcoord[rng2],ycoord[rng2], s=massFilt[rng2]/dotNorm,
c=np.ma.log10(Zfilt[rng2]), cmap=cmap)
ax3.scatter(xcoord[rng3], ycoord[rng3], s=massFilt[rng3]/dotNorm,
c=np.ma.log10(Zfilt[rng3]), cmap=cmap)
ax4.scatter(xcoord[rng4], ycoord[rng4], s=massFilt[rng4]/dotNorm,
c=np.ma.log10(Zfilt[rng4]), cmap=cmap)
rngs定义为
rng1 = (Zfilt < 2.e-7)
rng2 = ((Zfilt >= 2.e-7) & (Zfilt < 1.e-4))
rng3 = ((Zfilt >= 1.e-4) & (Zfilt < 1.e-2))
rng4 = (Zfilt >= 1.e-2)
所以第一个面板只包含那些小于 2e-7 的点,并且所有的点都正确着色......我已经验证过滤器工作正常:例如 Zfilt[rng4] 只包含 Zfilt > 1e- 的点2 ... 但不知何故我在 rng2 和 rng3 中看到了应该只用于 rng1 的颜色!!??见附件。
有什么想法吗?我做错了什么?
这是 Zfilt[rng2] 的示例 -
Z values rng2 [-4.23451696 -4.35974369 -5.18479833 -6.17304647 -4.48839191 -5.16774006
-4.12047222 -6.11491263 -5.81392662 -4.6491248 -4.75038775 -5.06640103
-4.20821705 -4.12556725 -4.58661378 -4.17023495 -5.40845781 -4.54981553
-5.82830048 -4.11185471 -4.43155534 -6.17025186 -4.88154584 -5.00024704
-4.13626926 -5.57797731 -6.0617742 -5.33182163 -5.44963247 -5.88409509
-6.16903327 -5.70808154 -4.88578943 -4.00873256 -4.1457824 -4.45174817
-5.43829583 -4.32470978 -4.11634754 -5.1141915 -5.13310282 -4.15469421
...
最佳答案
scatter()
不知道您的数据的假定范围,因此它在它看到的整个范围内应用颜色图,即从提供的数组的最小值到最大值.由于您想要不同的行为(所有子图的范围相同,无论数据如何),您需要通过 vmin
和 vmax
参数明确指定范围:
ax1.scatter(xcoord[rng1], ycoord[rng1], s=massFilt[rng1]/dotNorm,
c=np.ma.log10(Zfilt[rng1]), cmap=cmap,
vmin=-10, vmax=0)
ax2.scatter(xcoord[rng2],ycoord[rng2], s=massFilt[rng2]/dotNorm,
c=np.ma.log10(Zfilt[rng2]), cmap=cmap,
vmin=-10, vmax=0)
# etc
关于python - 带有自定义 cmap 的 matplotlib 散点图 - 颜色不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32578479/
我正在尝试创建一个 CMap,它以 CString 作为键,以 CMap 作为值。显然以下内容不起作用,但我不知道它是如何工作的。 CMap, CMap> xyWhatEver; 有人知道如何使用 C
我想要一个 CMap: CMap> 所以我的数据结构将 long 作为一个键,它将重定向到一个值,该值将是其中的 long 的 cmap。 示例:如果我收到“1”,它会将我发送到 CMap。 如果我收
使用 Visual Studio 2012,编译以下内容: void Stuff() { CMap myMap; } 但是当我尝试返回这样的 CMap 时,如下所示: CMap GetEncod
颜色图(contour 和许多其他绘图函数所要求的)和简单的颜色列表之间有什么区别?如何将颜色列表(其中每种颜色应该代表相同大小的步长)转换为颜色图? 最佳答案 颜色图是代表数量概念的一系列颜色。典型
我正在写一段 vimscript 来管理 session 。我想让用户配置他们想要保存 session 的目录,即: let g:sessions_dir = "~/.vim/sessions" 我有
这个问题的灵感来自pheatmap in R中的中断。问题是我是否可以定义我的着色和分箱在seaborn的热图中的“粗糙”程度、连续/离散程度。我找到了一种使用 cmap 和使用的颜色数量(例如 Di
这个问题的灵感来自pheatmap in R中的中断。问题是我是否可以定义我的着色和分箱在seaborn的热图中的“粗糙”程度、连续/离散程度。我找到了一种使用 cmap 和使用的颜色数量(例如 Di
我正在尝试使用颜色图来指示数据集中每个数据点所属的标签。 有3个示例以及对应的标签 X = np.array([[0,0],[1,0],[2,0]]) labels = np.array([0,1,2
我有以下 Python 3 代码,它随时间生成波函数并以 3D 形式绘制结果。请注意,schroedinger1D(...) 函数返回两个 numpy 数组,每个数组的形状为 (36,1000)。 i
我正在尝试使用一些 x、y 和 z 值绘制 matplotlib contourf 图。基本上,z 值将定义绘图的颜色。然而,我现在所在的一个区域(即对我来说重要的区域)与其他区域相比非常小(见图),
以前,我使用 STL 映射来执行上述任务。 struct ltstr { bool operator()(std::string s1, std::string s2) const {
在我的应用程序中,我有一个 CString 值的 CMap。在 Map 中添加元素后,如果我在其他地方检索元素,则不会按插入顺序获取元素。假设我检索第三个元素,我会像那样得到第五个元素。它是 CMap
我有一些形状为 (12,1) 的归一化直方图数据: >>> hnorm array([[ 0. ], [ 0. ], [ 0.011834
我使用“tab20”颜色图在 python 上使用 matplotlib 进行绘图,代码如下: colors=[str(float(year-1980)/(2017-1980)) for i in y
我目前正在使用 PDFKitten 进行 iOS PDF 扫描。我正在尝试提取文本以在具有 Type0 字体的 PDF 中进行搜索。我无法从 PDF 中提取文本。ToUnicode 中的一些条目丢失了
有人能告诉我如何根据特定键获取特定元素吗?假设我有一个 CMap ButtonProp;现在我想访问提供的任何 int 值的属性,该怎么做?附言第一次使用 CMap。 “ButtonProp.Look
AFAIK,CMap::InitHashTable 方法应该在任何元素添加到 map 之前被调用。换句话说,在将第一个元素添加到 CMap 对象后,哈希表的大小无法更改。 同样来自 MSDN,为了尽量
我有一个名为 error_code 的类。我将它用作 std::map 和 CMap (MFC) 的键。我能够使其适用于 std::map,但不适用于 CMap。我可以知道我该怎么做吗? // OK!
我正在尝试将 tex 文档转换为 pdf。 但是当我做 pdflatex doc.tex 时,我得到了 This is pdfTeX, Version 3.14159265-2.6-1.40.16 (
使用此代码生成相关表: df1.drop(['BC DataPlus', 'AC Glossary'], axis=1).corr(method='pearson').style.format("{:
我是一名优秀的程序员,十分优秀!