数据分析——Matplotlib图形绘制
创建画布或子图
函数名称 | 函数作用 |
---|---|
plt.figure | 创建一个空白画布,可以指定画布大小,像素。 |
figure.add_subplot | 创建并选中子图,可以指定子图的行数,列数,与选中图片编号。 |
绘制图形
函数名称 | 函数作用 |
---|---|
plt.title | 在当前图形中添加标题,可以指定标题的名称,位置,颜色,字体大小等参数。 |
plt.xlabel | 在当前图形中添加x轴名称,可以指定位置,颜色,字体大小等参数。 |
plt.ylabel | 在当前图形中添加y轴名称,可以指定位置,颜色,字体大小等参数。 |
plt.xlim | 指定当前图形x轴的范围,只能确定一个数值区间,而无法使用字符串标识。 |
plt.ylim | 指定当前图形y轴的范围,只能确定一个数值区间,而无法使用字符串标识。 |
plt.xticks | 指定x轴刻度的数目与取值 |
plt.yticks | 指定y轴刻度的数目与取值 |
plt.legend | 指定当前图形的图例,可以指定图例的大小,位置,标签。 |
保存和显示图形
函数名称 | 函数作用 |
---|---|
plt.savafig | 保存绘制的图片,可以指定图片的分辨率,边缘的颜色等参数。 |
plt.show | 在本机显示图形。 |
先导入第三方库和数据
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('./data.csv',encoding= 'gbk',engine='python')
data.head()

绘制散点图
# scatter散点图
plt.figure(figsize=(16,9))
plt.scatter(x= data.iloc[:,1],y=data.iloc[:,2])
plt.show()
# 图的基本设置
plt.figure(figsize=(16,9))
plt.scatter(x= data.iloc[:,1],y=data.iloc[:,2])
plt.title('散点图')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.show()
# 可移植代码
plt.rcParams['font.sans-serif'] = 'SimHei' ##设置字体为SimHei显示中文
plt.rcParams['axes.unicode_minus'] = False ##设置正常显示符号
# 旋转45°
plt.figure(figsize=(16,9))
plt.scatter(x= data.iloc[:,1],y=data.iloc[:,2])
plt.title('散点图')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.xticks(rotation=45)
plt.show()
# 减少x轴刻度
plt.rcParams['font.sans-serif'] = 'SimHei' ##设置字体为SimHei显示中文
plt.rcParams['axes.unicode_minus'] = False ##设置正常显示符号
plt.figure(figsize=(4,3))
plt.scatter(x= data.iloc[:,1],y=data.iloc[:,2])
plt.title('散点图')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.xticks(data.iloc[0:data.shape[0]:4,1],rotation=45)
plt.show()
# 修改x轴刻度上的值
plt.rcParams['font.sans-serif'] = 'SimHei' ##设置字体为SimHei显示中文
plt.rcParams['axes.unicode_minus'] = False ##设置正常显示符号
plt.figure(figsize=(4,3))
plt.scatter(x= data.iloc[:,1],y=data.iloc[:,2])
plt.title('散点图')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.xticks(data.iloc[0:data.shape[0]:4,1],range(18),rotation=45)
plt.show()
# 循环画图
# 加入图例说明,搞定
plt.figure(figsize=(16,9))
for i in range(2,10):
plt.scatter(x= data.iloc[:,1],y=data.iloc[:,i])
plt.title('散点图')
plt.xlabel('x轴',fontsize=14)
plt.ylabel('y轴',fontsize=14)
plt.xticks(data.iloc[0:data.shape[0]:4,1],range(18),rotation=45)
plt.legend(data.columns[2:10])
plt.show()

绘制折线图
所有图基本都是一样的画法,只是函数不同而已,只要掌握了一种就全会了的,所以不再详讲。
## 创建画布
plt.figure(figsize=(16,9)) ## 创建画布并设定画布大小
## 使用循环绘制图形
colors = ['red','yellow','blue','green']## 设定颜色
lineStyle = ['-',':','-.','--'] ## 设定线条类型
Mark = ['o','D','+','*'] ## 设定点的类型
for i in range(4):
plt.plot(X[:,i],color=colors[i],linestyle=lineStyle[i],marker = Mark[i])
plt.title('iris数据四个特征的折线图')## 添加标题
plt.xlabel('index') ## 添加x的标签
plt.ylabel('value')##添加y的标签
plt.xlim((0,170)) ## 设定x轴的范围
plt.ylim((0,10)) ## 设定y轴的范围
plt.legend(names) ## 设定图例
plt.show() ## 显示图形

绘制柱状图
plt.figure(figsize=(10,8))
plt.bar(data.iloc[:,0],data.iloc[:,3],color='blue')
plt.xlabel('x轴') ## 添加x的标签
plt.ylabel('value')##添加y的标签
plt.show()
plt.figure(figsize=(10,8))
for i in range(2,10):
plt.bar(data.iloc[:,0],data.iloc[:,i])
plt.xlabel('x轴') ## 添加x的标签
plt.ylabel('value')##添加y的标签
plt.legend(data.columns[2:10])
plt.show()
绘制饼图
## 饼图
plt.figure(figsize=(6,6))## 将画布设定为正方形,则绘制的饼图是正圆
label= data.iloc[::4,1]##定义饼状图的标签,标签是列表
#explode = [0.01]*data.shape[0]//4+2## 设定各项离心n个半径
plt.pie(data.iloc[::4,2],labels=label,autopct='%.3f%%')## 绘制饼图
plt.title('2017年第一季度各产业生产总值占比饼图')
plt.savefig('2017年第一季度各产业生产总值占比饼图.png')
plt.show()

