数据分析之matplotlib.pyplot模块
首先都得导模块。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series,DataFrame
一、绘制单线图
1,直线图
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.plot(x,y)

2,抛物线
x = np.arange(-np.pi,np.pi,0.2)
y = x**2
plt.plot(x,y)

3,正弦图
x = np.arange(-np.pi,np.pi,0.2)
y = np.cos(x)
plt.plot(x,y)

这里得到图形取决于x跟y的关系
二、绘制多个曲线的图
1,连续调用多次plot函数
plt.plot(x,y)
plt.plot(x+3,y+3)

2,也可以在一个plot函数中传入多对x,y值
plt.plot(x,y,x+10,y+10)

3,将多个曲线绘制在一个table区域中:对象形式创建表图
a=plt.subplot(row,col,loc)创建曲线图对象
a.plot(x,y)
ax1 = plt.subplot(2,2,1)
ax1.plot(x,y)
ax1.grid()
ax2 = plt.subplot(2,2,2)
ax2.plot(x,y)
ax3 = plt.subplot(2,2,3)
ax3.plot(x,y)
ax4 = plt.subplot(2,2,4)
ax4.plot(x,y)

三、plt的一些样式设置
1,设置网格线,plt.grid()
参数:
axis:控制方向
color:支持十六进制颜色
linestyle:线的形状
alpha:透明度 plt.grid(axis='both')
plt.plot(x,y)

2,坐标轴界限
axis方法设置x,y轴刻度值的范围
plt.axis([xmin,xmax,ymin,ymax]) plt.axis([-6,6,-2,2])
plt.plot(x,y)

通过设置plt.axis('off')可以把坐标轴刻度给关闭,我们就只会看到图,而看不到刻度
3,设置画布比例
plt.figure(figsize=(a,b)) a:x刻度比例 b:y刻度比例 (2:1)表示x刻度显示为y刻度显示的2倍 plt.figure(figsize=(8,18))
plt.plot(x,y)
4,设置x轴,y轴,图片的名称
plt.xlabel('xxx')
plt.ylabel('yyy')
plt.title('ttt')
plt.plot(x,y)

5,设置图例
5.1 分别在plot函数中添加label参数,在调用plt.legend()方法显示
plt.plot(x,y,label='aaa')
plt.plot(x+3,y+3,label='bbb')
plt.legend()
5.2 直接在legend()方法中传入字符串列表
plt.plot(x,y,x+3,y+3)
plt.legend(['aaa','bbb'])

5.3 还可以设置legend()方法的参数调整图例的位置和显示样式
loc参数用于设置图例标签的位置,一般在legend函数内

ncol控制图例中有几列,在legend中设置ncol
plt.plot(x,y,x+3,y+3)
plt.legend(['aaa','bbb'],loc=3,ncol=2)

6,保存图片
使用figure对象的savefig函数来保存图片
fig = plt.figure()---必须放置在绘图操作之前
figure.savefig的参数选项
filename:含有文件路径的字符串或Python的文件型对象。图像格式由文件扩展名推断得出,例如,.pdf推断出PDF,.png推断出PNG (“png”、“pdf”、“svg”、“ps”、“eps”……)
dpi:图像分辨率(每英寸点数),默认为100
facecolor ,打开保存图片查看 图像的背景色,默认为“w”(白色) fig = plt.figure()
plt.plot(x,y,x+3,y+3)
plt.legend(['aaa','bbb'],loc=3,ncol=2)
fig.savefig('./img.png',dpi=500)
四、plot的参数设置
color或c:颜色,如‘r’或‘red’红色,‘g’绿色;也可以是十六进制,如'#eeefff';还可以RGB元祖,(0.2,0.3,0.4),值只能是0到1
alpha透明度
参数linestyle或ls线型
参数linewidth或lw线宽
marker点型
markersize点的大小
五、直方图
是一个特殊的柱状图,又叫做密度图。
【直方图的参数只有一个x!!!不像条形图需要传入x,y】
plt.hist()的参数
bins :直方图的柱数,可选项,默认为10
color :指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,例如DataFrame对象,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色
orientation :通过设置orientation为horizontal创建水平直方图。默认值为vertical
data=[1,2,3,2,3,1,4,5,2,2]
plt.hist(data,bins=10) #data数据时1到5,所以它会把1到5之间分成11个区域,把每个区域所包含数据的个数给统计出来

