pyplot官网教程https://matplotlib.org/users/pyplot_tutorial.html

#导入matplotlib的pyplot模块
import matplotlib.pyplot as plt

plot用于绘制线条

'''
第1步:定义x和y坐标轴上的点
'''
#x坐标轴上点的数值
x=[1, 2, 3, 4]
#y坐标轴上点的数值
y=[1, 4, 9, 16] '''
第2步:使用plot绘制线条
第1个参数是x的坐标值,第2个参数是y的坐标值
'''
plt.plot(x,y) '''
第3步:显示图形
''' plt.show()

设置线条属性,文档:https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D

'''
color:线条颜色,值r表示红色(red)
marker:点的形状,值o表示点为圆圈标记(circle marker)
linestyle:线条的形状,值dashed表示用虚线连接各点
'''
plt.plot(x, y, color='r',marker='o',linestyle='dashed')
#plt.plot(x, y, 'ro')
'''
axis:坐标轴范围
语法为axis[xmin, xmax, ymin, ymax],
也就是axis[x轴最小值, x轴最大值, y轴最小值, y轴最大值]
'''
plt.axis([0, 6, 0, 20])
plt.show()

如果matplotlib参入的参数只能是列表的话,这对数据处理很不利。

一般,我们传入的是numpy的数组。实际上,所有参入的值内部都会转换为numpy的数组。

'''
# arange用于生成一个等差数组,arange([start, ]stop, [step, ]
使用见文档:https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html
'''
import numpy as np
t = np.arange(0, 5, 0.2)
t
'''
使用数组同时绘制多个线性
'''
#线条1
x1=y1=t '''
运算符**,表示幂 - 返回x的y次幂,例如10**20表示10的20次方
详细见文档《Python3运算符》:http://www.runoob.com/python3/python3-basic-operators.html
'''
#线条2
x2=x1
y2=t**2 #线条3
x3=x1
y3=t**3 #使用plot绘制线条
linesList=plt.plot(x1, y1,
x2, y2,
x3, y3 ) #用setp方法可以同时设置多个线条的属性
plt.setp(linesList, color='r') plt.show() print('返回的数据类型',type(linesList))
print('数据大小:',len(linesList))

在图上添加文本

参考文档:如何在图上添加文本

#找到 matplotlib 加载的配置文件路径
import matplotlib
matplotlib.matplotlib_fname()
"""设置字体,用于显示中文"""
plt.rcParams['font.sans-serif']=['FangSong']
"""SimSun 宋体,Microsoft YaHei微软雅黑 YouYuan幼圆 FangSong仿宋"""
plt.rcParams['font.size']=20
plt.rcParams['axes.unicode_minus']=False# 负号乱码
'''
第1步:定义x和y坐标轴上的点
'''
#x坐标轴上点的数值
x=[1, 2, 3, 4]
#y坐标轴上点的数值
y=[1, 4, 9, 16] '''
第2步:使用plot绘制线条
第1个参数是x的坐标值,第2个参数是y的坐标值
'''
plt.plot(x,y) '''
添加文本
'''
#x轴文本
plt.xlabel('x坐标轴')
#y轴文本
plt.ylabel('y坐标轴')
#标题
plt.title('标题')
#添加注释
'''
添加注释:
参数名xy:箭头注释中箭头所在位置,
参数名xytext:注释文本所在位置,
arrowprops在xy和xytext之间绘制箭头,
shrink表示注释点与注释文本之间的图标距离
'''
plt.annotate('我是注释', xy=(2,5), xytext=(2, 10),
arrowprops=dict(facecolor='black', shrink=0.01),
)
'''
第3步:显示图形
'''
plt.show()

多个图绘图

#创建画板1
fig = plt.figure(1) #第2步:创建画纸(子图)
'''
subplot()方法里面传入的三个数字
前两个数字代表要生成几行几列的子图矩阵,第三个数字代表选中的子图位置
subplot(211)生成一个2行1列的子图矩阵,当前是第一个子图
'''
#创建画纸,并选择画纸1
#等价于ax1=fig.add_subplot(211)
ax1=plt.subplot(2,1,1)
#在画纸上绘图
plt.plot([1, 2, 3])
#选择画纸2
ax2=plt.subplot(2,1,2)
#在画纸2上绘图
plt.plot([4, 5, 6]) plt.show()

如果没有指明画板figure()和子图subplot,会默认创建一个画板figure(1) 和一个子图subplot(111)

