1.创建一个2行1列的绘图区并在第1行第1列绘制函数f(x)=x2 的曲线图(x的取值范围[-1,1]),在第2行第1列绘制函数f(x)=1/x的曲线图(x的取值范围[0,1]),效果如图2.9.1所示。

import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.sans-serif'] = ['SimHei']plt.subplot(211,title='平方曲线')
x = np.linspace(-1, 1)
y = x**2
plt.ylim(0, 1)
plt.plot(x, y)plt.subplot(212, title='倒数曲线')
x = np.linspace(0, 1)
y = 1/x
plt.xlim(0.05, 0.95)
plt.ylim(0, 10)
plt.plot(x, y)plt.subplots_adjust(hspace = 0.5)plt.show()

2.调用scatter函数绘制正弦函数的曲线,请在曲线中添加一个表示XY的轴线,并在X轴方向输出刻度标记文本,效果如图2.9.2所示。 提示:利用plot函数绘制直线,然后在合适位置显示标记字符。

import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.sans-serif'] = ['SimHei']x = np.linspace(-np.pi,np.pi,63)
y = np.sin(x)
plt.xlim(-4,4)
plt.ylim(-1.25,1.25)colors = [plt.cm.tab10(i%10/10.0) for i in range(len(x))]for i in range(len(x)):plt.scatter(x[i],y[i],color=colors[i],marker='*')
plt.title('Sin函数曲线')plt.plot([-4,4],[0,0],'b')
plt.plot([0,0],[-1.25,1.25],color='orange')plt.text(0.1,1.1,'Y')
plt.text(-3.4,-0.1,'-pi')
plt.text(3.3,-0.1,'pi')
plt.text(0.2,-0.1,'0')
plt.text(3.8,-0.1,'X')plt.show()

3.调用bar()函数绘制教材部分例8.6中的图像直方图效果,图像文件可以自己任意指定。

import numpy as np
import matplotlib.pyplot as plt
from PIL import Imageim = np.array(Image.open(r"lena.png"))n = int(im.size/3)
hd = [0]*n
row = im.shape[0]
col = im.shape[1]for i in range(row):for j in range(col):v = im[i,j,0]*0.299+im[i,j,1]*0.587+im[i,j,2]*0.114hd[i*row+j] = vplt.hist(hd,256,color='k')
plt.show()

4.绘制一个心形图案, 参考数学函数为ρ=a(1-sinθ) (θ的取值范围[0,2]),x=pcosθ,y=psinθ,在直角坐标系上的绘制图案效果如图2.9.3(a)所示,在极坐标中的绘制效果如图2.9.3(b)所示。 提示:极坐标绘制函数参考格式:plt.polar(theta,p)

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']theta = np.linspace(0,2*np.pi)
a = 1
p = a*(1-np.sin(theta))
plt.polar(theta,p)plt.show()x = p*np.cos(theta)
y = p*np.sin(theta)plt.plot(x,y,color='r')
plt.title('心形曲线-直角坐标系')
plt.show()

5. 绘制一个饼图,显示你每个月各项消费支出的比例,消费支出主要包括:学习用品、日常用品、伙食费、通讯费、娱乐费和其他开支。

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']persent = [0.08,0.23,0.45,0.05,0.15,0.04]
labels = ['学习用品','日常用品','伙食费','通讯费','娱乐费','其他开支']plt.pie(persent,autopct="%.1f%%",labels=labels)
plt.title('每月各项消费支出比例')plt.show()

