首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多轴多尺度雷达图

多轴多尺度雷达图
EN

Stack Overflow用户
提问于 2014-07-10 00:24:06
回答 1查看 19.6K关注 0票数 13

我想使用matplotlib在多个轴上绘制具有多个比例的雷达图。The official API example在一个轴上只提供一个比例。(在本例中,比例为0.2,0.4,0.6,0.8 )

我希望在所有轴上都有不同的比例。(在给定的示例中有9个轴。)

我找到了一个我正在寻找的here的例子。在这个例子中有5个轴,所有轴上都有5个比例,就像我想要的那样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-10 14:05:18

我认为你可以用多个轴绘制这个图,线在第一个轴上,其他轴只显示刻度标签。

代码语言:javascript
复制
import numpy as np
import pylab as pl

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 = 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=14)

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

        for ax, angle, label in zip(self.axes, self.angles, labels):
            ax.set_rgrids(range(1, 6), angle=angle, labels=label)
            ax.spines["polar"].set_visible(False)
            ax.set_ylim(0, 5)

    def plot(self, values, *args, **kw):
        angle = np.deg2rad(np.r_[self.angles, self.angles[0]])
        values = np.r_[values, values[0]]
        self.ax.plot(angle, values, *args, **kw)



fig = pl.figure(figsize=(6, 6))

titles = list("ABCDE")

labels = [
    list("abcde"), list("12345"), list("uvwxy"), 
    ["one", "two", "three", "four", "five"],
    list("jklmn")
]

radar = Radar(fig, titles, labels)
radar.plot([1, 3, 2, 5, 4],  "-", lw=2, color="b", alpha=0.4, label="first")
radar.plot([2.3, 2, 3, 3, 2],"-", lw=2, color="r", alpha=0.4, label="second")
radar.plot([3, 4, 3, 4, 2], "-", lw=2, color="g", alpha=0.4, label="third")
radar.ax.legend()

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24659005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档