您的位置:首页 > 编程语言 > PHP开发

matplotlib入门使用画图实例及其他内容备忘记录

2017-12-28 20:41 696 查看
import numpy as np
import matplotlib.pyplot as plt
N = 1000
x = np.random.randn(N)
y = np.random.randn(N)
plt.scatter(x, y)
plt.show()


c 点的颜色或颜色序列,默认蓝色。其它如c = ‘r’ (red); c = ‘g’ (green); c = ‘k’ (black) ; c = ‘y’(yellow)

plt.plot() 绘制线性图,plt.scatter() 散点图

绘制3D图时,如果有报错,projection=’3d’相关有报错的话使用如下from mpl_toolkits.mplot3d import Axes3D

fig=plt.figure()
ax=Axes3D(fig)


《机器学习实战》书籍中第一章 KNN算法 约会的数据集三维显示代码

import numpy as np
from sklearn import preprocessing
import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

def data_display(data_path):
mpl.rcParams['font.sans-serif'] = [u'SimHei']  # 解决中文显示问题
mpl.rcParams['axes.unicode_minus'] = False  #用来正常显示负号
#在MAC上不行
data = np.loadtxt(data_path)[:, 0]
pre_data = preprocessing.scale(data)
data2 = np.loadtxt(data_path)[:, 1]
data3 = np.loadtxt(data_path)[:, 2]
data4 = np.loadtxt(data_path)[:, 3]
all_data = np.column_stack((pre_data, data2, data3, data4))
pre_data3 = all_data[all_data[:, 3] == 3]
x3 = pre_data3[:, 0]
y3 = pre_data3[:, 1]
z3 = pre_data3[:, 2]
pre_data2 = all_data[all_data[:, 3] == 2]
x2 = pre_data2[:, 0]
y2 = pre_data2[:, 1]
z2 = pre_data2[:, 2]
pre_data1 = all_data[all_data[:, 3] == 1]
x1 = pre_data1[:, 0]
y1 = pre_data1[:, 1]
z1 = pre_data1[:, 2]
ax = plt.figure().add_subplot(111, projection='3d')
ax.scatter(x3, y3, z3, c='r', label=u'极具魅力')
ax.scatter(x2, y2, z2, c='g', label=u'一般魅力')
ax.scatter(x1, y1, z1, c='y', label=u'不喜欢')
plt.legend(loc='upper right')
ax.set_xlabel(u'飞行')
ax.set_ylabel(u'游戏')
ax.set_zlabel(u'冰激凌')
plt.grid()  #添加网格
plt.show()

if __name__ == '__main__':
data_display('datingTestSet2.txt')




在linux系统(centos)下如何使用matplotlib画图

运行到画图模块报错提示:

_tkinter.TclError: no display name and no $DISPLAY environment variable


没有安装画图显示的相关东西。

可以不用安装,修改画图配置,把画出的图保存下来再查看。

linux没有GUI的情况下使用matplotlib绘图:

import matplotlib as mpl

mpl.use(‘Agg’)

plt.plot(x,y)

plt.savefig(“/home/yourname/picFaster.jpg”)

import matplotlib as mpl

mpl.use(‘Agg’)

需要添加在import matplotlib.pyplot之前,否则无效

import matplotlib as mpl

mpl.use(‘Agg’)

import matplotlib.pyplot as plt

使用 %pylab 可以查看matplotlib后端用的是什么



别人写的不错的matplotlib 入门文章:

https://www.cnblogs.com/xubing-613/p/5895948.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: