小编And*_*eak的帖子

分别保存颜色条以用于散点图

我有带有colorbar的散点图,我将其另存为PNG图像。我需要该图具有一定的figsize,但要添加颜色条缩放原始图。

import pylab as plt

plt.figure(figsize=FIGSIZE)
plt.scatter(X, Y, c=Z, s=marker_size, norm=LogNorm(), vmin=VMIN, vmax=VMAX, cmap=CMAP,rasterized=True,lw=0,)
CB = plt.colorbar(ticks=TICKS, format=FORMAT)
Run Code Online (Sandbox Code Playgroud)

如何将原始图(按上述设置figsize)和颜色栏保存为两个单独的图像?

python matplotlib colorbar

2
推荐指数
1
解决办法
2050
查看次数

MATLAB GUI使用GUIDE:列表框问题

我正在创建一个包含两个uicontrol对象的MATLAB GUI:一个按钮和一个列表框.我使用按钮将文件名添加到列表框中.当我从m文件运行GUI时,它工作正常.仅当我运行.fig文件本身时才会出现此问题.这是回调代码和错误:

function add_file_Callback(hObject, eventdata, handles)
% hObject    handle to add_file (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%gets input file(s) from user

[input_file,pathname] = uigetfile( ...
       {'*.jpg;*.tif;*.png;*.gif;*.bmp;*.pgm'}, ...
        'Select files', ... 
        'MultiSelect', 'on');

%if file selection is cancelled, pathname should be zero
%and nothing should happen
if pathname == 0
    return
end

%gets the current data file names inside the listbox …
Run Code Online (Sandbox Code Playgroud)

matlab user-interface listbox button matlab-guide

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

有没有办法将矢量值的指数存储为变量本身?

testVector =

   1.0e+10 *

    3.5688    3.1110    5.2349
Run Code Online (Sandbox Code Playgroud)

是否有可能取出一个向量的指数(不确定它叫什么)并将其存储为变量?例如,在这种情况下,变量将具有值1.0e+10

matlab

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

python中的高效张量收缩

我有一个L张量(ndarray对象)列表,每个都有几个索引.我需要根据连接图收缩这些指数.

连接被编码在元组列表中,((m,i),(n,j))表示" 将张量的第i个索引与张量L[m]的第j个索引收缩" L[n].

如何处理非平凡连接图?第一个问题是,只要我收缩一对索引,结果就是一个不属于列表的新张量L.但即使我解决了这个问题(例如,通过为所有张量的所有索引提供唯一标识符),也存在一个问题,即人们可以选择任何顺序来执行收缩,而某些选择会在计算中期产生不必要的巨大影响(即使最终结果很小).建议?

python numpy vectorization numpy-einsum

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

填充 3d numpy 数组的某些索引

我有一个像这样的索引列表:

selected_coords = [[1, 8, 30], [15, 4, 6] ,...]
Run Code Online (Sandbox Code Playgroud)

和这样的值列表:

differences = [1, 5, 8, 2, ...]
Run Code Online (Sandbox Code Playgroud)

两者都有 500 个条目。现在我想在正确的索引上用这些值填充一个 3d numpy 数组。我试图做的是以下内容:

brain_map = np.zeros(shape=(48,60,22))

for i, index in enumerate(selected_coords):
    ind = list(map(int, index))
    brain_map[ind] = differences[i]
Run Code Online (Sandbox Code Playgroud)

如果我在这个循环中打印索引和值,我会得到正确的格式,但是如果我在循环之后打印矩阵,似乎这些值已经被多次放入那里而不是仅仅放在指定的索引上。我究竟做错了什么?

python arrays numpy multidimensional-array matrix-indexing

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

如何规范化 1 到 10 之间的数组?

我有一个包含以下整数的 numpy 数组:

[10 30 16 18 24 18 30 30 21 7 15 14 24 27 14 16 30 12 18]
Run Code Online (Sandbox Code Playgroud)

我想将它们标准化为 1 到 10 之间的范围。

我知道规范化数组的一般公式是:

在此处输入图片说明

但是我应该如何在 1 到 10 之间缩放它们?

问题:将此数组规范化为 1 到 10 之间的值的最简单/最快的方法是什么?

python numpy python-3.x

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

列出索引超出范围和随机数以选择列表中的项目

我需要使用字符串制作一个iPhone模型列表.split().

这不是问题,但我还必须使用0-9中的随机数来挑选一个单词,然后使用while/for循环显示3个随机单词.

在我的代码中,当我输入:

import random

iPhone = 'Original 3G 3GS 4 4S 5 5C 5S 6 6Plus'.split()

z = 0
while z < 4:
    for y in range (1,3):
        for x in iPhone:
            x = random.randint(0,10)
            print (iPhone[x])
Run Code Online (Sandbox Code Playgroud)

它说:

 Traceback (most recent call last):
      File "C:\Users\zteusa\Documents\AZ_wordList2.py", line 15, in <module>
        print (iPhone[x])
    IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

我不确定是什么造成的.

python random split list

0
推荐指数
1
解决办法
1067
查看次数

将“参数”传递给子程序导致分段错误

过去两天我在一个大型 Fortran 项目中调试了一个看似无意义的段错误。当我将代码移到自己的计算机上时,问题就开始了,段错误出现在代码的一部分中,而该部分代码多年来在其他几个系统上都运行良好。我最终找到了段错误的根源,但它是如此令人惊讶的意外(并且依赖于编译器),所以我决定将其发布在这里。

考虑以下 MWE:

  program dafuq
    implicit none
    integer :: a=1
    integer, parameter :: b=2

    call foo(a,b)
  end program dafuq

  subroutine foo(a,b)
    implicit none
    integer, intent(inout) :: a, b

    a=b  !OK
    b=a  !causes segfault

  end subroutine foo
Run Code Online (Sandbox Code Playgroud)

我可以访问两个 HPC 集群,它们与我的笔记本电脑一起允许我检查这些(有时有点旧)编译器:

  • 伊堡11.1
  • gfortran 4.1.2
  • gfortran 4.4.7
  • gfortran 4.8.4(Ubuntu 14.04 存储库中的最新版本)

事实证明,所有四个编译器都会对上述代码产生段错误,因为变量b被声明为parameter. 因此,在子例程中更改其值是违规的。intent我的问题是,只有最新的 gfortran 在编译期间显示警告(即使使用 -Wall),如果我省略子例程中的规范,该警告也会消失。我怀疑在 C++ 中使用const变量的相同设置会引发一个巨大的危险信号。

现在,为了使其更加晦涩,请考虑以下代码,其中使用数组而不是标量:

  program dafuq_array
    implicit none
    integer :: a(2)=(/1,1/)
    integer, parameter :: b(2)=(/2,2/)

    call foo(a,b)
  end …
Run Code Online (Sandbox Code Playgroud)

fortran gfortran segmentation-fault intel-fortran

0
推荐指数
1
解决办法
1121
查看次数

将另一个m文件加载到工作区是行不通的

我想将一个名为myfile.m的特定m文件加载到我的工作区.这个matlab文件包含几个我需要加载到工作区的数组.

-------------------------- myfile.m --------------------- -------------

r_red=[218,2,1,12,238,106,246,14,26,77,244];
r_green=[65,61,37,247,151,217,229,235,218,2,1];
r_blue =[14,26,77,244,164,131,119,9,222,80,61,228];
Run Code Online (Sandbox Code Playgroud)

在我的工作空间中,我试图通过使用这些数组运行此代码和一些其他支持代码.我使用的代码如下.

addpath('D:\mydocs'); % This is the place where myfile.m is located.
load myfile.m;
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到以下错误. 使用加载错误在ASCII文件D的第2行上显示未知文本:\ mydocs\keyfile.m"r_red = [218".

对此问题的任何评论都非常感谢.谢谢.

matlab load function

0
推荐指数
1
解决办法
86
查看次数

“Python 从不隐式复制对象”是真的吗?

我在这个问题的一个答案中找到了这个说法。

这是什么意思?如果语句是“Python 从不隐式复制字典对象”,我不会有问题。我相信元组、列表、集合等在 python 中被认为是“对象”,但问题中描述的字典问题不会出现在它们身上。

python dictionary object

0
推荐指数
1
解决办法
183
查看次数