Python学习日志《python数据分析基础》读书笔记我爱编程

python 数据分析基础 day14-matplotlib

2018-03-27  本文已影响28人  billyang916

今天是读《pyhton数据分析基础》的第14天,今天读书笔记的内容为使用matplotlib模块绘制常用的统计图。

模块概括

matplotlib 是最基础的绘图模块,pandas和seaborn的绘图功能的使用依赖于matplotlib。

条形图

#绘制柱形图

from matplotlib import pyplot as plt

#绘图数据
x=["a","c","d","e","b"]
y=[11.5,18.6,17.5,14.3,10.8]

#创建基础图
fig=plt.figure()
#在基础图上仅绘制一个图,括号中的三个参数代表基础图中的统计图布局,参数一次代表:图的行数量、图的列数量、第几个图。本例中,为1行1列,第一个图
bar1=fig.add_subplot(1,1,1)

#绘制柱形图,align表示条形与标签中间对齐。
bar1.bar(x,y,align='center',color="grey")

#设置基础图形中某个统计图(这里指柱形图)的坐标轴位置
bar1.xaxis.set_ticks_position("bottom")
bar1.yaxis.set_ticks_position("left")

#设置x、y轴标签
plt.xlabel("variable x")
plt.ylabel("variable y")

#设置统计图标题
plt.title("sample_bar char")

#显示统计图
plt.show()

统计图如下:


柱形图.png

直方图

#绘制直方图

from matplotlib import pyplot as plt
import numpy as np

#设置数据:两组正态分布的数据
mu1, mu2, sigma = 100, 130, 15 
x1 = mu1 + sigma*np.random.randn(10000)  
x2 = mu2 + sigma*np.random.randn(10000)

#绘制基础图
fig=plt.figure()
hist1=fig.add_subplot(1,1,1)

#绘制直方图
#bins=50 表示每个变量的 值应该被分成 50 份。normed=False 表示直方图显示的是频率分布
hist1.hist(x1,bins=50,normed=False)
hist1.hist(x2,bins=50,normed=False,alpha=0.5)

#确定坐标轴位置
hist1.xaxis.set_ticks_position("bottom")
hist1.yaxis.set_ticks_position("left")

#设置坐标轴标签
plt.xlabel("x")
plt.ylabel("frequencyof x1,x2")

#设置标题
plt.title("sample_histagram")

#显示图形
plt.show()

统计图如下:


直方图.png

折线图

#绘制折线图

from matplotlib import pyplot as plt


#设置绘图数据
x=[1,2,3,4,5]
y=[10.2,13.0,15.1,15.2,16.2] 

#绘制基础图
fig=plt.figure()
plot1=fig.add_subplot(1,1,1)

#绘制折线图
plot1.plot(x,y,marker=r".")

#去顶坐标轴位置
plot1.xaxis.set_ticks_position("bottom")
plot1.yaxis.set_ticks_position("left")

#确定坐标轴标签
plt.xlabel("month")
plt.ylabel("score")

#图标题
plt.title("sample_plot")

#显示图形
plt.show()

统计图如下:


折线图.png

散点图

#绘制散点图

from matplotlib import pyplot as plt
import numpy as np

#准备绘图数据
x=np.random.randn(50).cumsum() 
y=np.random.randn(50).cumsum()

#绘制基础图
fig=plt.figure()
scatter1=fig.add_subplot(1,1,1)

#绘制散点图
scatter1.scatter(x,y)

#确定坐标轴位置
scatter1.xaxis.set_ticks_position('bottom')
scatter1.yaxis.set_ticks_position('left')

#设置坐标轴标签
plt.xlabel("variable x")
plt.ylabel("variable y")

#设置图表标题
plt.title("sample_scatter")

#显示图形
plt.show()

统计图如下:


散点图.png

箱线图

#绘制箱线图 

from matplotlib import pyplot as plt
import numpy as np

#准备绘图数据
normal = np.random.normal(loc=0.0, scale=1.0, size=100)
lognormal = np.random.lognormal(mean=0.0, sigma=1.0, size=100) 
data = [normal,lognormal]
dataLabel=["normal","lognormal"]

#绘制基本图
fig=plt.figure()
boxPlot1=fig.add_subplot(1,1,1)

#绘制箱线图
boxPlot1.boxplot(data,labels=dataLabel)

#确定坐标周位置
boxPlot1.xaxis.set_ticks_position("bottom")
boxPlot1.yaxis.set_ticks_position("left")

#设定坐标轴标签
plt.xlabel("catagory")
plt.ylabel("value")

#设定标题
plt.title("sample_boxPlot")

#显示统计图
plt.show()

统计图如下:


箱线图.png
上一篇下一篇

猜你喜欢

热点阅读