Python数据可视化详解(5/5)--------面积图、圆环图和Python里的极坐标

本文介绍了使用Matplotlib库进行面积图、堆积面积图、圆环图、极坐标和Walsh函数的可视化实例,包括代码实现和参数详解。从基础图表展示到复杂极坐标技巧,适合初学者和进阶者学习数据可视化技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面积图

import numpy as np
import matplotlib.pyplot as plt

x = [2,3,4,5,6,7]
y = [4,5,1,2,5,2]

plt.fill_between(x,y)
plt.show()

堆积的面积图

import numpy as np
import matplotlib.pyplot as plt

x = [2,3,4,5,6,7]

y2 = [[4,5,2,1,1,0],[1,24,5,3,2,1],[9,8,7,5,4,1]]
plt.stackplot(x,y2,labels=["A1","A2","A3"],colors=["green","blue","red"],\
              alpha=0.4)
plt.savefig("2.jpg")


圆环图

import numpy as np
import matplotlib.pyplot as plt

plt.pie([1,23,7],
        wedgeprops={'width':0.6},
        startangle=0,
        colors=["green","blue","red"],
        labels=["A","B","C"])
plt.savefig("2.jpg")


极坐标下的Walsh函数

  • 效果图

  •  代码实现
import matplotlib.pyplot as plt
import numpy as np 

plt.pie([1,1,1,1],
        wedgeprops={'width':0.5},
        startangle=90,
        colors=["green","blue","green","blue"],
        labels=["A","B","C","D"],radius=1)

plt.pie([1,1,1,1],
        wedgeprops={'width':0.5},
        startangle=90+90,
        colors=["green","blue","green","blue"],
        labels=["A","B","C","D"],radius=0.5)




##plt.pie([1,1],
##        wedgeprops={'width':0.5},
##        startangle=270,
##        colors=["green","blue"],
##        labels=[" "," "],radius=0.5)
##
##
##plt.pie([1,1],
##        wedgeprops={'width':0.5},
##        startangle=270,
##        colors=["blue","green"],
##        labels=[" "," "],radius=1)

plt.savefig("2.jpg")
 
 

matplotlib里面的极坐标问题

import numpy as np
import matplotlib.pyplot as plt
import scipy as sp
import sympy as sy

fig = plt.figure(figsize=(4,4))
ax1 = plt.subplot(221,projection="polar")
ax2 = plt.subplot(222,projection="polar")
ax3 = plt.subplot(223,projection="polar")
ax4 = plt.subplot(224,projection="polar")

theta = np.linspace(0,np.pi,181)
ax1.plot(theta,theta/6,"--",lw=2)

#极坐标正方向
ax2.set_theta_direction(-1)
#极坐标0°位置
ax2.set_theta_zero_location("NW")
ax2.plot(theta,theta/6,"--",lw=2)

#极坐标角度网格线显示
ax3.set_thetagrids([30,60,180])
#极坐标极径网格线显示
ax3.set_rgrids([0.2,0.6,0.65,0.7,0.75])
ax3.plot(theta,np.sin(theta),"-.",lw=2)

#极坐标角度偏离
ax4.set_theta_offset(np.pi/3)
#极坐标极径标签位置
ax4.set_rlabel_position(90)
#极坐标极径范围
ax4.set_rlim(0,2)
ax4.plot(theta,abs(np.cos(theta))**2,".",lw=2)

plt.pause(0.2)
plt.savefig("0.jpg")

 

 

上代码

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8,4))
ax1 = plt.subplot(projection ='polar')

ax1.set_theta_direction(-1)

ax1.set_theta_offset(np.pi/2)

ax1.set_rlim(0,40)

ax1.set_thetagrids(np.arange(0.0,360.0,90),['a','b','c','d'])
ax1.set_rgrids(np.arange(10,40,5))

ax1.plot([0,np.pi/2,np.pi],[10,20,30],linestyle ='--',lw=1)
ax1.scatter([0,np.pi/2,np.pi],[10,20,30])

ax1.fill([0,np.pi/2,np.pi],[5,10,40],alpha=0.3,label="A",color="green")
plt.legend()


  代码详解

  •    所有的角度均用弧度表示
  • set_theta_direction()
    • 用于设置坐标轴正⽅向,默认值为逆时针
  • set_theta_offset()
    • 用于设置⾓度偏移,初始值按逆时针方向偏移量
  • set_rlim()
    • 用于设置极径标记的显示范围
  • set_thetagrids()
    • 用于设置极角的标记
  • set_rgrids()
    • 用于设置极径的标记
  • plot()
    • 绘制折线
  • scatter()
    • 绘制点
  • fill()
    • 绘制填充图形
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

River Chandler

谢谢,我会更努力学习工作的!!

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

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

打赏作者

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

抵扣说明:

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

余额充值