python画图-python绘图入门(完整版)

1. 画一个简单的图形

2. 在一张图纸里绘制多个图形

3. 更多设置

3.1

设置 figure

3.2

设置标题

3.3

设置坐标轴

3.4

设置 label 和 legend

3.5

添加注释

4. 使用子图

5. 常见的图形

5.1

散点图

5.2

柱状图

6. 中文乱码解决

以下简述下各部分要点:

1. 画一个简单的图形

import numpy as np

import pylab as plt

plt.plot(x, y)

plt.show()

2. 在一张图纸里绘制多个图形

(1)注意这里不需要matlab的hold on操作。

plt.plot(x, y)

plt.plot(x, y * 2)

plt.show()

(2)更丰富绘图:顺序是——颜色、点的形状、线型

plt.plot(x, y, 'y*-') #画图,颜色yellow,点为*,线型为-

常见的颜色:

蓝色

b

绿色

g

红色

r

青色

c

品红

m

黄色

y

黑色

k

白色

w

常见的点的表示方式:

点的类型

表示方式

.

像素

,

o

方形

s

三角形

^

常见的线的表示方式:

线的类型

表示方式

直线

-

虚线

--

点线

:

点划线

-.

3. 更多设置

3.1

设置 figure

plt.figure(figsize=(6, 3)) #大小为(6,3),长为6,宽/高为3

3.2

设置标题、

plt.title("")

3.3

设置坐标轴——横纵轴标签、坐标范围、横纵轴刻度

plt.xlabel("")

plt.xlabel("")

plt.xlim((0, np.pi + 1))

#x是[0,pi+1]

plt.ylim((-3, 3))

plt.xticks((0, np.pi * 0.5, np.pi,

np.pi * 1.5, np.pi * 2))

#与plt.xticks(np.linspace(0,2*pi,5))

等价 [0,2pi]按照等差数列划分成5个刻度。

#x的刻度,也就是横轴以0 0.5pi pi 1.5pi 2pi

来划分。(之前默认为1个单位)

3.4

设置 label 和 legend

关键点;plot里写明标签,然后legend展示,loc='best'自动调整到合适的位置,一般是右上角

plt.plot(x, y,

label="sin(x)")

plt.plot(x, y * 2,

label="2sin(x)")

# plt.legend()

plt.legend(loc='best')

plt.show()

3.5

添加注释

有时候我们需要对特定的点进行标注,我们可以使用 plt.annotate

函数来实现。也可以使用 plt.text

函数来添加注释。————具体可见上面的链接

这里我们要标注的点是 (x0, y0) = (π,

0)。

plt.plot(x, y)

x0 = np.pi

y0 = 0

# 画出标注点

plt.scatter(x0, y0, s=50)

plt.annotate('sin(np.pi)=%s' % y0,

xy=(np.pi, 0), xycoords='data', xytext=(+30, -30),

textcoords='offset points',

fontsize=16,

arrowprops=dict(arrowstyle='->',

connectionstyle="arc3,rad=.2"))

plt.text(0.5, -0.25, "sin(np.pi) =

0", fontdict={'size': 16, 'color': 'r'})

plt.show()

4. 使用子图——subplot()

subplot(3,2,1) #表示第3行2列的第一个活跃区。

x1 = plt.subplot(2, 2, 1) #

(行,列,活跃区)

plt.plot(x, np.sin(x),

'r')

ax2 = plt.subplot(2, 2, 2,

sharey=ax1) # 与 ax1 共享y轴

plt.plot(x, 2 * np.sin(x),

'g')

ax3 = plt.subplot(2, 2,

3)

plt.plot(x, np.cos(x),

'b')

ax4 = plt.subplot(2, 2, 4,

sharey=ax3) # 与 ax3 共享y轴

plt.plot(x, 2 * np.cos(x),

'y')

plt.show()

5. 常见的图形

5.1

散点图scatter

5.2

柱状图bar

关键是:标注柱状图上的数据

for x, y in zip(x,

y):

plt.text(x, y , '%.2f' % y, ha='center',

va='bottom')

通过 plt.text 标注数值,设置参数 ha='center' 横向居中对齐,设置

va='bottom'纵向底部(顶部)对齐。

6. 中文乱码解决

作图时有时横纵轴等标签中文会出现乱码,此时后台配置字体:

plt.rcParams['font.sans-serif']=['SimHei']

#用来正常显示中文标签

plt.rcParams['axes.unicode_minus']=False

#用来正常显示负号

你可能感兴趣的:(python画图-python绘图入门(完整版))