数据处理:matplotlib应用1--基本图形

第一部分:基本图形

一.散点图

散点图能描述两个变量的联系:正相关、负相关或无关。

import numpy as np
import matplotlib.pyplot as plt

N=1000
x=np.random.randn(N)
y1=np.random.randn(len(x))

plt.scatter(x, y1, s=50, marker='o', c='red', alpha=0.5)
plt.show()

plt.scatter()中:
s:每个点的面积;
marker:点的类型,o–圆形;
c或color:点的颜色;
alpha:点的透明度,1–不透明,0–透明。
在这里插入图片描述

二.折线图

用直线将数据连接,用于观察变量随x轴(时间)变化的趋势。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

def bytedate2num(fmt):
    def converter(b):
        return mdates.strpdate2num(fmt)(b.decode('ascii'))
    return converter

date_converter = bytedate2num('%m/%d/%Y')

date,open,close=np.loadtxt('000001.csv',delimiter=',',converters={0:date_converter},skiprows=1,usecols=(0,1,4),unpack=True)

plt.plot_date(date,open,linestyle='-',color='blue',marker='o')
plt.show()

plt.plot()和plt.plot_date()中:
marker:点的类型,o–圆形;
color:点的颜色;
linestyle:线段类型。
在这里插入图片描述

三.条形图

高度代表大小,用于比较多个项目分类的数据大小。
1.竖直的条形图plt.bar():

import numpy as np
import matplotlib.pyplot as plt

index=np.arange(4)
sales_BJ=[52,55,63,53]
sales_SH=[44,66,55,41]
bar_width=0.3

# 1.无堆叠,多组数据并列显示
plt.bar(x=index,height=sales_BJ,width=bar_width,color='b')
plt.bar(x=index+bar_width,height=sales_SH,width=bar_width,color='r')
plt.show()

# 2.有堆叠,多组数据在一列显示
# plt.bar(index,sales_BJ,bar_width,color='b')
# plt.bar(index,sales_SH,bar_width,color='r',bottom=sales_BJ)
# plt.show()

x:每个条形中心的横坐标;
height:每个条形的高度;
width:每个条形的宽度,默认为0.5;
bottom:每个条形的底部基准,默认为0;
color:颜色。
1)无堆叠
在这里插入图片描述
2)有堆叠:把第二组数据的起点bottom设置为第一组数据
在这里插入图片描述
2.水平的条形图plt.barh():

import numpy as np
import matplotlib.pyplot as plt

index=np.arange(4)
sales_BJ=[52,55,63,53]
sales_SH=[44,66,55,41]
bar_width=0.3

# 1.无堆叠,多组数据并列显示
plt.barh(y=index,width=sales_BJ,height=bar_width,color='blue')
plt.barh(y=index+bar_width,width=sales_SH,height=bar_width,color='red')
plt.show()

# 2.有堆叠,多组数据在一列显示
# plt.barh(y=index,width=sales_BJ,height=bar_width,color='b')
# plt.barh(y=index,width=sales_SH,height=bar_width,color='r',left=sales_BJ)
# plt.show()

y:每个水平条形中心的纵坐标;
height:每个条形的纵向高度(宽度),默认为0.5;
width:每个条形的横向宽度(长度);
left:每个条形的左边基准,默认为0;
color:颜色。
1)无堆叠
在这里插入图片描述
2)有堆叠:把第二组数据的起点left设置为第一组数据
在这里插入图片描述

四.直方图

一系列高度不等的纵向条形组成,表示数据分布情况。
条形图:表示不同类别的数据;
直方图:表示同类别数据的分布情况。

import numpy as np
import matplotlib.pyplot as plt

mu = 100  # mean of distribution
sigma = 20  # standard deviation of distribution
x = mu + sigma * np.random.randn(2000)

plt.hist(x, bins=10,color='red',normed=True)
plt.show()

直方图plt.hist():
bins:分成的份数;
normed:标准化,显示所占比例,默认为False,显示具体数字;
color:颜色。
在这里插入图片描述

五.饼状图

显示一个数据系列中各项的大小和比例

import matplotlib.pyplot as plt

labels = 'A', 'B', 'C', 'D'
fracs = [15, 30, 45, 10]
#设置各部分是否突出显示,即远离圆心
explode = (0, 0.05, 0, 0) #list也可以

#通过.axes()设置轴向,即x轴与y轴比例
plt.axes(aspect=1)
plt.pie(fracs, explode=explode, labels=labels, autopct='%.1f%%', shadow=True)
plt.show()

饼状图plt.pie():
explode:设置突出显示比例,元祖或列表形式,存储各部分突出比例;
labels:设置各部分标签;
autopct:设置显示格式,%.1f%%----输出一位小数的float+%,详情见备注1。
在这里插入图片描述

六.箱型图

用于显示一组数据分散情况的统计图。

import numpy as np
import matplotlib.pyplot as plt

data = np.random.normal(size=(100, 4), loc=0.0, scale=1.0)
labels = ['A','B','C','D']

plt.boxplot(data, labels=labels,sym='o',whis=1)
plt.show()

箱型图plt.boxplot():
labels:数据标签;
sym:异常值的图形;
whis:异常值数量所占的比例,whis越大则异常值所占比越大。
在这里插入图片描述

备注

1.python中%的相关用法:
%% 百分号标记 #就是输出一个%
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值