基本语法:
plt.scatter(x,y)
import numpy as np
import matplotlib.pyplot as plt
height=[161,170,182,175,173,165]
weight=[50,58,80,70,69,55]
plt.scatter(height,weight)
# 显示数据图
plt.show()
N=1000
x=np.random.randn(N)
y1=np.random.randn(len(x))
plt.scatter(x,y1)
plt.show()
y2=x+np.random.randn(len(x))*0.1
plt.scatter(x,y2)
plt.show()
y3=-1*x+np.random.randn(len(x))*0.1
plt.scatter(x,y3)
plt.show()
语法:
plt.plot(x,y)
import numpy as np
import matplotlib.pyplot as plt
# 生成一组等区间数值
x=np.linspace(-10,10,100)
y=x**2
plt.plot(x,y)
plt.show()
当x轴为日期时,应用plot_date()函数,注意:默认为散点图,要手动添加线型的参数
plot_date()用法
利用np.loadtxt()来导入数据
np.loadtxt()用法详解
# 例:
plt.plot_date(date, close, color='green', linestyle='dashed', marker='o')
基本语法:
plt.bar(x= , height= )
x:x轴数据
height:y轴方向柱的长度
import numpy as np
import matplotlib.pyplot as plt
N=5
y=[20,10,30,25,15]
index = np.arange(N)
p1 = plt.bar(x=index, height=y,width=0.5,bottom=100,color='red')
plt.show()
宽度:width,默认0.8
(width即为沿x轴方向的长度)
颜色:color,默认blue
柱的底部数据:bottom
p2 = plt.bar(x=0, bottom=index, width=y,height=0.5,orientation='horizontal')
plt.show()
其中,x参数为x轴坐标的起始值;
bottom为条距x轴的距离。
使用barh()时,bottom改为left, 然后宽变高,高变宽。
p3=plt.barh(y=index,left=0,width=y,height=0.5)
plt.show()
本质就是改变上层柱的bottom
index=np.arange(4)
sales_BJ=[52,55,63,53]
sales_SH=[44,66,55,41]
bar_width=0.3
plt.bar(index,sales_BJ,bar_width,color='b')
plt.bar(index,sales_SH,bar_width,color='r',bottom=sales_BJ)
plt.show()
本质就是改变x的位置
index=np.arange(4)
sales_BJ=[52,55,63,53]
sales_SH=[44,66,55,41]
bar_width=0.3
plt.bar(index,sales_BJ,bar_width,color='b')
plt.bar(index+bar_width,sales_SH,bar_width,color='r')
plt.show()
语法:
plt.hist(数据集, bins= ,normed= )
bins:箱子的个数
normed:是否标准化,若为是,则y轴数据为频率,而非个数
import numpy as np
import matplotlib.pyplot as plt
mu = 100 # mean of distribution
sigma = 20 # standard deviation of distribution
x = mu + sigma * np.random.randn(2000)
plt.hist(x, bins=10,color='red',normed=True)
plt.show()
plt.hist(x, bins=50,color='green',normed=False)
plt.show()
x = np.random.randn(1000)+2
y = np.random.randn(1000)+3
plt.hist2d(x, y, bins=40)
plt.show()
基本语法:
plt.pie(数据集, labels=)
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec
labels = 'A', 'B', 'C', 'D'
fracs = [15, 30, 45, 10]
# 表示某一块的分离程度
explode = (0, 0.05, 0, 0)
# 使饼状图为正圆形
plt.axes(aspect=1)
plt.pie(fracs, explode=explode, labels=labels, autopct='%.0f%%', shadow=True)
plt.show()
突出的部分:explode
标签数据:autopct 例:%0.1%% 保留一位小数
阴影:shadow
基本语法:
plt.boxplot(数据集)
import numpy as np
import matplotlib.pyplot as plt
data = np.random.normal(size=1000, loc=0.0, scale=1.0)
plt.boxplot(data,sym='o',whis=1.5)
plt.show()
具体参数含义:
箱形图统计学知识
箱形图详解
关于正态分布随机数生成:
np.random.normal()用法
data = np.random.normal(size=(100, 4), loc=0.0, scale=1.0)
labels = ['A','B','C','D']
plt.boxplot(data, labels=labels)
plt.show()