用Jupiter制作一个雷达图展示两名同学的成绩,如何在只调用一次plt.fill的情况下设置不同的颜色和透明度?
1条回答 默认 最新
关注 引自强大而免费的微信小程序:皆我百晓生。
要在一个雷达图中设置不同的颜色和透明度,您可以使用matplotlib中的alpha属性。以下是一个示例代码,展示了如何在只调用一次plt.fill的情况下设置不同的透明度:
import numpy as np import matplotlib.pyplot as plt # 定义两位同学的成绩数据 categories = ['Math', 'History', 'English', 'Physics', 'Chemistry'] student1_scores = [80, 85, 90, 70, 75] student2_scores = [90, 75, 85, 80, 70] # 设置颜色和透明度 colors = ['red', 'blue', 'green', 'yellow', 'orange'] alphas = [0.8, 0.4, 0.2, 1.0, 0.6] # 创建雷达图 fig = plt.figure(figsize=(6, 6)) ax = fig.add_subplot(111, polar=True) # 设置刻度标签 angles = np.linspace(0, 2 * np.pi, len(categories), endpoint=False).tolist() angles += angles[:1] ax.set_xticks(angles[:-1]) ax.set_xticklabels(categories) # 设置极轴范围 ax.set_ylim(0, 100) # 绘制雷达图 ax.plot(angles, student1_scores + [student1_scores[0]], 'o-', color='black', linewidth=2, label='Student 1') ax.fill(angles, student1_scores + [student1_scores[0]], alpha=alphas[0], color=colors[0]) ax.plot(angles, student2_scores + [student2_scores[0]], 'o-', color='black', linewidth=2, label='Student 2') ax.fill(angles, student2_scores + [student2_scores[0]], alpha=alphas[1], color=colors[1]) # 添加图例 ax.legend(loc='upper right') # 显示雷达图 plt.show()
这段代码会生成一个雷达图,其中包含两名学生的成绩数据。通过设置
alphas
列表来指定每个区域的透明度,然后在调用plt.fill
时传入相应的透明度即可实现不同的透明度效果。解决 1无用
悬赏问题
- ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
- ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
- ¥15 远程安装一下vasp
- ¥15 自己做的代码上传图片时,报错
- ¥15 Lingo线性规划模型怎么搭建
- ¥15 关于#python#的问题,请各位专家解答!区间型正向化
- ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
- ¥50 comsol温度场仿真无法模拟微米级激光光斑
- ¥15 上传图片时提交的存储类型
- ¥15 VB.NET如何绘制倾斜的椭圆