Yot*_*tam 5 python matplotlib insets
我在matplot lib中创建了一个图,我希望在该图中添加一个插图.我希望绘制的数据保存在我在其他图中使用的字典中.我在循环中找到了这个数据,然后我再次为子图运行这个循环.以下是相关部分:
leg = []
colors=['red','blue']
count = 0
for key in Xpr: #Xpr holds my data
#skipping over what I don't want to plot
if not key[0] == '5': continue
if key[1] == '0': continue
if key[1] == 'a': continue
leg.append(key)
x = Xpr[key]
y = Ypr[key] #Ypr holds the Y axis and is created when Xpr is created
plt.scatter(x,y,color=colors[count],marker='.')
count += 1
plt.xlabel(r'$z/\mu$')
plt.ylabel(r'$\rho(z)$')
plt.legend(leg)
plt.xlim(0,10)
#Now I wish to create the inset
a=plt.axes([0.7,0.7,0.8,0.8])
count = 0
for key in Xpr:
break
if not key[0] == '5': continue
if key[1] == '0': continue
if key[1] == 'a': continue
leg.append(key)
x = Xpr[key]
y = Ypr[key]
a.plot(x,y,color=colors[count])
count += 1
plt.savefig('ion density 5per Un.pdf',format='pdf')
plt.cla()
Run Code Online (Sandbox Code Playgroud)
奇怪的是,当我试图移动插入位置时,我仍然得到之前的插入(来自上一代代码的插件).我甚至试图在a=axes([])
没有任何明显的情况下评论这条线.我附上了示例文件.为什么它以这种方式行事?
简单的答案是您应该使用plt.clf()
它来清除图形,而不是当前轴。break
插入循环中还有一个,表示该代码都不会运行。
当您开始执行比使用单个轴更复杂的操作时,值得切换为使用OO接口matplotlib
。乍一看似乎比较复杂,但是您不必再担心的隐藏状态pyplot
。您的代码可以重写为
fig = plt.figure()
ax = fig.add_axes([.1,.1,.8,.8]) # main axes
colors=['red','blue']
for key in Xpr: #Xpr holds my data
#skipping over what I don't want to plot
if not key[0] == '5': continue
if key[1] == '0': continue
if key[1] == 'a': continue
x = Xpr[key]
y = Ypr[key] #Ypr holds the Y axis and is created when Xpr is created
ax.scatter(x,y,color=colors[count],marker='.',label=key)
count += 1
ax.set_xlabel(r'$z/\mu$')
ax.set_ylabel(r'$\rho(z)$')
ax.set_xlim(0,10)
leg = ax.legend()
#Now I wish to create the inset
ax_inset=fig.add_axes([0.7,0.7,0.3,0.3])
count =0
for key in Xpr: #Xpr holds my data
if not key[0] == '5': continue
if key[1] == '0': continue
if key[1] == 'a': continue
x = Xpr[key]
y = Ypr[key]
ax_inset.plot(x,y,color=colors[count],label=key)
count +=1
ax_inset.legend()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5434 次 |
最近记录: |