小编tac*_*ell的帖子

箭头矢量叠加在图上

我想绘制y vs x线,然后在它上面我想绘制矢量.我可以使用matplotlib plotquivermatplotlib的功能.但是,矢量将始终在线后面绘制,而不是在顶部.也就是说,这条线将在矢量箭头上可见.

我对你们所有人的问题是......有没有办法把箭矢量放在先前绘制的线上?

python matplotlib

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

如何退出pyplot循环?

我有一个使用pyplot(backend:tkagg)的python程序,其中简单地创建了一个带有一些东西的matplotlib.当我想退出程序时,我立即致电:

plt.close('all')
Run Code Online (Sandbox Code Playgroud)

关闭它.奇怪的是,程序dosnt退出.

在调试器之后,我看到在完成任务后,它返回到

class Show(ShowBase):
    def mainloop(self):
        Tk.mainloop()
Run Code Online (Sandbox Code Playgroud)

backend_tkagg.py中,

其次是

if not is_interactive():
            self.mainloop()
Run Code Online (Sandbox Code Playgroud)

在同一个文件中,然后到

def show(*args, **kw):
    global _show
    _show(*args, **kw)
Run Code Online (Sandbox Code Playgroud)

pyplot.py 所以看来我仍然在pyplot循环中!

如何正确退出?

谢谢...

python tk-toolkit tkinter matplotlib

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

使用matplotlib设置xlim和ylim(奇怪的是)

# the first plot DOES NOT set the xlim and ylim properly 
import numpy as np
import pylab as p

x = np.linspace(0.0,5.0,20)
slope = 1.0 
intercept = 3.0 
y = slope*x + intercept
p.set_xlim = ([0.0,10.0])
p.set_ylim = ([0.0,10.0])
p.plot(x,y)
p.show()
p.clf()

def xyplot():
    slope = 1.0
    intercept = 3.0
    x = np.linspace(0.0,5.0,20)
    y = slope*x + intercept 
    p.xlim([0.0,10.0])
    p.ylim([0.0,10.0])
    p.plot(x,y)
    p.show()

# if I place the same exact code a a function, the xlim and ylim
# do …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

python:对于In循环 - 我没有理解

我用来学习python的资源让你在自己的网站上执行模块.我认为它最初是为这所特定大学的学生设计的,所以这就是为什么我用家庭作业标记了这一点,尽管它不是.

无论如何:

他们让我执行这项任务:

定义一个函数prod(L),它返回列表L中元素的乘积.

我使用此代码使此功能正常工作:

def prod(L):
   i = 0
   answer = 1
   x = len(L)
   while i < x:
    answer = answer * L[i]
    i = i + 1
    if i == x:
         return answer
Run Code Online (Sandbox Code Playgroud)

下一个模块简要介绍了For-In循环.他们提出了一个问题:

像以前一样定义函数prod(L),但这次使用新类型的循环.

我试过通过其他资源来了解如何使用这个,但我没有遵循任何事情.任何人都可以解释,最好用简单的英语解释for-in循环如何工作?

供参考:这里是他们谈到的关于for-in循环的一切

循环遍历列表循环遍历列表中的每个值是非常常见的(如上一个练习中所示).Python允许快捷方式执行此类操作,通常称为"for all"循环或"for each"循环.具体来说,当L是一个列表时,这个代码

for x in L: «loop body block»

执行以下操作:首先将x设置为L中的第一个值并执行正文; 然后将x设置为L中的第二个值并执行主体; L中的所有项目都是如此.

我只是无法完全包围这个.我不是在寻找答案,因为我这样做是为了知识增长 - 但我觉得我落后于此):

python loops for-loop

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

如何让ZSH使用最新的git版本?

我在OS X上使用ZSH和oh-my-zsh.

今天我使用hombrew更新到最新版本的git(1.8.something).

但是,如果我跑

?  ~  git --version
git version 1.7.10.2 (Apple Git-33)
Run Code Online (Sandbox Code Playgroud)

我看到仍然使用旧版本.在bash上一切正常,并调用最新版本的git.

