matplotlib

1、安装matplotlib

① linux系统安装

# 安装matplotlib模块

$ sudo apt-get install python3-matplotlib
# 如果是python2.7 执行如下命令
$ sudo apt-get install python-matplotlib
# 如果你安装较新的Python,安装模块一乐的一些库
$ sudo apt-get install python3.5-dev python3.5-tk tk-dev
$ sudo apt-get install libfreetype6-dev g++
# 再使用pip来安装模块
$ pip install --user matplotlib

② OS系统中安装 

# 安装matplotlib模块

$ pip install --user matplotlib

③ windows系统中安装

# 安装matplotlib模块

$pip3 install matplotlib

进入终端执行import matplotlib 不报错表示执行成功

2、绘制简单的折线图

① 创建mpl_squares.py文件:

import matplotlib.pyplot as plt     # 导入模块

squares = [1,4,9,16,25]         # 指定列表Y坐标为列表中的值,X坐标为列表下标
plt.plot(squares) # 传入列表
plt.show() # 输出图像

绘图:

② 修改标签文字和线条粗细:

import matplotlib.pyplot as plt     # 导入模块

squares = [1,4,9,16,25]         # 指定列表Y坐标为列表中的值,X坐标为列表下标
plt.plot(squares,linewidth=5) # linewidth决定绘制线条的粗细 plt.title('Square Numbers',fontsize=24) # 标题
plt.xlabel('Vaule',fontsize=14)
plt.ylabel('Square of Vaule',fontsize=14) plt.tick_params(axis='both',labelsize=14) # 刻度加粗
plt.show() # 输出图像

绘图:

③ 校正图形(设定X坐标):

import matplotlib.pyplot as plt     # 导入模块

squares = [1,4,9,16,25]         # 指定列表Y坐标为列表中的值
input_values = [1,2,3,4,5]
plt.plot(input_values,squares,linewidth=5) # linewidth决定绘制线条的粗细 plt.title('Square Numbers',fontsize=24) # 标题
plt.xlabel('Vaule',fontsize=14)
plt.ylabel('Square of Vaule',fontsize=14) plt.tick_params(axis='both',labelsize=14) # 刻度加粗
plt.show() # 输出图像

绘图:

3、绘制散点图

① 创建scatter_sqares.py:

import matplotlib.pyplot as plt

plt.scatter(2,4,s=200)      #X坐标2,Y坐标4 S=200 点大小

plt.title('Square Numbers',fontsize=24)     # 标题
plt.xlabel('Vaule',fontsize=14)
plt.ylabel('Square of Vaule',fontsize=14) plt.tick_params(axis='both',labelsize=14) # 刻度加粗
plt.show() # 输出图像

绘图:

② 绘制一系列点:

import matplotlib.pyplot as plt

x_values = [1,2,3,4,5]      # 指定X轴
y_values = [1,4,9,16,25] # 指定Y轴 plt.scatter(x_values,y_values,s=100) --snip--- plt.show() # 输出图像

绘图

③ 自动计算数据:

import matplotlib.pyplot as plt

x_values = list(range(1,1001))     # 指定X轴
y_values = [x**2 for x in x_values] # 指定Y轴 plt.scatter(x_values,y_values,s=1,edgecolors='none') #edgecolors 删除数据点轮廓 plt.title('Square Numbers',fontsize=24) # 标题
plt.xlabel('Vaule',fontsize=14)
plt.ylabel('Square of Vaule',fontsize=14) plt.axis([0,1100,0,1100000]) # 设置坐标取值范围
plt.tick_params(axis='both',labelsize=14) # 刻度加粗
plt.show() # 输出图像

绘图:

④ 自定义颜色

要修改数据点颜色,可向scatter()传递参数c,并将其设置为要使用的颜色的名称

plt.scatter(x_values,y_values,s=1,edgecolors='none',c='red')   # 红色

你还可以使用RGB颜色模式自定义颜色,要指定自定义颜色,传入一个元祖,分别表示红色,绿色,蓝色,0~1范围,值越接近0,指定的颜色越深,值越接近1,指定的颜色越浅

plt.scatter(x_values,y_values,s=1,edgecolors='none',c=(0,0,0.8))   # 蓝色

颜色映射-渐变色

import matplotlib.pyplot as plt

x_values = list(range(1,1001))     # 指定X轴
y_values = [x**2 for x in x_values] # 指定Y轴 plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=1,edgecolors='none',) # 从浅蓝色到深蓝色 plt.title('Square Numbers',fontsize=24) # 标题
plt.xlabel('Vaule',fontsize=14)
plt.ylabel('Square of Vaule',fontsize=14) plt.axis([0,1100,0,1100000]) # 设置坐标取值范围
plt.tick_params(axis='both',labelsize=14) # 刻度加粗
plt.show() # 输出图像

绘图:

自动保存图标:

plt.savefig('squares_plot.png',bbox_inches='tight')

4、随机漫步

创建random_walk.py文件:

from random import choice

class RandWalk(object):

    def __init__(self,count=5000):
self.count = count
self.x_list = [0]
self.y_list = [0] def fill_walk(self):
while len(self.x_list) < self.count:
x_step = self.fill_step()
y_step = self.fill_step() if x_step ==0 or y_step == 0:
continue
next_x = self.x_list[-1] + x_step
next_y = self.y_list[-1] + y_step self.x_list.append(next_x)
self.y_list.append(next_y) def fill_step(self):
direction = choice([-1, 1])
distance = choice([2, 4, 6, 8, 10]) return direction*distance

