python可视化的polar函数用法大全

该博客展示了如何利用matplotlib库在Python中创建极坐标图形,包括默认的折线图、标识点的添加以及极坐标柱状图和雷达图的绘制。通过调整参数,可以改变线条样式、标记颜色和大小,实现不同视觉效果。
摘要由CSDN通过智能技术生成

默认绘制折线图
在这里插入图片描述

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# Author's_name_is_NIKOLA_SS
import matplotlib.pyplot as plt
import numpy as np
barSlices = 18
theta = np.linspace(0.0, 2*np.pi, barSlices, endpoint=False)
s= 30*np.random.rand(barSlices)
plt.polar(theta, s)
plt.show()

在这里插入图片描述
标识点:
plt.polar(theta, s, linestyle=‘None’, marker=’*’)

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# Author's_name_is_NIKOLA_SS
import matplotlib.pyplot as plt
import numpy as np
barSlices = 18
theta = np.linspace(0.0, 2*np.pi, barSlices, endpoint=False)
s= 30*np.random.rand(barSlices)
plt.polar(theta, s, linestyle='None', marker='*')
plt.show()

在这里插入图片描述
在这里插入图片描述

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# Author's_name_is_NIKOLA_SS
import matplotlib.pyplot as plt
import numpy as np

barSlices = 18

theta = np.linspace(0.0, 2*np.pi, barSlices, endpoint=False)

s= 30*np.random.rand(barSlices)

# plt.polar(theta, s, linestyle='None', marker='*')

# plt.polar(theta, s, linestyle='--', marker='*',
#           markerfacecolor='r', markersize=10)

plt.polar(theta, s, linestyle=':', marker='*',
          markerfacecolor='r', markersize=10)
plt.show()

就这,还没完。具体的参数很多,常用的先用着看。

在这里插入图片描述
极轴图 - 极坐标的柱状图源码:

import matplotlib.pyplot as plt
import numpy as np

# 极轴图 - 极坐标的柱状图

plt.figure(figsize=(8,4))

ax1= plt.subplot(111, projection='polar')
ax1.set_title('Radar Map\n')  # 创建标题
ax1.set_rlim(0,13)

data = np.random.randint(1,10,10)

theta=np.arange(0,2*np.pi,2*np.pi/10)
# 创建数据

bar = ax1.bar(theta,data,alpha=0.5)
for r,bar in zip(data, bar):
    bar.set_facecolor(plt.cm.jet(r/10.))  
    # 设置颜色,jet的地方可以写其他的colormap
plt.thetagrids(np.arange(0.0, 360.0, 90), []) 
# 设置网格、标签(这里是空标签,则不显示内容)

plt.show()

雷达图绘制:
源码:

import matplotlib.pyplot as plt
import numpy as np


plt.figure(figsize=(8,4))

ax1= plt.subplot(111, projection='polar')
ax1.set_title('Radar Map')  # 创建标题
ax1.set_rlim(0,13)

data1 = np.random.randint(1,10,10)
data2 = np.random.randint(1,10,10)
data3 = np.random.randint(1,10,10)
theta=np.arange(0,2*np.pi,2*np.pi/10)
# 创建数据

ax1.plot(theta,data1,'.--',label='data1')
ax1.fill(theta,data1,alpha=0.2)
ax1.plot(theta,data2,'.--',label='data2')
ax1.fill(theta,data2,alpha=0.2)
ax1.plot(theta,data3,'.--',label='data3')
ax1.fill(theta,data3,alpha=0.2)
# 绘制雷达线
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海宝7号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值