Python matplotlib笔记

可视化的工具有很多,如Tableau,各种JS框架,我个人感觉应该是学JS最好,因为JS不需要环境,每个电脑都有浏览器,而像matplotlib需要Python这样的开发环境,还是比较麻烦的,但是毕竟用Python处理数据,本文还是要写点自己的学习笔记的,当然知道画什么最重要(我并不知道-。-)!

尽量画二维,不用三维。如果年龄和岁数的二维图,多了薪水,可以让高薪水的点画大的点,颜色深点。

文本可视化(word cloud词图,theme flow标签的量,情感可视化 积极的消极的等等)

时序可视化(金融时间序列)

高维可视化,平行坐标方法,不像笛卡尔坐标x,y轴垂直。

Python matplotlib笔记如图通过线的连接来体现。

社交网络图可视化。

科学性可视化,高性能计算里很常见,体量特别大,如台风,云的移动实时渲染。

Matplotlib

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,2,50)
y = 2*x + 2
y2 = x**2

plt.xlim((-1,2))  #x,y的范围
plt.ylim((-2,3))
plt.xlabel('I am x')  #设置坐标轴的名字
plt.ylabel('I am y')

l1, = plt.plot(x,y,color = 'red',linewidth = 1.0 ,linestyle = '--',label='up')  #legend为设置图例,如果要传handle l1,l2必须加逗号,labels可以覆盖l1,l2中的名字,
l2, = plt.plot(x,y2,label = 'down')                          #loc 可以是best让他自己选,也可以自己设置
plt.legend(handles = [l1,l2],labels = ['aaa','bbb'],loc = 'best')
# plt.show()

new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks)
plt.yticks([-2.-1.5,-1,1,3],[r'really bad',r'bad',r'normal',r'good',r'really good'])
# plt.show()

ax = plt.gca()
ax.spines['right'].set_color('none') #四个框,设置右边,和上边的框为无色
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',-1))
ax.spines['left'].set_position(('data',0))
plt.show()

 Python matplotlib笔记 

  其实Matplotlib的图像都位于一个Figure画布之中,plt.figure用于创建一个新的画布。而我上面并没有plt.figure,而是直接plt.plot,那是因为plot会通过plt.gca()来获得当前axes对象,如果没有则自动创建,再调用axes对象的plot的方法来画图。对于pyplot,它保存了当前的图表和子图信息,可以通过plt.gcf(get current figure)和plt.gca(get current axes), 函数都是对当前的figure或者axes对象处理的。

可以参考http://www.cnblogs.com/nju2014/p/5620776.html(详解图像各个部分)

以及http://www.cnblogs.com/NaughtyBaby/p/5533855.html

关于各类的柱状,散点之类的图http://www.cnblogs.com/jasonfreak/p/5441512.html(用python进行描述性统计)