matplotlib学习记录(一)
来源:互联网 发布:泰德奥plc编程软件 编辑:程序博客网 时间:2024/05/19 08:44
先参照《利用Python进行数据分析》的内容过一遍matplotlib库基本api的操作,后续的学习添加一些fashion的东西,备忘用。
首先,导库 import matplotlib.pyplot as plt
,from numpy.random import randn
(用于产生随机数)
- Figure画布Subplot子图
- 调整subplot周围的间距
- 颜色标记和线型
- 刻度标签和图例
- 设置标题轴标签刻度刻度标签
- 添加图例
- 注解
- 图表保存到文件
Figure(画布)&&Subplot(子图)
1.创建画布对象Figure:
fig = plt.figure()
2.创建时设定纵横比:
fig = plt.figure(figsize=(16, 8))
3.获取当前Figure:
fig = plt.gcf()
4.在画布上创建子图(至少一张):
ax1 = fig.add_subplot(2, 2, 1) ax2 = fig.add_subplot(2, 2, 2) ax3 = fig.add_subplot(2, 2, 3)
(把画布切分成2行2列,在1,2,3位置上创建子图)
5.当前子图上画图
plt.plot(randn(50).cumsum(), 'k--')
6.指定子图上画图
_ = ax1.hist(randn(100), bins=20, color=''k, alpha=0.3) ax2.scatter(np.arange(30), np.arange(30) + 3*randn(30))
7.同时创建画布和子图
In[65]: fig, axes = plt.subplots(2, 3)In[66]: axesOut[66]: array([[<matplotlib.axes._subplots.AxesSubplot object at 0x00000000093FC748>, <matplotlib.axes._subplots.AxesSubplot object at 0x0000000009DB9CF8>, <matplotlib.axes._subplots.AxesSubplot object at 0x0000000009E24E48>], [<matplotlib.axes._subplots.AxesSubplot object at 0x0000000009E7D748>, <matplotlib.axes._subplots.AxesSubplot object at 0x0000000009EE4C88>, <matplotlib.axes._subplots.AxesSubplot object at 0x0000000009F3E4A8>]], dtype=object)
调整subplot周围的间距
subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)
wspace和hspace控制宽度和高度百分比,可用作subplot的间距。
fig, axes= plt.subplots(2, 2, sharex=True, sharey=True) for i in range(2): for j in range(2): axes[i, j].hist(randn(500), bins=50, color='k', alpha=0.5) plt.subplots_adjust(wspace=0, hspace=0)
颜色、标记和线型
plot函数接受X,Y轴坐标,颜色(可指定RGB值,如’#CECECE’),线型,标记。
ax.plot(x, y, 'ko--')
等同于:
ax.plot (x, y, color='k', linesytle='--', marker='o')
刻度、标签和图例
设置标题、轴标签、刻度、刻度标签
- 刻度、刻度标签
调用时不带参数,返回参数值。例,plt.xlim()
返回当前X轴绘图范围
调用时带参数,则设置参数值。例,plt.xlim([0, 10])
将X轴范围设为0到10
对于子图,函数为ax.get_xlim和ax.set_xlimset_xticks
决定将刻度放在什么位置,set_xticklabels
设置刻度标签为
ticks = ax.set_xticks([0 ,250, 500, 750, 1000]) labels = ax.set_xticklabels(['one', 'two', 'three', 'four', 'five'], rotation=30, fontsize='small')
轴标签
ax.set_xlabel('Stages')
标题
ax.set_title('My first matplotlib plot')
添加图例
在添加subplot的时候传入label参数:
ax.plot(x, y, 'k', label='one')
用ax.legend()
或plt.legend()
创建图例:
ax.legend(loc='best')
注解
注解可以通过text、arrow和annotate等函数添加,可绘制在图标的指定坐标(x,y),还可以添加自定义格式:
ax.text(x, y, 'Hello world!', family='monospace', fontsize=10)
更多内容见matplotlib库。
图表保存到文件
想存为什么格式改扩展名就行了:
plt.savefig('figpath.svg')
最重要的两个参数是dpi(控制”每英寸点数“分辨率)和bbox_inches(可剪除当前图表周围的空白部分),得到一张带有最小白边且分辨为400DPI的PNG图片:
plt.savefig('figpath.png', dpi=400, bbox_inches='tight')
savefig可以写入任何文件类型的对象,比如StringIO:
from io import StringIO buffer = StringIO() plt.savefig(buffer) plot_data = buffer.getvalue()
这在Web上提供动态生成的图片很实用。
0 0
- matplotlib学习记录(一)
- matplotlib(学习一)
- Matplotlib学习笔记(一)
- matplotlib 学习笔记(一)
- Python学习笔记(一)--- Matplotlib
- 机器学习笔记(一):matplotlib入门
- Matplotlib库学习(一)plt.plot
- 莫烦-matplotlib学习笔记(一)
- Numpy 和 matplotlib 学习记录
- 机器学习之numpy和matplotlib学习(一)
- python之matplotlib学习(一)
- Python学习之Matplotlib (一)
- 学习记录(一)
- 学习记录(一)
- 学习记录(一)
- matplotlib(学习二)
- matplotlib.pyplot基础(一)
- 【Python】Matplotlib库(一)
- 抽象工厂模式
- Android Studio混淆打包
- extern和static的区别
- 使用南尘的ImagePicker实现仿微信的相册图片选择以及拍照上传
- 关于ctrl+c 和 ctrl+z的区别
- matplotlib学习记录(一)
- 自己用过的linux命令(二)
- linux c语言 模拟键盘输入
- dp46上 HDU1421
- Linux下演示编辑和运行C语言程序
- SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient
- socket编程
- numpy基本入门操作汇总二
- 量化进阶—— 高胜算交易策略(布林线)