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一樣,略