【Python数据分析】(3)用matplotlib.pyplot绘制基础图表函数

学习资料:

北理-Python数据分析与展示-Numpy、Matplotlib、Pandas_哔哩哔哩_bilibili

python3画直方图出现“Polygon‘ object has no property ‘normed”_心际花园的博客-CSDN博客_polygon object

    • pyplot基础图表函数

    • pyplot饼图的绘制

饼图擅长展示百分数类型的数据

  • plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)

sizes:各扇形所占圆形面积的百分比
explode:突出扇形的位置和程度
labels:各扇形图的标签
autopct:表示中间显示百分数的方式;
shadow:表示是否添加阴影效果;
startangle:表示饼图起始的角度
import matplotlib.pyplot as plt

labels='Frogs','Hogs','Dogs','Logs'   #各扇形图的标签
sizes=[15,30,45,10]      #各扇形所占圆形面积的百分比
explode=(0,0.1,0,0)      #突出扇形的位置和程度

plt.pie(sizes,explpde=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)
#autopct表示中间显示百分数的方式;shadow表示是否添加阴影效果;startangle表示饼图起始的角度

# plt.axis('equal')    将饼图绘制成正圆形
plt.show()

    • pyplot直方图的绘制

  • plt.hist(a,40,density=True,histtype='stepfilled',facecolor='b',alpha=0.75)

a:传入的数组
第二个参数bin表示生成的图形中直方的个数
density:传入False时,对应纵坐标代表的是每个直方代表的区间内出现元素的个数,传入True时表示将每个直方所指的元素出现的个数归一化为出现的概率
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0)    # 设定随机种子
mu,sigma=100,20      # 设定均值和方差
a=np.random.normal(mu,sigma,size=100)
# 生成均值和方差给定的,元素服从正态分布的数组a

plt.hist(a,40,density=True,histtype='stepfilled',facecolor='b',alpha=0.75)
# 第二个参数bin表示生成的图形中直方的个数
# normed=0/density=False表示每个直方代表的区间内出现元素的个数
# normed=1/density=True表示将每个直方所指的元素出现的个数归一化为出现的概率
plt.title('Histogram')  #添加标题

plt.show()

    • pyplot极坐标的绘制(采用面向对象方法绘制)

极坐标图:在角度空间内展示数据,不太常用

import numpy as np
import matplotlib.pyplot as plt

N=20  #绘制极坐标图中数据的个数
theta=np.linspace(0.0,2*np.pi,N,endpoint=False)
#从0到2pi按照个数等分出N个不同的角度
radii=10*np.random.rand(N)
#随机生成每个角度对应的值
width=np.pi/4*np.random.rand(N)  #随机生成宽度值

ax=plt.subplot(111,projection='polar')
#111表示绘制出一个绘图区域 progection表示绘制极坐标图
bars=ax.bar(theta,radii,width=width,bottom=0.0)

for r,bar in zip(radii,bars):
    bar.set_facecolor(plt.cm.viridis(r/10.))
    bar.set_alpha(0.5)
#通过循环对每个图形确定颜色
    
    
plt.show()

    • pyplot散点图的绘制(采用面向对象方法绘制)

import numpy as np
import matplotlib.pyplot as plt

fig,ax=plt.subplots()
#fig表示图表,ax表示图表相关的区域
#subplot()传入参数为空时默认生成111这一个绘图区域,这个区域的对象就是当前绘制的对象即ax
ax.plot(10*np.random.randn(100),10*np.random.randn(100),'o')
# randn()生成服从正态分布的随机数,10*表示点的坐标扩大十倍(更加分散),‘o’表示每个点的标记形式
ax.set_title('Simple Scatter')
# set_title()设置标题

plt.show()

本次学习用时1小时30分

明天学习Pandas库

去成为你想要成为的人吧

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值