|
掌握了数据读取的方法后,就需要将数据可视化,进行绘制相应的图形了。 1. 使用Matplotlib绘制简单的折线图:以一组1981-1990年的某地月平均气温数据为例(数据信息如下图所示)。
H. Y# i, R5 F; w, `+ j% i
) p, `8 r% L; E! C5 \4 x6 S
" i/ k- P! [% n, \& E& b! @9 m0 ^$ q! U
第一步:使用anaconda安装Matplotlib库: - ( [# u1 M" x) N% ?, b
9 D# p; G7 _& A- q1 _# O/ G
conda install Matplotlib: E/ j! f3 Y. T7 `$ l. r4 c( T. ^ i
i. e; F1 k7 z+ W( Z. u
& b! z, |7 _6 t0 X% ^3 D3 y
$ G4 v1 l' N% Z, I+ ]# F第2步:绘制折线图 subplots()可以在一张图片中绘制一个或多个图表 fig表示整张图片,ax表示图片中的各个图表 plot()根据给定的数据以有意义的方式绘制图表 只输入一个列表时ax.plot(squares),假设第一个数据点对应x坐标为0 同时提供输入和输出ax.plot(input_values, squares)
+ N/ Z/ l# g5 T& C. ^; e- % _6 f, t# E' O5 a; Z
- ' `. G% D$ \3 s! ]/ \
9 R3 k. A+ w% f" r8 m) E8 p
- a' w9 _0 U* _* D- 0 ^ R/ h& x6 U% g* d& a+ H; W
- 7 a1 \( o8 C- I0 M. W
6 l0 g; i1 y+ w1 d0 Q
/ @! j5 r, W& C# P! k" z- 6 \6 v9 h1 w- ^3 n9 F
5 p. W: ~2 W% f! j& d
import matplotlib.pyplot as pltx_values = [1981, 1982, 1983, 1984, 1985]y_values = [22.8, 22.3, 22.9, 21.8, 22.2]fig, ax = plt.subplots() #绘制画布,地图ax.plot(x_values, y_values, linewidth=3)ax.set_title("1981-1985 temperature", fontsize=24) #标题ax.set_xlabel("time(year)", fontsize=14) #坐标轴标签ax.set_ylabel("temperature(℃)", fontsize=14)ax.tick_params(axis='both', labelsize=14) #刻度标记plt.show()4 w4 G6 ?. J+ ~3 Y, d. U
代码读取后显示:
5 ^& N+ a7 E6 Y4 v0 t/ M5 e2 a
第3步:使用内置的不同图形样式绘制折线图 1、显示所有的不同样式的图形,共有20张 - . F! V; P6 N" k. F- x# m
- ( x# R6 _8 c; _5 T' P$ t
0 p5 j- |+ N. e! T; b a8 ?
) i' \4 }1 C; x6 S6 ]' a- c: g# k7 H7 g' k$ @7 S' ^! _
* w* i' ?4 U* g
& e7 \ w% c$ [4 t" ?
' } M' U9 x; c3 r2 w
, o' I5 f/ A K) X2 w- * f" Z. Z6 h. |: l% E3 S
- 7 Y% v1 f7 W/ ]8 `' G
- - x; ?; G- h+ F& L
- / \& n: R5 z7 a+ P
: I4 h* X' v% \9 y
/ G9 C+ [4 ]/ A8 z+ l4 f+ I7 B9 u- , w8 b" l9 z6 N5 g
- : |, ~& [) a: [% Q! Y
, K2 R# H- @6 r4 j+ h
$ w& C7 e! D/ ?3 h. T) u; s) S2 I- 0 Y5 Q5 b/ O$ ?; ]% s
! C) l1 r& E% R; L5 p4 j
3 C; @: _. r v/ [: A
5 D, `, W2 Y' p% W% v- $ n* B4 y( n. O" e) k& X
b) W$ y! a# X+ T1 y
import matplotlib.pyplot as pltx_values = [1981, 1982, 1983, 1984, 1985]y_values = [22.8, 22.3, 22.9, 21.8, 22.2]fig, ax = plt.subplots()ax.plot(x_values, y_values, linewidth=3)# 使用内置样式画图print(plt.style.available) #显示有哪些可用的内置样式mystyles = plt.style.availablefor mystyle in mystyles:plt.style.use(mystyle) #使用内置样式fig, ax = plt.subplots()ax.plot(x_values, y_values)ax.set_ylabel("temperature(℃)", fontsize=14)ax.set_xlabel("Value") #坐标轴标签ax.set_ylabel("Square of Value")ax.tick_params(axis='both') #刻度标记plt.show()
( T, u* m! P( M0 q3 ^5 d Z 所有的内置样式有(print(plt.style.available)):
) ?7 A) M" l3 |
2、选择其中一种样式(plt.style.use(‘样式名字’)): 如'Solarize_Light2':
' `! d" n2 `) m" z
6 l% e! q: w* D8 ~' @% A* O: {/ p# U# g' i& N
plt.style.use('seaborn') #使用内置样式fig, ax = plt.subplots()- t0 c% m1 N& @" [8 W
' K& N0 H; Z* |如'bmh':
! v2 t$ `# d+ D) B) F
( m0 m8 j; j9 o7 J5 O0 E. `7 p" k7 p& m l
plt.style.use('bmh') #使用内置样式fig, ax = plt.subplots()
) S1 ^5 a' D/ B1 p
其余的样式同理可得。 ( ^1 ^3 v3 G; l1 S: O- I
第4步:使用Matplotlib绘制简单的散点图
8 B; G5 Z; }* Z% U' _# J- 0 t1 Z8 O9 l. z
- ! S! n; ~2 ?* F! ~3 {0 S* W
2 Z0 d+ O9 |4 Q- g: y' A# v- ) O6 i3 `- s/ i) x9 ^5 u% q' a) z
- 8 u6 W/ K& X2 g' ~6 [7 r7 z
+ c) p/ }. o: C7 P8 d* S2 W- W
5 `# K. R6 N) ]1 F) T# w* \! `7 Y
! E! q3 D& ]6 K/ B1 f4 n: X
7 e2 U3 `9 ^1 T( Y
$ y ?3 Q- }9 N# b- ; m. S& E% `7 _% r: v+ K
# {# E. F& P% I4 H9 p7 v' S- N9 b: Y
import matplotlib.pyplot as pltx_values = range(1, 20) #取连续的1-20的整数y = [x**2 for x in x_values] #x值的二次方为y值plt.style.use('fast') #使用内置样式fig, ax = plt.subplots()ax.scatter(x_values, y, c='red', s=50)#绘制散点图,传递x和y坐标,点的尺寸s#颜色c,可用设置为'red',(0, 0.8, 0)ax.set_title("1981-1985 temperature", fontsize=24) #标题ax.set_xlabel("Value") #坐标轴标签ax.set_ylabel("temperature(℃)", fontsize=14)ax.tick_params(axis='both') #刻度标记plt.show()
# a2 c8 z% l$ U8 w 注:内置样式可以更换,这里选择的是‘fast’。
* q) v8 e, ?) ~" t2 g |