Matplotlib模块的基本使用
一、折线绘图
- import pandas as pd
- import matplotlib.pyplot as plt
- data = pd.read_csv("F:\\ml\\机器学习\\01\\1.csv")
- print(data)
- date values
- 0 2012/11/15 90
- 1 2013/4/5 34
- 2 2014/2/3 34
- 3 2015/8/9 35
- 4 2016/6/2 72
- 5 2016/7/9 62
- data['date'] = pd.to_datetime(data['date']) #将日期转化为以-的格式,方便阅读
- print(data)
- date values
- 0 2012-11-15 90
- 1 2013-04-05 34
- 2 2014-02-03 34
- 3 2015-08-09 35
- 4 2016-06-02 72
- 5 2016-07-09 62
- #以下将以图形式表现出来
- plt.figure()#以这个开始,创建figure的一个对象
- plt.plot(data['date'], data['values']) #plot()的里面的参数,第一个为横轴,第二个参数为纵轴画图
- plt.show() #显示图
- #但是上面的图中横坐标很不清楚,改变其显示方式,以及加上标题。
- plt.figure()#以这个开始,创建figure的一个对象
- plt.plot(data['date'], data['values']) #plot()的里面的参数,第一个为横轴,第二个参数为纵轴画图
- plt.xticks(rotation = 45) #将横坐标的斜向45°显示
- plt.xlabel('date') #给横轴一个标签
- plt.ylabel('values') #给纵轴一个标签
- plt.title('working-trend with years') #给整个图一个题目
- plt.show() #显示图
二、子图的操作
- import matplotlib.pyplot as plt
- fig = plt.figure() #以这个开始,创建figure的一个对象
- ax1 = fig.add_subplot(2, 2, 1) #建立子图,add_subplot中的参数2,2表示建立2*2的四个子图,最后一个参数1表示四个子图中的第一个。
- ax3 = fig.add_subplot(2, 2, 3) #最后一个参数3表示四个子图中的第三个
- ax4 = fig.add_subplot(2, 2, 4) #最后一个参数4表示四个子图中的第四个
- plt.show()
- import numpy as np
- import matplotlib.pyplot as plt
- fig = plt.figure(figsize = (3, 3)) #figsize指定大小,第一个参数表示长度,第二个参数表示宽度
- ax1 = fig.add_subplot(2, 2, 1)
- ax4 = fig.add_subplot(2, 2, 4)
- ax1.plot(np.arange(10), np.arange(10)) #画出子图ax1所需要的图
- ax4.plot(np.random.random(10), np.arange(10)) #画出子图ax4所需要的图
- plt.show()
- #如果我想要在一个图上画几条线呢
- x = np.linspace(-1, 1, 10) #使用np.linspace定义x:范围是(-1,1);个数是10. 仿真一维数据组(x ,y)表示曲线1.
- y1 = 2*x
- y2 = x**2
- plt.figure(figsize = (4, 3)) #figsize指定大小,第一个参数表示长度,第二个参数表示宽度
- plt.plot(x, y1, color = 'red', linewidth = 1.0, linestyle = '--', label="y1") #其中label是标注,但想要标注后在图中显示,用legend的表示
- plt.plot(x, y2, color = 'blue', linewidth = 1.0, linestyle = '-', label = 'y2')
- plt.xlabel('x')
- plt.ylabel('y')
- plt.legend(loc = 'best') #best表示最好的显示方式,还有其他指定的方式
- plt.show()
其中’loc’参数有多种,’best’表示自动分配最佳位置,其余的如下:
'best' : 0,
'upper right' : 1,
'upper left' : 2,
'lower left' : 3,
'lower right' : 4,
'right' : 5,
'center left' : 6,
'center right' : 7,
'lower center' : 8,
'upper center' : 9,
'center' : 10,
三、条形图与散点图
- #条形图的绘制
- import matplotlib.pyplot as plt
- import numpy as np
- n = 12
- X = np.arange(n)
- Y1 = (1-X/float(n))*np.random.uniform(0.5, 1.0, n) #Y是相应的均匀分布的随机数据
- Y2 = (1-X/float(n)*np.random.uniform(0.5, 1.0, n))
- plt.figure(figsize = (8, 6))
- plt.bar(X, +Y1, facecolor = '#9999ff', edgecolor = 'white') #facecolor表示主体颜色,具体的其他颜色表示可以百度,edgecolor表示边框颜色
- plt.bar(X, -Y2, facecolor = '#ff9999', edgecolor = 'white')
- plt.xlim(-0.5, n)
- plt.ylim(-1.25, 1.25)
- plt.xticks(())
- plt.yticks(())
- #在条形图上标注值
- for x, y in zip(X, Y1): #zip的意思就是可以将每个数值分别赋值
- plt.text(x+0.1, y+0.05, '%.2f' % y, ha = 'center', va = 'bottom') #x+0.4向右偏移0.4, y+0.05向上偏0.05, '%.2f' % y的意思是y保留两位小数。
- for x, y in zip(X, Y2):
- plt.text(x+0.1, -y-0.05, '%.2f' % y, ha = 'center', va = 'top') #ha = 'center'的意思是横向居中对齐,va = 'top'的意思是纵向顶部对齐
- plt.show()
- #散点图的绘制
- import matplotlib.pyplot as plt
- import numpy as np
- n = 1024
- #生成1024个呈标准正态分布的二维数据组 (平均数是0,方差为1) 作为一个数据集
- X = np.random.normal(0 , 1, n) #每个点的x值
- Y = np.random.normal(0, 1, n) #每个点的y值
- T = np.arctan2(Y, X) #这个是颜色的显示值
- plt.scatter(X, Y, s = 100, c = T, alpha = 0.5) #s表示size, c表示color, alpha表示透明度
- plt.xlim(-1.5, 1.5) #x轴的限制
- plt.ylim(-1.5, 1.5) #y轴的限制
- plt.xticks(()) #消除x轴的标注
- plt.yticks(()) #消除y轴的标注
- plt.show()
四、柱形图
- #柱形图
- import matplotlib.pyplot as plt
- import numpy as np
- import pandas as pd
- norm_reviews = pd.read_csv("F:\\ml\\机器学习\\01\\2.csv")
- fig, ax = plt.subplots()
- ax.hist(norm_reviews['Fandango_Ratingvalue'], bins = 20) #bins进行均匀的分布,默认是10
- plt.show()
- import matplotlib.pyplot as plt
- import numpy as np
- import pandas as pd
- norm_reviews = pd.read_csv("F:\\ml\\机器学习\\01\\2.csv")
- fig, ax = plt.subplots()
- ax.hist(norm_reviews['Fandango_Ratingvalue'], range = (4, 5), bins = 20) #只显示4-5区间,总的还是20条,只是在4-5之间是8条
- plt.show()
Matplotlib模块的基本使用的更多相关文章
- Windows python 安装 nNumpy、Scipy、matplotlib模块
折腾了 很久,总结一些. 首先如果python 是64位,安装32位的numpy ,Scipy,或者matplotlib 模块. 会出现很多问题. 比如当你 在python 导入 Numpy 时,导入 ...
- python_Opencv_使用Matplotlib模块
使用Matplotlib模块 Matplotib 是python 的一个绘图库,里头有各种各样的绘图方法. 之后会陆续了解.先学习怎样用Matplotib 显示图像. 可以放大图像,保存图像. 安装M ...
- python 爬虫与数据可视化--matplotlib模块应用
一.数据分析的目的(利用大数据量数据分析,帮助人们做出战略决策) 二.什么是matplotlib? matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB ...
- Matplotlib模块:绘图和可视化
一.简单介绍Matplotlib 1.Matplotlib是一个强大的Python绘图和数据可视化的工具包 2.安装方法:pip install matplotlib 3.引用方法:import ma ...
- 为python安装matplotlib模块
matplotlib是python中强大的画图模块. 首先确保已经安装python,然后用pip来安装matplotlib模块. 进入到cmd窗口下,执行python -m pip install - ...
- Python使用matplotlib模块绘制多条折线图、散点图
用matplotlib模块 #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:折线图.散点图测试 ''' import rando ...
- windows_64下python下载安装Numpy、Scipy、matplotlib模块
本文应用的python3.6.3及其对应的Numpy.Scipy.matplotlib计算模块的cp36版本,其中Numpy是需要MKL版本的Numpy,这是后续安装Scipy的需要(本机系统win7 ...
- windows下python安装Numpy、Scipy、matplotlib模块(转载)
python下载链接 Numpy下载链接 python中Numpy包的安装及使用 Numpy包的安装 准备工作 Python安装 pip安装 将pip所在的文件夹添加到环境变量path路径中 ...
- python 1: 解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题
问题: 我在ubuntu14.04下用python中的matplotlib模块内的pyplot输出图片不能显示中文,怎么解决呢? 解决: 1.指定默认编码为UTF-8: 在python代码开头加入如下 ...
- 11-2 numpy/pandas/matplotlib模块
目录 numpy模块 一维数组 二维数组 列表list和numpy的区别 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的合并 通过函数方法创建多维数组 矩阵的运算 求最大值最小值 nump ...
随机推荐
- 在 FR 网络配置 OSPF
一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1.掌握配置帧中继的基本方法. 2.掌握在路由器中模拟帧中继交换机的方法. 3.掌握 NBMA 网络中 OSPF ...
- centos7修改yum源为阿里镜像
参考博客: https://blog.csdn.net/kxwinxp/article/details/78578492 https://blog.csdn.net/inslow/article/de ...
- [转帖]时间序列数据库 (TSDB)
时间序列数据库 (TSDB) https://www.jianshu.com/p/31afb8492eff 0.3392019.01.28 10:51:33字数 5598阅读 4030 背景 2017 ...
- How to change default root@ email address linux / postfix / centos?
Change root@hostname to different email address By default, any email sent by system is sent to root ...
- Elasticsearch配置安装
跨域 elasticsearch-head连接es时会提示连接失败,有可能就是没有开启跨域 http.cors.enabled 是否支持跨域,默认为false http.cors.allow-ori ...
- Keras中图像维度介绍
报错问题: ValueError: Negative dimension size caused by subtracting 5 from 1 for 'conv2d_1/convolution' ...
- Python05之常用操作符
主要有三类:算数运算符,比较运算符,逻辑运算符 一.算数运算符: 加(+)减(-)乘(*)除(/)幂运算(**)地板除(//)取余数(%) 注:/和//的区别: 数据1 / 数据2 = 数据3 ( ...
- ORAchk - 数据库配置检查工具
1.概要2.下载和安装3.如何执行4.执行过程5.报告6.参考 1.概要 ORAchk之前被称为RACcheck,后来它的检查范围进行了扩展,改名为了ORAchk,它是在数据库系统进行健康检查的一个专 ...
- 面试题之web访问突然延迟问题
前言 面试官经常会问平时访问正常的网页突然变慢是什么原因引起的,说明下你排查的思路:我认为这种问题很能考察一个人的综合知识面,既能融通的贯彻知识点,也能展看对每个知识点进行详细的考问. 下面我按我自己 ...
- 十九、eMMC驱动框架分析
一.MMC简介 eMMC在封装中集成了一个控制器,提供标准接口并管理Nand Flash,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间. 对于我们来说,eMMC就是在Nand ...