繁体   English   中英

在 matplotlib 中使用 set_ylim 时,Polar pcolormesh 会移动中心

[英]Polar pcolormesh shifts center when used set_ylim in matplotlib

虽然我提供了我正在使用的代码的摘录,但这篇文章包含了我面临的问题。 我正在尝试 plot 圆盘上的粒子密度,因此极性 plot 似乎很自然地使用。 所以我使用下面的代码来读取一个密度文件,其中包含密度的行和列代表半径和 angular 方向。

#! /usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
from os.path import exists
from os import sys
import matplotlib as mpl
from matplotlib import rc

NUMBINS=100
rmax=20.0
dR2=rmax*rmax/NUMBINS


density = np.random.random((NUMBINS, NUMBINS))
r = np.sqrt(np.arange(0,rmax*rmax,dR2) )[:NUMBINS]
theta = np.linspace(0,2*np.pi,NUMBINS)

mpl.rcParams['legend.fontsize'] = 10
mpl.rcParams['pcolor.shading'] ='nearest'

fig = plt.figure(figsize=(5, 5))
ax1 = plt.subplot(111,projection="polar")

rad, th = np.meshgrid(r,theta)

ax1.set_yticks(np.arange(0,rmax,3))
ax1.pcolormesh(th,rad,density,cmap='Blues')
#ax1.set_ylim([rad[0,0], rad[0,NUMBINS-1]])

plt.tight_layout()
plt.show()

这给了我以下 plot:

在此处输入图像描述

如您所见,半径从0开始到rmax ,删除注释行

ax1.set_ylim([rad[0,0], rad[0,NUMBINS-1]])

不应对 plot 产生任何影响,但它会移动 plot 的中心:

在此处输入图像描述

我不明白为什么设置ymin=0会在中心创建这个空白区域?

事实证明这是 matplotlib 版本的问题。我尝试了不同的版本,plot 按预期工作。 抱歉没有早点尝试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM