Python开发【模块】:matplotlib 绘制折线图
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 绘制折线图的更多相关文章
- python使用matplotlib绘制折线图教程
Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...
- 【Python】matplotlib绘制折线图
一.绘制简单的折线图 import matplotlib.pyplot as plt squares=[1,4,9,16,25] plt.plot(squares) plt.show() 我们首先导入 ...
- python学习之matplotlib绘制动图(FuncAnimation()参数)
1.函数FuncAnimation(fig,func,frames,init_func,interval,blit)是绘制动图的主要函数,其参数如下: a.fig 绘制动图的画布名称 b.func自定 ...
- 1 matplotlib绘制折线图
from matplotlib import pyplot as plt #设置图形大小 plt.figure(figsize=(20,8),dpi=80) plt.plot(x,y,color=&q ...
- python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)
最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...
- Python绘制折线图
一.Python绘制折线图 1.1.Python绘制折线图对应代码如下图所示 import matplotlib.pyplot as pltimport numpy as np from pylab ...
- Python pyecharts绘制折线图
一.pyecharts绘制折线图line.add()方法简介 line.add()方法简介 add(name,x_axis,y_axis,is_symbol_show=True, is_smooth= ...
- 【Android开源框架】使用andbase开发框架实现绘制折线图
在Android中,当有绘制折线图的需求时.大多数人使用的AChartEngine,来进行折线图的绘制.AChartEngine图表引擎确实能够实现折线图的功能.除此之外,我们还能够使用andbase ...
- 带着canvas去流浪系列之二 绘制折线图
[摘要] 用canvasAPI实现echarts简易图表 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...
随机推荐
- pyqt的setObjectName()/findChild()
根据设置的Name标示查找组件的对象,关键函数:setObjectName()/findChild() findChild()/2:需要两个参数, 参数一:组件的类型,如QLineEdit.QPush ...
- 通过jd2chm工具将html文档生存chm文档方法
1.下载jd2chm.exe工具 2.下载后解压缩后先安装htmlhelp.exe 3.将jd2chm.exe文件拷贝到index.html所在文件夹中 4.打开命令行进入到index.html所在文 ...
- linux中,通过crontab -e编辑生成的定时任务,写在哪个文件中
环境描述: 操作系统:Red Hat Enterprise Linux Server release 6.6 (Santiago) 内核版本:2.6.32-504.el6.x86_64 需求描述: 一 ...
- [spring] 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 26 in XML document from ...
- 第四章 Spring.Net 如何管理您的类___对象的生命周期链
各位,实在不好意思,因为有事,博客几天没更新了.前面有童鞋提到,配置 Objects.xml 路径的相关问题,这些东西是 IResource 接口的一些内容.在下一章会详细介绍. 传统的Net应用中, ...
- Tomcat之JSP运行原理之小试牛刀
最近空闲看了下JSP/Servlet,以前只知道用JSP,但是对其运行原理知之甚少,今在此做些笔记,以备查阅. 首先简要描述下其运行过程,然后结合Tomcat源码作简要分析. JSP运行过程: 第一步 ...
- oracle 中 cursor 与refcursor及sys_refcursor的区别 (转载)
http://blog.csdn.net/gyflyx/article/details/6889028 引用一.显式cursor 显式是相对与隐式cursor而言的,就是有一个明确的声明的cursor ...
- GIS-009-Cesium 使用
//加载ArcGIS 发布的地图服务MapServervar url='http://Jason:6080/arcgis/rest/services/SampleWorldCities/MapServ ...
- [转载]会引起全表扫描的几种SQL
查询语句的时候尽量避免全表扫描,使用全扫描,索引扫描!会引起全表扫描的几种SQL如下 1.模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like:对于like ‘%... ...
- Python 调用外部命令
python 可以使用 os 模块来调用外部的 Linux Shell 命令,常用的方法如下: os.system():结果输出在终端上,捕获不到os.popen() : 结果返回一个对象,即标准输出 ...