小编Yot*_*tam的帖子

在matplotlib中设置errorbars的显示范围suplot

我正在尝试使用matplot lib绘制我的数据.我有3个separetes数据集我想在3个子图中绘制(我使用是我的指导):

plt.figure()

fig, axs = plt.subplots(nrows=3, ncols = 1, sharex=False)
ax1 = axs[0]
ax1.errorbar(X,Y,Err,fmt='o')
ax1.set_xscale('log')
ax1.set_yscale('log')
ax1.set_title('epsilon=1.5, kappa = 2')
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是我得到的x范围从1(或0,我不确定)到100,我想减少它.我尝试了这个,通过添加使用:

ax1.xlim(0.5,13.5)
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

AttributeError:'AxesSubplot'对象没有属性'xlim'

我怎样才能改变范围呢?

python matplotlib

3
推荐指数
2
解决办法
2757
查看次数

在linux中更改上一个命令

有没有办法在linux中更改以前的命令?我正在使用复制一堆文件

cp path/to/source1 path/to/target2
Run Code Online (Sandbox Code Playgroud)

我想把它改成

cp path/to/source2 path/to/target2
Run Code Online (Sandbox Code Playgroud)

所以我想用2替换1

我知道我可以把它放在一个循环中,但我需要在检查笔记本中的内容之后这样做.

linux bash command-line

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

使用指针会导致内存堵塞吗?

假设我有这样的结构c++:

class A{
  public:
    B b;
}

class B{
  public:
    C c;
}

class C{
  public:
    double x;
    double y;
    double z;
    double s;
    function Usize(){
      s  = sqrt(pow(x,2) + pow(y,2) + pow(z,2));
    }
}
Run Code Online (Sandbox Code Playgroud)

c十次访问值需要比创建直接指向c并使用它的内存流量更多吗?在代码术语中(假设合法值):

double dx = 2*rand()-1;
double dy = 2*rand()-1;
double dz = 2*rand()-1;

a->b->c.x *= dx;
a->b->c.y *= dy;
a->b->c.z *= dz;

if (a->b->c.x > 10) a->b->c.x -= 10;
else if (a->b->c.x <0) a->b->c.x += 10;
if (a->b->c.y > 10) a->b->c.y …
Run Code Online (Sandbox Code Playgroud)

c++ optimization performance memory-bandwidth

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

如何将numpy数组流式传输到pyaudio流中?

我正在编写一个代码,该代码应该根据用户的操作向用户提供一些音频输出,并且我想生成声音而不是wav要播放固定数量的文件。现在,我要做的是生成numpy格式的信号,将数据存储在wav文件中,然后将同一文件读入pyaudio。我认为这是多余的,但是,我找不到办法。我的问题是,我可以直接将numpy数组(或常规列表)流式传输到pyaudio中进行播放吗?

python audio numpy pyaudio

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

即使是最简单的类也无法编译,"尚未宣布

好的,这真的很烦人.我有(几乎)最简单的课程.两个文件:a.cpp和啊啊:

#ifdef A_H
#define A_H
class a{
  public:
    a();
};
#endif
Run Code Online (Sandbox Code Playgroud)

和a.cpp

#include "a.h"
a::a(){
}
Run Code Online (Sandbox Code Playgroud)

然而它不会编译:

g ++ a.cpp a.cpp:3:错误:'a'
尚未声明

显然,我做错了什么,但是什么?

修好了,我用#ifndef替换了#ifdef

c++

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

如何在Gmail中使用GNUS?

我搜索了几个邮件客户端,但都搞砸了.我能找到的最好的是我设法配置为从Gmail检索数据的gnus.然而:

  1. 当我在gnus中阅读消息时,它仍然在gmail上标记为未读
  2. 我找不到如何为电子邮件分配标签
  3. 我找不到如何排序或删除邮件(最好使用密钥绑定)?

我认为我的问题是gnus使用了令我困惑的新闻组术语.

有没有在线教程只专注于此?

我遇到的问题是如何测试.

emacs gmail gnus

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

将数组长度传递给函数

如果这是一个微不足道的问题,我很抱歉.我的fortran-fu很穷.

有没有办法在fortran中路径阵列长度?使用common(从我收集的内容相当于global)也是一种选择.我想要的是在主程序中调用带有数组的函数.例如(输入内容,而不是从任何地方复制粘贴)

program prog
integer num
double precision x(num),v
double precision test

....
v=test(x,num)
....


function test(x,num)
double precision test
integer num
double precision x(num)
test=0.0d0
....
return
end
Run Code Online (Sandbox Code Playgroud)

这不会编译,因为num它不是常数.重要的是要知道我传递的数组大小是多少.

编辑:我正在使用f95编译器.

Edit2:我没有运气就尝试过High Performance Mark的解决方案:

  program prog
  integer v
  parameter (v=10)
  double precision x(v),test,k
  k=test(x)
  write (*,*) size(x)
  stop
  end

  function test(x)
  double precision, dimension(:),intent(in) :: x
  double precision test
  write (*,*) size(x)
  test = 0.0d0
  return
  end
Run Code Online (Sandbox Code Playgroud)

输出应该是两行,其中写入10和10.相反,我得到了这个:

/scpc:niels: #$ f95 err.f
/scpc:niels: #$ …
Run Code Online (Sandbox Code Playgroud)

fortran

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

从文件结尾读取整数,"格式化数据传输完成缺失格式"

我正在根据我的需求更新Fortran程序.该程序编译使用f95gcc4.1.2版(我知道这是老了,但我不能更新).我想从文件中读取参数,我尝试通过

      inquire (file="resLast", exist=resExist)
      if (readStart.eq.1.and.resExist) then
         open (unit=18,file='resLast', status='old', action='read')
         read (18) startConf
         read (18) avlength, stdlength, avenergy
         read (18) i,h2(1)
         read (18) i,h2(2)
         read (18) i,h2(4)
         read (18) i,h2(5)
         read (18) i,h2(8)
         read (18) i,h2(9)
         read (18) i,h2(13)
         read (18) i,h2(16)
         read (18) i,h2(17)
         read (18) i,h2(18)
         read (18) i,h2(20)
         read (18) i,h2(25)
         read (18) i,h2(32)
         close (18)
      else
         startConf = 0
         do i=1,32
            h2(i)=0
            comh2(i)=0
         enddo
         avlength=0d0
         stdlength=0d0
         avenergy=0d0
      endif
Run Code Online (Sandbox Code Playgroud)

输入文件看起来像

           0
   196.090732114834 …
Run Code Online (Sandbox Code Playgroud)

format io fortran

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

PIL 将 png 像素导入为单个值而不是 3 个值向量

我有一堆从谷歌地图下载的 png 格式的地图文件,我想将它们转换为一个更大的图像。当我导入一个并查看像素时,我看到像素是 0..256 范围内的单个数字,而不是三个值列表。这里发生了什么?

我正在使用

from PIL import Image

print open('b1.png').load()[0,0]
Run Code Online (Sandbox Code Playgroud)

我得到153而不是 [r,g,b]

我的图像文件是 在此处输入图片说明

python png image python-imaging-library

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

匹配python正则表达式中的整行

在文本文件中考虑此输入:

foo
bar
foobar
Run Code Online (Sandbox Code Playgroud)

如果我查看python API的重包,我明白如果我想匹配foo而不是foobar我明白这个代码应该这样做

import re

code = open ('play.txt').read()
print code

print re.findall('^foo$',code)
Run Code Online (Sandbox Code Playgroud)

但输出读数

Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import play
foo
bar
foobar

[]
>>> 
Run Code Online (Sandbox Code Playgroud)

为什么?

python regex

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