用matplotlib画散点图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用matplotlib画散点图相关的知识,希望对你有一定的参考价值。
scatter(X,Y, s=75, c=T, alpha=.5)这行代码什么意思?from matplotlib.pyplot import *n = 2048X = np.random.normal(0,1,n)Y = np.random.normal(0,1,n)T = np.arctan2(Y,X)scatter(X,Y, s=75, c=T, alpha=.8)xlim(-1.5,1.5)ylim(-1.5,1.5)show()
参考技术A 首先,你想用什么软件来处理这组数据? Origin? Excel? Matlab?还是别的什么?其次,你说的 “想用这些数据做一个散点图,拟合一条直线”,是把这些数据全部做到一张图上,对全部的数据拟合一条直线? 还是分别做出每一组数据,然后对每一组数据分别拟合出一条直线?追问用python 画的呀,没说要拟合直线,就是练习用python画图
matplotlib两种画散点图的方式
对于matplotlib.pyplot( as plt )
先输入主体数据部分:
import numpy as np import matplotlib.pyplot as plt X_train = np.array([[1,2,3],[2,3,4],[2,2,1],[3,2,2]]) X_test = np.array([[1,1,1],[2,1,1]]) y_train = np.array([1,1,-1,1]) y_test = np.array([1,-1])
我们先做二维图:(取前两维)
首先容易想到plt.plot, 但这个是默认生成折线图的:
plt.plot(X_train[:,0],X_train[:,1]) plt.show()
但如果我们对线条指定为o的话:
plt.plot(X_train[:,0],X_train[:,1],"ro") plt.show()
令一种做散点图的方式就是,用scatter:
plt.scatter(X_train[:,0],X_train[:,1]) plt.show()
从上可以看到,除了我指定了的颜色外,其他均一致!
---------------------------------------------------------------------------------------------------------------------
对一个(两类的)二维数据画图展示:
>>> X_1, X_0 = X_train[y_train == 1], X_train[y_train == -1] >>> plt.plot(X_1[:, 0], X_1[:, 1], "ro") >>> plt.plot(X_0[:, 0], X_0[:, 1], "bo") >>> plt.show()
通过颜色将其区分开了!
当然用scatter也可以:(但要注意要带color关键字不然会报错)
>>> plt.scatter(X_0[:, 0], X_0[:, 1], color="b") >>> plt.scatter(X_1[:, 0], X_1[:, 1], color="r") >>> plt.show()
可以看到效果一样。
-------------------------------------------------------------------------------------------------------------------------
画三维的散点图:
就不能直接用plot和scatter了:他们都是画2D的。
而要首先声明一个画3D图的ax
>>> from mpl_toolkits.mplot3d import Axes3D >>> ax = plt.subplot(111, projection=‘3d‘) # 而且每次画完一个3D图都要这个声明 >>> ax.scatter(X_1[:, 0], X_1[:, 1],X_1[:,2], color="r") <mpl_toolkits.mplot3d.art3d.Path3DCollection object at 0x000001E8F70B2A90> >>> ax.scatter(X_0[:, 0], X_0[:, 1],X_0[:,2], color="b") <mpl_toolkits.mplot3d.art3d.Path3DCollection object at 0x000001E8F70732B0> >>> plt.show()
以上是关于用matplotlib画散点图的主要内容,如果未能解决你的问题,请参考以下文章