diff --git a/examples/specialty_plots/radar_chart.py b/examples/specialty_plots/radar_chart.py index 93c915893f9b..339ca269e45d 100644 --- a/examples/specialty_plots/radar_chart.py +++ b/examples/specialty_plots/radar_chart.py @@ -42,11 +42,22 @@ def radar_factory(num_vars, frame='circle'): # calculate evenly-spaced axis angles theta = np.linspace(0, 2*np.pi, num_vars, endpoint=False) + class RadarTransform(PolarAxes.PolarTransform): + + def transform_path_non_affine(self, path): + # Paths with non-unit interpolation steps correspond to gridlines, + # in which case we force interpolation (to defeat PolarTransform's + # autoconversion to circular arcs). + if path._interpolation_steps > 1: + path = path.interpolated(num_vars) + return Path(self.transform(path.vertices), path.codes) + class RadarAxes(PolarAxes): name = 'radar' # use 1 line segment to connect specified points RESOLUTION = 1 + PolarTransform = RadarTransform def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -175,7 +186,7 @@ def example_data(): horizontalalignment='center', verticalalignment='center') for d, color in zip(case_data, colors): ax.plot(theta, d, color=color) - ax.fill(theta, d, facecolor=color, alpha=0.25) + ax.fill(theta, d, facecolor=color, alpha=0.25, label='_nolegend_') ax.set_varlabels(spoke_labels) # add legend relative to top-left plot
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: