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 ...
随机推荐
- 学习Ajax小结
Ajax 学习 1.ajax的概念 局部刷新技术,不是一门新技术,是多种技术的组合,是浏览器端技术 2.作用 可以实现 ...
- 使用gomod后,导入模块与编译要注意的事项
问题:在使用go mod后,执行编译会报错: Cannot load xxx: cannot find module providing package xxx 目录结构如下: J:. │ └─src ...
- Spring中声明式事务的注解@Transactional的参数的总结(REQUIRED和REQUIRES_NEW的与主方法的回滚问题)
一.事务的传播行为1.介绍 当事务方法被另一个事务方法调用时,必须指定事务应该如何传播.例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行.2.属性 事务的传播行为可以由传 ...
- scau 9502 ARDF一个变量的问题
哨兵变量flag不小心没 设置成0..所以一直WA 9502 ARDF 时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0 题型: 编程题 语言: G++;GCC Des ...
- Java基础笔试练习(六)
1.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数.类型或顺序各不相同,传回的值也可以不相同.这种面向对象程序的特性称为? A.隐藏 B.覆盖 C.重载 D.Java不支持此特性 ...
- Mybatis笔记4
mybatis中多对多的步骤 示例:用户和角色,一个用户可以有多个角色,一个角色可以赋予多个用户 步骤: 建立两张表:用户表,角色表,让用户表和角色表具有多对多的关系,需要使用中间表,中间表中包含两张 ...
- skywalking 比较有意思的地方
获取agent jar包路径的方法: findPath(); private static File findPath() throws AgentPackageNotFoundException { ...
- Java基础IO类之数据流
DataInputStream: 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本java数据类型.应用程序可以使用数据输出流 写入稍后由数据输入流读取的数据.DataInputStrea ...
- go开发 modules 的使用和代理
go开发 modules 的使用和代理 初学go语言,一堆 来自谷歌的包如 import ( "code.google.com/xxx" ) 不翻墙是很难下载下来的. 另外还有麻烦 ...
- CentOS 7忘记了root密码解决方案
1.启动系统,在选择进入系统的界面按“e”进入编辑页面 2.按向下键,找到以“Linux16”开头的行,在该行的最后面输入“init=/bin/sh” 3.按“ctrl+X”组合键进入单用户模式 4 ...