python matplotlib 之plt(精选)

第一、画分割饼状图

plt.figure(num=1)
name_list = ['A', 'B', 'C', 'D']
num_list = [10, 3, 3, 47]
colors = ['green', 'yellow', 'blue', 'red']
# 圆形
plt.figure(1, figsize=(6, 6))
#决定分割部分,及其与其它部分之间的间距
expl = [0, 0, 0, 0.1]
plt.pie(x=num_list, explode=expl, labels=name_list, autopct='%3.1f %%', colors=colors, shadow=True)
#****************************Figure8--END***********************#

效果图:

第二、函数线

plt.figure(num=2)
l1,=plt.plot(x,y,color = 'green',linewidth=1.0,linestyle='--')
l2,=plt.plot(x,y1)
plt.legend(handles=[l1,l2],labels=['one','two'],loc='best')
plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel('i am x')
plt.ylabel('i am y')

new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
plt.xticks([-1,-0.25,0.5,1.25,2,],
           [r'$really\ bad$',r'bad$',r'$normal$',r'$good$',r'$really\ good$'])
plt.yticks([-2,-1.8,-1,1.22,3,],
           [r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$'])
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
#****************************Figure2--END***********************#

效果图:

第三、标注

plt.figure(num=3,figsize=(8,5))
plt.plot(x,y,)     #线形式
# plt.scatter(x,y,)  #散点形式

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

x0 = 1
y0 = 2*x0 + 1
plt.scatter(x0,y0)
plt.plot([x0,x0],[y0,0],'k--',lw=2.5)

plt.annotate(r'$2x+1=%s$'%y0,xy=(x0,y0),xycoords ='data',xytext=(+30,-30),textcoords='offset points',
             fontsize = 16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))

plt.text(-3.7,3,r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$',
         fontdict={'size':16,'color':'r'})
#****************************Figure3--END***********************#

效果图:

第四、设置线粗

plt.figure(num=4)
plt.plot(x,y,linewidth=10)     #线形式
# plt.scatter(x,y,)  #散点形式
plt.ylim(-2,2)

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

for label in ax.get_xticklabels() + ax.get_yticklabels():
    label.set_fontsize(12)
    label.set_bbox(dict(facecolor='white',edgecolor='none',alpha=0.7))
#****************************Figure4--END***********************#

效果图:

第五、随机点分布

plt.figure(num=5)
n = 1024
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)
T = np.arctan2(Y,X)

plt.scatter(X,Y,s=75,c=T,alpha=0.5)
plt.xlim((-1.5,1.5))
plt.ylim((-1.5,1.5))
plt.xticks(())
plt.yticks(())
#****************************Figure5--END***********************#

效果图:

第六、双向条形图

plt.figure(num=6)
n=12
X = np.arange(n)
Y1 = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)
Y2 = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)
plt.bar(X,+Y1,facecolor = '#9999ff',edgecolor = 'white')
plt.bar(X,-Y2,facecolor = '#ff9999',edgecolor = 'white')

for x,y in zip(X,Y1):
    plt.text(x+0.15,y+0.05,'%.2f'%y,ha='center',va='bottom')

for x,y in zip(X,Y2):
    plt.text(x+0.15,-y-0.05,'%.2f'%y,ha='center',va='top')

    plt.xlim(-5,n)
    plt.xticks(())
    plt.ylim(-1.25,1.25)
    plt.yticks(())
#****************************Figure6--END***********************#

效果图:

第七、多窗口数据展示之多行多列

# 创建自变量数组
x = np.linspace(0, 2 * np.pi, 500)
# 创建函数值数组
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# 创建图形
plt.figure(num=7)

# 第一行第一列图形
ax1 = plt.subplot(2, 2, 1)
# 第一行第二列图形
ax2 = plt.subplot(2, 2, 2)
# 第二行
ax3 = plt.subplot(2, 1, 2)

# 选择ax1
plt.sca(ax1)
plt.plot(x, y1, 'r-.')
plt.ylim(-1.5, 1.5)  # 限定y axis

# 选择ax2
plt.sca(ax2)
plt.plot(x, y2, 'g--')
plt.ylim(-1.5, 1.5)

# 选择ax3
plt.sca(ax3)
plt.plot(x, y2, 'g--')
plt.ylim(-1.5, 1.5)
#****************************Figure7--END***********************#

效果图:

第八、多窗口数据展示之多行一列

plt.figure(num=8)
one = plt.subplot(2, 1, 1)
two = plt.subplot(2, 1, 2)
# 选择ax3  显示运动心率

plt.sca(one)
plt.xlim(xmax=11865,xmin=0)
plt.ylim(ymax=180,ymin=-10 )
plt.title(u"运动心率与静息心率对比")
plt.xlabel('时间点(time)')
plt.ylabel('心率(heartrate)')

L11=plt.axhline(y=0, color='g', linestyle='--')    #画心率最低线60
L111=plt.axhline(y=170, color='r', linestyle='--')   #画心率最高线120
plt.legend([L11,L111],['0','170'],loc='lower right')  #画出标识线

# 选择ax4  显示静态心率
plt.sca(two)
plt.xlim(xmax=11865,xmin=0)
plt.ylim(ymax=180,ymin=-10 )
# plt.title(u"静息心率")
plt.xlabel('时间点(time)')

plt.ylabel('心率(heartrate)')
L22=plt.axhline(y=50, color='g', linestyle='--')    #画心率最低线60
L222=plt.axhline(y=100, color='r', linestyle='--')   #画心率最高线120
plt.legend([L22,L222],['50','100'],loc='lower right')  #画出标识线
#****************************Figure8--END***********************#

效果图:

第九、画饼状图

plt.figure(num=9)
name_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
num_list = [33, 44, 53, 6,11, 7, 7, 10, 3, 1]
# 保证圆形
plt.axes(aspect=1)
plt.pie(x=num_list, labels=name_list, autopct='%3.1f %%')
#****************************Figure9--END***********************#

效果图:

其他相关的,待续......

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值