我正在尝试使用 matplotlib (当然还有 numpy)绘制轮廓图。它有效,它绘制了它应该绘制的内容,但不幸的是我无法设置颜色条范围。问题是我有很多图,并且需要所有图都具有相同的颜色条(相同的最小值和最大值,相同的颜色)。我复制并粘贴了在互联网上找到的几乎所有代码片段,但没有成功。到目前为止我的代码:
import numpy as np;
import matplotlib as mpl;
import matplotlib.pyplot as plt;
[...]
plotFreq, plotCoord = np.meshgrid(plotFreqVect, plotCoordVect);
figHandler = plt.figure();
cont_PSD = plt.contourf(plotFreq, plotCoord, plotPxx, 200, linestyle=None);
normi = mpl.colors.Normalize(vmin=-80, vmax=20);
colbar_PSD = plt.colorbar(cont_PSD);
colbar_PSD.set_norm(normi);
#colbar_PSD.norm = normi;
#mpl.colors.Normalize(vmin=-80, vmax=20);
plt.axis([1, 1000, -400, 400]);
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,颜色条规范有三种不同的行,但它们都不起作用。范围仍然是自动设置的...我的意思是其他一切都正常,为什么颜色条不行?我什至没有收到错误或警告。
谢谢,itpdg
编辑1:图片,与plt.clim(-80,20):
我正在试验并拥有以下汇编代码,它运行得很好,只是在我的程序结束之前我收到了“分段错误(核心转储)”消息:
GLOBAL _start
%define ___STDIN 0
%define ___STDOUT 1
%define ___SYSCALL_WRITE 0x04
segment .data
segment .rodata
L1 db "hello World", 10, 0
segment .bss
segment .text
_start:
mov eax, ___SYSCALL_WRITE
mov ebx, ___STDOUT
mov ecx, L1
mov edx, 13
int 0x80
Run Code Online (Sandbox Code Playgroud)
不管我最后有没有ret;我仍然收到消息。
有什么问题?
我正在使用 x86 和 nasm。
assembly ×1
colorbar ×1
contourf ×1
linux ×1
matplotlib ×1
nasm ×1
numpy ×1
python ×1
system-calls ×1
x86 ×1