Python数据可视化学习笔记(一)

Python数据可视化学习笔记(一)

	今天在读芯术上学习了Python数据可视化的第一节,主要内容是Matplotlib基础和折线图,散点图。
	Matplotlib是Python最著名的绘图库,它提供了一整套和MATLAB相似的命令API。它的文档相当完备,并且Gallery页面上有上百幅缩略图,打开之后有源代码,可以复制,修改参数来绘制某类型的图。(matplotlib.org/gallery/index.html)
	Matplotlib.pyplot是绘制各类可视化图形的命令字库,相当于快捷方式。
1、快速绘图:
	①导入快速绘图的库函数
import matplotlib.pylot as plt
	②用figure创建一个绘图对象,并使之成为当前绘图对象
plt.figure(figsize=( , ))
		通过figsize参数可以确定绘图对象的宽度和高度,注意单位是英寸,dpi参数指定绘图对象的分辨率,缺省值为80
	如果需要同时绘制多幅图表的话,,可以给figure传递一个整数参数指定图标的序号,如果所制定的绘图对象已经存在的话,将不再创建新的对象,而是让它成为当前的绘图对象。
		plot函数可以使用关键字参数制定各种属性:
		label:给所绘制的曲线一个名字,此名字在图示(legend)中显示。在字符串前后加		上“$”符号,matplotlib就会使用其内嵌的latex引擎绘制数学公式。
		color:指定曲线的颜色
		linewidth:指定曲线的宽度
		参数“b--”指定曲线的颜色和类型
		通过函数设置绘图对象的各个属性:
		xlabel/ylabel:设置X轴/Y轴文字(当文字中包含中文时要到入库函数:font_manager)
		title:设置图标的标题
		ylim:设置Y轴的范围
		legend:图例图示
		plt.show():显示创建的所有绘图对象
		可以调用plt,savefig()将当前的figure对象保存成图像文件,图像格式由文件扩展名决定。例:
plt.savefig("test.png",dpi=120)
		例题实现:
		画sin(x)和cos(x**2)的曲线
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,10,500)
#linspace(x, y, n)产生x和y之间等间隔的n个数,如果n = 1,返回结果为y
y=np.sin(x)
z=np.cos(x**2)

plt.figure(figsize=(8,6))
plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
plt.plot(x,z,"b--",label="$cos(x**2)$")
plt.xlabel("Time(s)")
plt.ylabel("Vlot")
plt.title("PyPlot First Example")
plt.ylim(-1.2,1.2)
plt.legend
plt.show()
		结果如下:

Python数据可视化学习笔记(一)_第1张图片
pyplot基础图标函数:
plt.plot(x,y,fmt,…):绘制一个坐标图
plt.boxplot(data,notch,position):绘制一个箱型图
plt.bar(left,height,width,bottom):绘制一个柱形图
plt.barth(width,bottom,left,height):绘制一个横向条形
plt.polor(theta,r):绘制极坐标图
plt.pie(data,explode):绘制饼状图
plt.psd(x,NFFT=256,pad_to,Fs):绘制功率谱密度图
plt.cohere(x,y,NFFT=256,Fs):绘制X-Y的相关性函数
plt.scatter(x,y):绘制散点图,其中x和y长度相同
pyplot的绘图区域:
plt.subplot(nrows,ncols,plot_number)。使用该函数时要指明行,列,第几个。
2、折线图
折线图通常用来表示数据随时间或有序类别变化的趋势。
最简单的示例图:

import matplotlib.pylab as plt
data=[1,2,3,4,5,6,7,8,4,3,5,2]
plt.plot(data)
plt.show()

Python数据可视化学习笔记(一)_第2张图片
plot()函数的第一个参数表示横坐标数据
第二个参数表示纵坐标数据
第三个参数表示颜色、线型和标记样式
颜色常用的值有(r/g/b/c/m/y/k/w)
线型常用的值有(-/–/ : /-.)
样式标记常用的值有(./,/o/v/^/s/*/D/d/x//h/H/1/2/3/4/-/|)
实例:
绘制多条曲线、曲线颜色、线型、标记等参数设置

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

yy=[1,2,3,4,5,3,1,2,7,8]
xx=[3,5,4,1,9,3,2,5,6,3]
zz=[2,2,4,7,4,8,2,4,5,6]
plt.plot(yy,color='r',linewidth=5,linestyle=':',label='Data1')
plt.plot(xx,color='g',linewidth=2,linestyle='--',label='Data2')
plt.plot(zz,color='b',linewidth=0.5,linestyle='-',label='Data3')
plt.legend(loc=2)
plt.xlabel('X轴名称',fontproperties='simhei')
plt.ylabel('Y轴名称',fontproperties='simhei')
plt.title('折线图美化示例',fontproperties='simhei')
plt.ylim(0,10)
plt.show()

Python数据可视化学习笔记(一)_第3张图片
3、散点图:
用matplotlib.pyplot.scatter绘制散点图:matplotlib.pyplot.scatter(x,yxs,c,marker,cmap,norm,vmin,vmax,alpha,linewidths,verts,edgecolors,hold,data,data,**kwarges)
x,y组成了散点的坐标;s为散点的面积;c为散点的颜色(默认为蓝色’b’);marker为散点的标记;alpha为散点的透明度(0与1之间的数,0为完全透明,1为完全不透明);linewidths为散点边缘的线宽;如果marker为None,则使用verts的值构建散点标记;edgecolors为散点边缘颜色。
绘制普通散点图:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

#10个点
N=10
x=np.random.rand(N)
y=np.random.rand(N)
plt.scatter(x,y)
plt.show()

Python数据可视化学习笔记(一)_第4张图片
更改散点大小:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

#10个点
N=10
x=np.random.rand(N)
y=np.random.rand(N)

#每个点随机大小
s=(20*np.random.rand(N))**2
plt.scatter(x,y,s=s)

plt.show()

Python数据可视化学习笔记(一)_第5张图片
更改散点颜色、透明度:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

#10个点
N=10
x=np.random.rand(N)
y=np.random.rand(N)

#每个点随机大小
s=(20*np.random.rand(N))**2

#随机颜色
c=np.random.rand(N)
plt.scatter(x,y,s=s,c=c,alpha=0.5)

plt.show()

Python数据可视化学习笔记(一)_第6张图片
一张图绘制两张数据的散点图:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

N=10
x1=np.random.rand(N)
y1=np.random.rand(N)
x2=np.random.rand(N)
y2=np.random.rand(N)
plt.scatter(x1,y1,marker='o',label="circle")
plt.scatter(x2,y2,marker='^',label="triangle")
plt.legend(loc='best')
plt.show

Python数据可视化学习笔记(一)_第7张图片

你可能感兴趣的:(Python数据可视化学习笔记(一))