网址:【数据挖掘】2019年最新python3 数据分析与数据爬虫实战
https://www.bilibili.com/video/av22571713/?p=47
matplotlib基础 折线图-散点图
折线图/散点图
# 折线图/散点图plot
import matplotlib.pylab as pyl
import numpy as np#会用到数组
x=[1,2,3,4,8]
y=[5,7,2,1,5]
#plot(x轴数据,y轴数据,展现形式 什么图 什么颜色)
pyl.plot(x,y)#默认是折线图
#pyl.plot(x,y,"o")#o散点图
pyl.show()#要展现出来
怎么改变颜色
# 折线图/散点图plot
import matplotlib.pylab as pyl
import numpy as np#会用到数组
x=[1,2,3,4,8]
y=[5,7,2,1,5]
#plot(x轴数据,y轴数据,展现形式 什么图 什么颜色)
'''
颜色
c-cyan-青色
r-red-红色
m-magente-品红
g-green-绿色
b-blue-蓝色
y-yellow-黄色
k-black-黑色
w-white-白色
'''
#pyl.plot(x,y)#默认是折线图
pyl.plot(x,y,"oc")#o散点图
pyl.show()#要展现出来
青色的散点图 pyl.plot(x,y,"oc")
黄色的散点图`pyl.plot(x,y,“oy”)
线条样式怎么调整?
# 折线图/散点图plot
import matplotlib.pylab as pyl
import numpy as np#会用到数组
x=[1,2,3,4,8]
y=[5,7,2,1,5]
'''
线条样式
-直线
--虚线
-.点线形式
:细小的虚线
'''
pyl.plot(x,y,"--")
pyl.show()
怎么改变点的样式?
# 折线图/散点图plot
import matplotlib.pylab as pyl
import numpy as np#会用到数组
x=[1,2,3,4,8]
y=[5,7,2,1,5]
#plot(x轴数据,y轴数据,展现形式 什么图 什么颜色)
'''
点的样式
s--方形
h--六角形
H--六角形
*--星形
+--加号
x--x型
d--菱形
D--菱形
p--五角形
'''
pyl.plot(x,y,"-s")
pyl.show()
方形pyl.plot(x,y,"-s")
六角形pyl.plot(x,y,"-h")
六角形pyl.plot(x,y,"-H")
星形pyl.plot(x,y,"-*")
加号pyl.plot(x,y,"-+")
x型pyl.plot(x,y,"-x")
菱形pyl.plot(x,y,"-d")
菱形pyl.plot(x,y,"-D")
五角形pyl.plot(x,y,"-p")
如果想加标题,x y 轴的单位名字
# 折线图/散点图plot
import matplotlib.pylab as pyl
import numpy as np#会用到数组
x=[1,2,3,4,8]
y=[5,7,2,1,5]
#plot(x轴数据,y轴数据,展现形式 什么图 什么颜色)
#如果想加标题,x y 轴代表了什么
pyl.title("show")
pyl.xlabel("ages")
pyl.ylabel("temp")
pyl.plot(x,y,"-p")
pyl.show()
怎么设置x,y轴的长度,之前是自动生成的,但是可以设置。
# 折线图/散点图plot
import matplotlib.pylab as pyl
import numpy as np#会用到数组
x=[1,2,3,4,8]
y=[5,7,2,1,5]
#plot(x轴数据,y轴数据,展现形式 什么图 什么颜色)
#如果想加标题,x y 轴代表了什么
pyl.title("show")
pyl.xlabel("ages")
pyl.ylabel("temp")
pyl.xlim(0,20)
pyl.ylim(1,18)
pyl.plot(x,y,"-p")
pyl.show()
# 直方图hist
如何在同一个图有多个线段
# 折线图/散点图plot
import matplotlib.pylab as pyl
import numpy as np#会用到数组
x=[1,2,3,4,8]
y=[5,7,2,1,5]
x2=[1,2,5,6,7,8,9,34,45]
y2=[34,23,36,1,25,46,34,34,9]
#plot(x轴数据,y轴数据,展现形式 什么图 什么颜色)
#如果想加标题,x y 轴代表了什么
pyl.title("show")
pyl.xlabel("ages")
pyl.ylabel("temp")
pyl.xlim(0,50)
pyl.ylim(1,58)
pyl.plot(x,y,"-p")
pyl.plot(x2,y2)
pyl.show()
直方图
随机数
先讲一下随机数
#随机数的生成
import numpy as np
data=np.random.random_integers(1,20,100)#(最小值,最大值,生成个数)
print(data)
虽然成功了,但是不好看。
查了一下处理方式:https://blog.csdn.net/weixin_41884148/article/details/88783554
import warnings
warnings.filterwarnings("ignore", category=Warning)
#随机数的生成
import numpy as np
data=np.random.random_integers(1,20,100)#(最小值,最大值,生成个数)
print(data)
# 直方图hist
好看了。接下来将如何获得正态分布的随机数
#如何获得正态分布的随机数
data2=np.random.normal(5,2,10)#(平均数,西格玛-陡峭程度,个数)
print(data2)
#更多随机数生成参考:numpy的random模块 http://www.mamicode.com/info-detail-507676.html
直方图hist
# 直方图hist
import matplotlib.pylab as pyl
import numpy as np
data3=np.random.normal(10.0,1.0,10000)
pyl.hist(data3)
pyl.show()
正态分布的直方图。
随机的直方图
# 直方图hist
import matplotlib.pylab as pyl
import numpy as np
data3=np.random.normal(10.0,1.0,10000)
data4=np.random.random_integers(1,25,1000)
pyl.hist(data4)
pyl.show()
设置了横向的起点和重点以及间隔
# 直方图hist
import warnings
warnings.filterwarnings("ignore", category=Warning)
import matplotlib.pylab as pyl
import numpy as np
data3=np.random.normal(10.0,1.0,10000)
data4=np.random.random_integers(1,25,1000)
sty=np.arange(2,17,2)#从2到17,宽为4
pyl.hist(data4,sty)
pyl.show()
sty=np.arange(2,50,2)#从2到17,宽为4
子图
#子图
import warnings
warnings.filterwarnings("ignore", category=Warning)
import matplotlib.pylab as pyl
import numpy as np
pyl.subplot(2,2,3)#行,列,当前区域
pyl.show()
如何在子图中绘图
#如何在子图中绘图
import warnings
warnings.filterwarnings("ignore", category=Warning)
import matplotlib.pylab as pyl
import numpy as np
pyl.subplot(2,2,1)#行,列,当前区域
pyl.subplot(2,2,2)#行,列,当前区域
pyl.subplot(2,1,2)#行,列,当前区域
pyl.show()
#如何在子图中绘图
import warnings
warnings.filterwarnings("ignore", category=Warning)
import matplotlib.pylab as pyl
import numpy as np
pyl.subplot(2,2,1)#行,列,当前区域
x1=[1,2,3,4,8]
y1=[5,7,2,1,5]
pyl.plot(x1,y1)
pyl.subplot(2,2,2)#行,列,当前区域
x2=[1,2,5,6,7,8,9,34,45]
y2=[34,23,36,1,25,46,34,34,9]
pyl.plot(x2,y2)
pyl.subplot(2,1,2)#行,列,当前区域
x3=[1,2,5,7,8,9,45]
y3=[34,23,1,25,34,34,9]
pyl.plot(x3,y3)
pyl.show()
其他的可以参考这个python—matplotlib数据可视化实例注解系列-----之柱状图
读取和讯博客的数据并可视化分析
额,我没有和讯博客的数据,那我先用京东的数据凑合下,刚才在网上转了下,看到一个和我看的视频一样的朋友写的博客,他写的代码比我的整齐,把链接放在这里吧,如果要整体看的话,可以看一下他的。Python数据分析与挖掘(一)
#读取和讯博客的数据并可视化分析
import matplotlib.pylab as pyl
import numpy as np
import pandas as pda
data=pda.read_csv("E:/FHLAZ/sql_document/jdshop.csv",encoding='ANSI')
data.shape#可以获得行列
data.values#[第几行][第几列]
data.values[0]
data.values[0][0]
data2=data.T
data2.values[2]#如果想要第3列,可以先转置,然后要第3行的
#读取和讯博客的数据并可视化分析
import matplotlib.pylab as pyl
import numpy as np
import pandas as pda
data=pda.read_csv("E:/FHLAZ/sql_document/jdshop.csv",encoding='ANSI')
data.shape#可以获得行列
data.values#[第几行][第几列]
data.values[0]
data.values[0][0]
data2=data.T
x1=data2.values[2]#如果想要第3列,可以先转置,然后要第3行的
y1=data2.values[2]#其实这里的x和y是和讯博客的评论数和阅读数,但是我没有,先这样凑合下,
pyl.plot(x1,y1)
pyl.show()
图形是老师视频里面的截图,我真的无能为力了,还是要能看懂一下的图形。
接下来画了一个横轴为id,纵轴为阅读数的图,原理一样,代码我就不写了,图是这个
我们可以根据图来很好的分析一下数据,id和阅读数的关系,发现在中间基本上没有
这个图是横轴是id,纵轴是评论数,发现在中间也没有。
基本上阅读数和评论是是有关系的。
这个基本上就是简单的分析了一下。
作业:导入爬下来的京东商品数据,并进行可视化分析。横轴-商品价格,纵轴-评论数。并作直方图分析和折线图分析。
这个我缺少评论数据,我就不做了,而且导入数据什么的,我刚才也是用的进洞数据,具体怎么做感觉和上面差不多。继续。