Python数据分析入门:Matplotlib绘图可视化实战指南
本文介绍Python数据分析中常用的Matplotlib可视化库。通过具体代码示例,详细讲解直方图、堆叠图、饼图、散点图、箱线图及雷达图等多种图表的绘制方法。内容涵盖参数设置、中文显示处理及数据呈现技巧,帮助读者快速掌握数据可视化基础技能。
Python数据可视化基础与Matplotlib简介
前言:
在数据分析的初始阶段,进行可视化处理是至关重要的步骤。数据可视化的核心目标在于直观地展示分析结果与设计构思,将抽象的数据测量单位性质或数量具象化,使其更易于理解。本章所使用的程序库matplotlib,是建立在Numpy基础之上的Python图形库,它同时提供了面向对象的API以及过程式风格的MATLAB API,这两种方式可以并行使用,以满足不同的编程需求。
Matplotlib常用图表绘制实战
1、
import numpy as np
import matplotlib.pyplot as plt
scores=np.random.randint(0,100,50)
plt.hist(scores,bins=8,histtype=‘stepfilled')
plt.title(‘37')
plt.show()
直方图与频率分布绘制
2、
x=np.arange(6)
y1=np.array([1,4,3,5,6,7])
y2=np.array([3,4,3,5,6,7])
y3=np.array([2,4,3,5,6,7])
plt.stackplot(x,y1,y2,y3)
plt.title(‘37')
plt.show()
堆叠面积图与饼图应用
3、
random_state=np.random.RandomState(1231241)
random_x=random_state.randn(10000)
plt.hist(random_x,bins=25)
plt.title(‘37')
plt.show()
4、
data=np.array([10,30,15,30,15])
pie_labels=np.array([‘A',‘B',‘C',‘D',‘E'])
plt.pie(data,radius=1.5,labels=pie_labels,autopct='%3.1f%%')
plt.title(‘37')
plt.show()
散点图与气泡图绘制技巧
5、
import matplotlib as mpl
mpl.rcParams[‘font.sans-serif']=[‘SimHei']
mpl.rcParams[‘axes.unicode_minus']=False
kinds=[‘购物',‘礼尚往来',‘餐饮美食',‘通信',‘生活日用',‘交通出行',‘休闲娱乐',‘其他']
money_scale=[500/1500,123/1500,400/1500,234/1500,300/1500,200/1500,100/1500,150/1500]
dev_position=[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1]
plt.pie(money_scale,labels=kinds,autopct='%3.1f%%',shadow=True,
explode=dev_position,startangle=90)
plt.title(‘37')
plt.show()
6、
num=50
x=np.random.rand(num)
y=np.random.rand(num)
plt.scatter(x,y)
plt.title(‘37')
plt.show()
箱线图与雷达图高级可视化
7、
num=50
x=np.random.rand(num)
y=np.random.rand(num)
area=(800*np.random.rand(num)**2)
plt.scatter(x,y,s=area)
plt.title(‘37')
plt.show()
8、
plt.rcParams[‘font.sans-serif']=‘SimHei'
plt.rcParams[‘axes.unicode_minus']=False
x_speed=np.arange(10,210,10)
y_distance=np.array([0.3,0.5,1,3,5,5.5,7,8,9,12,14,15.5,17.8,19,20,23,27,30,31,32])
plt.scatter(x_speed,y_distance,s=50,alpha=0.9)
plt.title(‘37')
plt.show()
环形图与多系列堆叠图示例
9、
plt.rcParams[‘font.family']= ‘SimHei'
plt.rcParams[‘axes.unicode_minus']=False
data_2018=np.array([4500,6654.5,5283.4,5107.8,5443.3,5550.6,6400.2,6404.9,5483.1,5330.2,5543,6199.9])
data_2017=np.array([4605.2,4710.3,5168.9,4767.2,4947,5203,6047.4,5945.5,5219.6,5038.1,5196.3,5698.6])
plt.boxplot([data_2018,data_2017],labels=(‘2018年',‘2017年'),meanline=True,widths=0.5,vert=False,patch_artist=True)
plt.title(‘37')
plt.show()
10、
plt.rcParams[‘font.family']= ‘SimHei'
plt.rcParams[‘axes.unicode_minus']=False
dim_num=6
data=np.array([[0.50,0.32,0.35,0.30,0.30,0.88],
[0.45,0.35,0.30,0.40,0.40,0.30],
[0.43,0.99,0.30,0.28,0.22,0.30],
[0.30,0.25,0.48,0.95,0.45,0.40],
[0.20,0.38,0.87,0.45,0.32,0.28],
[0.34,0.31,0.38,0.40,0.92,0.28]])
angles=np.linspace(0, 2 * np.pi, dim_num, endpoint=False)
angles=np.concatenate((angles,[angles[0]]))
data=np.concatenate((data,[data[0]]))
radar_labels=[‘研究型(I)',‘艺术型(A)',‘社会型(S)',‘企业型(E)',‘传统型©',‘现实型®']
radar_labels=np.concatenate((radar_labels, [radar_labels[0]]))
plt.polar(angles, data)
plt.thetagrids(angles * 180/np.pi, labels=radar_labels)
plt.fill(angles, data, alpha=0.25)
plt.title(‘37')
plt.show()
11、
data =np.array([20,50,10,15,30,55])
pie_labels=np.array([‘A',‘B',‘C',‘D',‘E',‘F'])
plt.pie(data,radius=1.5,wedgeprops={‘width': 0.7},labels=pie_labels,autopct='%3.1f%%',pctdistance=0.75)
plt.title(‘37')
plt.show()
12、
x = np.arange(1,13)
y_a = np.array([191,123,234,42,123,432,567,234,231,132,123,134])
y_b = np.array([123,143,234,242,523,232,467,334,131,332,234,345])
y_c = np.array([91,123,534,432,223,332,367,434,111,322,345,560])
plt.stackplot(x,y_a,y_b,y_c)
plt.title(‘37')
plt.show()
总结与资源指引
到此这篇关于python数据分析绘图可视化的文章就介绍到这了,更多相关python 可视化内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









