什么是数据可视化
1.用图表的形式将数据表现出来,能更直观的看到数据
2.常见的图表有:直方图、饼图、折线图、散点图等
Python中有许多的可视化库,这篇文章主要挑选了matplotlib库中常用的几个图形来举例说明。
matplotlib数据可视化
matplotlib库是python中最基础、最常用的可视化库,由于anaconda自带matplotlib库,所以就不需要pip下载包。
引入matplotlib库
import matplotlib.pyplot as plt
选择绘图函数我们以plot函数(折线图)为例
绘图函数决定了要绘制什么样的图形,我们选用plot函数进行绘图
绘图语法:
plt.plot(x,y,color,linestyle,marker.format_string)
x:是x轴数据,传入参数数值。
y:是y轴数据,传入参数数值。
color:设置图形的颜色,使用英文名或十六进制的颜色代码。
linestyle:设置线条样式,“-”是实线,“--”是虚线。
maker:设置点的样式,“*”是星号,“o”是圆点。
format——string:可以通过一串字符控制图形样式,如颜色、线条样式,点的样式等。
设置画布大小
画布类似于绘画时用的画纸,画纸的大小决定论我们图形的大小,默认的画布为白色,看不见边界。
语法:
plot.figure(figsize,...)
fingsize:接收元组,a表示画布的长,b表示画布的高。
代码示例:
plt.figure(figsize=(6,3))
plt.plot([1,4],[1,8])
图示:
图表常用设置
设置坐标轴
1.坐标轴分为x轴和y轴,内容包括坐标轴标题、刻度、范围和网格线。
2.matplotlib库中通过不同函数通知以下坐标轴的设置。
设置标题和图例
标题在画布的正上方。图例一般在表格的角落,用于描述数据的含义
标题语法:
plot.title('标题')
显示图例的语法:
plot.legend('数据标签',...)
常见的图形及其绘制方法
柱形图
特点:能够查看各项数据的大小差异
绘图函数:
plt.bar(x,height,width,...)
x:列表,表示柱子在x轴的刻度,一般是字符。
height:列表,表示柱子在y轴的刻度,为数字。
weight:表示柱子宽度。
图例:
饼图
特点:能够查看各项数据在总计中的占比情况
绘图函数:
plt.pie(x,labels,radius,...)
x:表示接收列表,里面是各个数据的值
labels:表示接收列表,里面是各个数据的标签
radius:表示接收数字,饼图的半径,默认是1
图例:
散点图
特点:能够查看两个序列数据之间的相关关系
绘图函数:
plt.scatter(x,y,s,c,marker,...)
x:x轴数据,传入一个列表序列类型数据
y:y轴数据,传入一个列表序列类型数据
s:点标记的大小
c:点标记的颜色
marker:点的样式
图例:
直方图
特点:能够查看序列数据的分布情况。数据分布:即统计序列在不同区间内数据的个数
绘图函数:
plt.hist(x,bins,...)
x:列表、序列数据
bins:统计数据分布的区间,接受一个表
图例:
箱型图
特点:可以显示出一组数据的最大值、最小值、中位数、及上下四分位数
绘图函数:
plt.boxplot(x,labels,vert,whis,...)
x:列表,序列数据,可以接收多个序列
labels:序列数据的标签,接收字符串的列表
vert:控制箱型图的方向,接收布尔值
whis:控制上下限和上下位分数之间的距离,默认为1.5
图例:
同时绘制多张图的方法
创建画布
画布函数:
plt.figure(figsize=(a,b))
figsize:设置空白画布的大小,接收一个含有两个元素的元祖,表示画布的长和宽。
注:只添加画布对象不画图是不显示图形的
增加子图
子图的区域选择函数:
plt.subplot(x,y,z)
x,y:表示将画布对象划分为x行y列,共x*y个区域。
z:表示在上述的x*y个区域中的第z个(从左到右,从上到下)区域画图。
图例:
总结
matplotlib库的优点:
- 灵活性:Matplotlib提供了丰富的绘图功能,支持各种数据可视化需求。
- 易用性:通过简单的函数调用,用户可以轻松创建复杂的图表。
- 可扩展性:支持与其他Python库(如NumPy, Pandas等)集成,进行数据处理和可视化。
- 定制性:用户可以根据需求自定义图表的样式和布局。
- 交互性:支持与用户的交互,如放大、缩小、拖动等。