歡迎閱讀《Python每天一小段》系列!在本篇中,將使用Python Matplotlib實現(xiàn)數(shù)據(jù)可視化的簡單圖形。
一、概念
Matplotlib是一個流行的Python數(shù)據(jù)可視化庫,它提供了豐富的繪圖功能,可以創(chuàng)建各種類型的圖表,包括折線圖、散點圖、柱狀圖、餅圖等。
要查看使用matplotlib可制作的各種圖表,可訪問http://matplotlib.org/
(1)安裝matplotlib
pip install matplotlib
(2)數(shù)據(jù)可視化實現(xiàn)步驟
下面是對Matplotlib的詳細解釋以及如何實現(xiàn)數(shù)據(jù)可視化的一般步驟:
-
導入Matplotlib庫:
在Python腳本中,首先需要導入Matplotlib庫。通常使用以下語句導入Matplotlib的pyplot模塊:import matplotlib.pyplot as plt
-
創(chuàng)建圖表:
在開始繪圖之前,需要創(chuàng)建一個圖表對象??梢允褂?code>plt.figure()函數(shù)創(chuàng)建一個新的圖表。plt.figure()
-
繪制圖表:
使用Matplotlib的各種繪圖函數(shù)來繪制所需的圖表。例如,使用plt.plot()
函數(shù)繪制折線圖,使用plt.scatter()
函數(shù)繪制散點圖,使用plt.bar()
函數(shù)繪制柱狀圖等。x = [1, 2, 3, 4, 5] y = [10, 8, 6, 4, 2] plt.plot(x, y)
-
添加標簽和標題:
可以使用plt.xlabel()
、plt.ylabel()
和plt.title()
函數(shù)為圖表添加軸標簽和標題。plt.xlabel('X軸') plt.ylabel('Y軸') plt.title('折線圖')
-
自定義圖表樣式:
可以使用各種Matplotlib函數(shù)來自定義圖表的樣式,如設置線條顏色、線型、標記樣式、圖例等。plt.plot(x, y, color='red', linestyle='--', marker='o', label='數(shù)據(jù)') plt.legend()
-
顯示圖表:
使用plt.show()
函數(shù)顯示圖表。plt.show()
以上是一個簡單的數(shù)據(jù)可視化的流程。當然,Matplotlib還提供了許多其他功能,如子圖、網(wǎng)格、顏色映射等,可以根據(jù)需要進行使用和定制。
除了Matplotlib,還有其他一些數(shù)據(jù)可視化工具可以使用,如Seaborn、Plotly、Bokeh等。每個工具都有其特點和適用場景,可以根據(jù)具體需求選擇合適的工具來實現(xiàn)數(shù)據(jù)可視化。
python代碼:
import matplotlib.pyplot as plt
plt.figure()
x = [1,2,3,4,5]
y = [10,8,6,4,2]
plt.plot(x,y)
#plt.scatter(x,y)
#plt.bar(x,y)
plt.title("x,y table",fontsize=24)
plt.xlabel('x軸')
plt.ylabel('y軸')
plt.plot(x,y,color='red',linestyle='--',marker='o',label='數(shù)據(jù)')
plt.legend()
plt.show()
生成圖表:
二、繪制簡單的折線圖
(1)簡單的圖表
1、首先導入了模塊pyplot,并給它指定了別名plt,以免反復輸入pyplot
2、創(chuàng)建了一個列表,在其中存儲了前述平方數(shù),再將這個列表傳遞給函數(shù)plot(),這個函數(shù)嘗試根據(jù)這些數(shù)字繪制出有意義的圖形。
3、plt.show()打開matplotlib查看器,并顯示繪制的圖形
import matplotlib.pyplot as plt
squares = [1,4,9,16,25]
plt.plot(squares)
plt.show()
圖表:
(2)修改標簽文字和線條粗細
import matplotlib.pyplot as plt
squares = [1,4,9,16,25]
plt.plot(squares,linewidth=5)
#設置圖標標題,并給坐標軸加上標簽
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value",fontsize=14)
plt.ylabel("Square of Value",fontsize=14)
#設置刻度標記的大小
plt.tick_params(axis='both',labelsize=14)
plt.show()
圖標:
(3)校正圖形
import matplotlib.pyplot as plt
input_values = [1,2,3,4,5]
squares = [1,4,9,16,25]
plt.plot(input_values,squares,linewidth=5)
#設置圖標標題,并給坐標軸加上標簽
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value",fontsize=14)
plt.ylabel("Square of Value",fontsize=14)
#設置刻度標記的大小
plt.tick_params(axis='both',labelsize=14)
plt.show()
(4)繪制單個點
使用scatter()繪制散點圖并設置其樣式
import matplotlib.pyplot as plt
plt.scatter(2,4)
plt.show()
添加標題,給軸加標簽
import matplotlib.pyplot as plt
plt.scatter(2,4)
plt.scatter(2,4,s=200)
plt.title("Square Number",fontsize=24)
plt.xlabel("Value",fontsize=14)
plt.ylabel("Square of Value" ,fontsize=14)
#設置刻度標記的大小
plt.tick_params(axis='both',which='major',labelsize=14)
plt.show
圖表:
(5)繪制一系列點
要繪制一系列的點,可向scatter()傳遞兩個分別包含x值和y值的列表:
import matplotlib.pyplot as plt
x_values = [1,2,3,4,5]
y_values = [1,4,9,16,25]
plt.scatter(x_values,y_values,s=100)
#設置圖標標題及坐標軸指定標簽
plt.title("Square Number",fontsize=24)
plt.title("Value",fontsize=14)
plt.title("Square of Value",fontsize=14)
#設置刻度標記大小
plt.tick_params(axis='both',which='major',labelsize=14)
plt.show()
圖表:
(6)自動計算
手工計算列表要包含的值可能效率低下,需要繪制的點很多時尤其如此。可以不必手工計算
包含點坐標的列表,而讓Python循環(huán)來替我們完成這種計算。下面是繪制1000個點的代碼:
import matplotlib.pyplot as plt
x_values = list(range(1,1001))
y_values = [x**2 for x in x_values]
plt.scatter(x_values,y_values,s=40)
#設置圖標并給坐標軸加上標簽
plt.title("Square Number",fontsize=24)
plt.title("Value",fontsize=14)
plt.title("Square of Value",fontsize=14)
#設置刻度標記大小
plt.tick_params(axis='both',which='major',labelsize=14)
#設置每個坐標軸的取值范圍
plt.axis([0,1100,0,1100000])
plt.show()
圖表:
(7)刪除數(shù)據(jù)點的輪廓
matplotlib允許你給散點圖中的各個點指定顏色。默認為藍色點和黑色輪廓,在散點圖包含的數(shù)據(jù)點不多時效果很好。但繪制很多點時,黑色輪廓可能會粘連在一起。
要刪除數(shù)據(jù)點的輪廓,可在調用scatter()時傳遞實參:edgecolor='none'
plt.scatter(x_values,y_values,edgecolor='none',s=40)
(8)修改顏色
修改數(shù)據(jù)點的顏色,可向scatter()傳遞參數(shù)c,并將其設置為要使用的顏色的名稱
plt.scatter(x_values,y_values,c='red',edgecolor='none',s=40)
圖表:
(9)自定義顏色
使用RGB顏色模式自定義顏色。要指定自定義顏色,可傳遞參數(shù)c,并將其設置為一個元組,其中包含三個0~1之間的小數(shù)值,它們分別表示紅色、綠色和藍色分量。
plt.scatter(x_values,y_values,c=(0,0,0.8),edgecolor='none',s=40)
圖表:
創(chuàng)建一個由淡藍色點組成的散點圖:
值越接近0,指定的顏色越深,值越接近1,指定的顏色越淺
(10)顏色映射
顏色映射(colormap)是一系列顏色,它們從起始顏色漸變到結束顏色。在可視化中,顏色映射用于突出數(shù)據(jù)的規(guī)律,例如,你可能用較淺的顏色來顯示較小的值,并使用較深的顏色來顯示較大的值。
模塊pyplot內置了一組顏色映射。要使用這些顏色映射,你需要告訴pyplot該如何設置數(shù)據(jù)集中每個點的顏色。下面演示了如何根據(jù)每個點的y值來設置其顏色:
plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,edgecolor='none',s=40)
圖表:
將參數(shù)c設置成了一個y值列表,并使用參數(shù)cmap告訴pyplot使用哪個顏色映射,代碼將y值較小的點顯示為淺藍色,并將y值較大的點顯示為深藍色。
要了解pyplot中所有的顏色映射,請訪問http://matplotlib.org/,單擊Examples,向下滾動到Color Examples,再單擊colormaps_reference。
(11)自動保存
要讓程序自動將圖表保存到文件中,可將對plt.show()的調用替換為對plt.savefig()的調用
plt.savefig("squares.plot.png",bbox_inches='tight')
(12)繪制前 5 個整數(shù)的立方值
import matplotlib.pyplot as plt
#繪制前5個整數(shù)的立方值
x = [1,2,3,4,5]
y = [x[i] ** 3 for i in range(len(x))]
plt.plot(x,y)
plt.xlabel("x")
plt.ylabel("x^3")
plt.show()
文章來源:http://www.zghlxwxcb.cn/news/detail-755946.html
參考引用《Python從入門到實踐》文章來源地址http://www.zghlxwxcb.cn/news/detail-755946.html
到了這里,關于《python每天一小段》--12 數(shù)據(jù)可視化《1》的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!