首頁 > 軟體

python matplotlib庫繪圖實戰之繪製散點圖

2022-07-12 22:06:29

一.匯入庫

import matplotlib.pyplot as plt

二.設定文字

plt.title("double number", fontsize=24)
plt.xlabel("number", fontsize=14)
plt.ylabel("double", fontsize=14)

三.設定座標軸引數

plt.axis([0, 15, 0, 30])

q前面兩個數為x軸的始末,後面則為y

四.繪製點

plt.scatter(2, 4, s=20) #s為點的大小
plt.show()

得到這樣子的圖

畢竟繪圖時我們不可能只畫一個點

所以還是應該引入陣列來解決問題

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

將原來的2,4分別替換為x,y

為了在資料量較大時,簡化(偷懶)程式碼,可以使用range等函數或者列表解析的方法,這裡就不贅述了,詳見補充1

五.對點的繼續處理

1.自定義顏色

plt.scatter(x, y, c='red', edgecolors='none', s=20)

用引數c設定點的顏色,用edgecolor設定邊緣的顏色(在較新的matpoltlib版本中,edgecolors預設為none)有關顏色的詳細資料,可見補充2

ps:將c設定為green,edgecolors設定為black,將引起極度生理不適,特別是點極度密集的曲線中,你懂的

言歸正傳,python的顏色設定通常為RGB,所以在scatter內也可以用RGB引數來設定顏色,格式如下:

plt.scatter(x, y, c=(0, 0, 0.6), edgecolors='none', s=20)

RGB小數模式詳見補充3

2.顏色對映

plt.scatter(x, y, c=y, edgecolors='none', cmap=plt.cm.Blues, s=20)

通過使用cmap,將c設定為一個陣列,則可以達到顏色漸變的效果:

事實上並非所有的顏色都可以使用,僅有RGB三原色和Oranges等少數顏色可以…感覺官方檔案上說的十個好像不太行,格式必須為頭文字大寫結尾加s

one of {‘tab:blue’, ‘tab:orange’, ‘tab:green’, ‘tab:red’, ‘tab:purple’, ‘tab:brown’, ‘tab:pink’, ‘tab:gray’, ‘tab:olive’, ‘tab:cyan’} which are the Tableau Colors from the ‘tab10’ categorical palette (which is the default color cycle);

That’s all,接下來為補充部分

補充1

偷懶法1:用list函數加range函數

x = list(range(1, 100, 2))

先用range(start, end, step)等到一組數,再用list轉化為陣列

偷懶法2:解析列表

y = [value * 2 for value in x]

其實就是把for迴圈寫到了裡面去

補充2

Matplotlib識別以下格式以指定顏色:

an RGB or RGBA tuple of float values in [0, 1] (e.g. (0.1, 0.2, 0.5)
or (0.1, 0.2, 0.5, 0.3)). RGBA is short for Red, Green, Blue, Alpha; a
hex RGB or RGBA string (e.g., ‘#0F0F0F’ or ‘#0F0F0F0F’);
速記十六進位制RGB或RGBA字串,相當於通過複製每個字元獲得的十六進位制RGB或RGBA字串(例如,’#abc’,相當於’#aabbcc’,或’#abcd’,相當於’#aabbccdd’);
a string representation of a float value in [0, 1] inclusive for gray
level (e.g., ‘0.5’);
單個字母字串,即{‘b’,‘g’,‘r’,‘c’,‘m’,‘y’,‘k’,‘w’}之一,它們是藍色、綠色、紅色、青色、品紅色、黃色、黑色和白色陰影的速記號;
a X11/CSS4 (“html”) color name, e.g. “blue”; a name from the xkcd
color survey, prefixed with ‘xkcd:’ (e.g., ‘xkcd:sky blue’); a “Cn”
color spec, i.e. ‘C’ followed by a number, which is an index into the
default property cycle (rcParams[“axes.prop_cycle”] (default:
cycler(‘color’, [’#1f77b4’, ‘#ff7f0e’, ‘#2ca02c’, ‘#d62728’,
‘#9467bd’, ‘#8c564b’, ‘#e377c2’, ‘#7f7f7f’, ‘#bcbd22’, ‘#17becf’])));
the indexing is intended to occur at rendering time, and defaults to
black if the cycle does not include color. one of {‘tab:blue’,
‘tab:orange’, ‘tab:green’, ‘tab:red’, ‘tab:purple’, ‘tab:brown’,
‘tab:pink’, ‘tab:gray’, ‘tab:olive’, ‘tab:cyan’} which are the Tableau
Colors from the ‘tab10’ categorical palette (which is the default
color cycle);

補充3

RGB分為浮點數和整數兩種,在Matplotlib中,使用的是浮點數,即範圍在[0,1],而整數則是[0,255],若是要轉化,將整數除以255即浮點數形式。

總結

到此這篇關於python matplotlib庫繪圖實戰之繪製散點圖的文章就介紹到這了,更多相關python matplotlib繪製散點圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com