|
掌握了数据读取的方法后,就需要将数据可视化,进行绘制相应的图形了。 1. 使用Matplotlib绘制简单的折线图:以一组1981-1990年的某地月平均气温数据为例(数据信息如下图所示)。
, ~$ Q: k8 ^9 o1 S- U% B1 m/ I5 b9 F. t' @9 }: K9 t! K* @9 P' ?. ^6 ^) a
& e$ D% s: e1 t& d第一步:使用anaconda安装Matplotlib库:
. s/ e+ E d- T/ {* }3 i' g( k1 g
conda install Matplotlib( A* z/ Y7 g9 T9 r
- Y6 }* j4 ]7 j. L9 \: V" I
+ M- G4 o7 ]: t* t) l2 i; z; R: y+ d8 n( T. c+ ] {( `! [3 l8 L
第2步:绘制折线图 subplots()可以在一张图片中绘制一个或多个图表 fig表示整张图片,ax表示图片中的各个图表 plot()根据给定的数据以有意义的方式绘制图表 只输入一个列表时ax.plot(squares),假设第一个数据点对应x坐标为0 同时提供输入和输出ax.plot(input_values, squares)
0 ?% C- ^7 a9 x! l6 w, k' I
. _7 |# m- S# F, |
- _/ X1 D; b* x& d& D+ M" c- ( I- v" _9 @7 Y+ N/ f* m
1 Z6 J. e% r8 I( H5 {3 ^
) `8 V5 m3 E/ Y4 s- . u; e6 S# y; l9 n: F
- , z' o8 ^' @6 W% C8 N2 s
- " h" z1 F$ `% u- u! F+ D. s6 s1 o
* {+ k5 l$ @1 J. l5 w4 C7 h
6 l' ^2 L6 j: Y+ N) E( a
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()
% k/ r1 ^8 v( g# A: k9 W 代码读取后显示:
7 L( U& e- l- d
第3步:使用内置的不同图形样式绘制折线图 1、显示所有的不同样式的图形,共有20张 - 5 g6 p7 \% q8 i% L7 C8 t2 ~
- 7 j8 L5 E4 V. N, `% s3 ^
- `& W* U$ I7 _/ b" _1 o
v8 n, N" ]6 E- 7 ]% y( T& c3 x0 D+ t
- % Z; n' Z$ b; `" q8 c8 H
- 9 j7 |) i( p& K. c7 w3 P
- ' X: I+ Z, I3 N8 M% w) ]
- ' r* r; r% U, h9 x3 n ?9 N; F
- : E5 Q) g- v4 \* h. ] x# y0 @
- $ G& X# [) r3 J z0 H
I: D" h3 s; M9 a+ a
' [9 T* R' Y9 Q! B+ ~0 u8 J& M- 4 \1 q0 w4 g- U6 \2 p
- 4 r) w( }' L) w
2 h Y+ I S7 w2 B. p) O- $ @) ]$ T! r9 ]/ v4 m$ o
- 5 F0 }' T3 s9 s% p# [+ ]: o
- / z; y9 m% ^( h4 l8 G* g
- & c; ]; m& @: M/ c* ]1 T
- $ G* q8 c7 @9 C x
2 _: J: x. `; x# _3 U2 L3 W
8 x# _' ~* ~# i$ f
8 M8 X! J( ~ L+ }
/ W9 {/ Z) L, Y8 s/ M8 k$ f7 ]1 e/ q# }
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()
2 e3 p& _, s; P4 I/ l 所有的内置样式有(print(plt.style.available)):
9 a2 I( J8 \& s ~2、选择其中一种样式(plt.style.use(‘样式名字’)): 如'Solarize_Light2':
( z$ O- J1 h5 v/ J5 p) B, A5 j7 X- 7 n, N9 z6 ^5 ]) T) [
4 t1 Y( c/ K$ V, f, ?7 D
plt.style.use('seaborn') #使用内置样式fig, ax = plt.subplots()! W0 A/ ~' Z6 y6 U! ]2 F, s: N
7 H3 E8 e) H! _9 v. ]5 t. |/ S如'bmh': - 0 Y" X+ [% `2 t- r" \3 ]
' Z% T6 ?5 S) Z- G1 y" b0 x
" e, G8 E4 w: T2 I
plt.style.use('bmh') #使用内置样式fig, ax = plt.subplots()
5 _: g# a" p( q W
其余的样式同理可得。 6 I/ y! I5 p2 C
第4步:使用Matplotlib绘制简单的散点图
0 r. n5 ]6 ]. M" R
. ?& b5 `: V5 Y4 o" N$ x" l- 9 ^) D# q4 M" P! o2 {7 `2 M( c" b
. z& X. C. G7 h @% ]: X- % J P" l0 Y3 D
- 4 c3 r! H1 J# N" A
- . P( c# c# l& u; Y
- 8 r. h$ p8 j7 p4 U* w- U
8 F, q( A* `9 W6 w8 m: E7 I$ Q
, F. q; A0 d. G/ G( b
# |! ^! j v, r& Q, L- , s s, J# l+ I
9 }" r+ W D7 ~
! q6 t. m b1 G. i
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()
R# A5 ~& p! _: } 注:内置样式可以更换,这里选择的是‘fast’。
" a" B y# d" ^5 }6 |, D$ [1 K
|