import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-2, 2, 100)
y1 = np.cos(np.pi * x)
y2 = np.sin(np.pi * x)
plt.plot(x, y1, "go", label=r"$y1=\cos(\pi \times x)$", alpha=0.8, linewidth=0.7)
plt.plot(x, y2, "r-", label=r"$y2=\sin(\pi \times x)$", alpha=0.8, linewidth=0.7)
df = pd.DataFrame(np.random.randint(0, 100, size=(100, 1)), columns=list('A'))
plt.annotate("important Point", (0, 1), xytext=(-1.5, 1.1), arrowprops=dict(arrowstyle='->'))
plt.xlabel("x-axis")
plt.ylabel("y-axis")
# 设置坐标范围[xmin, xmax, ymin, ymax]
plt.axis([-2.1, 2.1, -1.2, 1.2])
# 显示标签
plt.legend()
# 显示网格
plt.grid(alpha=0.4)
plt.title("Two Plots", color=(0.1, 0.3, 0.5))
plt.show()
运行输入如下图:
一般用到的就是
pyplot
,且按照惯例导入为
plt
。
● plt.plot(x,y,
'
go')
这里就比较明确了,
x
、
y
是自变量和因变量数据。后面的'
go' 是对样式的控制:其中
g
表示选择绿色,
o表示选择点的方式显示。更多参数设置可使用帮助命令
help
(
plt.plot
)进一步学习。
● plt.title(r
"
$y=\cos(\pi\times x)$
"
)
为图添加一个标题。
值得注意的是,这里使用了
LaTeX
的格式,因为
matplotlib是兼容 LaTeX的。这对书写公式提供了极大的便利。读者可能会遇到无法显示中文的情况,这一点接下来会进行专门的讲解。
● plt.show()
通过
show
来展示图像,在
pandas
和
seaborn中也使用这句代码 进行图像的展示操作。
● alpha
alpha
参数代表透明度,从
0
到
1
表示颜色逐渐加深。
● linewidth
代表线条或者点的粗细程度。
● axis
按照(
xmin
、
xmax
、
ymin
、
ymax)的格式来限制座标轴的范围。
● legend
在
plot
里面使用
lable,记录了当前图的图例,可以通过调用legend使其显示。在默认情况下,图例会显示在最合适的空白处,当然也可以手动调节其位置。
● grid
显示背景网格线,也可以通过
alpha
参数设置其透明度。
● color=(0.1,0.3,0.5)
在有些情况下,
matplotlib 自带的颜色达不到效果,此时可以通过设置归一化到
[0
,
1]
的
RGB
元组来指定颜色。也可以使用
HTML的十六进制字符串,如"#
eeefffff
"来指定颜色。
2.
中文显示问题
在初次使用
matplotlib时一般都会遇到无法显示中文的问题,无论是
Windows
还是
Ubuntu
之类的
Linux系统。
对于
Windows,解决方法相对较为简单,只需要在开头处加上下面三行代码,一般就可以了。
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["Microsoft YaHei"]
mpl.rcParams['axes.unicode_minus'] = False
对于Ubuntu系统,需要手动指定字体来实现中文的显示。 设置代码如下。