2.条形图(柱状图)
mp.bar(
x, # 水平坐标数组
y, # 柱状图高度数组
width, # 柱子的宽度
color=' ', # 填充颜色
label=' ', # 标签
alpha = 0.2 # 透明度
)
3.饼图(饼状图)
mp.pie(
values, # 值列表
spaces, # 扇形之间的间距列表
labels, # 标签列表
colors, # 颜色列表
'%d%%', # 标签所占比例格式
shadow=True, # 是否显示阴影
startangle=90, # 逆时针绘制饼状图的起始角度
radius=1 # 半径
)
4.等高线图,3D数学模型范畴
cntr = mp.contour(
x, # 网格坐标矩阵的x坐标(2维数组)
y, # 网格坐标矩阵的y坐标(2维数组)
z, # 网格坐标矩阵的z坐标(2维数组)
8, # 把等高线绘制成8部分
colors='black', # 等高线的颜色
linewidth=0.5 # 线宽
)
# 设置等高线上的高度标签文本
mp.clabel(cntr,inline_spacing=1,fmt='%.1f',fontsize=10)
# 设置颜色
mp.contourf(x,y,z,8,cmap='jet)
import numpy as np
import matplotlib.pyplot as mp
# 柱状图
apples = np.array([82,34,45,78,55,35,41,45,15,79,23,56])
oranges = np.array([56,77,45,12,47,36,47,87,99,58,25,35])
mp.figure('Bar',facecolor='lightgray')
mp.title('Bar chat')
mp.grid(linestyle=':')
x = np.arange(apples.size)
# y = np.arange(oranges.size)
mp.bar(x - 0.2,apples,0.4,color='limegreen',label='Apples',align='center')
mp.bar(x + 0.2,oranges,0.4,color='orangered',label='Orangers',align='center')
# 设置刻度
mp.xticks(x,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Seep','Oct','Nov','Dec'])
mp.legend()
mp.show()
# 饼状图
mp.figure('Pie chart',facecolor='lightgray')
# 数据
values = [26,17,21,29,11]
spaces = [0.05,0.01,0.01,0.01,0.01]
labels = ['Python','JavaScript','C++','Java','PHP']
colors = ['dodgerblue','orangered','limegreen','violet','gold']
mp.axis('equal') # 设置x与y轴等比例输出
mp.pie(values,spaces,labels,colors,'%.1f%%',shadow=True,)
mp.legend()
mp.show()
# 等高线图
n = 1000
x,y = np.meshgrid(np.linspace(-3,3,n),np.linspace(-3,3,n))
# print(x,'--x')
# print(y,'--y')
z = (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 - y**2)
# 上述代码得到二维数组x、y直接组成坐标点矩阵
# z为通过每个坐标的x与y计算而得的高度值(模拟采集的海拔高度)
# 画图
mp.figure('Contour',facecolor='lightgray')
mp.title('Contour',fontsize=16)
mp.grid(linestyle=':')
cntr = mp.contour(x,y,z,8,colors='black',linewidth=0.5)
# 设置等高线上的高度标签文本
mp.clabel(cntr,fmt='%.2f',inline_spacing=2,fontsize=8)
mp.contourf(x,y,z,8,camp='jet')
mp.show()
今天杂七杂八的在学,在写关于回归算法等的题目,真的是好难下手,知识点还在融合中,所以就慢慢来吧,今天做了几道题,稍微看了一些关于爬虫的知识。
1.页面结构介绍 new -- > html
table:表格
tr:行
td:列
ul,li:无需列表,爬虫使用场景非常多
ol,li:有序
a href:超链接
<a href="链接地址">域名</a>
2.爬虫相关概念
爬虫解释1:通过一个程序,根据url进行爬取网页,获取有用信息;
解释2:使用程序模拟浏览器,去向服务器发送请求,获取相应信息。
核心:爬取网页,解析数据。
(爬虫和反爬虫之间的博弈)
爬虫分类:通用爬虫,聚焦爬虫!!!。
反爬手段:User-Agent用户代理 代理IP 验证码访问 动态加载网页 数据加密
3.urllib库使用
4.一个类型六个方法:
一个类型 HTTPResponse
六个方法 read readline readlines getcode geturl getheaders
'''
# 使用urllib获取百度首页的源码
import urllib.request
# 1.定义一个url 即你要访问的地址
url = 'https://www.baidu.com'
# 2. 模拟浏览器向服务器发送请求 response响应
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"}
req = urllib.request.Request(url,headers=headers)
# 伪装
response = urllib.request.urlopen(req)
# 3.获取响应中的页面源
# read 方法返回的是字节形式的二进制数据
# 将二进制的数据转换为字符串,解码!!!decode('编码的格式')
content = response.read().decode('utf-8')
# 4.打印数据
print(content)
import urllib.request
url = 'https://www.baidu.com'
response = urllib.request.urlopen(url)
# 一个类型六个方法
# print(type(response)) # <class 'http.client.HTTPResponse'>
# 按照一个字节一个字节去读
# content = response.read().decode('utf-8')
# print(content)
# 返回多少个字节
# content = response.read(5)
# print(content)
# 读取一行
# content = response.readline()
# print(content)
# 一行一行读取,直到全部读取完毕
# content = response.readlines()
# print(content)
# 返回状态码 200:逻辑正确
# print(response.getcode())
# 返回的是url地址
# print(response.geturl())
# 获取一个状态信息
# print(response.getheaders())
# 一个类型 HTTPResponse
# 六个方法 read readline readlines getcode geturl getheaders
'''
# 下载
import urllib.request
# 下载网页(现在需要伪装自己才能进行爬取)
# url_page = 'https://www.baidu.com'
# # url下载路径,filename文件的名字
# urllib.request.urlretrieve(url_page,'baidu.html')
# 下载图片
# url_img = 'https://img1.baidu.com/it/u=1686563492,2568760458&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500'
# urllib.request.urlretrieve(url_img,filename='txt.jpg')
# 下载视频
# url_video = 'https://www.ixigua.com/ae897a6e-dcb5-4ee3-a008-edc4f351b541'
# urllib.request.urlretrieve(url_video,'yyds.mp4')
副业还在构思阶段,希望不要直接扑街,再集一段世间的数据先。勇敢牛牛不怕困难。