编辑标签和轴限制的雷达图

时间:2017-08-07 16:59:17

标签: python-2.7 numpy matplotlib radar-chart

我一直在使用radar chart概念来可视化基于百分比的指标。我已经按照示例代码,但我遇到了一些问题。任何人都可以帮助我将标签从默认度数值更改为其他值吗?我还想将x轴最小值设置为0.9,但有点挣扎。

任何帮助或资源都有帮助。如果有更有效的方法来解决它们,我愿意重新开始。

import numpy as np
import matplotlib.pyplot as plt

availability_array = np.array([.95, .9, .99, .97, 1]) #sample inverter uptime availability numbers using site with 5 inverters

# Compute pie slices
theta = np.linspace(0.0, 2 * np.pi, len(availability_array), endpoint=False)
values = availability_array #values that are graphed
width = 1 #increase/decrease width of each bar

ax = plt.subplot(111, projection='polar') #.set_xticklabels(['N', '', 'W', '', 'S', '', 'E', '']) #111 means 1x1 grid subplot starting in cell 1

bars = ax.bar(theta, values, width=width, bottom=0.0)

# Coloring
for r, bar in zip(values, bars):
    bar.set_facecolor(plt.cm.viridis(r / 1))
    bar.set_alpha(0.4) #transparency of the bars

plt.show()

1 个答案:

答案 0 :(得分:2)

正如您在评论中已经显示的那样,圆圈周围的标签为yticklabels,沿半径的标签为set_xticks,即y轴沿着半径。因此,我认为您的意思是“将 y轴 最小值设置为0.9”。

正如您对常规情节所做的那样,您可以将set_xticklabelsax.set_xticks([np.pi/4, np.pi*3/4]) ax.set_xticklabels(['NE', 'NW']) 结合使用,将标签从默认度数值更改为其他内容。例如:

set_ylim

要“将 y轴 最小值设为0.9”,您可以像这样使用ax.set_ylim(0.9, 1)

{{1}}