六、条形图
- 参数:第一个参数是索引。第二个参数是数据值。第三个参数是条形的宽度
- width 纵向设置条形宽度
- height 横向设置条形高度
bar()纵向、barh()横向
data1=[2,4,1,5]
data2=[3,5,1,6]
plt.bar(data1,data2)

plt.barh(data1,data2)

七、饼图
饼图主要有两种,取决于第一个数据参数,首先数据的是一个列表,但列表中出现整数时,每块占比等于自身值除以所有值总和,这种情况下占比总和为1;当每个值都是0到1之间,而且总和小于等于1,那么每个的占比就是自身值,这种情况下,占比总和就不一定为1了。
1,占比总和肯定为1的
plt.pie([2,4,6]) #表示的是2占12的比例,4占12的比例,6占12的比例

2,占比总和不一定为1的
plt.pie([0.2,0.4,0.1])#表示0.1占10%,0.2占20%,0.4占40%

3,属性设置
饼图阴影、分裂等属性设置
#labels参数设置每一块的标签;
#labeldistance参数设置标签距离圆心的距离(比例值)
#autopct参数设置比例值小数保留位(%.3f%%);
#pctdistance参数设置比例值文字距离圆心的距离
#explode参数设置每一块顶点距圆心的长度(比例值,列表);
#colors参数设置每一块的颜色(列表);
#shadow参数为布尔值,设置是否绘制阴影
#startangle参数设置饼图起始角度
3.1 给每一块设置标签
arr=[2,4,6]
plt.pie(arr,labels=['a','b','c'])

3.2 给标签设置离中心的距离
arr=[2,4,6]
plt.pie(arr,labels=['a','b','c'],labeldistance=0.5)

3.3 数值表示每块的占比,并设置占比离中心的距离
arr=[2,4,6]
plt.pie(arr,labels=['a','b','c'],labeldistance=0.5,autopct='%.2f%%',pctdistance=0.8)

3.4 设置每块顶点离中心的距离
arr=[2,4,6]
plt.pie(arr,labels=['a','b','c'],labeldistance=0.5,autopct='%.2f%%',pctdistance=0.8,explode=[0.2,0.4,0.3])

八、散点图
散点图需要两个参数x,y,但此时x不是表示x轴的刻度,而是每个点的横坐标!
scatter()
x = np.random.random(size=(100))
y = np.random.random(size=(100))
plt.scatter(x,y)

1,meshgrid()和散点图结合扩展
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np x1=np.arange(1,5,0.01)
y1=np.arange(1,5,0.01) arr1=np.meshgrid(x1,y1)[0]
arr2=np.meshgrid(x1,y1)[1] plt.scatter(arr1,arr2)

