python实战学习之matplotlib绘图
matplotlib 是最流行的Python底层绘图库,主要做数据可视化图表 可以将数据可视化,能够更直观的呈现数据
matplotlib绘图基本要点
首先实现一个简单的绘图
# 导入pyplot
from matplotlib import pyplot as plt
x = range(1,13)
y = [15,13,14.5,17,20,25,26,26,27,22,18,15]
# 传入x和y,通过plot绘制折现
plt.plot(x,y)
# 展示绘图
plt.show()

更多属性设置
- 设置图片大小
fig = plt.figure(figsize=(20,8),dpi=80)
通过实例化一个figure并且传递参数,能够在后台自动使用该figure
在图像模糊的时候可以传入dpi参数,让图片更加清晰
- 保存到本地
plt.savefig(path) #path 图片的保存路径
- 中文设置
my_font = font_manager.FontProperties(fname=r"c:\windows\fonts\simsun.ttc")
matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字
设置中文字体(指定具体的字体文件路径,然后再需要显示中文的地方添加fontproperties参数)
- x轴,y轴,图表的描述信息
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度",fontproperties=my_font)
plt.title("一天的温度的变化",fontproperties=my_font)
- 调整x或者y的刻度的间距
plt.xticks(x) #刻度设置 传入的是列表x的数据
plt.xticks(x[::2]) #调整刻度 每间隔两个输出一个
x_ticks = ["第{}个".format(i) for i in x]
让列表X中的数据和x_ticks上的数据都传入,最终会在x轴上一一对应显示出来 两组数据的长度必须一样
plt.xticks(x[::5],x_ticks[::5],rotation=45,fontproperties=my_font)
为了不让字符串重叠覆盖,使用rotation进行旋转rotation=45
- 线条的样式(比如颜色,透明度等)
plt.plot(x,label = "数据",linestyle="-",color="red",alpha=0.5)
linestyle 设置线条的样式
linewidth 设置线条的粗细
color设置线条的颜色
alpha = 0.5 设置线条的透明度
plt.legend(prop=my_font,loc="best")#通过plot函数的label设置图例
prop 设置图例的字体
loc 设置图例的位置 默认为右上角
- 添加网格
plt.grid()
- 标记出特殊的点(比如最高点和最低点)
获取最大值最小值的索引
max_indx=y.index(max(y))
设置最大值
plt.plot(x[max_indx],y[max_indx],'ks')
显示最大值
show_max='['+str(x[max_indx])+','+str(y[max_indx])+']'
plt.annotate(show_max,xytext=(x[max_indx],y[max_indx]),xy=(x[max_indx],y[max_indx]))
- 给图片添加一个水印(防伪,防止盗用)
添加水印
fig.text(0.75, 0.45, 'hello world',
fontsize=40, color='gray',
ha='right', va='bottom', alpha=0.4)
折线图实例
from matplotlib import pyplot as plt
# import random
from matplotlib import font_manager
#matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字
#设置中文字体(指定具体的字体文件路径,然后再需要显示中文的地方添加fontproperties参数)
my_font = font_manager.FontProperties(fname=r"c:\\windows\\fonts\\simsun.ttc")
#figure图形图标的意思在这里指的就是我们画的图
#通过实例化一个figure并且传递参数,能够在后台自动使用该figure实例
#在图像模糊的时候可以传入dpi参数,让图片更加清晰
fig = plt.figure(figsize=(15,6),dpi=80)
#数据在x轴的一个位置,是一个可迭代对象
x = range(2,26,2)
#数据在y轴的一个位置
y = [15,13,14.5,17,20,25,26,26,27,22,18,15]
# 获取最大值最小值的索引
max_indx=y.index(max(y))
min_indx=y.index(min(y))
#传入x和y,通过plot绘制折线图
#设置线条样式,颜色,透明度
plt.plot(x,y,label = "温度",linestyle="-.",color="red",alpha=0.5)
#通过plot函数的label设置图例
plt.legend(prop=my_font,loc="best")
# 设置最大值
plt.plot(x[max_indx],y[max_indx],'ks')
# 显示最大值
show_max='['+str(x[max_indx])+','+str(y[max_indx])+']'
plt.annotate(show_max,xytext=(x[max_indx],y[max_indx]),xy=(x[max_indx],y[max_indx]))
# 设置最小值
plt.plot(x[min_indx],y[min_indx],'gs')
# 显示最小值
show_min='['+str(x[min_indx])+','+str(y[min_indx])+']'
plt.annotate(show_min,xytext=(x[min_indx],y[min_indx]),xy=(x[min_indx],y[min_indx]))
# 设置水印
fig.text(0.75, 0.45, 'hello world',
fontsize=40, color='gray',
ha='right', va='bottom', alpha=0.4)
# 设置x轴的刻度
x_ticks = ["X日{}点".format(i) for i in x]
plt.xticks(x,x_ticks,rotation=45,fontproperties=my_font)
# 设置x轴,y轴的标注,标题
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度",fontproperties=my_font)
plt.title("一天的温度的变化",fontproperties=my_font)
# 设置网格
plt.grid()
plt.show()
如下图所示

