|
掌握了数据读取的方法后,就需要将数据可视化,进行绘制相应的图形了。 1. 使用Matplotlib绘制简单的折线图:以一组1981-1990年的某地月平均气温数据为例(数据信息如下图所示)。
- C. g7 m4 h! x/ r) X4 A
- Y) ^$ h7 w1 S o# D9 |
( k3 K& O, r- H7 u第一步:使用anaconda安装Matplotlib库:
( J N% S+ D4 M
& Z- u/ F! U/ g. q1 ^/ V
conda install Matplotlib. {. c: c' r# _+ q
0 H7 E1 C, j# w0 T3 m) b$ E5 ?3 K* O( l# k) W z L/ z
. w. p( O$ i1 K8 T; H1 n! a) F第2步:绘制折线图 subplots()可以在一张图片中绘制一个或多个图表 fig表示整张图片,ax表示图片中的各个图表 plot()根据给定的数据以有意义的方式绘制图表 只输入一个列表时ax.plot(squares),假设第一个数据点对应x坐标为0 同时提供输入和输出ax.plot(input_values, squares)
% M: k! k Q% e- n5 _
+ E+ L {0 U8 F" O6 G8 c- & s$ [6 E$ x" @$ d3 l
- ) k6 Z' F ?/ Y2 e2 j9 y+ [
- ( A4 A C. R0 B7 F% p
2 H; `3 P: A2 k4 o& L, {; A0 q- / K$ o& K2 a- w" g
2 d% u9 L1 k5 v8 ?5 `
* o1 O7 r. C( U0 E! c4 `6 F1 E
4 M6 O8 e' ?8 z2 e/ u5 |, i: k9 V( }4 p
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()
5 n/ D3 N+ W7 N' P/ Y' V 代码读取后显示:
% s1 H& v* F! L% ~1 g$ A6 Y
第3步:使用内置的不同图形样式绘制折线图 1、显示所有的不同样式的图形,共有20张 - * Y0 O0 v; K8 V4 P) H& }& L$ Y/ u& B
- 4 X- Z5 Y) Q1 h8 @ S u
, J" ~: b2 q7 r5 w5 |6 P) Z
9 l. N Q. d5 u+ v1 t- ) b6 M; N6 v+ b+ v3 z4 k. T, I E4 C4 ?
- A3 n6 e* L4 Y3 I c2 m
- " D' P7 N& K# N, Z0 h* n- G# ]+ c
- - I- W3 }9 q0 }
7 v e2 p7 A, c7 O/ W
) J) v4 e( T' f* F
4 u* `6 u* u( _/ N- ) M/ B3 T8 T, ?* g) t$ V$ ?! F
- ( r; K5 _2 L/ }& Z+ d/ W' P5 O6 `
?, g0 \ j. X( A1 t- M' N# U1 q0 _5 J* y
$ q" C' Y$ j0 t. S" j- 1 ~, G2 B5 o, t+ s8 V7 l) q
- ! F. R- W0 W. W
- ' `& v9 ` R8 l* \9 [ j- _5 O
) b+ a. p v. `) Q6 t
: h" {+ f- H9 a8 z1 E7 _
9 C6 T$ y5 u+ o
- d% H" X* g G8 o) Z( I# J' e
' g- N" z9 @1 M1 {( U+ o3 V) N- O% ^
7 \$ s! T6 ^/ h0 M# M$ H* }0 E
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()
8 F" _1 H( v/ o7 m7 u 所有的内置样式有(print(plt.style.available)):
5 M- M- [; q# {0 ?/ {" Q. y2 t; s: [
2、选择其中一种样式(plt.style.use(‘样式名字’)): 如'Solarize_Light2':
% }9 l+ Q0 l9 O0 W8 G$ Q
' g+ J7 S+ ?7 P) L1 { p8 G$ ~) I1 @
plt.style.use('seaborn') #使用内置样式fig, ax = plt.subplots()9 a* n# O. Y/ @. \" k
9 w# D" G* Z, L. j& A9 A如'bmh': - ( U7 H# t' g: V6 X5 [- k
X: j5 l$ }0 ?/ C2 @0 n' N4 a" N) Y+ x' `( C4 B
plt.style.use('bmh') #使用内置样式fig, ax = plt.subplots()
% j4 ]/ d; d6 ]/ M0 I
其余的样式同理可得。
+ t3 X6 j9 P. D第4步:使用Matplotlib绘制简单的散点图
6 ` T( O2 a: ]2 T* K5 @- ( v) l3 u+ s( C3 }$ X
- " b# \' F) n# n% C. G. Q9 q6 z, l }
- ; o4 h* r) m* T/ n
- $ u; i4 c+ F0 n/ ~, `" w
- 7 Y6 j, l& G" B$ }7 ?; B d
- & H( d. w2 @( L$ f
/ x, F+ [- I! C8 ]' w- 7 l: }& Q' Q' ~4 P! X
4 S% l9 J* r! l- p E- * Y( N, g X# K) o5 B' I
( j& k5 Y+ o% U o- 5 b* M% w5 u' Q! H
) O g. e9 ^1 a+ E: ]9 Z
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()
u2 f$ s; }7 Z; |1 j# w$ Q 注:内置样式可以更换,这里选择的是‘fast’。
+ N A! l/ n! u% I0 I# _9 g* V |