python下的matplotlib、pandas做散點圖的逐步深入分析


1.代碼1:

import matplotlib.pyplot as plt
import numpy as np

n = 50
# 隨機產生50個0~2之間的x,y坐標
x = np.random.rand(n)*2
y = np.random.rand(n)*2
colors = np.random.rand(n) # 隨機產生50個0~1之間的顏色值
area = np.pi * (10 * np.random.rand(n))**2 # 點的半徑范圍:0~10
# 畫散點圖
plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))
plt.show()

 

2.圖1

3.且報錯:
MatplotlibDeprecationWarning: Setting a circle marker using `(..., 3)` is deprecated
since Matplotlib 3.0, and support for it will be removed in 3.2. Directly pass 'o' instead.
plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))

4.修改后:
#注意marker=('o'),里面是o字母小寫的o不是0(零)
plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=('o'))
#就OK了

5.代碼2:

import matplotlib.pyplot as plt
import numpy as np

xv=[15,25,35,45,55,88,43,67,56,77,79,32,11,54,32]
n=len(xv) #n就是列表x的個數,用len就可以測
yv = [x * np.random.rand() for x in xv]

colors = np.random.rand(n) # 隨機產生50個0~1之間的顏色值
area = np.pi * (10 * np.random.rand(n))**2 # 點的半徑范圍:0~10
#注意marker=('o'),里面是o字母小寫的o不是0(零)
plt.scatter(xv, yv, s=area, c=colors, alpha=0.5, marker=('o'))

plt.show()

 

6.圖2


7.一個點的散點圖
代碼3:

import matplotlib.pyplot as plt
plt.scatter(3,3, marker=('o'))
plt.show()

 

圖3

8.兩組數據的散點圖
代碼4:

import matplotlib.pyplot as plt

x=[3,5,9,7,5,8,6,1,2,4]

y=[4,8,1,6,2,3,7,5,9,5]

plt.scatter(x,y, marker=('o'))
plt.show()

 

圖4

9.讀取excel的數據做散點圖
代碼5:

import matplotlib.pyplot as plt
import pandas as pd
import xlrd #讀取excel

#注意這里的excel表格只有一張表單,默認sheet1和文件地址默認根目錄下
#df=pd.read_excel('xxx/xxx/xxx/22.xls',sheet_name='sheet2') #比如格式自定路徑下的文件和表單2
df=pd.read_excel('22.xls')

datax=df['x'] #讀取x列
datay=df['y'] #讀取y列
'''
類似這樣的數據
x=[3,5,9,7,5,8,6,1,2,4]

y=[4,8,1,6,2,3,7,5,9,5]
'''
#print("讀取指定行的數據:\n{0}".format(datay))
plt.scatter(datax,datay, marker=('o'))

#自定義標簽和標題
plt.xlabel('x-value')
plt.ylabel('y-label')
plt.title('scatter')

plt.show()

 

圖5和圖4一樣,略


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM