python数据可视化基础教学1

一、创建Matplotlib第一个图表

设置图表名称  plt.title()    轴 plt.xlable()、plt.ylable()

import numpy as np
import matplotlib.pyplot as plt

# 坐标轴正常显示中文,负号
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

# 绘制正弦曲线
# 数据准备
x_data=np.linspace(-np.pi,np.pi,50,endpoint=True)
y_data=np.sin(x_data)
y1_data=np.cos(x_data)

# 设置标题
plt.title('正弦曲线和余弦曲线',{'fontsize':20,'fontweight':10,'color':'red'},'left',pad=20)
# 设置轴(x轴,y轴)
plt.xlabel('x 轴',{'fontsize':16,'fontweight':10,'color':'blue'},loc='right')
plt.ylabel('y 轴',{'fontsize':16,'fontweight':10,'color':'blue'},loc='top')
# 设置刻度标签
plt.xticks(np.arange(-3,4,1),color='red',fontsize=14,rotation=45)
plt.yticks(color='blue',fontsize=14)
# 设置刻度
plt.tick_params('y',color='red')
plt.tick_params('x',color='blue')

# 面向函数绘图
plt.plot(x_data,y_data,marker='o',ms=5,mfc='r',label='正弦线')
plt.plot(x_data,y1_data,lw=3,color='c',ls='--',label='余弦线')

# 设置图例,结合plot中label参数来进行的展示,如果没有label的设置,对应图例不显示
plt.legend(loc='upper left')

# 显示数据值,定位:x,y    显示的值:y     plt.text()
for i in zip(x_data,y_data):
    plt.text(i[0],i[1],np.around(i[1],2))

# 网格
plt.grid(True,linestyle='--',color='#8B8B7A',linewidth='1')
plt.grid(True,linestyle='-.',color='#00FFFF',linewidth='1',axis='y')
plt.grid(True,linestyle='-',color='#FF8247',linewidth='1',axis='x')

输出结果:

 图例 legend()
 

图例是集中于图形一角或一侧的各种符号,对图形内容或指标的说明,有助于图形更好的解释说明

 

plt.plot(x_data,y_data,marker='o',ms=5,mfc='r',label='正弦线')
plt.plot(x_data,y1_data,lw=3,color='c',ls='--',label='正弦线')
plt.legend(loc='upper left')

 输出结果:

显示网格:plt.grid()

plt.grid(True,linestyle='--',color='gray',linewith='0.5',axis='x')

 

plt.plot(x_data,y_data,marker='o',ms=5,mfc='r',label='正弦线')
plt.plot(x_data,y1_data,lw=3,color='c',ls='--',label='正弦线')
plt.grid(True,axis='y')

输出结果:

 提升

# 获取当前坐标轴
ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['left'].set_position(('axes',0.5))
ax.spines['bottom'].set_position(('data',0.0))
plt.plot(x_data,y1_data,lw=3,color='c',ls='--')

 输出结果:

二、Matplotlib创建图形对象

        在Matplotlib中,面向对象编程的核心思想是创建图形对象(figure object)。通过图形对象来调用其它的方法和属性,这样有助于我们更好地处理多个画布。在这个过程中,pyplot负责生成图形对象,并通过该对象来添加一个或多个axes对象(即绘图区域)。
Matplotlib提供了matplotlib.figure图形类模块,它包含了创建图形对象的方法。通过调用pyplot模块中 figure()函数来实例化figure对象

        

figure()的参数:

plt.figure(
    num=None,    -----图像编号或名称,数字为编号,字符串为名称
    figsize=None, -----指定figure的宽和高,单位为英寸
    dpi=None,    -----设置绘图对象的分辨率,缺省值为72
    facecolor=None,----背景颜色
    edgecolor=None,----边框颜色
    frameon=True,  -----是否显示边框
    **kwargs,
    )

代码案例

#导入第三方库
import matplotlib.pyplot as plt
import numpy as np

# 创建图形对象
fig=plt.figure()

# 创建指定大小和分辨率的图形对象
fig=plt.figure('f1',figsize=(6,4),dpi=100)
plt.plot()

 输出结果:

 

# 创建指定大小和分辨率的图形对象
fig=plt.figure('f1',figsize=(6,4),dpi=100,linewidth=2,edgecolor='#FFA54F',facecolor='#98F5FF',frameon=True)
plt.plot()

输出结果:

 三、单子图

单子图的绘制
subplot()  函数,可以均等的划分画布
plt.subplot(row,col,index,title,xlabel) - - - 返回的是Axes对象
调整子图之间的间距
plt.tight_layout()

代码实现如下:

import numpy as np
import matplotlib.pyplot as plt


plt.subplot()

plt.rcParams['figure.figsize']=(6,4)
plt.rcParams['figure.dpi']=100
plt.rcParams['figure.facecolor']='#DCDCDC'
plt.rcParams['font.sans-serif']='SimHei'  #实现中英文输入问题


# 将画布划分为2行1列的多子图,使用第一个子图
ax1=plt.subplot(211,title='pic1',xlabel='x 轴')
ax1.patch.set_alpha(0.5)
plt.plot(range(50,70),marker='o')
plt.grid()

# 将画布划分为2行1列的多子图,使用第二个子图
plt.subplot(212,title='pic2',xlabel='x 轴')
plt.plot(np.arange(12)**2)

# 设置子图之间的间隔
plt.tight_layout(pad=0.5)

输出结果如下:

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值