数据分析之matplotlib.pyplot模块的更多相关文章
- matplotlib.pyplot 导引
matplotlib.pyplot 是采用 python 语言和使用数值数学库 numpy 数组数据的绘图库.其主要目标是用于数据的可视化显示. 输出图形组成 matplotlib.pyplot 模块 ...
- python matplotlib.pyplot对图像进行绘制
imshow()是对图像进行绘制 imshow()函数格式为: matplotlib.pyplot.imshow(X, cmap=None) X: 要绘制的图像或数组. cmap: 颜色图谱(colo ...
- python数据分析三剑客之: matplotlib绘图模块
matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 - x轴和y轴 axis 水平和垂直的轴线 - x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括 ...
- 数据分析之Matplotlib和机器学习基础
一.Matplotlib基础知识 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 通过 Matplotlib,开发者可以仅需 ...
- Matplotlib.pyplot 常用方法
1.介绍 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图 ...
- Python基础-画图:matplotlib.pyplot.scatter
转载自博客:https://blog.csdn.net/qiu931110/article/details/68130199 matplotlib.pyplot.scatter 1.scatter函数 ...
- python matplotlib.pyplot画矩形图 以及plt.gca()
plt的Rectangle参数: 第一个参数是坐标(x,y),即矩形的画图的起点坐标,这个起点坐标不是一味地从左下角开始画,而是对应整个图中坐标原点,即(0,0). 第二个参数是矩形宽度 第三个坐标是 ...
- Python库导入错误:ImportError: No module named matplotlib.pyplot
在Python中导入matplotlib.pyplot时出现如下错误: 在Windows操作系统下解决办法为: 打开命令提示符(按快捷键Win+r ,输入“cmd",回车),输入以下指令即可 ...
- 【Python开发】使用pyplot模块绘图
快速绘图 使用pyplot模块绘图¶ matplotlib的pyplot模块提供了和MATLAB类似的绘图API,方便用户快速绘制二维图表.我们先看一个简单的例子: 05-matplotlib/mat ...
随机推荐
- java技术树+必读书籍
引子 本篇文章用技术树的形式来展示java相关技术栈.所有技术点有博客的都自带链接,没有的后续加上. 必读书籍推荐: 1.java基础: <effective java>-->四星推 ...
- java 基本类型包装类,system类,Math类,Assrays类,大数据运算
实现字符串与基本数据之间转换 将字符串转成基本数据类型方法 例如:将字符串转成成int类型 String str ="123"; int a =Integer.parseInt(s ...
- Linux安装任意版本的dotnet环境
下载地址 https://www.microsoft.com/net/download/dotnet-core/2.1 安装符合服务器CPU架构的二进制包. 如果架构不对,会出现一下错误: -bash ...
- 从壹开始微服务 [ DDD ] 之十一 ║ 基于源码分析,命令分发的过程(二)
缘起 哈喽小伙伴周三好,老张又来啦,DDD领域驱动设计的第二个D也快说完了,下一个系列我也在考虑之中,是 Id4 还是 Dockers 还没有想好,甚至昨天我还想,下一步是不是可以写一个简单的Angu ...
- Netty4.x整合SpringBoot2.x使用Protobuf3详解
前言 本篇文章主要介绍的是SpringBoot整合Netty以及使用Protobuf进行数据传输的相关内容.Protobuf会介绍下用法,至于Netty在netty 之 telnet HelloWor ...
- c# 创建Excel com加载项图片对象批量操作
技术含量较低,主要是通过VBA代码转换成c#代码而来,从而实现图片批量插入.删除.另存为的批量操作,增加文档使用的通用性. 插件主要界面如下: 主要代码如下: private void button8 ...
- C语言超级搞笑的代码,冷笑话我们程序员也会讲的啊!
百年修得足下点击本文 欢迎来到"C语言基础"专题,今天我们放松一天,不学习知识,来看下大千世界的千奇百怪的C语言代码,你见过那些? 1.关于随机数这回事 这个随机数有点意思哦. 2 ...
- Yii2设计模式——工厂方法模式
应用举例 yii\db\Schema抽象类中: //获取数据表元数据 public function getTableSchema($name, $refresh = false) { if (arr ...
- Win64下编译集成GEOS和Proj4的GDAL
目录 1.编译GEOS 2.编译Proj4 3.GDAL集成Proj4和GEOS 1) 修改安装的目录 2) 配置Proj4 3) 配置GEOS 4) 自定义动态库名称(可跳过) 5) 编译 1.编译 ...
- phpmyadmin登陆错误:The requested URL /phpmyadmin was not found on this serve
解决方法: 首先,重新安装apache2: sudo dpkg-reconfigure -plow phpmyadmin 配置时记得选择apache2 如果仍然无法登陆,再对phpmyadmin和a ...