数据分析之matplotlib50题

一、导入

首先,我们需要导入matplot库来进行绘图的相关准备。这里同时需要导入pandas和numpy库。为了相关标题和符号能正常显示,我们还需要设置一下rcParams参数。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False

二、基本图表

用plot方法画出x=(0,10)间sin的图像。

x = np.linspace(0,10,30)//010之间产生30个间隔相同的值
plt.plot(x,np.sin(x))

在这里插入图片描述

用点加线的方式画出x=(0,10)间sin的图像

plt.plot(x,np.sin(x),'-o')

在这里插入图片描述
plot相关:
plot函数的一般调用形式为:plot(x,y,[fmt],data=None,**kwargs)

如果是多条线一起则:plot(x,y,[fmt],x2,y2,[fmt],···,**kwargs)

这里的fmt参数是一个字符串用来描述图像的基本属性,比如:颜色(color),点型(marker),线型(linestyle),具体形式 fmt = ‘[color][marker][line]’。

fmt接收的是每个属性的单个字母缩写,例如:plot(x,y,'bo-') #蓝色圆点实线

用scatter方法画出x=(0,10)间sin的点图像

plt.scatter(x,np.sin(x))//散点图

在这里插入图片描述

用饼图的面积及颜色展示一组4维数据

rng = np.random.RandomState(0)//RandomState为随机数生成器,这里0为随机数种子,只要随机数seed相同,产生的随机数序列就相同。
x = rng.randn(100)
y = rng.randn(100)
colors = rng.randn(100)
sizes = 1000 * rng.rand(100)
plt.scatter(x,y,c=colors,s=sizes,alpha=0.5,cmap="viridis")
plt.colorbar()

在这里插入图片描述

绘制一组误差为±0.8的数据的误差条图
误差线用于显示数据的不确定程度,误差一般使用标准差(Standard Deviation)或标准误差(Standard Error)。

x = np.linspace(0, 10, 50)
dy = 0.8
y = np.sin(x) + dy * np.random.randn(50)
plt.errorbar(x, y, yerr=dy, fmt='.k')

在这里插入图片描述

绘制一个柱状图

y = [3,1,4,5,8,9,7,2]
label=['A','B','C','D','E','F','G','H']
plt.bar(x,y,tick_label = label);

在这里插入图片描述

绘制一个水平方向柱状图

plt.barh(x,y,tick_label=label)

在这里插入图片描述

绘制1000个随机值的直方图

data = np.random.randn(1000)
plt.hist(data)

在这里插入图片描述

设置直方图分30个bins,并设置为频率分布

plt.hist(data,bins=30,histtype="stepfilled",density=True)
plt.show()

在这里插入图片描述
说明:

  • bins:图中柱子的个数

  • density:是否以密度的形式显示

  • histtype:线条类型。

    • bar:方形。
    • barstacked:柱形。
    • step:未填充线条。
    • stepfilled:填充线条。

在一张图中绘制3组不同的直方图,并设置透明度

x1 = np.random.normal(0,0.8,1000)
x2 = np.random.normal(-2,1,1000)
x3 = np.random.normal(3,2,1000)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值