一、折线绘图

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模块的基本使用的更多相关文章

  1. Windows python 安装 nNumpy、Scipy、matplotlib模块

    折腾了 很久,总结一些. 首先如果python 是64位,安装32位的numpy ,Scipy,或者matplotlib 模块. 会出现很多问题. 比如当你 在python 导入 Numpy 时,导入 ...

  2. python_Opencv_使用Matplotlib模块

    使用Matplotlib模块 Matplotib 是python 的一个绘图库,里头有各种各样的绘图方法. 之后会陆续了解.先学习怎样用Matplotib 显示图像. 可以放大图像,保存图像. 安装M ...

  3. python 爬虫与数据可视化--matplotlib模块应用

    一.数据分析的目的(利用大数据量数据分析,帮助人们做出战略决策) 二.什么是matplotlib? matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB ...

  4. Matplotlib模块:绘图和可视化

    一.简单介绍Matplotlib 1.Matplotlib是一个强大的Python绘图和数据可视化的工具包 2.安装方法:pip install matplotlib 3.引用方法:import ma ...

  5. 为python安装matplotlib模块

    matplotlib是python中强大的画图模块. 首先确保已经安装python,然后用pip来安装matplotlib模块. 进入到cmd窗口下,执行python -m pip install - ...

  6. Python使用matplotlib模块绘制多条折线图、散点图

    用matplotlib模块 #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:折线图.散点图测试 ''' import rando ...

  7. windows_64下python下载安装Numpy、Scipy、matplotlib模块

    本文应用的python3.6.3及其对应的Numpy.Scipy.matplotlib计算模块的cp36版本,其中Numpy是需要MKL版本的Numpy,这是后续安装Scipy的需要(本机系统win7 ...

  8. windows下python安装Numpy、Scipy、matplotlib模块(转载)

    python下载链接     Numpy下载链接 python中Numpy包的安装及使用 Numpy包的安装 准备工作 Python安装 pip安装 将pip所在的文件夹添加到环境变量path路径中 ...

  9. python 1: 解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题

    问题: 我在ubuntu14.04下用python中的matplotlib模块内的pyplot输出图片不能显示中文,怎么解决呢? 解决: 1.指定默认编码为UTF-8: 在python代码开头加入如下 ...

  10. 11-2 numpy/pandas/matplotlib模块

    目录 numpy模块 一维数组 二维数组 列表list和numpy的区别 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的合并 通过函数方法创建多维数组 矩阵的运算 求最大值最小值 nump ...

随机推荐

  1. ROS初探--意义、基本模块

    顾虑就使我们都变成了懦夫,使得那果断的本色蒙上了一层思虑的惨白的容颜,本来可以做出伟大的事业,由于思虑就化为乌有了,丧失了行动的能力.-----哈姆雷特 ROS: Robot Operating Sy ...

  2. linux的fcntl函数

    fcntl可实现对指定文件描述符的各种操作,例如获取/设置 文件的是否可以被读写的状态,等其他状态. int fcntl (int __fd, int __cmd, ...);The remainin ...

  3. [SQL SERVER] - 还原数据库备份(SQL脚本),抛出 "System.OutOfMemoryException" 异常之解决

    背景 在 Microsoft SQL Server 2016 的查询窗体中,直接还原备份数据库的 SQL 脚本(99MB),抛出 Cannot execute script 异常: 原因 相关资料说: ...

  4. Python 发送微信小程序的模板消息

    在小程序的开发过程中,会存在模板消息的发送,具体文档见 这里,模板消息的发送是和语言无关的,这里将简要写一下怎么用 Python 给用户发送模板消息.     通过文档可以知道,发送的时候,需要使用小 ...

  5. Python06之分支和循环1(三目运算符)

    Python 为了使得程序更加简洁而新引入过来的一个三目操作符,顾名思义就是有三个参数. 格式: x if 条件表达式 else y 先判断条件表达式真假,真则取 x 的值,否则取 y 的值. 例如: ...

  6. 剑指offer31:整数中1出现的次数(从1到n整数中1出现的次数)

    1 题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙 ...

  7. jdk8新特性--函数式接口的使用

    函数式接口的概念: 函数式接口的格式: 示例: 函数式接口的使用: 简化lambda表达式:

  8. 滤波器算法(1)-卡尔曼滤波小车附带题目与MATLAB程序

    1 简介 由卡尔曼这个学者提出的最佳线性滤波器,单纯时域维度即可实现[无需进行频域变换] 2 思路 由上一时刻的最佳估计值XKE_P预测①当前时刻预测值Pxv 与 ②当前时刻的测量值Mxv 进行联立计 ...

  9. Extending WCF using IServiceBehavior, IOperationBehavior, and IParameterInspector

    [ServiceContract(Name = "PasswordGenerator")] public interface IPasswordGenerator { [Opera ...

  10. 使用 rm -rf 删除了工程目录,然后从 pycharm 中找了回来

    一次惊险的 rm -rf 操作,以后删东西真的要小心,慢点操作 前两天周 4 周 5,写了两天的 python 代码没有提交,昨天晚上删日志目录,先跨目录查看了下日志目录的列表情况:ll ~/logs ...