数据探索之-python数据可视化
前言
数据分析中的前置步骤,往往是需要充分的数据探索,在这过程中,难以避免的就是需要一定的数据可视化来帮助分析,而python matplotlib库的Pyplot模块能够提供很方便的绘图功能,其隐藏了复杂的绘图逻辑,帮助用户不用受制于绘图工具的困扰,用户可以很方面的将注意力集中在数据的探索和分析阶段。
一、基本图形绘制
1.折线图plot
import matplotlib.pyplot as plt
plt.plot([3,1,3,6,2,7,9])#如果只有一列,代表Y轴数据
plt.xlabel("x name", fontsize=10)#设置x轴的名字 设置x轴的size
plt.ylabel("y name", fontsize=10)#设置y轴的名字 设置y轴的size
plt.show()#展示图片
plt.savefig('test.jpg')#可以用savefig方法来保存结果图片,里面的参数传图片路径即可
绘图结果:
2.折线图绘制多组数据
import numpy as np
import matplotlib.pyplot as plt
t=np.arange(1,5,0.2)#造一组数据t,如从1-5,步长是0.2
plt.plot(t,t,t,t*2,t,t**2)#画三条线,每一条的x和y轴数据分别是,第一条(t,t),第二条(t,t*2),第三条(t,t**2)
plt.plot()
绘图结果:
3.散点图scatter
```python
import matplotlib.pyplot as plt
plt.scatter(range(10),[2,4,6,1,2,3,4,7,8,3])
plt.show()
绘图结果:
4.柱状图bar同理
import matplotlib.pyplot as plt
plt.bar(range(10),[2,4,6,1,2,3,4,7,8,3])
plt.show()
绘图结果:
除此之外还有很多其他图形,如饼图,直方图等。
二、根据数据特征选择合适的图形
在数据可视化中,需要根据想要描述的数据特点来选择合适的图形。例如如果想要标识数据的连续变化特点,适合使用折线图或散点图,如果想要表示每部分数据的比例或者占比情况,适合采用饼图。例如如果想表示各年龄段人群占比情况:
abels='<20','20~40','40~60','>60'#各部分的标签
size=[10,20,40,30]#各部分的数值
plt.pie(size,labels=labels)
plt.show()
绘图结果:
三、图形属性控制
绘制图形时,我们还可以通过属性控制,来优化图形显示效果,例如可以通过属性控制文字和字体属性、坐标轴和网格属性、色彩和样式、图像大小等等,下面仍然通过几个例子来展示图像属性控制效果。
1.色彩和样式
以Plot折线图为例,plot函数中,除传入x和y轴数据外,可以传入参数指定线条样式,线条颜色。
折线图绘制成绿色虚线:
import matplotlib.pyplot as plt
t=[3,1,3,6,2,7,9]
plt.plot(t,'g--')#g表示green即绿色,--表示虚线,因此可以绘制出绿色虚线
plt.show()
绘图结果:
折线图绘制成红色钻石:
import matplotlib.pyplot as plt
t=[3,1,3,6,2,7,9]
plt.plot(t,'rD')#r表示红色,D表示diamond钻石,因此可以绘制红色砖图案
plt.show()
绘图结果:
常用的符号、图案、线形控制都有哪些?
以上控制颜色和形状的符号都借鉴于matlab,下面表格里展示了我们常用的符号、图案和线形表示方式,可以通过命令:help(plt.plot)展示出的帮助信息里很方便的查看到:
命令及其运行结果如下:
2.其他属性,利用函数参数控制的属性如:
(1)颜色、线形、图例、图例位置
import numpy as np
import matplotlib.pyplot as plt
t=np.arange(1,5,0.2)
plt.plot(t,t,color='red',linestyle='--',label='Line One')#用color控制颜色,用Linestyle控制线形,用label设置图例
plt.plot(t,t*2,color='green',linestyle='-',label='Line Two')
plt.legend(loc='lower right')#loc表示图例位置,lower right表示将图例放在右下方
plt.plot()
绘图结果:
(2)加标题,横轴,纵轴
import numpy as np
import matplotlib.pyplot as plt
plt.title('this is a title')#设置图形标题
plt.xlabel('this is x zhou')#设置x轴标题
plt.ylabel('this is y zhou')#设置y轴标题
plt.plot([1,2,3,3,2,1])
plt.show()
绘图结果:
通过属性控制,能够使绘图更加美观,也可以描述出更丰富的数据信息。
总结
本章我们通过python matplotlib库提供的pyplot模块教大家如何做一些基本的可视化分析,当然这些都是可视化分析的开始,更复杂的场景和可视化还需要更深入的探究。
感谢您的阅读,如果您对博客内容感兴趣,或者希望持续获得后续关于大数据分析的系列干货知识,可微信搜索“数据分析师进阶”或扫描以下二维码关注即可。