我想绘制y vs x线,然后在它上面我想绘制矢量.我可以使用matplotlib plot
和quiver
matplotlib的功能.但是,矢量将始终在线后面绘制,而不是在顶部.也就是说,这条线将在矢量箭头上可见.
我对你们所有人的问题是......有没有办法把箭矢量放在先前绘制的线上?
我有一个使用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循环中!
如何正确退出?
谢谢...
# 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的资源让你在自己的网站上执行模块.我认为它最初是为这所特定大学的学生设计的,所以这就是为什么我用家庭作业标记了这一点,尽管它不是.
无论如何:
他们让我执行这项任务:
定义一个函数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中的所有项目都是如此.
我只是无法完全包围这个.我不是在寻找答案,因为我这样做是为了知识增长 - 但我觉得我落后于此):
我在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的任何建议都表示赞赏!
最好,
托比
我有一个二维数组,我需要绘制列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
我正在使用 matplotlib 生成图形。生成条形图时出现一个问题。如果只有一个如下图所示的数据,即使设置了宽度,图形的宽度也覆盖了整个区域。例子 :
x = [3]
y = [10]
bar(x, y, width=0.2,align='center')
Run Code Online (Sandbox Code Playgroud) 我试图在单位正方形的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.
我做错了什么?
编辑:我意识到为给定数据绘制轮廓的方法不止一种.在这种情况下,一系列同心圆也可以.
我有一个项目,我正在对模拟数据进行采样并尝试使用 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) 在这段代码中,我尝试创建一个条形图,其中一个条形图(作为将放置在其他条形图旁边的“总”条形图)和数据框的切片。它适用于数据帧的其他切片,但对于“总”切片(只是一行),我不断收到此“关键错误: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的自学,并遇到下面这段代码的问题.当我单独或在另一个函数中运行此函数时,它会改变最初传递的值'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) 我试图将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 ×8
matplotlib ×7
conditional ×1
dictionary ×1
for-loop ×1
git ×1
loops ×1
macos ×1
mutated ×1
numpy ×1
pandas ×1
path ×1
python-3.x ×1
sampling ×1
scipy ×1
tk-toolkit ×1
tkinter ×1
zsh ×1