初次接觸python3的資料圖表操作,其實和matlab語法很相似,所以有一絲似曾相識的感覺。本篇主要是使用python的matplotlib庫來繪製隨機漫步圖。
① 要繪製隨機漫步圖,首先的有資料,所以我們使用random模組在random_walk.py中生成所需資料,具體**如下:
# random_walk.py
from random import choice
class
randomwalk()
:"""乙個生產隨機漫步資料的類"""
def__init__
(self, num_points=
5000):
"""初始化隨機漫步陣列的屬性"""
self.num_points = num_points
self.x_values =[0
] self.y_values =[0
]def
fill_walk
(self)
:"""計算隨機漫步包含的所有點"""
# 不斷漫步,直到列表達到指定的長度
while
len(self.x_values)
< self.num_points:
# 決定前進方向以及沿這個方向前進的距離
x_direction = choice([2
,-2]
) x_distance = choice([0
,1,2
,3,4
])x_step = x_direction*x_distance
y_direction = choice([2
,-2]
) y_distance = choice([0
,1,2
,3,4
])y_step = y_direction * y_distance
# 拒絕原地踏步
if x_step ==
0and y_step ==0:
continue
# 計算下乙個點的x和y值
next_x = self.x_values[-1
]+ x_step
next_y = self.y_values[-1
]+ y_step
② 第二步就是使資料視覺化,呼叫pyplot繪製圖形。具體**如下,在注釋中有函式用法解釋:
# rw_visual.py
import matplotlib.pyplot as plt
from random_walk import randomwalk
while
true
: rw = randomwalk(
50000
) rw.fill_walk(
)# 設定繪圖視窗的尺寸
plt.figure(dpi=
128, figsize=(10
,6))
point_numbers =
list
(range
(rw.num_points)
)# rw.x_values表示x軸資料, rw.y_values表示y軸資料, c=point_numbers表示繪製的點的顏色, cmap=plt.cm.blues表示顏色對映,表示 s表示繪製點的大小
plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.blues, s=1)
# 重點突出起點,edgecolors表示點的輪廓顏色,none表示去除輪廓顏色,在matplotlib 2.0.0版本中edgecolors預設為none
plt.scatter(0,
0, c=
'green'
, edgecolors=
'none'
, s=
100)
# 重點突出終點
plt.scatter(rw.x_values[-1
], rw.y_values[-1
], c=
'red'
, s=
100)
# 去除x軸和y軸
plt.axes(
).get_xaxis(
).set_visible(
false
) plt.axes(
).get_yaxis(
).set_visible(
false
) plt.show(
) keep_running =
input
("make another walk? (y/n)"
)if keep_running ==
'n':
break
我介紹一下scatter中的顏色對映(colormap),顏色對映是一些列顏色,它從起始顏色漸變到結束顏色。
plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.blues, s=
1)
這裡將引數c設定為乙個y值列表,並用引數cmap告訴pyplot使用藍色來對映,y值較小則顏色淺,反之則顏色深。
python開發 資料視覺化(1)
簡介 python是一門解釋型 物件導向的高階程式語言.python是開源免費的 支援互動式,可跨平台移植的指令碼語言 誕生和發展 1991年,第乙個python編譯器 同時也是直譯器 誕生。它是用c語言實現的,並能夠呼叫c庫 so檔案 從 出生,python已經具有了 類,函式,異常處理,包含表和...
Python 資料視覺化
資料視覺化指的是通過視覺化表示來探索資料,它與資料探勘緊緊相關,而資料探勘指的是使用 來探索資料集的規律和關聯。資料集可以是用一行 就能表示的小型數字列表,也可以是數以吉位元組的資料。漂亮地呈現資料關乎的並非僅僅是漂亮的。以引人注目的簡潔方式呈現資料,讓人能夠明白其含義,發現資料集中原本未意識到的規...
Python資料視覺化總結
用python完成資料分析後,如何把結果呈現出來,比如畫乙個吸引人注意的圖表相當重要。當你探索乙個資料集,需要畫圖表,圖表看起來令人愉悅是件很高興的事。在給你的觀眾交流觀點,給領導匯報工作時,視覺化同樣重要,同時,也很有必要去讓圖表吸引注意力和印入腦海裡。在python中numpy,pandas,m...