python实战学习之matplotlib绘图的更多相关文章
- python实战学习之matplotlib绘图续
学习完matplotlib绘图可以设置的属性,还需要学习一下除了折线图以外其他类型的图如直方图,条形图,散点图等,matplotlib还支持更多的图,具体细节可以参考官方文档:https://matp ...
- [置顶] 如何在Windows 7 64位安装Python,并使用Matplotlib绘图
1. 安装Python 我使用的是Windows 7 64 bit,所以我从Python官网下载python-2.7.5.amd64.msi,安装步骤如下: 1) 安装windo ...
- 利用python深度学习算法来绘图
可以画画啊!可以画画啊!可以画画啊! 对,有趣的事情需要讲三遍. 事情是这样的,通过python的深度学习算法包去训练计算机模仿世界名画的风格,然后应用到另一幅画中,不多说直接上图! 这个是世界名画& ...
- python数据分析三剑客之: matplotlib绘图模块
matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 - x轴和y轴 axis 水平和垂直的轴线 - x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括 ...
- python实战学习之numpy学习
numpy基础要点 1.生成数组 np.array([]) 2.变量的类型 numpy.ndarray 3.数据的类型 int8,float64,float32,bool等 4.数据的类型转换 x.a ...
- 【python笔记】使用matplotlib,pylab进行python绘图
一提到python绘图,matplotlib是不得不提的python最著名的绘图库,它里面包含了类似matlab的一整套绘图的API.因此,作为想要学习python绘图的童鞋们就得在自己的python ...
- python数据分析使用matplotlib绘图
matplotlib绘图 关注公众号"轻松学编程"了解更多. Series和DataFrame都有一个用于生成各类图表的plot方法.默认情况下,它们所生成的是线形图 %matpl ...
- python 中matplotlib 绘图
python 中matplotlib 绘图 数学建模需要,对于绘图进行简单学习 matpoltlib之类的包安装建议之间用anaconda 绘制一条y=x^2的曲线 #比如我们要绘制一条y=x^2的曲 ...
- Python实战:Python爬虫学习教程,获取电影排行榜
Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习 ...
随机推荐
- Java Web程序开发链接MySQL数据库
显示错误:Access denied for user ''@'localhost' (using password: YES) 保证URL中没有空格 尝试用MySQL本地命令行登陆 显示错误:The ...
- OC基础成员变量、属性变量、实例方法与类方法
首先,为什么我们要定义一个新类呢?按照我的理解,就是为了抽象出来一个新的东西(也就是类),用来存储更多的数据变量和方法,一切类都直接或间接继承与NSObject. 在类的头文件里我们可以定义成员变量. ...
- VS2017 处理 Rdlc , microsoft report viewer 轻量级报表处理(WPF CS客户端版本)
VS 2017没有安装处理Rdlc的包,需要手动安装: 点击主菜单中Tools 下拉菜单中 扩展和升级: 点选左侧Online ,然后在右侧输入rdlc进行查询,然后 Download 下载安装 M ...
- Shell文件权限-1
- html5 css选择器。 井号,句号的区别
.理解CSS的样式组成CSS里的样式表是有规则组成的,每条规则有三个部分组成:1.选择器(如下面例子中的:“body”),告诉浏览器文档的哪个部分受规则影响:2.属性(如实例中的font-family ...
- 使用MXNet的NDArray来处理数据
NDArray.ipynb NDArray介绍 机器学习处理的对象是数据,数据一般是由外部传感器(sensors)采集,经过数字化后存储在计算机中,可能是文本.声音,图片.视频等不同形式. 这些数字化 ...
- MapReduce多种join实现实例分析(一)
一.概述 对于RDBMS中的join操作大伙一定非常熟悉,写sql的时候要十分注意细节,稍有差池就会耗时巨久造成很大的性能瓶颈,而在Hadoop中使用MapReduce框架进行join的操作时同 ...
- Docker学习笔记-Redis 安装
拉取官方的镜像 docker pull redis:3.2 查看 docker images redis 运行容器 docker run -p 6379:6379 -v $PWD/data:/data ...
- 《http权威指南》读书笔记7
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- Kali学习笔记7:三层发现
三层发现:发送ICMP/IP数据包探测 第一种方式: 就是很简单的Ping命令: 不过linux的ping命令和windows的ping命令不一样,它会默认不停止地发数据包 我们可以通过-c参数来设置 ...