
实战小程序:画出y=x^3的散点图
样例代码如下:
[python] view plain copy
#coding=utf-8
import pylab as y #引入pylab模块
x = y.np.linspace(-10, 10, 100) #设置x横坐标范围和点数
y.plot(x, x*x*x,'or') #生成图像
ax = y.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))
ax.set_yticks([-1000, -500, 500, 1000])
y.xlim(x.min() , x.max() ) #将横坐标设置为x的最大值和最小值
y.show() #显示图像
[python] view plain copy
import pylab as y
程序中引入的pylab属于matplotlib的一个模块,将其名字用y代替,其中包括了许多NumPy和pyplot模块中常用的函数,方便用户快速进行计算和绘图,十分适合在IPython交互式环境中使用。
[python] view plain copy
y.np.linspace(-10, 10, 100)
此为numpy中的一个函数,返回的是等间距的值,numpy.linspace(a,b,c):a指的是开始位置,b表示的是结束位置,c表示产生点的个数(默认为50)举例:
[python] view plain copy
>>> np.linspace(2.0, 3.0, num=5)
array([ 2. , 2.25, 2.5 , 2.75, 3. ])
[python] view plain copy
y.plot(x, x*x*x,'or') #生成图像
后面加上‘o'表示为散点图'r'可设置颜色为红色,基本上和matlab的 *** 作很像。
[python] view plain copy
y.xlim(x.min(), x.max())
这条语句使用了xlim函数,将横坐标设置为x的大小python matplotlib模块,是扩展的MATLAB的一个绘图工具库。他可以绘制各种图形,可是最近最的一个小程序,得到一些三维的数据点图,就学习了下python中的matplotlib模块,如何绘制三维图形。
初学者,可能对这些第三方库安装有一定的小问题,对于一些安装第三方库经验较少的朋友,建议使用 Anaconda ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择python 2.7 或是 3.5 的就可以了(PS:后面的demo是python2.7):
首先提醒注意,以下两个函数的区别:
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow') #绘面1
和
ax.scatter(x[1000:4000],y[1000:4000],z[1000:4000],c='r') #绘点1
1、绘制3D曲面图
# -*- coding: utf-8 -*-"""
Created on Thu Sep 24 16:17:13 2015
@author: Eddy_zheng
"""from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)# 具体函数方法可用 help(function) 查看,如:help(ax.plot_surface)ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
plt.show()1234567891011121314151617181920212223
效果展示:
2、绘制三维的散点图(通常用于表述一些数据点分布)
4a.mat 数据地址,找到4a.mat 下载即可:
# -*- coding: utf-8 -*-"""
Created on Thu Sep 24 16:37:21 2015
@author: Eddy_zheng
"""import scipy.io as sio
from mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as plt
mat1 = '4a.mat' #这是存放数据点的文件,需要它才可以画出来。上面有下载地址data = sio.loadmat(mat1)
m = data['data']
x,y,z = m[0],m[1],m[2]
ax=plt.subplot(111,projection='3d') #创建一个三维的绘图工程#将数据点分成三部分画,在颜色上有区分度ax.scatter(x[:1000],y[:1000],z[:1000],c='y') #绘制数据点ax.scatter(x[1000:4000],y[1000:4000],z[1000:4000],c='r')
ax.scatter(x[4000:],y[4000:],z[4000:],c='g')
ax.set_zlabel('Z') #坐标轴ax.set_ylabel('Y')
ax.set_xlabel('X')
plt.show()123456789101112131415161718192021222324252627
效果:
上面就是学习区分了下两个函数,当时还被小困惑了下,希望对大家有所帮助。其实里面还有好多参数设置,比如说改变颜色,包括绘制点图的点的形状等都是可以改变的,有需要的大家可以自己看看这个函数,学习下(help(对应的function))。
版权声明:本文为博主原创文章,未经博主允许不得转载。Eddy_zheng
1、新建一个EXCEL工作表,输入演示数据并插入散点图。
2、点击散点图上的任意一个点,而后点击右键,出现添加数据标签选项。
3、点击添加数据标签,而后三点图表上,就出现了带数据的数据标签。
4、点击图表上的数据,而后右键,出现设置数据标签格式。
5、首先我们勾选系列名称,发现系列名称就出现在了数据标签前面。
6、勾选X值,将产品类型名称添加到标签。
7、点击填充,设置数据标签背景样式,如图。
8、点击标签位置,我们选择靠上,发现标签就移动到了散点的上面。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)