pyplot基本图形(饼图、直方图、极坐标图、散点图、曲线图)的绘制

       本来是想出一个pyplot的教程记录一下,但是matplotlib这个库实在是太强大了,当然它的子库pyplot也是非常强大,所以我就写了一些常用的图形例子供大家参考使用。如果我们需要绘制更多的图形可以自行去官网或者博客查阅学习,学无止境!

1.饼图的绘制

import matplotlib.pyplot as plt

labels = 'Frogs','Hogs','Dogs','Logs' #饼图的标签
sizes = [15,30,45,10] #每个饼块的比例
explode = (0,0.1,0,0) #第二块突出

plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',\
        pctdistance=0.75,shadow=False,startangle=90)
plt.axis('equal') #饼图成圆形
plt.legend(loc=(0.8,0.8)) #显示图例
plt.savefig('饼图.png',dpi=600,bbox_inches='tight') #保存图片
plt.show() #展示图片

在这里插入图片描述

2.直方图的绘制

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0) #随机数种子
mu,sigma = 100,20 #均值和标准差
a = np.random.normal(mu,sigma,size=100) #产生具有正态分布的数组

plt.hist(a,20,density=1,histtype='bar',\
        facecolor='blue',edgecolor='black',alpha=0.7)
plt.title('Histogram') #直方图标题
plt.savefig('直方图.png',dpi=600,bbox_inches='tight') #保存图片
plt.show() #展示图片

在这里插入图片描述

3.极坐标图的绘制

import numpy as np
import matplotlib.pyplot as plt

N = 20 #数据的个数
theta = np.linspace(0.0,2*np.pi,N,endpoint=False) #等分角度
radii = 10 * np.random.rand(N) #每个角度对应的值
width = np.pi / 4 * np.random.rand(N)

ax = plt.subplot(111,projection='polar')
bars = ax.bar(theta,radii,width=width,bottom=0.0)

for r,bar in zip(radii,bars):
    bar.set_facecolor(plt.cm.viridis(r/10.))
    bar.set_alpha(0.5)
    
plt.savefig('极坐标图.png',dpi=600) #保存图片    
plt.show() #展示图片

在这里插入图片描述

4.散点图的绘制

import numpy as np
import matplotlib.pyplot as plt

fig,ax = plt.subplots() #面向对象绘制
ax.plot(10*np.random.randn(100),10*np.random.randn(100),'o')
ax.set_title('Simple Scatter')
    
plt.savefig('散点图.png',dpi=600,bbox_inches='tight') #保存图片    
plt.show() #展示图片

在这里插入图片描述

5.曲线图的绘制

import matplotlib.pyplot as plt
import numpy as np
#import matplotlib

#matplotlib.rcParams['font.family']='Kaiti'#全局字体修改
#matplotlib.rcParams['font.size']=20
a = np.arange(10)
plt.plot(a,a*1.5,'y--.',  a,a*2.5,':^',  a,a*3.5,'-*',  a,a*4.5)
plt.xlabel("横轴",fontproperties='Kaiti',fontsize=20)
plt.ylabel("纵轴",fontproperties='Kaiti',fontsize=20)
plt.savefig('test',dpi=600,bbox_inches='tight')
plt.show()

在这里插入图片描述
如有错误或者不足之处,欢迎大家留言指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

☆下山☆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值