利用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画图

接下来我们继续拓展:

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画图

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

  • 饼图语法
  • 运用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函数重新调整了画布的大小

利用Matplotlib画图

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.绘制平行与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绘制参考区
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画图

Original: https://blog.csdn.net/weixin_63560982/article/details/122734120
Author: 之云401
Title: 利用Matplotlib画图

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/765700/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球