数据可视化

数据可视化

基本概念

数据可视化是指借助于图像化的手段,清晰,快捷有效的传达与沟通信息。同事,也可以辅助用户做出相应的判断更好的去洞悉数据背后的价值。

字不如表,表不如图

观察号码的频率。每个号码出现了多少次?

matplotlib

matplotlib是用于Python的绘图库,提供各种常用图形的绘制,例如:条形图,柱形图,线图,散点图等

安装

pip install matplotlib

导入

import matplotlib as mpl
improt matplotlib.pyplot as ply

图形绘制

绘制线图

可以通过matplotlib.pyplot方法进行图形绘制

  • plot(y)
  • plot(y,“格式”)
  • plot(x,y)
  • plot(x,y,“格式”)
  • plot(x1,y1,“格式”,x2,y2,“格式”,…xn,yn,“格式n”)
import matplotlib as mpl
import matplotlib.pyplot as ply
import numpy as np

# 如果只画一个点,则无法看到该点,我们需要加上marker。
plt.plot([10],marker="o")
# 如果只有y没有x则x的默认值为0,1,2······
plt.plot([5,20], marker="o")
# 指定格式
plt.plot([5,20],"r-o")

# 我们也可以显示的指定x。(横坐标)
# x,y两个数组,对位取元素,构成一个坐标,进行绘制。
plt.plot([2,-1,5,6,8],[10,-2,6,23,10])
plt.plot([1,2],[3,4],"ro-",[4,2],[1,3],"--g<")
# 也可以分开绘制
plt.plot([1,2],[3,4],"ro-")
plt.plot([4,2],[1,3],"--g<")

# 画曲线。
x = np.linspace(0,2*np.pi,num=10)
y = np.sin(x)
plt.plot(x,y)
图形交互式设置

我们可以设置jupyter notebook图形是否交互式显示,默认为否。

  • %matploblit notebook
  • %matplotlib inline
设置中文支持

matplotlib默认情况下不支持中文显示,如果需要显示中文,则我们需要做一些额外的设置操作。

  • 全局设置
  • 局部设置
全局设置

我们可以通过执行:
mpl.rcParams[“font.family”] = “中文字体名称”
mpl.rcParams[“axes.unicode_minus”] = False
进行设置,常用的设置如下:

  • font.family 字体的名称
    • sans-serif 西文字体(默认)
    • SimHei 中文黑体
    • FangSong 中文仿宋
    • YouYuan 中文幼圆
    • STSong 华文宋体
    • Kiaiti 中文楷体
    • LiSu 中文隶书
  • fong.style 字体的风格
    • normal 常规(默认)
    • itallic 斜体
    • oblique 倾斜
  • font.size 字体的大小(默认10)
  • axes.unicode_minus 是否使用Unicode的减号(符号)【在支持中文显示状态下,需要设置为False】
局部设置

在需要显示的文字中,使用fontproperties参数进行设置。
说明:

  • 如果全局设置与局部设置冲突,以局部设置为准。
# matplotlib默认不支持中文显示,如果需要显示中文,需要将字体设置成支持中文的字体。
mpl.rcParams["font.family"] = "SinHei"
# 但是,字体设置成支持中文的字体后,负号(-)也会使用中文的符号,而中文的符号又不支持显示。
# 因此,我们将负号该成英文的负号。
mpl.rcParams["xes.unicode_minus"] = False
# 也可以设置字体的风格(对中文体没效果)
mpl.rcParams["font.style"] = "italic"
# 设置字体的大小
mpl.rcParams["font.size"] = 20 
plt.plot([1,2,3],[4,5,6])
plt.title("标题")
# 使用mpl.rcParams设置参数时,是一种全局的设置,我们也可以进行局部设置,仅对当前的绘制生效。当全局设置与局部设置冲突是,以局部设置为准。
plt.plot([-1,-2,-3],[4,5,6])
plt.title("标题",fontsize=20, fontproperties="SinHei")
保存图表

通过plt的sivefig方法将当前的图形保存到硬盘或着类文件对象中。

  • dpi:每英寸分辨率点数。
  • facecolor:设置图像的背景色。
  • bbox_inches:设置为tight,可以紧凑保存图像。
x = np.linspace(0, 2*pi, num=100)
y = np.sin(x)
plt.plot(x,y)
# 保存图像,保存到硬盘上
plt.savefig("c:/111.jpg",dpi=100,facecolor="g(或者'#ff0000')",bbox_inches="tight")
# 读取对象
# pillow
from PIL import Image
image = Image.open("c:/111.jpg")
# 使用系统默认的图像浏览工具打开图像。
image.show() 

# 保存图像,保存到类文件对象中。
from io import BytesIO
bio = BytesIO()
plt.savefig(bio)
# bio.read()
# 获取缓存区中的数据内容。 
bio.getvalue()
bio.seek(0)
bio.read()
颜色,点标记与线型设置

我们可以在绘制图形时,显式指定图形的颜色,点标记或线条形状。具体设置可以产看帮助文档。

  • color©:线条颜色。
  • linestyle(ls):线条形状
  • linewidth(lw):线宽
  • marker:点标记形状
  • markersize(ms):点标记大小
  • markeredgecolor(mec):点边缘颜色
  • markeredgewidth(mew):点边缘宽度
  • markerfacecolor(mfc):点的颜色

说明:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值