python数据分析-matplotlib

这篇文章展示了如何使用Python的Matplotlib库来绘制各种图形,包括散点图、极坐标图、直方图、饼图,以及如何使用GridSpec进行布局,插入文本和箭头,处理中文显示,调整图形颜色和标记,以及创建子图。
摘要由CSDN通过智能技术生成
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
import matplotlib.gridspec as gridspec
# 散点图的绘制
fig, ax = plt.subplots()  # 创建一个画布并将其作为一个画板区域使用。
ax.plot(10*np.random.randn(100),
        10*np.random.randn(100),'o')
ax.set_title("Scatter Plot")  # 设置标题。
plt.show()

# # #极坐标的绘制
# N = 20
# theta = np.linspace(0, 2 * np.pi, N, endpoint=False)
# radii = 10 * np.random.rand(N)  # radius range from 10 to 20 (inclusive)
# width = np.pi/4*np.random.rand(N)  # width range from 0.25 to 0.8 (inclusive)
# ax = plt.subplot(111, polar=True)  # theta=0..2pi, radius=0..9.9.set
# bars = plt.bar(theta, radii, width=width, bottom=0.0)  # bottom=0.0 for the first circle
# for r, bar in zip(radii, bars):
#     bar.set_facecolor(plt.cm.viridis(r / 10.0))  # set color based on radius value
#     bar.set_alpha(0.5)  # set alpha value for bar graph. 0 for solid line. 1 for white outline.
# plt.show()




# # 直方图的绘制
# np.random.seed(0) 
# mu, sigma = 100,20 #均值和标准差,100个数据,
# a = np.random.normal(mu, sigma, size=100) 
# plt.hist(a, 20, density=True, histtype='stepfilled',
#          facecolor='b', alpha=0.75)  
# plt.title('Histogram')
# plt.show()

# # 饼图的绘制
# lables = 'Frogs','Hogs','Dogs','Logs'
# sizes = [15,30,45,10] #饼图的比例
# explode = (0,0.1,0,0) # only "explode" the 2nd slice (i.e. 'Hogs')
# plt.pie(sizes,explode=explode,labels=lables,autopct='%1.1f%%',shadow=True,startangle=90) 
# plt.axis('equal') 	# Equal aspect ratio ensures that pie is drawn as a circle.
# plt.show()

# # GridSpec的使用
# gs = gridspec.GridSpec(3, 3)
# ax1 = plt.subplot(gs[0, :]) 
# ax2 = plt.subplot(gs[1, :-1]) 
# ax3 = plt.subplot(gs[1, -1]) 
# ax4 = plt.subplot(gs[2, 0]) 
# ax4 = plt.subplot(gs[2, 1])
# plt.show()

# # 在某个位置插入文本
# a = np.arange(0,5,0.02)
# plt.plot(a,np.cos(2*np.pi*a))
# plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=15,color='blue')
# plt.ylabel('纵轴:幅值',fontproperties='SimHei',fontsize=15)
# plt.title('正弦波实例,$y=cos(2\pi x)$',fontproperties='SimHei',fontsize=20)
# # #在某个位置插入文本
# #plt.text(2,1,r'$\mu=100$',fontsize=15)
# # 在某个位置插入带有箭头的文本
# plt.annotate(r'$\mu = 100$',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.1,width=2))
# plt.grid(True) #网格线显示
# plt.axis([-1,6,-2,2])
# plt.show()

# # 中文显示(1)
# matplotlib.rcParams['font.family']=['SimHei'] #用中文表述
# matplotlib.rcParams['font.size']=20 
# plt.plot([0,1,2,3,4,5],[2,8,4,7,9,4])
# plt.ylabel('纵轴')
# plt.xlabel('横轴')
# plt.axis([1,6,1,10])
# plt.show()
# 中文显示(2)
# plt.plot([0,1,2,3,4,5],[2,8,4,7,9,4])
# plt.ylabel('纵轴',fontproperties='SimHei',fontsize = 20)
# plt.xlabel('横轴',fontproperties='SimHei',fontsize = 20)
# plt.axis([1,6,1,10])
# plt.show()



# # 仅设置sans-serif字体默认字体  
# plt.rcParams['font.sans-serif'] = ['SimHei']  
# plt.figure()
# plt.xlabel('x轴')
# plt.ylabel('y轴')
# plt.title('标题')  # 用的是sans-serif字体
# # 设置所有字体的默认字体  
# plt.rcParams['font.family'] = 'SimHei'  
# plt.figure() 
# plt.xlabel('x轴')
# plt.ylabel('y轴') 
# plt.title('标题')  # 用的也是SimHei字体
# plt.show()

# #图的颜色和不同的标记
# t=np.arange(0.,5.,0.02) #0.02=tick increment
# plt.plot(t,t*1.5,'go-',t,t*2.5,'r*-.',t,t*3.5,'b3',t,t*4.5,'m--') 
# plt.show()


# #子图subplot(nrows,ncols,plot_number) 创建nrows x ncols的子图
# def f(t):    
#     return np.exp(-t) * np.cos(2 * np.pi * t)
# t = np.arange(0.0, 5.0, 0.02)
# y = f(t)
# plt.subplot(211)   # 创建一个新的格式的一行图表对象,并将其作为第一个子图
# plt.plot(t, y)
# plt.subplot(212)   # 创建一个新的格式的一行图表对象
# plt.plot(t, np.cos(2 * np.pi * t)) # 指定第二个参数为cos的参数
# plt.show()

# np.random.seed(5)
# print(np.random.rand(10))
# np.random.seed(6)
# nums = np.random.rand(10) 
# print(nums)
# np.random.seed(5)
# print(np.random.rand(10))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值