小编Ana*_*ake的帖子

停止在图例中重复标签的matplotlib

这是一个非常简单的例子:

xvalues = [2,3,4,6]

for x in xvalues:
    plt.axvline(x,color='b',label='xvalues')

plt.legend()
Run Code Online (Sandbox Code Playgroud)

现在,图例将在图例中将'xvalues'显示为蓝线4次.有没有比以下更优雅的方法来解决这个问题?

for i,x in enumerate(xvalues):
    if not i:
        plt.axvline(x,color='b',label='xvalues')
    else:
        plt.axvline(x,color='b')
Run Code Online (Sandbox Code Playgroud)

matplotlib legend

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

为什么NumPy阵列如此之快?

我刚刚改变了一个我正在编写的程序,将我的数据保存为numpy数组,因为我遇到了性能问题,而且差别很大.它最初运行需要30分钟,现在需要2.5秒!

我想知道它是如何做到的.我认为是因为它消除了对for循环的需要但超出了我的难度.

python arrays numpy

53
推荐指数
3
解决办法
3万
查看次数

自动在matplotlib中定位文本框

有没有办法告诉pyplot.text()像pyplot.legend()一样的位置?

像传奇论点这样的东西会很棒:

plt.legend(loc="upper left")
Run Code Online (Sandbox Code Playgroud)

我试图用字母标记不同轴的子图(例如"A","B").我认为必须有一种比手动估算位置更好的方法.

谢谢

python textbox matplotlib

46
推荐指数
3
解决办法
4万
查看次数

有没有办法在matplotlib中绘制标题框

是否有使用matplotlib在图形/图形下面绘制标题框的功能?我搜索谷歌并没有找到任何这样的功能.

Captionbox示例

像图像中显示的东西会很棒.

python matplotlib

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

在matplotlib中叠加imshow图

我想在同一个imshow图上比较两组不同的数据,以便于查看差异.我的第一直觉是使colormap中的颜色透明(特别是较低的值),但我无法使其工作:

from matplotlib.colors import colorConverter
import matplotlib.pyplot as plt
import numpy as np

# create dummy data
zvals =  np.random.rand(100,100)*10-5
zvals2 = np.random.rand(100,100)*10-5

# generate the transparent colors
color1 = colorConverter.to_rgba('white',alpha=0.0)
color2 = colorConverter.to_rgba('black',alpha=0.8)

# make the colormaps
cmap1 = mpl.colors.LinearSegmentedColormap.from_list('my_cmap',['green','blue'],256)
cmap2 = mpl.colors.LinearSegmentedColormap.from_list('my_cmap2',[color1,color2],256)

img2 = plt.imshow(zvals,interpolation='nearest',cmap=cmap1,origin='lower')
img3 = plt.imshow(zvals2,interpolation='nearest',cmap=cmap2,origin='lower')

plt.show()
Run Code Online (Sandbox Code Playgroud)

没有错误,但第二个图的白色和黑色没有显示任何透明度.我还尝试使用colorConverter方法在正常的plt.plot情况下设置颜色,尽管显示了正确的颜色,但颜色也没有变得透明.

关于如何叠加/比较imshow图的任何其他建议将非常感激

python numpy matplotlib

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

继承类中的python __init__方法

我想给一个子类一些额外的属性,而不必显式调用一个新方法.那么有没有一种方法可以为继承的类提供一个__init__不会覆盖__init__父类方法的类型方法?

我编写下面的代码纯粹是为了说明我的问题(因此属性的命名很差等).

class initialclass():
    def __init__(self):
        self.attr1 = 'one'
        self.attr2 = 'two'    

class inheritedclass(initialclass):
    def __new__(self):
        self.attr3 = 'three'

    def somemethod(self):
        print 'the method'


a = inheritedclass()

for each in a.__dict__:
    print each

#I would like the output to be:
attr1
attr2
attr3
Run Code Online (Sandbox Code Playgroud)

谢谢

python oop inheritance

19
推荐指数
3
解决办法
3万
查看次数

如何将多个位置导入PYTHONPATH(bash)

我知道你可以通过冒号将多个位置添加到python路径,即:

export PYTHONPATH=~/one/location:~/second/location
Run Code Online (Sandbox Code Playgroud)

等等

我有几个地方要添加,使用上面的方法看起来很乱.有没有办法在多行中添加它们?这是我尝试过的,最后一行删除了第一行.

export PYTHONPATH=~/one/location
export PYTHONPATH=~/second/location
Run Code Online (Sandbox Code Playgroud)

谢谢

python bash pythonpath

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

在python中自动处理e(科学)表示法中的数字

我正在读取质谱仪的数据文件,许多数字都是e形式,例如

4096.26 5.785e1
4096.29 5.784e1
4096.31 5.784e1
4096.33 5.784e1
4096.36 5.783e1
Run Code Online (Sandbox Code Playgroud)

我打算使用split函数来获取两个数字,但我想知道是否有一个函数将第二列转换为python浮点数?我知道我可以用正则表达式来做,但认为可能有更好的方法

谢谢

python numbers

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

python非线性最小二乘拟合

就我的问题所涉及的数学而言,我有点超出我的深度,所以我为任何不正确的命名道歉.

我正在考虑使用scipy函数leastsq,但我不确定它是否是正确的函数.我有以下等式:

eq = lambda PLP,p0,l0,kd : 0.5*(-1-((p0+l0)/kd) + np.sqrt(4*(l0/kd)+(((l0-p0)/kd)-1)**2))
Run Code Online (Sandbox Code Playgroud)

除了kd(PLP,p0,l0)之外,我有所有项的数据(8套).我需要通过上述方程的非线性回归找到kd的值.从我读过的例子来看,lesssq似乎不允许输入数据,以获得我需要的输出.

谢谢您的帮助

python scipy nonlinear-optimization

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

组织模式 - 乳胶出口的并排数字标题

我已经找到了如何按照此处所述的乳胶出口并排数据:http: //permalink.gmane.org/gmane.emacs.orgmode/52978

但问题是,当我尝试附加一个#+ CAPTION或#+ NAME /#+ LABEL时,输出会出现乱码,标题会移动到多行以及图片上.

#+CAPTION: Some desription.
#+LABEL: mylabel
#+ATTR_LATEX: width=5cm
| [[./test.png]] | [[./test2.png]] |
Run Code Online (Sandbox Code Playgroud)

我尝试使用单个图形相同的语法,它工作正常:

#+CAPTION: Some desription.
#+LABEL: mylabel
#+ATTR_LATEX: width=5cm
[[./test.png]]
Run Code Online (Sandbox Code Playgroud)

有谁知道如何让这个工作?

emacs latex org-mode

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