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 ...
随机推荐
- Djang简单使用
用户访问内容 用户能够访问的所有的资源,都是程序猿提前暴露的,如果没有暴露,用户是不能进行访问的. diango重启的问题 当我们更改django中的代码的时候,django内部会检测到我们更 ...
- models模型层
ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装 MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需 ...
- javascript常用小案例
常用javascript小案例 样式调节 //注: 这个可以控制td中的字段成行显示 #modelInfos td,th { white-space: nowrap; } //文本输入框随着内容尺寸往 ...
- 在CentOS7上安装OpenJDK1.8 & OracleJDK1.8
安装OpenJDK1.8 : 1.检查当前机器是否有自带的JDK rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 2.如果没有 则跳至安装 ...
- vim 常用命令总结(排版精良,内容优质)
1. 格式说明 <xxx>:尖括号的含义表示这是一个占位参数,也就是必须有的参数,实际输入的内容是 xxx [xxx]:方括号的含义表示这是一个可选参数,也就是可有可无,实际输入的内容是 ...
- sublime自动格式化方法
Sublime 工具自带代码格式化的功能,但在某些场景下格式化代码后并不是我们想要的代码格式,且是点击保存ctrl+s才触发的格式代码事件,so,为关闭点击ctrl+s格式代码,我们需要改命令 sav ...
- C++打印乘法表
#include <iostream> #include <Windows.h> #include <iomanip> using namespace std; i ...
- redis有序集合数据类型---sortedset
一.概述 redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数. redis正式通过分数来为集合中的重圆进行从小到大的 ...
- 关于Windows下的访问控制模型
在探索Windows操作系统的过程中,发现很多有意思 的东西. Windows下的访问控制模型也是我在Github上浏览代码时,无意中发现的. 项目地址 https://github.com/Krut ...
- 【已解决】老型号电脑需要按F1键才能进入系统
[已解决]老型号电脑需要按F1键才能进入系统 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Tue, 16 Jul 2019 20:49:00 +0800 问题描述:电脑因 ...