由于我是ZSH的新手,所以有关如何设置ZSH以使用"新"git的任何建议都表示赞赏!

最好,

托比

git macos zsh path

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

使用条件用matplotlib绘图

我有一个二维数组,我需要绘制列x和y,但只在x的某个范围内.我知道如何使用索引进行绘图,但我需要指定x 的.我有一些这样的数组,所以我试图找到一种方法来做到这一点,而不必单独查看它们中的每一个.

这是一个例子:

array([[  4.40148390e+03,   1.13200000e+00],
       [  4.40248390e+03,   1.12200000e+00],
       [  4.40348440e+03,   1.11600000e+00],
       [  4.40448440e+03,   1.10600000e+00],
       [  4.40548490e+03,   1.09200000e+00],
       [  4.40648490e+03,   1.07700000e+00],
       [  4.40748540e+03,   1.08700000e+00],
       [  4.40848540e+03,   1.09400000e+00],
       [  4.40948580e+03,   1.10200000e+00],
       [  4.41048580e+03,   1.09500000e+00],
       [  4.41148630e+03,   1.12000000e+00]])
Run Code Online (Sandbox Code Playgroud)

所以,假设我只需要,4402 < x < 4410但我不知道索引.我可以放一些类似的东西plot(x, y, where(4402 < x < 4410))吗?

我觉得我有一些明显的东西在这里:p

conditional numpy matplotlib multidimensional-array

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

只有一个数据时如何设置matplotlib条形图宽度

我正在使用 matplotlib 生成图形。生成条形图时出现一个问题。如果只有一个如下图所示的数据,即使设置了宽度,图形的宽度也覆盖了整个区域。例子 :

     x = [3] 
     y = [10] 
     bar(x, y, width=0.2,align='center')
Run Code Online (Sandbox Code Playgroud)

matplotlib

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

Python/MatPlotLib产生奇怪的,意外的轮廓

我试图在单位正方形的4个顶点处绘制一个函数,该函数为0,在该正方形的中间为1.我试过这个:

import matplotlib.pyplot 
z = [[0,0,0], [1,0,0], [0,1,0], [1,1,0], [.5,.5,1]] 
cn = matplotlib.pyplot.contour(z) 
matplotlib.pyplot.show(cn) 
Run Code Online (Sandbox Code Playgroud)

得到了这个:

在此输入图像描述

我期待一系列同心正方形,如下所示:

在此输入图像描述

这就是我做的时候

