Matplotlib--Python可视化实践

介绍

matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。
首先需要导入两个库numpymatplotlib
代码:

import numpy as np
import matplotlib.pyplot as plt

散点图1

height =  [161,170,182,175,173,165]
weight = [50,58,80,70,69,65]
plt.scatter(height,weight)
plt.show()
散点图1

散点图2

x = np.random.randn(1000)
y = np.random.randn(1000)
plt.scatter(x,y)
plt.show()
散点图2

np.random.randn(1000) 方法随机生成1000个随机数

scatter方法可添其他参数,得到散点图如下:

  • s: 调整散点的面积大小
  • c: 颜色
  • marker:三点的形状
  • alpha:透明度
plt.scatter(x,y,s=50,c='r',marker='<',alpha=0.5)
散点图3

折线图1

x = np.linspace(-100,100,15)
y = x ** 2
plt.plot(x,y)
plt.show()
折线图1.png

折线图2

x = np.linspace(-1000,1000,100)
y = np.random.randn(100)
plt.plot(x,y,color='r',marker='o')
plt.show()
条形图2.png

条形图

n = 5
y = [20,40,60,50,30]
index = np.arange(n)
plt.bar(left=index,height=y,color='r',width=0.5)
plt.show()
条形图1.png

条形图2

n = 5
y = [20,40,60,50,30]
index = np.arange(n)
plt.bar(left=0, bottom=index, height=0.5, color='r', width=y, orientation='horizontal')
plt.show()
条形图2.png

条形图3

n = 5
y = [20,40,60,50,30]
index = np.arange(n)
plt.barh(left=0,bottom=index,width=y)
plt.show()
条形图3.png

条形图4

index = np.arange(4)
sales_BJ = [52,55,63,53]
sales_SH = [44,80,67,34]
bar_width = 0.3
plt.bar(left=index,height=sales_BJ,width=bar_width,color="b")
plt.bar(left=index+bar_width,height=sales_SH,width=bar_width,color="r")
plt.show()
条形图4.png

条形图5

index = np.arange(4)
sales_BJ = [52,55,63,53]
sales_SH = [44,80,67,34]
bar_width = 0.3
plt.bar(left=index,height=sales_BJ,width=bar_width,color="b")
plt.bar(left=index,height=sales_SH,width=bar_width,color="r",bottom=sales_BJ)
plt.show()
条形图5.png

直方图

mu = 100
sigma = 20
x = mu + sigma * np.random.randn(20000)
plt.hist(x,100,color='g',normed=True)
plt.show()
直方图.png

2D直方图

x = np.random.randn(2000)+2
y = np.random.randn(2000)+3
plt.hist2d(x,y,bins=40)
plt.show()
2D直方图.png

饼状图

label = ['A','B','C','D']
fracs = [15,20,50,40]
plt.axes(aspect=1) #比例为一比一
expode = [0,0.05,0.06,0] #突出显示
plt.pie(x=fracs, labels=label,autopct='%.f%%',explode=expode,shadow=True)
plt.show()
饼状图.png

箱形图1

np.random.seed(100)
data = np.random.normal(loc=0,size=1000,scale=1)
plt.boxplot(data,sym='o',whis=1.0)
plt.show()
箱形图.png

箱形图2

np.random.seed(100)
data = np.rando
m.normal(size=(1000,4),loc=0,scale=1)
label = ['A','B','C','D']
plt.boxplot(x=data)
plt.show()
箱形图2.png

推荐阅读更多精彩内容

  • Matplotlib 入门教程 来源:Introduction to Matplotlib and basic l...
    布客飞龙阅读 30,313评论 5 161
  • matplotlib简介 matplotlib是python中用于绘制2D图像,用于科学计算绘图 基本绘图函数说明...
    欧呆要加油阅读 4,971评论 0 3
  • 设置绘图可以在jupyter notebook显示 可以使用下面三种方法绘图 直接使用DataFrame绘图,比如...
    _我和你一样阅读 944评论 0 1
  • Python画图之总结待整理 https://morvanzhou.github.io/tutorials/dat...
    jiandanjinxin阅读 15,552评论 1 14
  • 昨天带着孩子去学习班,因为,又想给孩子顺便在商场买鞋,孩子又要吃点特别的东西,所以,使花的时间比较久。尽管先生也在...
    刘姥姥2017阅读 106评论 5 0
  • 人生每件事,都需要規劃,提前準備的人生,即有清晰定位的人生和事,通常都不會浪費太多生命時光! 今天...
    精尚阅读 68评论 0 0
  • 曾经有段时间我想尝试炒股,一本正经的买了书,在家研究,每天关注财经频道,后来见几位朋友被套牢,果断放弃。 后来开淘...
    澜绣阅读 77评论 0 1