快速绘图

数据图绘制

matplotlib的字库pyplot提供了快速绘制2D图标的API接口。

1372901-20181025174227495-402710808.jpg

import numpy as np

import matplotlib.pyplot as plt

x = np.linspace(0, 10, 1000)

y = np.sin(x)

z = np.cos(x**2)

plt.figure(figsize=(8, 4))

plt.plot(x, y, label="$sin(x)$", color="red", linewidth=2)

plt.plot(x, z, "b--", label="$cos(x^2)$")

plt.xlabel("Time(s)")

plt.ylabel("Volt")

plt.title("PyPlot First Example")

plt.ylim(-1.2, 1.2)

plt.legend()

plt.show()

数据图属性配置

1372901-20181025174238968-590019053.jpg

Figure对象

Figure对象,此对象在调用plt.figure函数时返回,通过plt.gcf函数获取当前的绘图对象

语法plt.gcf()

axes属性

Figure对象有一个axes属性,其值为AxesSubplot对象的列表,每个AxesSubplot对象代表图表

中的一个子图,前面所绘制的图表只包含一个子图,当前子图也可以通过plt.gca获得。

设置和得到属性方法

set_*

plt.setp函数配置多个Line2D对象的颜色和线宽属性

get_*

plt.getp函数获取对象的属性值

import numpy as np

import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.1)

# plot函数返回一个 matplotlib.lines.Line2D 对象的列表

line, = plt.plot(x, x*x) # plot返回一个列表,通过line,获取其第一个元素

line.set_antialiased(False) # 调用Line2D对象的set_*方法设置属性值

line.get_linewidth()

# 同时绘制sin和cos两条曲线,lines是一个有两个Line2D对象的列表

lines = plt.plot(x, np.sin(x), x, np.cos(x))

# 调用setp函数同时配置多个Line2D对象的多个属性值

plt.setp(lines, color="r", linewidth=2.0)

plt.getp(lines[0], "color") # 返回color属性

plt.getp(lines[1]) # 输出全部属性

f = plt.gcf() # get current Figure 对象

plt.getp(f) # 得到当前figure对象的全部属性

plt.getp(f, "axes") # 得到当前axes属性, Figure对象有一个axes属性

# []

plt.gca() # 得到当前axes属性, Figure对象有一个axes属性

#

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