第八章课后作业

  1. 绘制以下四个函数及对应导数的函数图形。x轴从-5到5,步长为0.2;y轴自动设置。4行2列8个图,同列共享x轴。注意:Figure的名称必须为fig1不要使用plt.show, 会导致保存图像不正确。𝑒^x 采用np.exp()函数,所有数值保持小数点后6位精度

fig1,ax=plt.subplots(4,2,sharex=True)
x=np.arange(-5,5,0.2)
x=np.round(x,6)

y00_=1/(1+np.exp(-x))
y00=np.round(y00_,6)

y01_=y00*(1-y00)
y01=np.round(y01_,6)

y10_=np.tanh(x)
y10=np.round(y10_,6)

y11_=1-y10*y10
y11=np.round(y11_,6)

y20_=np.exp(-(x*x)/2)
y20=np.round(y20_,6)

y21_=(-x)*(np.exp(-(x*x)/2))
y21=np.round(y21_,6)

y30_=x
y30=np.round(y30_,6)

y31_=y00/y00#注意不能直接写1,因为1是标量,要把他变成矢量;也不能写要y30/y30,因为0不能做除数
y31=np.round(y31_,6)


ax[0][0].plot(x,y00)
ax[0][1].plot(x,y01)
ax[1][0].plot(x,y10)
ax[1][1].plot(x,y11)
ax[2][0].plot(x,y20)
ax[2][1].plot(x,y21)
ax[3][0].plot(x,y30)
ax[3][1].plot(x,y31)

 2.参考教材图形8.22,将其修改为2行1列,设置为共享x轴。

注意:注意:

  • Figure的名称为fig2
  • 不要使用plt.show, 会导致保存图像不正确。
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.patches as patches

plt.figure(figsize=(8,3))

x=np.arange(-10,10,0.1)
s=1.0/(1+np.exp(-x))

y=np.clip(x,a_min=0.,a_max=None)
fig2,ax = plt.subplots(2,1,sharex=True)
ax[0].plot(x,s,color='r')
ax[0].text(-5.0,0.9,r'$y=ReLU(x)$',fontsize=13)
ax[1].plot(x,y,color='g')
ax[1].text(-3.0,0.9,r'$y=ReLU(x)$',fontsize=13)

3.全球1960年至2017年各个国家的GDP数据gdpallyear_color_en.csv,取每年前10名的国家,绘制横向柱状图,并展示前10名的数据随年份变化而动态变化的情况。年份作为title。生成p3.gif动态图,帧率fps=5

注意:注意:

  • Figure的名称为fig3
  • 不要使用plt.show, 会导致保存图像不正确。
  • 生成图像名称为p3.gif
  • 给定的代码不能删除
  • 参考代码:
import imageio
images = []
for i in range(10):
    # draw a Figure
    plt.savefig(abspath('gdp.png'))
    images.append(imageio.imread(abspath('gdp.png')))
imageio.mimsave(abspath("p3.gif"), images, fps=5) 

import matplotlib.pyplot as plt
import pandas as pd
import imageio
import pickle
import io

images=[]
df=pd.read_csv(abspath('gdpallyear_color_en.csv'),header=None)
buf = io.BytesIO()
for year in range(1960,2018) :
    plt.cla()
    data=df[df[4]==year].head(10)[::-1]
    ax=data[3].plot(kind='barh',color=data[5])
    ax.set_yticklabels(data[1])
    ax.set_title(str(year))
    pickle.dump(plt.gca(), buf)
    plt.savefig(abspath('gdp.png'))
    images.append(imageio.imread(abspath('gdp.png')))
imageio.mimsave(abspath("p3.gif"), images, fps=5) 
​

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值