利用Matplotlib画图

- 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()

利用Matplotlib画图_第1张图片

 接下来我们继续拓展:

#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()

#由于本人没有中文包,会存在乱码的问题

利用Matplotlib画图_第2张图片 

 

# 常用图像绘制
    饼图
    条形图(柱状图)
    直方图
    散点图

- 饼图语法
- 运用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() 

利用Matplotlib画图_第3张图片

 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()

利用Matplotlib画图_第4张图片

 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()

利用Matplotlib画图_第5张图片

 

你可能感兴趣的:(画图,matplotlib,数据可视化,python)