python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]

文章目录

  • 概括:Numpy+Scipy+pandas+matplotlib
  • Matplotlib——绘图
    • 1.为什么选择Matplotlib
    • 2.基本使用
    • 3.Matplotlib:图形 figure
    • 4.Matplotlib:颜色、标记和线型
      • 绘图直线属性:
    • 5.Matplotlib:刻度、标题、标签和图例
    • 6.Matplotlib:Subplot 子图
    • 7.matplotlib:图像保存文件
  • 常见图形
    • 1.Matplotlib柱状图
    • 2.Matplotlib直方图
    • 3.matplotlib绘制散点图

概括:Numpy+Scipy+pandas+matplotlib

python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第1张图片

Matplotlib——绘图

  • 对于图像美化方面比较完善,可以自定义线条的颜色和式样,可以在一张绘图纸上绘制多张小图,也可在一张图上绘制多条线,可以很方便的对数据进行可视化分析。
  • Python最常用的绘图库,提供了一整套十分适合交互式绘图的命令API,比较方便的就可以将其嵌入到GUI应用程序中。
  • 官网:http://matplotlib.org/
  • 官网examples入门学习:

http://matplotlib.org/examples/index.html

http://matplotlib.org/gallery.html

1.为什么选择Matplotlib

  • Matplotlib 是一个非常强大的 Python 画图工具
  • Matplotlib画出图形动画呈现很多数据
  • 线图
  • 散点图
  • 等高线图
  • 条形图
  • 柱状图
  • 3D 图形
    python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第2张图片
    python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第3张图片

2.基本使用

  • 1.使用import导入模块matplotlib.pyplot,并简写成plt 使用import导入模块numpy,并简写成np
#导入模块
import matplotlib.pyplot as plt
import numpy as np
  • 2.调用plot的.plot方法绘制坐标(.plot需要许多参数,前两个是’x’和’y’坐标,放入列表)
plt.plot([1,2,3],[5,7,4])#参数放入列表,三个坐标:1,5 2,7  3,4
  • 3.plt.plot在后台『绘制』这个绘图,带到屏幕上
plt.show()
%matplotlib inline#行内显示,这一句只能再jupyter中使用,pycharm好像用不了
# %matplotlib tk#GUI显示

python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第4张图片

3.Matplotlib:图形 figure

figure:图形,matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片

代码:

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-3,3,0.1)
y1=np.sin(x)
y2=np.cos(x)
plt.figure()
plt.plot(x,y1)
plt.figure(num=3,figsize=(8,5))
plt.plot(x,y2)
plt.show()

结果:
python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第5张图片

4.Matplotlib:颜色、标记和线型

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-3,3,0.1)
y1=np.sin(x)
y2=np.cos(x)
#Plot():绘制线条或标记的轴。参数是一个可变长度参数,允许多个X、Y对可选的格式字符串
plt.plot(x,y1,x,y2)

python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第6张图片
python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第7张图片

绘图直线属性:

plot(x,y,color='red', linestyle='dashed', marker='o'.....)

(1)LineStyle:线形
(2)LineWidth:线宽
(3)Color:颜色
(4)Marker:标记点的形状
(5)label:用于图例的标签

python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第8张图片
python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第9张图片

5.Matplotlib:刻度、标题、标签和图例

  • legend ():生成默认图例, matplotlib 中的 legend 图例就是为了帮我们展示出每个数据对应的图像名称. 更好的让读者认识到你的数据结构.

  • xlabel、ylabel:设置X轴Y轴标签

  • title:设置标题

  • xlim、ylim:控制图标的范围

  • xticks、yticks: 控制图标的刻度

  • gca获取当前坐标轴信息。使用spines设置边框,使用set_color设置边框颜色:默认白色

  • 解决中文显示问题

mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

6.Matplotlib:Subplot 子图

Subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像
Sublots():返回一个图像和多个子图
参数: nrows=x, ncols=x, sharex=True, sharey=False,
gridspec_kw={‘height_ratios’:[2,2,1,1]}
例:
fig, ax = plt.subplots(2,2),其中参数分别代表子图的行数和列数,一共有 2x2 个图像。函数返回一个figure图像和一个子图ax的array列表。

subplot(numRows, numCols, plotNum)
  • 面向对象的形式:
fig = plt.figure()
    Figure实例
    可以添加Axes实例
ax = fig.add_subplot(111)
    返回Axes实例
    参数1,子图的总行数
    参数2,子图的总列数
    参数3,子图位置
在Figure上添加子图的常用方法

7.matplotlib:图像保存文件

plt.savefit(文件名称)

常见图形

1.Matplotlib柱状图

python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第10张图片
python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第11张图片

matplotlib.pyplot. bar (*args, **kwargs)
bar(x, height, width, bottom, * args, align='center', **kwargs)
参数: x:数据标量 height:高 width:款 bottom:底端对应Y轴align:对齐如果为 "居中", 则将x参数解释为条形中心的坐标。如果 "边缘", 将条形按其左边缘对齐要对齐右边缘的条形图, 可传递负的宽度和对align='edge'

练习:
用柱状图表示第一季度的进出口数据
进口数据:
1月份 600亿美元
2月份 700亿美元
3月份 800亿美元
出口数据:
1月份 500亿美元
2月份 900亿美元
3月份 1000亿美元

python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第12张图片

2.Matplotlib直方图

matplotlib.pyplot.hist(
	x,bins=10,range=None,normed=False,weights=None,cumulative=False,bottom=None,
	histtype='bar', align='mid',orientation=u'vertical', rwidth=None, log=False,color=None, 	label=None,stacked=False,hold=None,**kwargs) 

– x: 一个列表或者多个列表(表示不同数据集,长度可以不一致)
– range: 元组
– weights: x里每个元素对bin高度的贡献(默认为1)
– bottom: 数字或者长度为bins的列表
– histtype: [‘bar’ | ‘barstacked’ | ‘step’ | ‘stepfilled’]
– align: [‘left’ | ‘mid’ | ‘right’]
– orientation: [‘horizontal’ | ‘vertical’]
– rwidth: bar相对bin的宽度
– color: 一种颜色或者颜色列表(针对不同数据集)

python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第13张图片
python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第14张图片

3.matplotlib绘制散点图

matplotlib.pyplot. scatter (x, y, s=none, c=none, marker=none, cmap= None, 
                            norm=none, vmin=none, vmax=none, alpha=none, Linewidths=none,
                            verts=none, edgecolors=none, hold=none, data= None, **kwargs)

参数:
x,y:相同长度的数组序列
s :散点的大小标量或形同数组,可选参数,默认20
c :散点的色彩或颜色序列,可选
maker:标记风格,可选,默认是‘o’
norm:数据的亮度
alpha:散点的透明度
python自学篇十六[Matplotlib——绘图:figure+颜色+属性+子图+柱状图+直方图+散点图]_第15张图片

你可能感兴趣的:(python基础)