用面向对象API绘制直方图、饼图、散点图和误差棒图

直方图

饼图

散点图

误差棒图

直方图

使用hist()绘制直方图

使用pyplot的hist()函数可以快速绘制直方图

hist()函数的语法格式如下:

hist(x,bins=None,range=None,density=None,weights=None,
     cumulative=False,bottom=None,histtype='bar',align='mid',
     orientation='vertical',rwidth=None,log=False,label=None,
     stacked=False,normed=None,*,data=None,*kwargs)

例如,绘制一个具有8个矩形条填充的线条直方图

示例代码:

#导入模块

import numpy as np
import matplotlib.pyplot as plt

#准备数据

scores = np.random.randint(0,200,100)

#绘制直方图

plt.hist(scores,bins=8,histtype='stepfillrd')
plt.show()

运行如下:

       随着计算机技术的发展,人工智能的应用已经渗透到人们日常生活的方方面面,生活离不开数据,要想在同一个直方图里呈现出不同的数据,则需要对以上代码稍作修改。

例如,在10000个随机数和20000个随机数中,绘制包含25个矩形条的直方图,在同一张直方图里分别呈现出来。

#准备数据

random_state = np.random.RandomState(19680801)
random_x = random_state.randn(10000)
random_x1 = random_state.randn(20000)

#绘制直方图

plt.hist([random_x,random_x1],bins=25)
plt.show()

运行如下:

以上就是有关直方图的绘制。

饼图

使用pie()绘制饼图

使用pyplot的pie()函数可以快速地绘制饼图

pie()函数的语法格式如下:

pie(x,explode=None,labels=None,autopct=None,
    pctdistance=0.6,shadow=False,labeldistance=1.1,startangle=None,
    radius=None,counterclock=True,wedgeprops=None,textprops=None,
    center=(0,0),frame=False,rotatelabeld=False,*,data=None)

例如,使用pie函数()绘制一个饼图

示例代码:

#导入模块

import numpy as np
import matplotlib.pyplot as plt

#准备数据

data = np.array([20,30,40,45,15,30])
pie_labels = np.array(['A','B','C','D','E','F'])

#绘制饼图,将半径设为0.5,数值保留1位小数

plt.pie(data,radius=1.5,labels=pie_labels,autopct='%.1f%%')
plt.show()

运行如下:

       随着科技的进步,近年来开始流行移动支付,不管是购买商品、聚餐、娱乐、旅行,都可以使用移动支付app轻松搞定,十分便捷。支付宝便是其中的典型,不仅能够记录每月账单,还能了解资金的流动情况。

例如,将某用户某月使用支付宝的消费明细呈现在饼图上

示例代码:

#导入模块

import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

#饼图外侧的说明文字

kinds = ['购物','聚餐','出行','娱乐','其他']

#饼图的数据

money_scale = [500/2000,900/2000,200/2000,250/2000,150/2000]
dev_position = [0.1,0.1,0.1,0.1,0.1]

#绘制饼图

plt.pie(money_scale,labels=kinds,autopct='%.1f%%',shadow=True,
        explode=dev_position,startangle=90)
plt.show()

运行如下:

以上就是有关饼图的绘制。

散点图

使用scatter()绘制散点图

使用pyplot的scatter()函数可以快速绘制散点图

scatter()函数的语法格式如下:

scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,
        vmin=None,vmax=None,alpha=None,linewidths=None,verts=None,
        edgecolors=None,*,plotnonfinite=False,data=None,**kwargs)

例如,使用scatter()函数绘制汽车速度与制动距离关系的散点图

示例代码:

#导入模块

import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

#准备x轴和y轴的数据,x轴代表车速,y轴代表制动距离

x_speed = np.arange(10,210,10)
y_distance = np.array([0.5,2.0,4.4,7.9,12.3,17.7,24.1,31.5,
                       39.9,49.2,59.5,70.8,83.1,96.4,110.7,
                       126.0,142.2,159.4,177.6,196.8])
area = np.linspace(20,300,20)

#绘制散点图

plt.scatter(x_speed,y_distance,s=area,c='yellow',alpha=0.9)
plt.show()

运行如下:

以上就是有关散点图的绘制。

误差棒图

使用errorbar()绘制误差棒图

使用pyplot的errorbar()函数可以快速绘制误差棒图

errorbar()函数的语法格式如下:

errorbar(x,y,yerr=None,xerr=None,fmt='',ecolor=None,
         elinewidth=None,capsize=None,barsabove=False,lolims=False,
         uplims=False,xloims=False,xuplims=False,errorevery=1,
         capthick=None,*,data=None,**kwargs)

使用errorbar()函数绘制一个误差棒图

示例代码:

#导入模块

import numpy as np
import matplotlib.pyplot as plt

#准备数据

x = np.arange(5)
y = (33,88,24,88,20)
y_offset = (3,5,2,5,2)

#绘制误差棒图

plt.errorbar(x,y,yerr=y_offset,capsize=5,capthick=8,fmt='*--',ecolor='k')
plt.show()

运行如下:

注意:

1.如果fmt字符串中提供了标记点,却没有指定线型,则不会连接这些点;

2.如果fmt字符串中只提供了线型,则不会画点;

3.既要标记点,又要连线,需同时提供标记点和线型;若两者都不提供则自动连线。

以上就是有关误差棒图的绘制。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值