小编JA2*_*JA2的帖子

如何删除极坐标网格线并添加长轴刻度

有人可以帮我删除在我的极坐标图中形成环的网格线。我想保留(甚至加粗)轴并为每个轴标签添加刻度。

这是我正在使用的代码、绘图图像以及我想要的轴图像。

import numpy as np
import pylab as pl
import matplotlib.pyplot as py

class Radar(object):

    def __init__(self, fig, titles, labels, rect=None):
        if rect is None:
            rect = [0.05, 0.05, 0.95, 0.95]

            self.n = len(titles)
            self.angles = [a if a <=360. else a - 360. for a in np.arange(90, 90+360, 360.0/self.n)] 
            self.axes = [fig.add_axes(rect, projection="polar", label="axes%d" % i) 
                             for i in range(self.n)]

            self.ax = self.axes[0]
            self.ax.set_thetagrids(self.angles, labels=titles, fontsize=12, weight="bold")

            for ax in self.axes[1:]:
                ax.patch.set_visible(False)
                ax.grid("off")
                ax.xaxis.set_visible(False)            

            for ax, angle, label …
Run Code Online (Sandbox Code Playgroud)

matplotlib gridlines python-3.x radar-chart multiple-axes

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

Matplotlib:极坐标轴刻度标签位置

如何沿每个轴移动标签以使它们都可读?例如,如何将“$156、$158、$160”移出轴?

这篇文章展示了如果您只有一个轴,如何移动这些标签,但是如果像我这样有多个轴,您会怎么做?在 matplotlib 中的极坐标图上移动径向刻度标签

当前极坐标图

import numpy as np
import pylab as pl
import matplotlib.pyplot as py

class Radar(object):

def __init__(self, fig, titles, labels, rect=None):
    if rect is None:
        rect = [0.05, 0.05, 0.95, 0.95]

    self.n = len(titles)
    self.angles = [a if a <=360. else a - 360. for a in np.arange(90, 90+360, 360.0/self.n)]
    self.axes = [fig.add_axes(rect, projection="polar", label="axes%d" % i) 
                     for i in range(self.n)]

    self.ax = self.axes[0]
    self.ax.set_thetagrids(self.angles, labels=titles, fontsize=12, weight="bold", color="black")

    for ax in self.axes[1:]:
        ax.patch.set_visible(False)
        ax.grid("off")
        ax.xaxis.set_visible(False) …
Run Code Online (Sandbox Code Playgroud)

label matplotlib python-3.x radar-chart multiple-axes

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