matplot笔记

matplot笔记

要点理解

  • matplot和pandas.plot的区别
    • pandas.plot可以一行作图,语法与matplot基本兼容,功能上受限
    • 建议还是要先熟悉matplot,使用时若pandas.plot能解决问题就优先使用
    • pandas.plot类似于lambda函数,虽然功能受限,但是简洁
  • matplot和seaborn的区别
    • 十分钟掌握Seaborn,进阶Python数据可视化分析
    • Seaborn的底层是基于Matplotlib的,把常用到的可视化绘图过程进行了函数封装,形成的一个“快捷方式”,他相比Matplotlib的好处是代码更简洁,可以用一行代码实现一个清晰好看的可视化输出。
    • 使用matplot绘制多数据系列的语法较为繁琐,这种情况下可以使用下Seaborn
    • 内嵌了一些算法模型,可以自动进行拟合与趋势分析
    • 默认的画图效果确实比matplot好看多了,不过网上有人不建议使用seaborn,matplotlib更加灵活

最重要的函数plot

详解pandas.DataFrame.plot() 画图函数

有用的几个功能

  • subplots 多个子图
  • figsize设定图片大小
  • 用中文的要先解决ubuntu下中文乱码的问题
  • 几个常用的概念:
    • tittle 设定标题
    • label plot时对应的标签
    • legend 图例,通过开关把label显示出来,如果label没有设置,legend也无效
    • xticks、yticks 表示刻度
    • grid表示网格
    • rot表示x轴的选择角度

最好的入门材料

官方Usage Guide入门样例

import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()  # Create a figure containing a single axes.
ax.plot([1, 2, 3, 4], [1, 4, 2, 3])  # Plot some data on the axes.

兼容MATLAB的语法

fig = plt.figure()  # an empty figure with no Axes
# plot([1, 2, 3, 4], [1, 4, 2, 3])  % MATLAB plot.
ax= fig.add_subplot( 行,列,位置标)  # 增加一个子图
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])  # Matplotlib plot.

步骤说明:

  • 在画图时,要注意首先定义画图的画布:fig = plt.figure( )
  • 然后定义子图ax ,使用 ax= fig.add_subplot( 行,列,位置标)
  • 当上述步骤完成后,可以用 ax.plot()函数或者 df.plot(ax = ax)
  • 结尾时都注意记录上plt.show()

更简洁的官方样例说明:

  • 第一步和第二步可以合并
  • 在jupyter中交互模型(matplotlib.is_interactive())下不需要执行plt.show就能显示
  • matplot最少2行代码就可以完成。(如果是pandas.plot的话,更简化到一行,当然pandas.plot也是基于matplot的)

重要的样例

参考Sample plots in Matplotlib

axes和axis的区别

发音:坐标系-axes [ 'æksi:z ] 坐标轴axis [ 'æksis ]

python matplotlib中axes与axis的区别是什么?

  • Figure (图窗)
  • Subplot (子图)
  • Axes (笛卡尔坐标区)坐标系
  • Axis (坐标轴)
  • Plot (线图)

官方神图

Matplotlib官方神图,被我画出来了!

引用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容