利用Python进行数据分析_Pandas_绘图和可视化_Matplotlib
1 认识Figure和Subplot
- import matplotlib.pyplot as plt
matplotlib的图像都位于Figure对象中
- fg = plt.figure()
通过add_subplot创建subplot
- ax1 = fg.add_subplot(1,2,1)
- ax2 = fg.add_subplot(1,2,2)
设置坐标轴的范围
- plt.xlim((-1, 1))
plt.ylim((0, 3))
设置坐标轴的lable
- matplotlib.pyplot.xlabel(xlabel, fontdict=None, labelpad=None, **kwargs)
- plt.xlabel('横轴:时间', fontproperties = 'SimHei', fontsize = 15, color = 'green')
- plt.ylabel('纵轴:振幅', fontproperties = 'SimHei', fontsize = 15)
plt.figure()的作用
如下例子中,plt.subplot()如果不加,则4个图都在同一个figure对象汇总,而加上plt.subplot(),则每个图分别在一个figure对象中
- import matplotlib.pyplot as plt
- import pandas as pd
- from numpy.random import randn
- x = np.linspace(-1, 1, 50)
- y1 = 2 * x + 1
- # plt.figure()
- ax1 = plt.subplot(4,2,1)
- ax1.plot(x, y1)
- y2 = x**2
- # plt.figure()
- ax2 = plt.subplot(4,2,2)
- ax2.plot(x, y2)
- y3 = 2*x+1
- # plt.figure()
- ax3 = plt.subplot(4,2,3)#plt.subplot(3,2,4) : 分成3行2列,共6个绘图区域,在第4个区域绘图。排序为行优先。也可 plt.subplot(324),将逗号省略。
- ax3.plot(x, y3)
- y4 = x**2
- # plt.figure()
- ax4 = plt.subplot(4,2,4)
- ax4.plot(x, y4)
- plt.show()
plt的常用函数
- plt.scatter#(数据,点的大小) 绘制单个点
- plt.show()# 显示出来
- plt.title #(名字,大小)
- plt.xlable()
- plt.ylable()
- plt.tick_params()#设置刻度的大小
- plt.axis([0,1100,0,111000]) # 设置坐标轴的取值范围
- plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues,
- edgecolor='none', s=40) # 把颜色设置为一个动态的变量,并使用cmp高数pylot使用哪个颜色的映射
- plt.savefig(“squares_plot.png”,bbox_inches = "tight")# 第一个参数指定要以什么样的文件名保存图表,第二个参数指定将图标多余的空白区域裁掉
- plt.axes().get_xaxis().set_visible(false)# 使x轴不可见
- plt.figure(figsize = (10,6)) # 设置绘图窗口的尺寸
plt的图表函数
- plt.plot(x,y , fmt) :绘制坐标图
- plt.boxplot(data, notch, position): 绘制箱形图
- plt.bar(left, height, width, bottom) : 绘制条形图
- plt.barh(width, bottom, left, height) : 绘制横向条形图
- plt.polar(theta, r) : 绘制极坐标图
- plt.pie(data, explode) : 绘制饼图
- plt.scatter(x, y) :绘制散点图
- plt.hist(x, bings, normed) : 绘制直方图
fig,axes = plt.subplots()
- import numpy as np
- import matplotlib.pyplot as plt
- fig,axes = plt.subplots(2,3)
- plt.subplots_adjust(wspace=0,hspace=0)# wspace控制宽度百分比,hspace控制高度的百分比,用作subplot之间的距离
axes[1,2]
- import numpy as np
- import matplotlib.pyplot as plt
- x = np.linspace(0, 2*np.pi, 400)
- y = np.sin(x**2)
- fig,axes = plt.subplots(2,3)
- plt.subplots_adjust(wspace=0,hspace=0)# wspace控制宽度百分比,hspace控制高度的百分比,用作subplot之间的距离
- axes[1,2].plot(x,y)
- plt.show()
颜色、标记、线型
详见:API文档
- axes.plot(x,y,'g--')
Colors
Markers
Line Styles
刻度、标签、图例
- plt.xlim() #返回当前的X轴的范围
- plt.xlim(0,10)#设置当前的X轴的范围
修改X轴刻度
- import numpy as np
- import matplotlib.pyplot as plt
- plt.figure()
- ax = plt.subplot()
- ax.plot(randn(1000).cumsum())
- # ax.set_xticks([0,250,500,750,1000])
- ax.set_xticklabels(['1w','2w','3w','4w','5w','6w','7w'],rotation=30,fontsize='small')
- ax.set_title('Test plot!')
- plt.show()
- import numpy as np
- import matplotlib.pyplot as plt
- plt.figure() #创建figure对象
- ax = plt.subplot()
- # 一张图中 传入多个元素,需要传入label参数
- ax.plot(randn(1000).cumsum(),'g--',label='180210.IB',)
- ax.plot(randn(1000).cumsum(),'c.',label='170201.IB',)
- ax.plot(randn(1000).cumsum(),'m:',label='180201.IB',)
- # ax.legend(loc='best') # 添加图例(左上角那玩意)
- plt.legend(loc='best') # 添加图例(左上角那玩意)
- ax.set_title('Test plot!') #设置图标的标题
- plt.savefig('D:\Test plot.svg')
- plt.savefig('D:\Test plot.pdf')
- plt.savefig('D:\Test plot.jpg')
- plt.savefig('D:\Test plot.png',dpi=400,bbox_inches = 'tight') #保存png格式,dpi 分辨率,bbox_inches 最小白边
- plt.show()
利用Python进行数据分析_Pandas_绘图和可视化_Matplotlib的更多相关文章
- 利用python进行数据分析之绘图和可视化
matplotlib API入门 使用matplotlib的办法最常用的方式是pylab的ipython,pylab模式还会向ipython引入一大堆模块和函数提供一种更接近与matlab的界面,ma ...
- 利用Python进行数据分析_Pandas_数据加载、存储与文件格式
申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 1 pandas读取文件的解析函数 read_csv 读取带分隔符的数据,默认 ...
- 利用Python进行数据分析_Pandas_层次化索引
申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 层次化索引主要解决低纬度形式处理高纬度数据的问题 import pandas ...
- 利用Python进行数据分析_Pandas_处理缺失数据
申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 1 读取excel数据 import pandas as pd import ...
- 利用Python进行数据分析_Pandas_汇总和计算描述统计
申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. In [1]: import numpy as np In [2]: impo ...
- 利用Python进行数据分析_Pandas_基本功能
申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 第一 重新索引 Series的reindex方法 In [15]: obj = ...
- 利用Python进行数据分析_Pandas_数据结构
申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 首先,需要导入pandas库的Series和DataFrame In [21] ...
- 利用Python进行数据分析_Pandas_数据清理、转换、合并、重塑
1 合并数据集 pandas.merge pandas.merge(left, right, how='inner', on=None, left_on=None, right_on=None, le ...
- 绘图和可视化知识图谱-《利用Python进行数据分析》
所有内容整理自<利用Python进行数据分析>,使用MindMaster Pro 7.3制作,emmx格式,源文件已经上传Github,需要的同学转左上角自行下载或者右击保存图片. 其他章 ...
随机推荐
- 三十一、Gawk基础入门
AWK:Aho Weinberger Kernighan awk :报告生成器.格式化文本输出 一.gawk - pattern scanning and processing language 基本 ...
- Mybatis基础-完整CRUD操作
步骤一:mybatis基本配置 1)创建Java项目,在lib下导入mybatis所需要的Jar包,包括链接mysql的mysql-connector-java-5.1.7-bin.jar. 2)在s ...
- A·F·O小记
看过很多的游记,也看过很多的退役记.回忆录,而当自己真正去面对的那一刻,却又不知道从何说起,也不知道能用怎样的形式和语言,才能把这段珍贵的记忆封存起来,留作青春里的一颗璀璨明珠…… 还是随便写写吧…… ...
- 搭建vue-cli
https://www.cnblogs.com/wisewrong/p/8570309.html https://www.jianshu.com/p/1ee1c410dc67
- 在CentOS7中安装zookeeper
参考:https://www.linuxidc.com/Linux/2016-09/135052.htm 1.zookeeper运行需要jdk环境,先确保有配置jdk,可以参考此处 2.下载解压zoo ...
- Node.js 目录操作
1.创建目录 mkdir 代码 demo1.js var fs = require('fs'); //创建目录 fs.mkdir('e:/nodeTest/dirTest',function(err) ...
- SDK/JDK,Shell/Shell脚本,Apache/APR ,MTK
SDK 软件开发工具包(SoftwareDevelopmentKit) API(Application Programming Interface,应用编程接口)其实就是操作系统留给应用程序的一个调用 ...
- win10系统vs2008环境wince项目无法创建问题
文章备份,原文来自百度某个作者的博客. 昨晚,当我升级win10之后,发现系统使用还是挺顺畅的,没有当初升级win8的时候那么多错误. 但是今晚回来之后,发现之前win8.1下已经安装好的vs2008 ...
- 解决com.android.support版本冲突问题
原文:https://www.jianshu.com/p/0fe985a7e17e 项目中不同Module的support包版本冲突怎么办? 只需要将以下代码复制到每个模块的build.gradle( ...
- SpringBoot之返回json数据
一.创建一个springBoot个项目 二.编写实体类 /** * 返回Json数据实体类 */ public class User { private int id; private String ...