6.读取“三国人名汇总.txt”中的人物名字,读取“三国演义.txt”的全部内容,先统计所有人物的名字在书本中出现的次数,并对出现次数超过100次的人物绘制一个柱状图,然后根据人物的词频大小绘制一个三国人名的词云图,效果如图2.9.4所示。(数据文件下载链接:https://pan.baidu.com/s/1b81lMIx3In-V64vs7bsHkw,提取码:jg41)

import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud
from PIL import Image
import numpy as npplt.rcParams['font.sans-serif'] = ['SimHei']fp1 = open(r'三国人名汇总.txt',"r",encoding="ANSI")
fp2 = open(r'三国演义.txt',"r",encoding="ANSI")lines = fp1.readlines()names = []
num = []
for line in lines:line = line.strip('\n')line = line.split(" ")for name in line:names.append(name)f = fp2.read()
book = jieba.lcut(f)for i in names:n = 0for j in book:if i==j:n = n+1num.append(n)m = []
l = []for k in range(len(num)):if num[k]>100:m.append(names[k])l.append(num[k])plt.bar(m,l)plt.show()words = " ".join(names)mask = np.array(Image.open(r"sg.png"))
wordcloud = WordCloud(font_path='C:/Windows/Fonts/simhei.ttf',prefer_horizontal=0.99,mask=mask,background_color="white",max_words=100,max_font_size=30).generate(words)plt.imshow(wordcloud)fp1.close()
fp2.close()

7.神经网络模型在训练过程中将显示每一个训练回合所用的时间、训练集上的损失值、训练集上的准确率、验证集上的损失值和验证集上的准确率,把这些数据保存到变量history,训练结束后对这些数据进行分析,图2.9.5显示了前面5个回合的训练数据。  图2.9.5 神经网络模型训练过程 现将50个训练回合产生的数据写入到文件Epoch.txt中。用记事本中打开Epoch.txt,前面5行数据的显示结果如图2.9.6所示,其中第1列为训练集的损失值,第2列为训练集的准确率,第3列为验证集上的损失值,第4列为验证集上的准确率。  131  图2.9.6 训练产生的部分数据 下面请读入Epoch.txt文件中的数据,可视化显示训练集与验证集的准确率及损失值的变化趋势,可视化显示的结果将有助于判别本次训练的神经网络模型其拟合情况,输出结果如图2.9.7所示。(Epoch.txt文件的下载链接为https://pan.baidu.com/s/1KukeCMtSkAhzgDsRVbtwzg,提取码为:iqjy)

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']fp = open(r"epoch.txt","r",encoding="utf-8")
lines = fp.readlines()
loss,acc,val_loss,val_acc = [],[],[],[]
for line in lines:line = line.strip('\n')line = line.split('\t')loss.append(float(line[0]))acc.append(float(line[1]))val_loss.append(float(line[2]))val_acc.append(float(line[3]))x = np.array([i for i in range(1,51)])
y1 = np.array(acc)
y2 = np.array(val_acc)
y3 = np.array(loss)
y4 = np.array(val_loss)plt.figure(1)
plt.title('训练集和验证集的准确率')
plt.xlabel('训练轮数')
plt.ylabel('准确率')
plt.scatter(x,y1,color='cyan',label='训练集准确率')
plt.plot(x,y2,color='r',label='验证集准确率')
plt.legend(loc='lower right')plt.figure(2)
plt.title('训练集和验证集的损失值')
plt.xlabel('训练轮数')
plt.ylabel('损失值')
plt.scatter(x,y3,color='b',label='训练集损失')
plt.plot(x,y4,color='r',label='验证集损失')
plt.legend()plt.show()

同济大学Python程序设计基础 实验九:数据可视化相关推荐

  1. python编译程序输入上网时间并计算上网费用 计算方法_同济大学Python程序设计基础 实验三:选择结构...

    实验三 第一题 1.求一元二次方程的根. 要求:输入一元二次方程的三个系数a.b.c,根据系数值,可得出如下三种根: (1)△>0,两个实根 (2)△=0,重根,即相同根 (3)△<0,无 ...

  2. python程序设计基础 实验五

    ⭐python实验专栏,欢迎订阅与关注! ★观前提示:本篇内容为python程序设计实验,代码内容经测试没有问题,但是可能会不符合每个人实验的要求,因此以下内容建议仅做思路参考. 一.实验目的 (1) ...

  3. python程序设计基础 实验四

    ⭐python实验专栏,欢迎订阅与关注! ★观前提示:本篇内容为python程序设计实验,代码内容经测试没有问题,但是可能会不符合每个人实验的要求,因此以下内容建议仅做思路参考. 一.实验目的 (1) ...

  4. 2021大数据1班《Python程序设计基础》学生学期总结

    文章目录 1.雷云腾 2.曾文浩 3.王春元 4.余星舟 5.杜俊枫 6.刘凡榕 7.张泽杰 8.文雅兰 时光飞逝,一学期又接近尾声.本期给2021级大数据1班上Python程序设计基础,也是本人第二 ...

  5. Python文件操作与matplotlib数据可视化案例一则

    问题描述: 某商场开业三个月后,有顾客反应商场一楼的手机信号不好,个别收银台有时无法正常使用微信支付或支付宝,商场内也有些位置无法正常使用微信.为此,商场安排工作人员在不同位置对手机信号强度进行测试以 ...

  6. 非计算机专业《Python程序设计基础》教学参考大纲

    <Python程序设计基础> 教  学  大  纲 目   录 一. 课程简介 二. 教学目的和要求 三. 教学中应注意的问题 四. 教学内容 五. 教学课时分配 六. 教材与参考书目 一 ...

  7. Python程序设计基础教学大纲

    转载网址:https://mp.weixin.qq.com/s?__biz=MzI4MzM2MDgyMQ==&mid=2247486738&idx=1&sn=c56247741 ...

  8. python编程基础与应用-Python程序设计基础与应用

    图书简介 配套资源:部分全彩印刷.电子课件.教学大纲.习题答案.源代码 本书特色: ★知名Python教育者董付国老师新作. ★言简意赅,案例丰富,配套资源超全部分内容全彩呈现. ★本书全部代码适用于 ...

  9. python程序设计基础与应用 机械工业出版社_Python程序设计基础与应用

    图书简介 配套资源:部分全彩印刷.电子课件.教学大纲.习题答案.源代码 本书特色: ★知名Python教育者董付国老师新作. ★言简意赅,案例丰富,配套资源超全部分内容全彩呈现. ★本书全部代码适用于 ...

最新文章

  1. Hibernate @OneToMany 及 @Cascade级联操作
  2. myeclipse导入maven工程
  3. 字典树(Trie树)
  4. [SDWC2018 Day1]网格
  5. 微软MVP张善友告诉你,微服务选型要注意这些地方
  6. 从mysql向HBase+Phoenix迁移数据的心得总结
  7. Python协程--生成器(实现多任务)
  8. [前台]---图片上传和校验
  9. 极光推送指定用户推送_App用户都睡着了?是时候用推送和活动唤醒一波了!
  10. android之阴影效果
  11. 小技巧:如何在 js 中使用 apply 语法执行 new?
  12. 用 “普通话” 讲算法之 VIBE算法
  13. 彻底理解线性代数; 特征值,特征向量; 线性代数的本质 矩阵的逆矩阵的实质: 行列式值为0的实质: Essense Of Linear Algebra的理解
  14. 2019腾讯广告算法大赛
  15. 抖音上热门技巧内容讲解,百万营销干货分享!
  16. Ai实现毛茸茸的字体
  17. 人工智能 感情 自我意识
  18. Flink sql:Table sink doesn‘t support consuming update and delete changes which is produced by node
  19. Android学习笔记三
  20. pod的调度策略、定向调度、亲和性调度、污点、容忍污点

热门文章

  1. HTML5篇学习笔记
  2. 码教授送你的毕业季礼物
  3. 模糊数学学习笔记 6:模糊综合评判
  4. 多媒体计算机是指安装了什么部件的,多媒体计算机是指安装了什么的计算机
  5. 表情包可视化编辑、生成配置信息数据工具
  6. You may need an additional loader to handle the result of these loaders.
  7. iTunes备份到电脑F盘
  8. thinkcmf5.1项目实现pc端和wap手机端自动切换
  9. 如何查看谷歌网页端保存的密码以及查看xshell连接中的密码
  10. 秘密共享(Secret Sharing,SS)