数据可视化-matplotlib包的更多相关文章

  1. Python数据可视化--matplotlib

    抽象化|具体化: 如盒形图 | 现实中的图 功能性|装饰性:没有装饰和渲染 | 包含艺术性美学上的装饰 深度表达|浅度表达:深入层次的研究探索数据 | 易于理解的,直观的表示 多维度|单一维度:数据的 ...

  2. Python数据可视化matplotlib和seaborn

    Python在数据科学中的地位,不仅仅是因为numpy, scipy, pandas, scikit-learn这些高效易用.接口统一的科学计算包,其强大的数据可视化工具也是重要组成部分.在Pytho ...

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

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

  4. 数据可视化matplotlib、seaborn、pydotplus

    如需转发,请注明出处:小婷儿的python  https://www.cnblogs.com/xxtalhr/p/10486560.html 一.数据可视化 data.mat 链接:https://p ...

  5. 数据可视化——Matplotlib(1)

    导入相关模块 import matplotlib.pyplot as plt import pandas as pd import numpy as np 基本图表 散点图:scatter N = 1 ...

  6. python数据可视化-matplotlib入门(7)-从网络加载数据及数据可视化的小总结

    除了从文件加载数据,另一个数据源是互联网,互联网每天产生各种不同的数据,可以用各种各样的方式从互联网加载数据. 一.了解 Web API Web 应用编程接口(API)自动请求网站的特定信息,再对这些 ...

  7. 数据可视化——matplotlib(2)

    导入相关模块 import matplotlib.pyplot as plt import numpy as np import pandas as pd 图表设置 添加X.Y轴标签以及图标标题 a ...

  8. 数据可视化----matplotlib.pylot

    一.输入具体数 plt.plot([3,1,4,5,2]) #自动生成y轴 plt.ylabel("Grade") #y轴的标签 plt.savefig('test1',dpi=6 ...

  9. <数据可视化>Matplotlib(2D+3D)

    1.Matplotlib介绍(2D) Matplotlib 是 Python 2D-绘图领域使用最广泛的套件.它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式. pylab 是 matplo ...

随机推荐

  1. HTML入门(列表、表单、常用表单控件、浮动框架、iframe、 摘要与细节、度量标签)

    一.列表 1.作用:默认显示方式为从上到下的显示数据 2.列表的组成 列表类型和列表项 3.列表的分类:有序列表   无序列表   自定义列表 无序列表语法为ul>li, 语法:ul代表列表,l ...

  2. Android View的background和padding

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/181 最近在做一个需求,是对im聊天消息设置气泡背景,之前 ...

  3. 【pycharm】Unable to save settings: Failed to save settings. Please restart PyCharm解决

    1.Unable to save settings: Failed to save settings. Please restart PyCharm解决 将工程的.idea目录删掉,重启pycharm ...

  4. FAQ: Oracle Flex ASM 12c / 12.1 (Doc ID 1573137.1)

    FAQ: Oracle Flex ASM 12c / 12.1 (Doc ID 1573137.1) APPLIES TO: Oracle Database - Enterprise Edition ...

  5. ORM查询(细致):

    ORM查询(细致): 1.正向查找 ret1=model.Book.objects.first() print(ret1.title) print(ret1.price) print(ret1.pub ...

  6. JSON.parse和JSON.stringify方法

    1.JSON.parse(“要转换的数据”) 2.JSON.stringify(“要转化的数据”) 3.首先,两个方法的用法是有差别的: ①.JSON.stringify是从一个对象中解析出字符串 ② ...

  7. Linux基础 —基础要点

    一.请简述Linux安装时的两个必备分区.挂载点和类型. 一般情况下,安装红旗Linux需要两个必备分区,即一个根文件系统分区,挂载点(/),类型为ext3.ext2或reiserfs:一个交换分区, ...

  8. 基于python的yaml配置文件使用方法

    一.介绍 YAML是一种简洁的非标记语言 YAML以数据为中心,使用空白.缩进.分行组织数据,从而使表达更加简洁易懂 二.基本规则 大小写敏感 使用缩进表示层级关系 禁止使用Tab缩进,只能使用空格键 ...

  9. ROS基础-基本概念和简单工具(1)

    1.什么是ROS? Robot operating System ,简单说机器人操作系统,弱耦合的分布式进程框架,通过进程间的消息传递和管理.实现硬件抽象和设备控制. 2.节点(node) node ...

  10. go语言之切片即动态数组

    切片和数组的类型有什么不一样,我们可以打印一下,就可以知道两者的区别了,数组是容量的,所以中括号中有容量,切片的动态数组,是没有容量,这是数组和切片最大的区别 test8_4 := [20] int ...