创建rw_visual.py文件:

import matplotlib.pyplot as plt

from random_walk import RandWalk

rw = RandWalk()
rw.fill_walk()
point_numbers = list(range(rw.count)) plt.scatter(rw.x_list,rw.y_list,c=point_numbers,cmap=plt.cm.Blues,s=1) #颜色由浅转深
plt.show()

绘图:

调整尺寸适合屏幕、隐藏X轴Y轴,绘制起点和终点:

import matplotlib.pyplot as plt

from random_walk import RandWalk

rw = RandWalk()
rw.fill_walk()
point_numbers = list(range(rw.count))
plt.figure(dpi=128,figsize=(10,6)) # 设置显示图片大小 plt.scatter(rw.x_list,rw.y_list,c=point_numbers,cmap=plt.cm.Blues,s=1) # 颜色由浅转深
plt.scatter(0,0,c='green',edgecolors='none',s=10) # 起始颜色
plt.scatter(rw.x_list[-1],rw.y_list[-1],c='red',edgecolors='none',s=10) # 终点颜色 plt.axes().get_xaxis().set_visible(False) # 隐藏X轴
plt.axes().get_yaxis().set_visible(False) # 隐藏Y轴 plt.show()

绘图:

Python开发【模块】:matplotlib 绘制折线图的更多相关文章

  1. python使用matplotlib绘制折线图教程

    Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...

  2. 【Python】matplotlib绘制折线图

    一.绘制简单的折线图 import matplotlib.pyplot as plt squares=[1,4,9,16,25] plt.plot(squares) plt.show() 我们首先导入 ...

  3. python学习之matplotlib绘制动图(FuncAnimation()参数)

    1.函数FuncAnimation(fig,func,frames,init_func,interval,blit)是绘制动图的主要函数,其参数如下: a.fig 绘制动图的画布名称 b.func自定 ...

  4. 1 matplotlib绘制折线图

    from matplotlib import pyplot as plt #设置图形大小 plt.figure(figsize=(20,8),dpi=80) plt.plot(x,y,color=&q ...

  5. python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

    最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...

  6. Python绘制折线图

    一.Python绘制折线图 1.1.Python绘制折线图对应代码如下图所示 import matplotlib.pyplot as pltimport numpy as np from pylab ...

  7. Python pyecharts绘制折线图

    一.pyecharts绘制折线图line.add()方法简介 line.add()方法简介 add(name,x_axis,y_axis,is_symbol_show=True, is_smooth= ...

  8. 【Android开源框架】使用andbase开发框架实现绘制折线图

    在Android中,当有绘制折线图的需求时.大多数人使用的AChartEngine,来进行折线图的绘制.AChartEngine图表引擎确实能够实现折线图的功能.除此之外,我们还能够使用andbase ...

  9. 带着canvas去流浪系列之二 绘制折线图

    [摘要] 用canvasAPI实现echarts简易图表 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...

随机推荐

  1. jQuery-处理css样式

    1.css方法 获取匹配元素集合中的第一个元素的样式属性的值 或 设置每个匹配元素的一个或多个CSS属性 1)获取并设置单个css值 jQuery对象.css('css属性'); jQuery对象.c ...

  2. jquery注册文本框获取焦点清空,失去焦点赋值的简单实例

    在我们开发过程中特别是用户注册时会有一个效果,就是文本框获取焦点清空提示,如果用户没有输入信息失去焦点赋值上我们的提示语.   <html> <head> <meta h ...

  3. Unity5.5+easytouch5双摇杆控制角色移动

    第一步:新建两个Joystick,分别改名LeftJoyStick和RightJoyStick 在LeftJoyStick的ETC Joystick-Axes properties中的Horizont ...

  4. 墨卡托投影, GPS 坐标转像素, GPS 坐标转距离

    Before: 1. 研究的需要, 在 google map 上爬取了一些的静态卫星地图图片,每张图片的像素为 256*256 2. 通过 photshop 将这些地图碎片手动拼成了地图, 地图只是覆 ...

  5. MySQL性能优化(六)-- using filesort,in和exists,慢查询,mysqldumpslow

    一.order by产生using filesort详解 1.首先建表和索引(以下使用的sql版本是5.5.54) /*课程表*/ create table course( id int primar ...

  6. pow()

    pow() 如果接收两个参数,如 pow(x, y),则结果相当于 x**y,也就是 x 的 y 次方pow() 如果接收三个参数,如 pow(x, y, z),则结果相当于 (x**y) % z,也 ...

  7. 用Broadcast Receiver刷新数据(二)

    采用消息发布/订阅的一个很大的优点就是代码的简洁性,并且能够有效地降低消息发布者和订阅者之间的耦合度.举个例子,比如有两个界面,ActivityA和ActivityB,从ActivityA界面跳转到A ...

  8. Android SDK更新下载失败以及Studio首次安装取消自动下载SDK

    这是因为,此时Android Studio会去获取 android sdk 组件信息,这个过程相当慢,还经常加载失败,导致Android Studio启动不起开. 解决办法: 不去获取android ...

  9. 使用vue-cli结合express获取mongodb里面的数据

    最近一直在看node有关的内容,空闲时间做了一个小小的爬虫,用于爬取电影天堂的数据然后写到mongodb里面,代码地址:https://github.com/fangming666/dianyingt ...

  10. AFNetworking 上传文件

    本文转载至 http://blog.csdn.net/hmt20130412/article/details/36487055 文件上传AFNetworking @第一种:我的 #pragma mar ...