ListContourPlot[{{0,0,0}, {1,0,0}, {0,1,0}, {1,1,0}, {.5,.5,1}}, 
ColorFunction -> (Hue[#1]&)] 
Run Code Online (Sandbox Code Playgroud)

在Mathematica.

我做错了什么?

编辑:我意识到为给定数据绘制轮廓的方法不止一种.在这种情况下,一系列同心圆也可以.

python wolfram-mathematica matplotlib

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

matplotlib argrelmax 找不到所有最大值

我有一个项目,我正在对模拟数据进行采样并尝试使用 matplotlib 进行分析。目前,我的模拟数据源是连接到微控制器的电位计,但这与问题无关。这是我的代码

arrayFront = RunningMean(array(dataFront), 15)
arrayRear = RunningMean(array(dataRear), 15)
x = linspace(0, len(arrayFront), len(arrayFront))  # Generate x axis
y = linspace(0, len(arrayRear), len(arrayRear))  # Generate x axis
min_vals_front = scipy.signal.argrelmin(arrayFront, order=2)[0]  # Min
min_vals_rear = scipy.signal.argrelmin(arrayRear, order=2)[0]  # Min
max_vals_front = scipy.signal.argrelmax(arrayFront, order=2)[0]  # Max
max_vals_rear = scipy.signal.argrelmax(arrayRear, order=2)[0]  # Max
maxvalfront = max(arrayFront[max_vals_front])
maxvalrear = max(arrayRear[max_vals_rear])
minvalfront = min(arrayFront[min_vals_front])
minvalrear = min(arrayRear[min_vals_rear])
plot(x, arrayFront, label="Front Pressures")
plot(y, arrayRear, label="Rear Pressures")
plot(x[min_vals_front], arrayFront[min_vals_front], "x")
plot(x[max_vals_front], arrayFront[max_vals_front], "o")
plot(y[min_vals_rear], …
Run Code Online (Sandbox Code Playgroud)

python scipy sampling

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

MatPlotLib 注释时出现关键错误:0

在这段代码中,我尝试创建一个条形图,其中一个条形图(作为将放置在其他条形图旁边的“总”条形图)和数据框的切片。它适用于数据帧的其他切片,但对于“总”切片(只是一行),我不断收到此“关键错误:0”:

x_4t = dfCOPN['Percent'][-1:]
y_4t = dfCOPN['index'][-1:]
ind4t = np.arange(len(y_4t))
Run Code Online (Sandbox Code Playgroud)

...

for i, text in enumerate(ind4t):
    if x_4t<72:
        ax4t.annotate(str(x_4t)[:-2]+"%", xy=(x_4t+2,ind4t+0.4),fontsize=9, color='black', va='center', ha='left')
    elif x_4t>=72:
        ax4t.annotate(str(x_4t[i])[:-2]+"%", xy=(x_4t[i]-2,ind4t[i]+0.4),fontsize=9, color='white', va='center', ha='right')
Run Code Online (Sandbox Code Playgroud)

这是错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-42-e192a1699cc5> in <module>()
    174 #    for i, text in enumerate(ind4t):
--> 175     if x_4t<72:
    176         ax4t.annotate(str(x_4t)[:-2]+"%", xy=(x_4t+2,ind4t+0.4),fontsize=9, color='black', va='center', ha='left')

C:\Users\m\Anaconda3\lib\site-packages\pandas\core\generic.py in __nonzero__(self)
    729                          "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
--> 730                          .format(self.__class__.__name__))
    731 

ValueError: The truth value of a Series …
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas

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

不确定为什么字典是变异的

通过麻省理工学院开放课件进行Python的自学,并遇到下面这段代码的问题.当我单独或在另一个函数中运行此函数时,它会改变最初传递的值'hand',我不知道为什么.我设置了两个局部变量(hand0和tester),第一个保留初始值,第二个迭代结束.然而,所有三个都改变了,而我只是期望'测试者'这样做.除了改变'hand'之外,该函数按预期工作.

(传递给函数的值在set参数中有所不同:word_list是有效英文单词列表,word是我在此函数中替换的字符串,用于测试,hand是字母及其相关计数字典.调试代码注释掉.)

def is_valid_word(word, hand, word_list):
    """
    Returns True if word is in the word_list and is entirely
    composed of letters in the hand. Otherwise, returns False.
    Does not mutate hand or word_list.

    word: string
    hand: dictionary (string -> int)
    word_list: list of lowercase strings
    """
    hand0 = hand
    tester = hand
    #display_hand(hand)
    #display_hand(tester)
    word = raw_input('test word: ')
    length = len(word)
    disc = True
    for c in range(length):
        if word[c] in tester.keys() and tester[word[c]]>0:
            #print tester[word[c]]
            #display_hand(hand)
            #display_hand(tester)
            tester[word[c]]=tester[word[c]]-1 …
Run Code Online (Sandbox Code Playgroud)

python dictionary mutated

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

曲线拟合的麻烦 - matplotlib

我试图将sin函数绘制到数据集.我使用scipy.optimize在线发现了一个教程,但即使我完全复制了代码,它似乎也无法工作.

在顶部:

def func(x, a, b, c, d):
    return a * np.sin(b * (x + c)) + d
Run Code Online (Sandbox Code Playgroud)

在末尾:

scipy.optimize.curve_fit(func, clean_time, clean_rate)
pylab.show()
Run Code Online (Sandbox Code Playgroud)

输出窗口上没有行.

如果有人想要屏幕或全部代码,请随时在下面发表评论.

谢谢!

python matplotlib curve-fitting

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