(七)Python绘图基础:Matplotlib绘图
目录
Matplotlib绘图
折线图
绘制一组数据
绘制多组数据
散点图(scatter)
条形图(竖)
条形图(横)
饼图
Matplotlib属性
保存图片
色彩和样式
文字
其他属性
绘制子图
子图-subplot()
子图-subplots()
子图-axes()
Matplotlib绘图
最著名Python绘图库, 主要用于二维绘图
– 画图质量高
– 方便快捷的绘图模块
- 绘图API——pyplot模块
折线图
绘制一组数据
代码如下所示:
import matplotlib.pyplot as plt
plt.plot(range(7),[3, 4, 7, 6, 3, 7, 9]) # 设立X,Y轴坐标,X轴不写也可以默认从零开始
plt.show()
运行结果如下所示:
绘制多组数据
代码如下所示:
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0., 2., 0.1) # 生成数据
plt.plot(t, t, t, t+2, t, t**3) # 绘制多组数据
plt.show()
运行结果如下所示:
散点图(scatter)
代码如下所示:
import matplotlib.pyplot as plt
plt.scatter(range(7),[3, 4, 7, 6, 3, 7, 9]) # 绘制散点图
plt.show()
除了使用scatter函数之外,还可以使用plot函数后加参数'o'来实现,代码如下所示:
import matplotlib.pyplot as plt
plt.plot(range(7),[3, 4, 7, 6, 3, 7, 9],'o') # 绘制散点图
plt.show()
运行结果如下所示:
条形图(竖)
代码如下所示:
import matplotlib.pyplot as plt
plt.bar(range(7),[3, 4, 7, 6, 3, 7, 9]) # 绘制条形图
plt.show()
运行结果如下所示:
条形图(横)
代码如下所示:
import matplotlib.pyplot as plt
plt.barh(range(7),[3, 4, 7, 6, 3, 7, 9]) # 绘制横的条形图
plt.savefig('E:\截图\绘图\huitu2.jpg')
plt.show()
运行结果如下所示:
饼图
代码如下所示:
import matplotlib.pyplot as plt
plt.pie([3, 4, 7, 6, 3, 7, 9], labels=range(7), autopct='%1.2f%%', startangle=90) # 绘制饼图,labels设置标签,autopct设置显示百分比,startangle显示起始角度
plt.savefig('E:\截图\绘图\huitu3.jpg')
plt.show()
运行结果如下所示:
Matplotlib属性
Matplotlib可以控制许多的默认属性,本文只举一些属性来介绍;
保存图片
可以用savefig()函数来保存绘制好的图片,代码如下所示:
import matplotlib.pyplot as plt
plt.plot(range(7),[3, 4, 7, 6, 3, 7, 9],"r-.")
plt.savefig('E:\截图\绘图\Fui.jpg') # 填保存路径即可
plt.show()
色彩和样式
符号 | b | g | r | c | m | y | k | w |
---|---|---|---|---|---|---|---|---|
颜色 | blue | green | red | cyan(青色) | magenta(洋红色) | yellow | black | white |
线型 | '-' | '--' | '-.' | ':' | 'None' | ' ' | '' |
---|---|---|---|---|---|---|---|
描述 | 实线 | 长虚线 | 虚线加点 | 点虚线 | 无 | 无 | 无 |
标记 | "o" | "v" | "s" | "^" | "p" | "*" | "h" | "+" | "D" |
---|---|---|---|---|---|---|---|---|---|
描述 | 散点 | 倒三角 | 正方形 | 正三角 | 五边形 | 五角星 | 六边形 | 加号 | 菱形 |
只展示了一部分常用的格式,具体每个色彩和样式就不一一展示,只展示几个色彩样式,代码如下所示:
import matplotlib.pyplot as plt
plt.plot(range(7),[3, 4, 7, 6, 3, 7, 9],"r*")
plt.show()
运行结果如下所示:
代码如下所示:
import matplotlib.pyplot as plt
plt.plot(range(7),[3, 4, 7, 6, 3, 7, 9],"c:")
plt.show()
运行结果如下所示:
文字
可以在图上加标题、横坐标的标签和纵坐标的标签,还可以将数轴上的数字用文字来表示。具体代码如下所示:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体,不然显示不了中文
plt.title('标题')
plt.xlabel('X 标签')
plt.ylabel('Y 标签')
plt.plot( [3, 4, 7, 6])
index_name=['1季度', '2季度', '3季度', '4季度'] # 设置X坐标的标签
plt.xticks(range(4), index_name) # 显示X坐标的标签
plt.savefig('E:\截图\绘图\huitu.jpg')
plt.show()
运行结果如下所示:
其他属性
将简述图的大小、精度、颜色、线型、线宽、图例等等属性,代码如下所示:
import matplotlib.pyplot as plt
import numpy as npplt.figure(figsize=(8, 6), dpi=100) # 图的大小,还有精度
t = np.arange(0., 2., 0.1)
plt.plot(t, t, color='red', linestyle='-', linewidth=3, label='Line 1') # 颜色、线型、线宽、图例的设定
plt.plot(t, t + 2, color='green', linestyle='', marker='*', linewidth=3, label='Line 2')
plt.plot(t, t ** 3, color='blue', linestyle='', marker='+', linewidth=3, label='Line 3')
plt.legend(loc='upper left') # 图例的位置,可以设为'best',会自动放到最合适的地方
plt.savefig('E:\截图\绘图\huitu1.jpg')
plt.show()
运行结果如下所示:
绘制子图
- 在Matplotlib中绘图在当前图形(figure)和当前坐标系(axes)中进行,默认在一个编号为1的figure中绘图,可以在一个图的多个区域分别绘图
- 使用subplot()/subplots()函数和axes()函数
子图-subplot()
在 subplot()里,有三个参数,第一个是有几行,第二个是有几列,第三个是图的编号,也就是第几个,比如plt.subplot(211)的意思就是,有两行,这是第一行第一个图。
代码如下所示:
import numpy as np
import matplotlib.pyplot as pltx = np.linspace(-np.pi, np.pi, 300) # 产生均匀区间的一组数据
plt.figure() # 默认创建,缺省
plt.subplot(211) # 第一个子图
plt.plot(x, np.sin(x), color='r')
plt.subplot(212) # 第二个子图
plt.plot(x, np.cos(x), color='g')
plt.savefig('E:\截图\绘图\huitu1.jpg')
plt.show()
运行结果如下所示:
子图-subplots()
相对于subplot来说,subplots使用起来更加灵活,具体代码如下所示:
import numpy as np
import matplotlib.pyplot as pltx = np.linspace(-np.pi, np.pi, 300)
fig, (ax0, ax1) = plt.subplots(2, 1)
# 指定子图是2行1列的,函数的第一个返回值是图对象本身,第二个返回值是各子图
# 后续绘图可以直接使用子图对象的plot()方法来实现
ax0.plot(x, np.sin(x), color='r')
ax0.set_title('subplot1')
plt.subplots_adjust(hspace=0.5) # hspace表示垂直方向距离,wspace表示水平方向距离
ax1.plot(x, np.cos(x), color='g')
ax1.set_title('subplot2')
plt.savefig('E:\截图\绘图\huitu4.jpg')
plt.show()
运行结果如下所示:
子图-axes()
相对于subplot()/subplots()函数来说,axes()函数的图是重叠在一起的,所以要对其参数进行设定,具体代码如下所示:
axes([left,bottom,width,height]) 参数范围为(0,1)
import numpy as np
import matplotlib.pyplot as pltx = np.linspace(-np.pi, np.pi, 300)
plt.axes([.1, .1, 0.8, 0.8]) # 设置到边框的距离
plt.plot(x, np.sin(x), color='r')
plt.axes([0.3, 0.15, 0.4, 0.3]) # 设置到边框的距离
plt.plot(x, np.cos(x), color='g')
plt.savefig('E:\截图\绘图\huitu5.jpg')
plt.show()
运行结果如下所示:
Pandas绘图基础在日后进行补充
(七)Python绘图基础:Matplotlib绘图相关推荐
- Python3.绘图基础matplotlib.pyplot
Python3.绘图基础matplotlib.pyplot 能够方便地绘图是MATLAB一大优势,但这方面现在并不领先Python. 以环境物理学原理课一次作业为例,除去数据处理部分,使用ma ...
- Python数据分析 2.Matplotlib绘图—常用统计图
Python数据分析 2.Matplotlib绘图-常用统计图 1.绘制散点图 from matplotlib import pyplot as plt from matplotlib import ...
- 使用python中的Matplotlib绘图示例
当我们按照前一篇博文 http://blog.csdn.net/tao_627/article/details/44004541 配置好python的绘图环境后,下面给出几个有代表性的例子: 一.绘制 ...
- python中dpi_python matplotlib 绘图 和 dpi对应关系详解
我就废话不多说啦! dpi=1 600×400 dpi=2 1200×800 dpi=3 1800×1200 ........ dpi=21 (21×600)×(21×400) ---> 126 ...
- python可视化之matplotlib绘图--蜘蛛侠钢铁侠(组合分区绘图)
matplotlib绘图–本次图形涉及(并列)条形图.(堆积)柱状图.饼图.折线图.阶梯图.散点图.极线图.气泡图: 子区划分:subplots().gridspec().add_axes(). py ...
- python数据处理7: matplotlib绘图保存图片深入
matplotlib绘图保存图片深入 系列目录 模块导入 图片大小.像素 图形大小.边距 字体与大小 坐标轴 源码 定义 问题 matplotlib:ValueError: bottom cannot ...
- 【Python】更改matplotlib绘图样式,要创建一个后缀名为mplstyle的样式清单,如何实现?
要更改 matplotlib 绘图样式,可以按照以下步骤创建一个后缀名为 mplstyle 的样式清单: 打开终端或 Anaconda Prompt(Windows 用户): 确保您的 Matplot ...
- python数据分析使用matplotlib绘图
matplotlib绘图 关注公众号"轻松学编程"了解更多. Series和DataFrame都有一个用于生成各类图表的plot方法.默认情况下,它们所生成的是线形图 %matpl ...
- Python可视化库Matplotlib绘图入门详解
Matplotlib是Python的绘图库,其中的pyplot包封装了很多画图的函数. Matplotlib.pyplot 包含一系列类似 MATLAB 中绘图函数的相关函数.每个 Matplotli ...
- 数据分析之numpy基础/matplotlib绘图/numpy常用函数/杂项功能
文章目录 数据分析 numpy概述 numpy`历史` numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象 ...
最新文章
- 面对千亿客服市场:曾经人工当道,如今AI为王
- setup.py安装
- mybatis教程--实现增删改查的入门教程
- 训练数据集时为何要先加载预训练模型作为初始化,这样做有何好处?
- 需求获取安排计划书_创业型公司商业计划书PPT怎么写?才是投资人最想看的,免费领取...
- Oracle监听器—静态注册
- [修复] Firemonkey 使用 DrawPath 断线问题(Android iOS 平台)
- ICCV 2019 Oral | 三维ZAO脸,单张图片估计人脸几何,效果堪比真实皮肤
- fanuc机器人自动程序前怎么回原点_FANUC机器人的执行程序
- 大数据_MapperReduce_Hbase的优化_存数据_自动计算分区号 自动计算分区键---Hbase工作笔记0027
- php++redius,【答疑】请问edius音波显示快捷键是什么呢?怎么使用的呢? - 羽兔网问答...
- 常用HTML5开发工具有哪些?
- python 计算置信区间_python 计算数据中值的置信区间
- pkl形式的数据集读取和可视化
- 详解oracle多种表连接方式,详解Oracle多种表连接方式
- sipdroid软件直接使用andriod打网络电话
- Cadence Allegro如何添加泪滴
- WNMP环境搭建(Win10+Nginx+MySQL+PHP)
- 天津滨海服务外包产业园年底投入使用
- 如何用js判断设备类型?