## 子图
p = plt.figure(figsize=(10,10))
ax = p.add_subplot(2,2,1)
for i in range(2,10):
plt.scatter(x= data.iloc[:,1],y=data.iloc[:,i])
plt.title('散点图')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.xticks(data.iloc[0:data.shape[0]:4,1],range(18),rotation=45)
plt.legend(data.columns[2:10]) ax = p.add_subplot(2,2,2)
#plt.figure(figsize=(10,8))
for i in range(2,10):
plt.bar(data.iloc[:,0],data.iloc[:,i])
plt.xlabel('x轴') ## 添加x的标签
plt.ylabel('value')##添加y的标签
plt.legend(data.columns[2:10]) ax = p.add_subplot(2,2,3)
for i in range(2,10):
plt.plot(data.iloc[:,i]) ax = p.add_subplot(2,2,4)
#plt.figure(figsize=(6,6))## 将画布设定为正方形,则绘制的饼图是正圆
label= data.iloc[::4,1]##定义饼状图的标签,标签是列表
#explode = [0.01]*data.shape[0]//4+2## 设定各项离心n个半径
plt.pie(data.iloc[::4,2],labels=label)## 绘制饼图
plt.title('各产业生产总值占比饼图') plt.show()

绘制箱线图
## 创建画布
p = plt.figure(figsize=(16,4)) ## 创建画布并设定画布大小
## 使用循环绘制图形
for i in range(2,10):
ax = p.add_subplot(1,8,i-1)
plt.boxplot(data.iloc[:,i])
plt.xlabel(data.columns[i]) ## 添加x的标签
plt.ylabel('value')##添加y的标签
plt.show() ## 显示图形
数据分析——Matplotlib图形绘制的更多相关文章
- Matplotlib 图形绘制
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...
- Python数据分析-Matplotlib图标绘制
Matplotlib介绍 Matplotlib是一个强大的Python绘图和数据可视化的工具包. Matplotlib的主要功能 Matplotlib是python中的一个包,主要用于绘制2D图形(当 ...
- Python的工具包[2] -> matplotlib图像绘制 -> matplotlib 库及使用总结
matplotlib图像绘制 / matplotlib image description 目录 关于matplotlib matplotlib库 补充内容 Figure和AxesSubplot的生 ...
- 【Windows编程】系列第五篇:GDI图形绘制
上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数 ...
- 13个JavaScript图表(JS图表)图形绘制插件【转】
现在网络上又有越来越多的免费的(JS 图表)JavaScript图表图形绘制插件.我之前给一家网站做过复杂的图形,我们用的是 highchart.在那段时间,没有很多可供选择的插件.但现在不同了,很容 ...
- 推荐12个最好的 JavaScript 图形绘制库
众多周知,图形和图表要比文本更具表现力和说服力.图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等.可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和 Web ...
- C#中的GDI+图形绘制方法
GDI+图形绘制方法 1.首先对于绘制图形,必须的先将命名空间导入:using System.Drawing.Drawing2D; 2.然后在一个事件中写入程序 首先先将Graphics这个对象实例化 ...
- cocos2d-x 图形绘制
转自:http://blog.csdn.net/zhy_cheng/article/details/8480048 图形绘制的话,在cocos2d-x自带的TestCpp里有,包括绘制点,直线,多边形 ...
- 图形绘制 Canvas Paint Path 详解
图形绘制简介 Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0.大部分2D使用的api都在android.grap ...
随机推荐
- IIS 站点部署多级域名
当站点的规模达到一定程度,往往会对业务进行拆分,部署到一台服务器的不同站点,,而一个域名(顶级域名)只能绑定一个站点(核心站点),这个时候就通过给顶级域名创建子域名的方式(理论上一个顶级域名可以绑定5 ...
- c++中堆、栈、自由存储区和常量存储区(转)
代码段 --text(code segment/text segment)text段在内存中被映射为只读,但.data和.bss是可写的.text段是程序代码段,在AT91库中是表示程序段的大小,它是 ...
- numpy基本使用2
#-*- coding:utf-8 -*- import numpy as np ''' numpy:底层由c语言实现,所以速度较快. ''' #1.numpy常用函数 l1=np.array([1, ...
- php -- 文件上传下载
----- 026-upload.php ----- <!DOCTYPE html> <html> <head> <meta http-equiv=" ...
- C#基础篇二变量与变量类型
说到数据类型,先把基本的数据类型拿出来 byte 0 到 255 无符号 8 位整数sbyte -128 到 127 有符号 8 位整数short -32,768 到 32,767 有符号 16 位整 ...
- 移动键盘 滚动input
window.addEventListener('resize', function () { if(document.activeElement.tagName === 'INPUT'){ docu ...
- Shell脚本 | 一键卸载安卓App
在平时工作的过程中,很多重复性内容可以通过运行脚本文件来代替.一次编写,就能带来很大的效率提升. 今天跟大家分享一个简单的 Shell 脚本,只有区区 20 行左右的代码. 因为有时候我们测试某个应用 ...
- redis源码学习-skiplist
1.初步认识跳跃表 图中所示,跳跃表与普通链表的区别在于,每一个节点可以有多个后置节点,图中是一个4层的跳跃表 第0层: head->3->6->7->9->12-> ...
- redis学习(一) redis的介绍与安装
redis简单介绍 redis全称remote-dictionary-server 直译为远程字典服务器, 是一个高性能的key-value存储系统,也被称为数据结构服务器,因为其所存储的数据值(va ...
- ASP.NET MVC 的常用的HTML辅助方法笔记
Html.BeginForm() 输出<form>标签Html.EndForm() 输出</form>标签Html.Label() 输出<label>标签Html. ...