数据可视化(基础)

1.1  线性图绘制 

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,2*np.pi,100)  # 生成一个0-2*np.pi的等差数列
y=np.sin(x)
# 绘制线型图
plt.plot(x,y)
plt.xlim(-1,10)  # 限制x的横坐标
plt.ylim(-1.5,1.5) # 限制y的纵坐标
plt.grid(color='red',alpha=0.3,linestyle='--',linewidth=6) # 网格线 ,设置网格线颜色,并且设置网格线的透明度,最后代表虚线,代表线的宽度

 1.2  查看系统自带语言

from matplotlib import font_manager  # 管理语言编码
fm=font_manager.FontManager()  # 设置字体管理对象
[font.name for font in fm.ttflist]  # 打印系统语言生成一个列表  Ctrl+f搜索字体语言

 1.3  对坐标轴进行说明

import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(9,6))  # 设置图形的尺寸
plt.plot(x,y)
plt.rcParams['font.family']='STKaiti'   # 全局设置中文字体,便于打印输出中文
plt.rcParams['axes.unicode_minus']=False  # 设置数字的负号
plt.rcParams['font.size']=28    # 设置数轴的字体大小
plt.title('正弦波',fontsize=18,color='red',pad=30)  # 设置线型图的标题,设置标题字体大小,修改标题颜色,设置标题和图标的间距
plt.xlabel('X')  # 设置x轴的标签
plt.ylabel('f(x)=sin(x)',rotation=0,horizontalalignment='right')  #设置y轴标签,实现右对齐
plt.yticks([-1,0,1])  # 设置y轴的宽度
plt.xticks([0,np.pi/2,np.pi,1.5*np.pi,2*np.pi],
          [0,r'$\frac{\pi}{2}$',r'$\pi$',r'$\frac{3\pi}{2}$',r'$2\pi$'],color='red')  #frac表示分式,前为分子,后为分母

 1.4  图例,绘制两个图形

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,2*np.pi)  # x轴
y=np.sin(x)
plt.figure(figsize=(9,6))  # 调整图片尺寸大小
plt.plot(x,y)  # 绘制线型图
plt.plot(x,np.cos(x))   # 绘制余弦线型图

# 调整图例
plt.legend(['Sin','Cos'],fontsize=18,loc='center',ncol=2,# 表示有多少列
           bbox_to_anchor=[0,1.05,1,0.2])   # 参数表示为 x y width height

 1.5  脊柱移动(坐标轴的移动)

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-np.pi,np.pi,50)
plt.rcParams['axes.unicode_minus']=False  # 设置数字负号
plt.figure(figsize=(9,6),facecolor='green')  # 设置图片尺寸,设置图片背景
plt.plot(x,np.sin(x),x,np.cos(x),color='green')  # 绘制两条线的线型图,设置全部颜色

ax=plt.gca()  # 获取当前视图
ax.set_facecolor(np.random.rand(3))  # 设置当前图片的背景填充色,随机生成不同颜色

# 右边和上面的脊柱消失
ax.spines['right'].set_alpha(0)  # 将右边框线设置透明

ax.spines['right'].set_color('white') # 去除图片右边的框线
ax.spines['top'].set_color('#FFFFFF')  # 去除图片上面的框线,FFF表示rgb的白色

# 设置下面左边脊柱位置,data表示数据,axes表示相对位置0-1
ax.spines['bottom'].set_position(('data',0))  # 移动底部的位置,0表示数值中间
ax.spines['left'].set_position(('data',0))   # 移动左边的位置,0表示数值中间

plt.yticks([-1,0,1],labels=['-1','0','1'],fontsize=18)
_=plt.xticks([-np.pi,-np.pi/2,np.pi/2,np.pi],
            labels=[r'$-\pi$',r'$-\frac{\pi}{2}$',r'$\frac{\pi}{2}$',
                   r'$\pi$'],fontsize=18)   # 设置x轴参数
plt.grid(linestyle='--',color='red')  # 设置网格线为虚线
# plt.savefig('./1.png',# 图片保存在当前路径
        #    dpi=300)   # 调整图片保存的像素,像素越高,图片越高清,jpg/png/pdf都可以进行保存

 1.6 查看系统自带颜色

import matplotlib.pyplot as plt
plt.colormaps()  # 查看系统颜色

 1.7  图像颜色的设置(风格设置)

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,2*np.pi,20)   # 20表示点的个数
y1=np.sin(x)
y2=np.cos(x)

# 设置颜色,线性,点型
plt.plot(x,y1,color='indigo',ls='-.',marker='p') # marker表示特定的形状
plt.plot(x,y2,color='#FFFFFF',ls='--',marker='o') # 十六进制表示颜色
plt.plot(x,y1+y2,color=(0.2,0.7,0.2),marker='*',ls=':') # 0-1之间也可以表示颜色
plt.plot(x,y1+2*y2,linewidth=3,alpha=0.7,color='orange')
plt.plot(x,2*y1-y2,'bo--')  # 参数连用,表示color='blue',marker='o',linestyle='--'

 1.8  多图布局

import numpy as np
import matplotlib.pyplot as plt
# f,  相当于将列表中的数据取出来
f,axes=plt.subplots(2,2)  # 一次性绘制4个子视图,必须定义两个变量接受
axes[0,0].plot(x,np.sin(x),color='red')
axes[0,1].plot(x,np.sin(x),color='green')
axes[1,0].plot(x,np.cos(x),color='blue')
axes[1,1].plot(x,np.cos(x),color='pink')

 1.9  双轴显示

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-np.pi,np.pi,50)
y=np.sin(x)
plt.plot(x,y,color='r')
plt.yticks(np.linspace(-1,1,11),color='r')

# 获取当前视图
ax=plt.gca() 
ax2=ax.twinx()  # 复制x轴,相当于两个x轴,这两个x轴是合到一起的,表示公用x轴

y2=np.exp(x)
plt.plot(x,y2,color='green')
plt.yticks(np.linspace(0,26,5),color='g')

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@苇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值