- Matplotlib绘图基础
plt.plot(x,y,ls=,lw=,c=,marker=,markersize=,markeredgecolor=,markerfacecolor=,label=)
- x:x轴上的数值
- y:y轴上的数值
- ls:折线的风格('-','--','-,','(点画线):(实点线)')
- lw:线条宽度
- c:颜色
- marker:线条上点的形状
- markersize:线条上点的形状的大小
- markeredgecolor:点的边框色
- markerfacecolor:点的填充色
- label:文本
首先导入要用的库:
import numpy as np
import matplotlib.pyplot as plt#matplotlib中的一个模块(内有很多函数)
import pandas as pd#利用pandas读取数据
import seaborn as sns
%matplotlib inline#为了让图像完全展示出来
现在来绘制简单的sin图形:
x = np.linspace(0,100,1000)#创建等差数列 初始为0 终止为100 共有1000个元素
y = np.sin(x)
plt.plot(x,y,c='red',lw=2,ls='-')
plt.show()
接下来我们继续拓展:
#plt.rcParams['font.sans-serif']=['SimHei']
#plt.rcParams['axes.unicode_minus'] = False #解决中文乱码和未知图标
plt.plot(x,y,ls='-',marker='o',markersize=1,c='red',markeredgecolor='blue',markerfacecolor='black',label='x和y的关系')
plt.legend(loc='upper center')#展示图例,loc=表示位置
plt.show()
#由于本人没有中文包,会存在乱码的问题
# 常用图像绘制
饼图
条形图(柱状图)
直方图
散点图
- 饼图语法
- 运用pie模块实现
pie(x=,explode=,label=,colors,autopct=,pctdistance,shadow,startangle,radius,wedgeprops,textprops,center)
--label:标签
--colors:颜色
--autopct:百分比
autopct=’%.1f%%’
--pctdistance:百分比标签与圆心距离
pctdistance=数字
--shadow:是否添加饼图阴影效果
shadow=True/False
--startangle设置饼图的初始拜访角度
startangle=数字
--radius:设置饼图半径大小
radius=数字
--counterclock是否逆时针呈现
counterclock=False/True
--wedgeprops:设置饼图内外边界的属性
wedgeprops={‘linewidth’:数字,’edgecolor’:’颜色’}
--textprops:设置饼图中文本属性
textprops{‘fontsize’:数字,‘color’:’颜色’}
--center:设置中心位置
- 条形图语法
- bar(x,y,width,bottom,color,linewidth,tick_label,align)
--x:指定x轴上数值
x=数据
-y:指定y轴上数值
y=数据
--width:指定条形图宽度
width=数字
--color:条形图的填充色
--edge:条形图的片框色
--bottom:百分比标签与圆心距离
--linewidth:条形图边框宽度
--tick_label:条形图的刻度标签
tick_labeld=参数
--align:指定x轴上的对齐方式
align=‘center‘/‘left’/‘right’-
直方图语法
plt.hist(x,bins,range,normed,cumilative,bottom,align,rwidth,color,edgecolor,label)
- x:数据
- bin:条形个数
- range:上下界
- normed:是否将频数转换成频率
- cumulative:是否计数累积频率
- bottom:为直方图的每个条形添加基准线,标准为0
- align:对齐方式
- rwidth:条形的宽度
- color:颜色
- edgecolor:设置直方图边框色
- label:设置直方图标签
- 散点图语法(一般用来展示2个连续型变量的的关系,可用来判断两个变量间是否存在线性关系或其他的关系)
- plt.scatter(x,y,s,c,marker,cmap,norm,alpha,linewidths,egdecolors)
- x:x轴数据
x=数据
- y:y轴数据
y=数据
- s:散点大小
- c:散点颜色
- marker:散点图形状
- cmap:指定某个colormap值,该参数一般不用,用默认值
- linewidth:散点边界线的宽度
- alpha:散点的透明度
- linewidths:散点边界线的宽度
- egdecolors:设置散点边界线的颜色
数据的读取用pandas#其他属性的添加
- frontsize:变迁大小 pad:标签距离
- plt.xlabel(‘标签名字’,fontsize=数字,xlabelpad=数字)
- plt.ylabel(‘标签名字’,fontsize=数字,xlabelpad=数字)
- plt.title(‘标题名字’,pad=数字,frontsize=数字)
- plt.show()
# 图形设置参数
1.设置图像大小
当你作出图像后觉得大小尺寸不好
用fig= plt.gcf()#返回当前图像并且赋值给fig
fig.set_size_inches(18.5,10.5)
plot.show()
例如:
x = np.linspace(0,100,1000)#创建等差数列 初始为0 终止为100 共有1000个元素
y = np.sin(x)
plt.plot(x,y,c='red',lw=2,ls='-')
fig= plt.gcf()
fig.set_size_inches(185,15)
plt.show()#用 fig.set_size_inches函数重新调整了画布的大小
2.设置网格线
plt.grid(ls=’—’,c=’darkblue’)
plt.show()
x = np.linspace(0,100,1000)#创建等差数列 初始为0 终止为100 共有1000个元素
y = np.sin(x)
plt.plot(x,y,c='red',lw=2,ls='-')
plt.grid(ls='-',c='darkblue')
plt.show()
3.绘制平行与x轴和y轴的参考线
plt.axhline(y=y轴上的一个数值,ls=,c=,lw=)
plt.axvine(x=x轴上的一个数值,ls=,c=,lw=)
x = np.linspace(0,100,1000)#创建等差数列 初始为0 终止为100 共有1000个元素
y = np.sin(x)
plt.plot(x,y,c='red',lw=2,ls='-')
plt.axhline(y=0.75,ls='--',c='red',lw=3)
plt.axvline(x=20,ls='--',c='red',lw=3)
plt.show()
4绘制参考区
plt.axvspan(xmin=,xmax=,facecolor=)
plt.axhspan(xmin=,xmax=,facecolor=)
x = np.linspace(0,100,1000)#创建等差数列 初始为0 终止为100 共有1000个元素
y = np.sin(x)
plt.plot(x,y,c='red',lw=2,ls='-')
plt.axvspan(xmin=40,xmax=60,facecolor='y')
plt.axhspan(ymin=0.75,ymax=1.00,facecolor='b')
plt.show()