Matplotlib 绘图 用法
Matplotlib基础知识
一、Matplotlib基础知识
- Matplotlib中的基本图表包括的元素
- x轴和y轴 axis
水平和垂直的轴线 - x轴和y轴刻度 tick
刻度标示坐标轴的分隔,包括最小刻度和最大刻度 - x轴和y轴刻度标签 tick label
表示特定坐标轴的值 - 绘图区域(坐标系) axes
实际绘图的区域 - 坐标系标题 title
实际绘图的区域 - 轴标签 xlabel ylabel
实际绘图的区域
- x轴和y轴 axis
# 使用包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series,DataFrame
# matplotlib 中 使用中文
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
包含单条曲线的图
- 注意:y,x轴的值必须为数字
x=[1,2,3,4,5]
y=[2,4,6,8,10]
# 显示 图片
plt.plot(x,y)
# 绘制抛物线
x = np.linspace(-np.pi,np.pi,num=10)
y = x**2
plt.plot(x,y)
# 绘制正弦曲线图
x = x
# 正弦
y = np.sin(x)
plt.plot(x,y)
包含多个曲线的图
- 连续调用多次plot函数
plt.plot(x,y)
plt.plot(x-2,y-2)
plt.plot(x,y,x+2,y+3)
多个曲线图绘制在一个table区域中:对象形式创建表图
- a=plt.subplot(row,col,loc) 创建曲线图
- a.plot(x,y) 绘制曲线图
ax1 = plt.subplot(2,2,1)
ax1.plot(x,y)
ax2 = plt.subplot(2,2,2)
ax2.plot(x,y)
ax3 = plt.subplot(2,2,3)
ax3.plot(x,y)
ax4 = plt.subplot(2,2,4)
ax4.plot(x,y)
设置画布比例:plt.figure(figsize=(a,b)) a:x刻度比例 b:y刻度比例 (2:1)表示x刻度显示为y刻度显示的2倍
plt.figure(figsize=(8,8))
plt.plot(x,y)
坐标轴标签
s 标签内容
color 标签颜色
fontsize 字体大小
rotation 旋转角度
plt的xlabel方法和ylabel方法 title方法
plt.plot(x,y)
# x 轴
plt.xlabel('xxx')
# y 轴
plt.ylabel('yyy')
# 图片标题
plt.title('ttt')
图例
legend方法
两种传参方法:
- 分别在plot函数中增加label参数,再调用plt.legend()方法显示
- 直接在legend方法中传入字符串列表!
plt.plot(x,y,label='temp')
plt.plot(x+4,y-3,label='dist')
plt.legend()
legend的参数
- loc参数
- loc参数用于设置图例标签的位置,一般在legend函数内
- matplotlib已经预定义好几种数字表示的位置
plt.plot(x,y,label='temp')
plt.plot(x+4,y-3,label='dist')
plt.legend(loc=0,ncol=2)
- ncol参数
- ncol控制图例中有几列,在legend中设置ncol
二. 保存图片
使用figure对象的savefig函数来保存图片
fig = plt.figure()---必须放置在绘图操作之前
figure.savefig的参数选项
- filename
含有文件路径的字符串或Python的文件型对象。图像格式由文件扩展名推断得出,例如,.pdf推断出PDF,.png推断出PNG (“png”、“pdf”、“svg”、“ps”、“eps”……) - dpi
图像分辨率(每英寸点数),默认为100 - facecolor ,打开保存图片查看 图像的背景色,默认为“w”(白色)
fig = plt.figure() plt.plot(x,y,label='temp')
plt.plot(x+4,y-3,label='dist')
plt.legend(loc=0,ncol=2)
# dpi 像素
fig.savefig('./fig.jpg',dpi=200)
设置plot的风格和样式
plot语句中支持除X,Y以外的参数,以字符串形式存在,来控制颜色、线型、点型等要素,语法形式为:
plt.plot(X, Y, 'format', ...)- filename
颜色
参数color或c
plt.plot(x,y,c='yellow',alpha=0.5)
颜色值的方式
别名
- color='r'
合法的HTML颜色名
- color = 'red'
| 颜色 | 别名 | HTML颜色名 | 颜色 | 别名 | HTML颜色名 |
|---|---|---|---|---|---|
| 蓝色 | b | blue | 绿色 | g | green |
| 红色 | r | red | 黄色 | y | yellow |
| 青色 | c | cyan | 黑色 | k | black |
| 洋红色 | m | magenta | 白色 | w | white |
HTML十六进制字符串
- color = '#eeefff'
归一化到[0, 1]的RGB元组
- color = (0.3, 0.3, 0.4)
透明度
alpha参数
线型
参数linestyle或ls
| 线条风格 | 描述 | 线条风格 | 描述 |
|---|---|---|---|
| '-' | 实线 | ':' | 虚线 |
| '--' | 破折线 | 'steps' | 阶梯线 |
| '-.' | 点划线 | 'None' / ',' | 什么都不画 |
plt.plot(x,y,ls='steps',lw=3)
[<matplotlib.lines.Line2D at 0x15ddae8ea90>]
线宽
linewidth或lw参数
点型
- marker 设置点形
- markersize 设置点形大小
| 标记 | 描述 | 标记 | 描述 |
|---|---|---|---|
| 's' | 正方形 | 'p' | 五边形 |
| 'h' | 六边形1 | 'H' | 六边形2 |
| '8' | 八边形 |
| 标记 | 描述 | 标记 | 描述 |
|---|---|---|---|
| '.' | 点 | 'x' | X |
| '*' | 星号 | '+' | 加号 |
| ',' | 像素 |
| 标记 | 描述 | 标记 | 描述 |
|---|---|---|---|
| 'o' | 圆圈 | 'D' | 菱形 |
| 'd' | 小菱形 | '','None',' ',None | 无 |
| 标记 | 描述 | 标记 | 描述 |
|---|---|---|---|
| '1' | 一角朝下的三脚架 | '3' | 一角朝左的三脚架 |
| '2' | 一角朝上的三脚架 | '4' | 一角朝右的三脚架 |
plt.plot(x,y,marker='d')
# 绘制线 plt.plot(x1,y1,x2,y2)
# 网格线 plt.grid(True) axes.grid(color,ls,lw,alpha)
# 获取坐标系 plt.subplot(n1,n2,n3)
# 坐标轴标签 plt.xlabel() plt.ylabel()
# 坐标系标题 plt.title()
# 图例 plt.legend([names],ncol=2,loc=1) plt.plot(label='name')
# 线风格 -- -. : None step
# 图片保存 figure.savefig()
# 点的设置 marker markersize markerfacecolor markeredgecolor\width
# 坐标轴刻度 plt.xticks(刻度列表,刻度标签列表) plt.yticks()
# axes.set_xticks(刻度列表) axes.set_xticklabels(刻度标签列表)
三. 2D图形
直方图
- 是一个特殊的柱状图,又叫做密度图。
【直方图的参数只有一个x!!!不像条形图需要传入x,y】
plt.hist()的参数
- bins
直方图的柱数,可选项,默认为10 - color
指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,例如DataFrame对象,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色 - orientation
通过设置orientation为horizontal创建水平直方图。默认值为vertical
data = [1,2,3,3,4,2,5]
plt.hist(data)
返回值 :
1: 直方图向量,是否归一化由参数normed设定
2: 返回各个bin的区间范围
3: 返回每个bin里面包含的数据,是一个list
条形图:plt.bar()
参数:第一个参数是索引。第二个参数是数据值。第三个参数是条形的宽度
-【条形图有两个参数x,y】
- width 纵向设置条形宽度
- height 横向设置条形高度
bar()、barh()
x = [1,2,3]
y = [2,3,4]
plt.barh(x,y)
饼图
【饼图也只有一个参数x】
pie()
饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小
饼图阴影、分裂等属性设置
#labels参数设置每一块的标签;
#labeldistance参数设置标签距离圆心的距离(比例值)
#autopct参数设置比例值小数保留位(%.3f%%);
#pctdistance参数设置比例值文字距离圆心的距离
#explode参数设置每一块顶点距圆心的长度(比例值,列表);
#colors参数设置每一块的颜色(列表);
#shadow参数为布尔值,设置是否绘制阴影
#startangle参数设置饼图起始角度
a = [0.3,0.2]
plt.pie(a) arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d']) #labeldistance参数设置标签距离圆心的距离(比例值)
arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3) #autopct参数设置比例值小数保留位(%.3f%%);
arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,autopct='%.6f%%') ##explode参数设置每一块顶点距圆心的长度(比例值,列表);
arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,shadow=True,explode=[0.2,0.3,0.2,0.4])
散点图:因变量随自变量而变化的大致趋势
【散点图需要两个参数x,y,但此时x不是表示x轴的刻度,而是每个点的横坐标!】
scatter()
x = [1,2,3,4,5]
y = [2,4,6,8,10]
plt.scatter(x,y)
# plt.scatter(x,y,marker='d',c="rbgy") 设置不同的散点颜色
temp = np.random.randint(10,40,size=(30,))
dist = np.random.randint(70,100,size=(30,))
# 显示颜色 rbyg = red, blue yellow green 随机
plt.scatter(temp,dist,c='rbyg')
Matplotlib 绘图 用法的更多相关文章
- matplotlib绘图基本用法-转自(http://blog.csdn.net/mao19931004/article/details/51915016)
本文转载自http://blog.csdn.net/mao19931004/article/details/51915016 <!DOCTYPE html PUBLIC "-//W3C ...
- matplotlib 绘图
http://blog.csdn.net/jkhere/article/details/9324823 都打一遍 5 matplotlib-绘制精美的图表 matplotlib 是python最著名的 ...
- python 中matplotlib 绘图
python 中matplotlib 绘图 数学建模需要,对于绘图进行简单学习 matpoltlib之类的包安装建议之间用anaconda 绘制一条y=x^2的曲线 #比如我们要绘制一条y=x^2的曲 ...
- python实战学习之matplotlib绘图续
学习完matplotlib绘图可以设置的属性,还需要学习一下除了折线图以外其他类型的图如直方图,条形图,散点图等,matplotlib还支持更多的图,具体细节可以参考官方文档:https://matp ...
- matplotlib绘图的基本操作
转自:Laumians博客园 更简明易懂看Matplotlib Python 画图教程 (莫烦Python)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili. ...
- python中利用matplotlib绘图可视化知识归纳
python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...
- python实战学习之matplotlib绘图
matplotlib 是最流行的Python底层绘图库,主要做数据可视化图表 可以将数据可视化,能够更直观的呈现数据 matplotlib绘图基本要点 首先实现一个简单的绘图 # 导入pyplot f ...
- 【原】在Matplotlib绘图中添加Latex风格公式
Matplotlib绘图的过程中,可以为各个轴的Label,图像的Title.Legend等元素添加Latex风格的公式. 只需要在Latex公式的文本前后各增加一个$符号,Matplotlib就可以 ...
- Matplotlib绘图双纵坐标轴设置及控制设置时间格式
双y轴坐标轴图 今天利用matplotlib绘图,想要完成一个双坐标格式的图. fig=plt.figure(figsize=(20,15)) ax1=fig.add_subplot(111) ax1 ...
随机推荐
- JQuery官方学习资料(译):选择元素
选择元素 JQuery最基本的概念是“选择一些元素并让它们做些什么”.JQuery支持大部分的CSS3的选择器,以及一些非标准的选择器. 通过ID选择元素 $( "#myId&quo ...
- DirBuste 使用
https://sourceforge.net/projects/dirbuster/ 官网下载 记得安装java 运行环境 这是扫描 443 端口的数据 也可以自己写字典规则 在选择模糊查询时 下面 ...
- CSharp工程中的几个文件
以下基于.NET Framework4.6及.NET Core2.0 .csproj 用于配置项目信息,如: 程序集名称.类型 Framework版本 项目所包含的文件信息,如:cs.html.js. ...
- 【转】Mybatis源码解读-设计模式总结
原文:http://www.crazyant.net/2022.html?jqbmtw=b90da1&gsjulo=kpzaa1 虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开 ...
- 如何给localStorage设置一个过期时间?
原文:如何给localStorage设置一个过期时间? 作者:苏南 - 首席填坑官 公众号:IT平头哥联盟 Fundebug经授权转载,版权归原作者所有. 引言 这个话题其实在上次分享已经讲过(大佬可 ...
- 前端入门9-JavaScript语法之运算符
声明 本系列文章内容全部梳理自以下几个来源: <JavaScript权威指南> MDN web docs Github:smyhvae/web Github:goddyZhao/Trans ...
- 使用混淆ProGuard压缩代码和资源/减少方法数量
ProGuard介绍 ProGuard是一个Java类文件压缩器,优化器,混淆器和预先文件验证器. 压缩步骤检测和删除未使用的类,字段,方法和属性. 优化步骤分析和优化方法的字节码. 混淆步骤使用短无 ...
- g4e基础篇#4 了解Git存储库(Repo)
章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git 分布式版本控制系统的优势 Git 安装和设置 了解Git存储库(Repo) 起步 1 – 创建分支和保存代码 起步 2 – 了解Git ...
- linux tmp清理这些事
tmp目录 首先看下FHS的定义. FHS(Filessystem Hierarchy Standard) 的重点在于规范每个特定的目录下应该要放置什么样子的数据. tmp约定的存放内容 /tmp 这 ...
- 使用Visual Studio Team Services持续集成(二)——为构建定义属性
使用Visual Studio Team Services持续集成(二)--为构建定义属性 1.从VSTS帐户进入到Build 2.编辑构建定义并单击Options Description:如果这里明 ...