繁体   English   中英

自定义极轴轮廓 plot 轴样式

[英]Customise polar contour plot axes style

我正在使用 GridSpec 在 matplotlib 中创建一个极坐标图网格。 为了帮助视觉效果,我正在尝试自定义轮廓图的外观。 以这个单极 plot 为例(MWE 下面)

极线图

我有两个格式问题:

  1. 如何自定义 r 轴以仅显示 0、20、40 和 60 值? 我怎样才能让这些数字显示为白色?

  2. 在绘制多个极坐标图时,我选择使用ax.grid(False)ax.set_xticklabels([])ax.set_yticklabels([])来删除另一个坐标轴和刻度。 然而,沿 theta = 0 的白条仍然存在,我想将其删除。 将此图像视为我的意思的示例: 在此处输入图像描述

MWE

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import gridspec

gs=gridspec.GridSpec(1,1)
gs.update(wspace=0.205, hspace=0.105) 
fig=plt.figure(figsize=(500/72.27,450/72.27))

X = np.arange(0, 70, 10)
Y = np.radians(np.linspace(0, 360, 20))
r, theta = np.meshgrid(X,Y)
Z1 = np.random.random((Y.size, X.size))


ax=fig.add_subplot(gs[0,0], projection='polar')
cax=ax.contourf(theta, r, Z1, 10)
plt.show()

对于您的第一个问题,只需使用rticks中的 rticks(也请查看演示

ax.set_rticks([0,20,40,60])
ax.tick_params(colors='white', axis="y", which='both') 

在此处输入图像描述

完整代码:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import gridspec

gs=gridspec.GridSpec(1,1)
gs.update(wspace=0.205, hspace=0.105) 
fig=plt.figure(figsize=(500/72.27,450/72.27))

X = np.arange(0, 70, 10)
Y = np.radians(np.linspace(0, 360, 20))
r, theta = np.meshgrid(X,Y)
Z1 = np.random.random((Y.size, X.size))


ax=fig.add_subplot(gs[0,0], projection='polar')
cax=ax.contourf(theta, r, Z1, 10)

ax.set_rticks([0,20,40,60])
ax.tick_params(colors='white', axis="y", which='both') 
plt.show()

暂无
暂无

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

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