Python---Maplotlib数据展示库

来源:互联网 发布:淘宝的收藏找不到了 编辑:程序博客网 时间:2024/05/16 14:14

matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式

引入库:

import matplotlib.pyplot as plt

pyplot的plot()函数

plt.plot(x, y, format_string, **kwargs)
  • x : X轴数据,列表或数组,可选
  • y : Y轴数据,列表或数组
  • format_string: 控制曲线的格式字符串,可选
  • **kwargs : 第二组或更多(x,y,format_string)

绘制多条曲线时,各条曲线的x不能省略

format_string

颜色字符 说明 颜色字符 说明 ‘b’ 蓝色 ‘m’ 洋红色 ‘g’ 绿色 ‘y’ 黄色 ‘r’ 红色 ’k’ 黑色 ‘c’ 青绿色 ‘w’ 白色 ‘#008000’ RGB某颜色 ‘0.8’ 灰度值字符串 风格字符 说明 ‘‐’ 实线 ‘‐‐’ 破折线 ‘‐.’ 点划线 ‘:’ 虚线 ” ’ ‘ 无线条 标记字符 说明 标记字符 说明 标记字符 说明 ‘.’ 点标记 ‘1’ 下花三角标记 ‘h’ 竖六边形标记 ‘,’ 像素标记(极小点) ‘2’ 上花三角标记 ‘H’ 横六边形标记 ‘o’ 实心圈标记 ‘3’ 左花三角标记 ‘+’ 十字标记 ‘v’ 倒三角标记 ‘4’ 右花三角标记 ‘x’ x标记 ‘^’ 上三角标记 ’s’ 实心方形标记 ‘D’ 菱形标记 ‘>’ 右三角标记 ‘p’ 实心方形标记 ‘d’ 瘦菱形标记 ‘<’ 左三角标记 ‘*’ 星形标记 ‘|’ 垂直线标记

例如:

import matplotlib.pyplot as pltimport numpy as npa=np.arange(10)plt.plot(a,a*1.5,'go-',a,a*2.5,'rx',a,a*3.5,'*',a,a*4.5,'b-h')plt.show()

这里写图片描述

pylot的中文显示

1. 使用rcParams修改字体

rcParams的属性

属性 说明 ‘font.family’ 用于显示字体的名字 ‘font.style’ 字体风格,正常’normal’或 斜体’italic’ ‘font.size’ 字体大小,整数字号或者’large’、’x‐small’

1. 百度搜索,simhei,下载后放到 /Users/xxxxx/anaconda/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf目录中
2. 删除 /Users/xxxxx/.matplotlib/*.cache
3. 运行

import matplotlibmatplotlib.matplotlib_fname()

找到获得matplotlib包所在文件夹,打开matplotlibc font.family和font.sans-serif两项,将#注释去掉,打开。
设置
font-family : sans-serif
font.sans-serif : SimHei,
4. 代码部分
import matplotlib.pyplot as plt
plt.rcParams[‘font.sans-serif’]=[‘SimHei’] #用来正常显示中文标签
plt.rcParams[‘axes.unicode_minus’]=False #用来正常显示负号

例如:

import matplotlib.pyplot as pltimport numpy as npimport matplotlibmatplotlib.rcParams['font.sans-serif']=['SimHei']#设置字体为中文黑体matplotlib.rcParams['font.size']=20 #大小为20a=np.arange(0.0,5.0,0.01)plt.xlabel('时间') #横轴plt.ylabel('振幅') #纵轴plt.plot(a,np.cos(2*np.pi*a),'r*')plt.show()

这里写图片描述

pyplot的文本显示

文本显示函数

函数 说明 plt.xlabel() 对X轴增加文本标签 plt.ylabel() 对Y轴增加文本标签 plt.title() 对图形整体增加文本标签 plt.text() 在任意位置增加文本 plt.annotate() 在图形中增加带箭头的注解

pyplot基础图标函数

函数 说明 plt.plot(x,y,fmt,…) 绘制一个坐标图 plt.boxplot(data,notch,position) 绘制一个箱形图 plt.bar(left,height,width,bottom) 绘制一个条形图 plt.barh(width,bottom,left,height) 绘制一个横向条形图 plt.polar(theta, r) 绘制极坐标图 plt.pie(data, explode) 绘制饼图 plt.psd(x,NFFT=256,pad_to,Fs) 绘制功率谱密度图 plt.specgram(x,NFFT=256,pad_to,F) 绘制谱图 plt.cohere(x,y,NFFT=256,Fs) 绘制X‐Y的相关性函数 plt.scatter(x,y) 绘制散点图,其中,x和y长度相同 plt.step(x,y,where) 绘制步阶图 plt.hist(x,bins,normed) 绘制直方图 plt.contour(X,Y,Z,N) 绘制等值图 plt.vlines() 绘制垂直图 plt.stem(x,y,linefmt,markerfmt) 绘制柴火图 plt.plot_date() 绘制数据日期

饼图例子:

import matplotlib.pyplot as pltmatplotlib.rcParams['font.sans-serif']=['SimHei']#设置字体为中文黑体matplotlib.rcParams['font.size']=16 #大小plt.title('大学各年级获奖比例')labels='大一','大二','大三','大四'sizes=[15,30,45,10]explode=(0,0,0,0.1)plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)plt.show()

这里写图片描述

散点图例子:

import matplotlib.pyplot as pltimport numpy as npfig,ax=plt.subplots()ax.plot(10*np.random.randn(100),10*np.random.randn(100),'o')ax.set_title('Simple Scatter')plt.show()

这里写图片描述