正弦图像:

#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,10,1000)
y=np.sin(x)
z=np.cos(x**2)
#控制图形的长和宽单位为英寸,
# 调用figure创建一个绘图对象,并且使它成为当前的绘图对象。
plt.figure(figsize=(8,4))
#$可以让字体变得跟好看
#给所绘制的曲线一个名字,此名字在图示(legend)中显示。
# 只要在字符串前后添加"$"符号,matplotlib就会使用其内嵌的latex引擎绘制的数学公式。
#color : 指定曲线的颜色
#linewidth : 指定曲线的宽度
plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
#b-- 曲线的颜色和线型
plt.plot(x,z,"b--",label="$cos(x^2)$")
#设置X轴的文字
plt.xlabel("Time(s)")
#设置Y轴的文字
plt.ylabel("Volt")
#设置图表的标题
plt.title("PyPlot First Example")
#设置Y轴的范围
plt.ylim(-1.2,1.2)
#显示图示
plt.legend()
#显示出我们创建的所有绘图对象。
plt.show()

配置

#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(0,5,0.1)
## plot返回一个列表,通过line,获取其第一个元素
line,=plt.plot(x,x*x)
# 调用Line2D对象的set_*方法设置属性值 是否抗锯齿
line.set_antialiased(False)
# 同时绘制sin和cos两条曲线,lines是一个有两个Line2D对象的列表
lines = plt.plot(x, np.sin(x), x, np.cos(x))
## 调用setp函数同时配置多个Line2D对象的多个属性值
plt.setp(lines, color="r", linewidth=2.0)
plt.show()

  

绘制多轴图

subplot(numRows, numCols, plotNum)
import matplotlib.pyplot as plt
'''
subplot(numRows, numCols, plotNum)
numRows行 * numCols列个子区域
如果numRows,numCols和plotNum这三个数都小于10的话,可以把它们缩写为一个整数,例如subplot(323)和subplot(3,2,3)是相同的
'''
for idx, color in enumerate("rgbyck"):
plt.subplot(330+idx+1, axisbg=color)
plt.show()

plt.subplot(221) # 第一行的左图
plt.subplot(222) # 第一行的右图
#第二行全占
plt.subplot(212) # 第二整行
plt.show()

配置文件

>>> import matplotlib

>>> matplotlib.get_configdir()

'/Users/similarface/.matplotlib'

刻度定义:

#coding:utf-8
import matplotlib.pyplot as pl
from matplotlib.ticker import MultipleLocator, FuncFormatter
import numpy as np
x = np.arange(0, 4*np.pi, 0.01)
y = np.sin(x)
pl.figure(figsize=(8,4))
pl.plot(x, y)
ax = pl.gca() def pi_formatter(x, pos):
"""
比较罗嗦地将数值转换为以pi/4为单位的刻度文本
"""
m = np.round(x / (np.pi/4))
n = 4
if m%2==0: m, n = m/2, n/2
if m%2==0: m, n = m/2, n/2
if m == 0:
return ""
if m == 1 and n == 1:
return "$\pi$"
if n == 1:
return r"$%d \pi$" % m
if m == 1:
return r"$\frac{\pi}{%d}$" % n
return r"$\frac{%d \pi}{%d}$" % (m,n)
# 设置两个坐标轴的范围
pl.ylim(-1.5,1.5)
pl.xlim(0, np.max(x))
# 设置图的底边距
pl.subplots_adjust(bottom = 0.15)
pl.grid() #开启网格
# 主刻度为pi/4
ax.xaxis.set_major_locator( MultipleLocator(np.pi/4) )
# 主刻度文本用pi_formatter函数计算
ax.xaxis.set_major_formatter( FuncFormatter( pi_formatter ) )
# 副刻度为pi/20
ax.xaxis.set_minor_locator( MultipleLocator(np.pi/20) )
# 设置刻度文本的大小
for tick in ax.xaxis.get_major_ticks():
tick.label1.set_fontsize(16)
pl.show()

画点图

import matplotlib.pyplot as plt
from sklearn.datasets import load_boston
X1 = load_boston()['data'][:, [8]]
X2 = load_boston()['data'][:, [10]]
plt.scatter(X1,X2, marker = 'o')
plt.show()

画三维图

m=pd.read_csv(sportinte)
x,y,z = m['ydra'],m['zyd'],m['rs12612420']
ax=plt.subplot(111,projection='3d') #创建一个三维的绘图工程
ax.scatter(x[:],y[:],z[:],c='r')
#将数据点分成三部分画,在颜色上有区分度
plt.scatter(y,z, marker = 'o')
ax.set_zlabel('rs12612420') #坐标轴
ax.set_ylabel(u'周运动')
ax.set_xlabel(u'运动热爱')
plt.show()

#散点柱状图

#coding:utf-
import numpy as np
#pip install seaborn
import seaborn as sns
sns.set(style="whitegrid", color_codes=True)
np.random.seed(sum(map(ord, "categorical")))
titanic = sns.load_dataset("titanic")
tips = sns.load_dataset("tips")
iris = sns.load_dataset("iris")
#在带状图中,散点图通常会重叠。这使得很难看到数据的完全分布
sns.stripplot(x="day", y="total_bill", data=tips)
sns.plt.show()

#加入随机抖动”来调整位置
sns.stripplot(x="day", y="total_bill", data=tips, jitter=True);

#避免重叠点
sns.swarmplot(x="day", y="total_bill", data=tips)

#加入说明label
sns.swarmplot(x="day", y="total_bill", hue="sex", data=tips);

sportinte="/Users/similarface/Documents/sport耐力与爆发/sportinter.csv"
m=pd.read_csv(sportinte)
sns.swarmplot(x="ydra", y="zyd", hue="rs12612420", data=m);
sns.plt.show()

箱图

sportinte="/Users/similarface/Documents/sport耐力与爆发/sportinter.csv"
m=pd.read_csv(sportinte)
sns.boxplot(x="ydra", y="zyd", hue="rs12612420", data=m)
sns.plt.show()

小提琴图

sportinte="/Users/similarface/Documents/sport耐力与爆发/sportinter.csv"
m=pd.read_csv(sportinte)
sns.violinplot(x="ydra", y="zyd", hue="rs12612420", data=m)
sns.plt.show()

sportinte="/Users/similarface/Documents/sport耐力与爆发/sportinter.csv"
m=pd.read_csv(sportinte)
sns.violinplot(x="ydra", y="zyd", hue="rs12612420", data=m,bw=.1, scale="count", scale_hue=False)
sns.plt.show()

sns.violinplot(x="day", y="total_bill", hue="sex", data=tips, split=True);
sns.plt.show()

#加入每个观测值
sns.violinplot(x="day", y="total_bill", hue="sex", data=tips,
split=True, inner="stick", palette="Set3");

#加入点柱状图和小提琴图
sns.violinplot(x="day", y="total_bill", data=tips, inner=None)
sns.swarmplot(x="day", y="total_bill", data=tips, color="w", alpha=.5);

柱状

sns.barplot(x="sex", y="survived", hue="class", data=titanic);
sns.plt.show()

#count 计数图
sns.countplot(x="deck", data=titanic, palette="Greens_d");
sns.countplot(y="deck", hue="class", data=titanic, palette="Greens_d");
#泰坦尼克号获取与船舱等级
sns.pointplot(x="sex", y="survived", hue="class", data=titanic)

sns.factorplot(x="time", y="total_bill", hue="smoker", col="day", data=tips, kind="box", size=4, aspect=.5);
sns.plt.show()

g = sns.PairGrid(tips,
x_vars=["smoker", "time", "sex"],
y_vars=["total_bill", "tip"],
aspect=.75, size=3.5)
g.map(sns.violinplot, palette="pastel");
sns.plt.show()

#当有很多因素的时候怎么去看这些是否有潜在关系

import matplotlib.pyplot as plt
import seaborn as sns
_ = sns.pairplot(df[:50], vars=[1,2,3,4,5,6,7,8,9,10,11], hue="class", size=1)
plt.show()

可以发现一些端倪

ref:http://seaborn.pydata.org/tutorial/categorical.html  

画饼图:

#coding:utf-
__author__ = 'similarface'
'''
耳垢项目
'''
import pandas as pd
import seaborn as sns
from scipy.stats import spearmanr
meat_to_phenotypes = {
'Dry': ,
'Wet': ,
'Un': ,
} meat_to_genotype = {
'TT': ,
'CT': ,
'CC': ,
}
filepath="/Users/similarface/Documents/phenotypes/耳垢/ergou20170121.txt"
data=pd.read_csv(filepath,sep="\t")
data['phenotypesid'] = data['phenotypes'].map(meat_to_phenotypes)
data['genotypeid'] = data['genotype'].map(meat_to_genotype)
#######################################################################################
#均线图
#剔除不清楚
#####
# data=data[data.phenotypesid!=]
# p=sns.pointplot(x="genotype", y='phenotypesid', data=data,markers="o")
# p.axes.set_title(u"均线图[湿耳0干耳1]")
#####
####################################################################################### #######################################################################################
#####
#联结图
# p=sns.jointplot(x="genotypeid", y="phenotypesid", data=data,stat_func=spearmanr)
#####
####################################################################################### #######################################################################################
#####
# data=data[data.phenotypesid!=]
# sns.countplot(x="genotype", hue="phenotypes", data=data)
#p.axes.set_title(u"柱状图[湿耳0干耳1]")
#####
####################################################################################### #sns.plt.show() #######################################################################################
#####
import matplotlib.pyplot as plt #
data=data[data.phenotypesid!=]
plt.subplot()
g=data.groupby(['phenotypes'])
label_list=g.count().index
plt.pie(g.count()['genotype'],labels=label_list,autopct="%1.1f%%")
plt.title(u"问卷统计饼图(不含Unkown)") datag=data[data.genotype=='TT']
g=datag.groupby(['phenotypes'])
label_list=g.count().index
plt.subplot()
plt.pie(g.count()['genotype'],labels=label_list,autopct="%1.1f%%")
plt.title(u"耳垢TT") datag=data[data.genotype=='CT']
g=datag.groupby(['phenotypes'])
label_list=g.count().index
plt.subplot()
plt.pie(g.count()['genotype'],labels=label_list,autopct="%1.1f%%")
plt.title(u"耳垢CT") datag=data[data.genotype!='TT']
g=datag.groupby(['phenotypes'])
label_list=g.count().index
plt.subplot()
plt.pie(g.count()['genotype'],labels=label_list,autopct="%1.1f%%")
plt.title(u"耳垢!=TT") plt.show()
#####
#######################################################################################

#coding:utf-8
__author__ = 'similarface'
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np def fun(x,y):
#return np.power(x,2)+np.power(y,2)
return 2*(x*0.8+y*0.1)*(x*0.2+y*0.9)*(x*0.3+y*0.7)*(x*0.3+y*0.7)*(x*0.4+y*0.7)*(x*0.4+y*0.7) def fun2(xx,yy):
return xx fig1=plt.figure()
ax=Axes3D(fig1)
X=np.arange(0,1,0.01)
Y=np.arange(0,1,0.01) XX=np.arange(0,1,0.01)
YY=np.arange(1,0,-0.01) ZZ=np.arange(0,1,0.01) ZZ,ZZ=np.meshgrid(ZZ,ZZ) #ZZ=fun2(XX,YY)
X,Y=np.meshgrid(X,Y)
Z=fun(X,Y)
plt.title("This is main title")
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.coolwarm) ax.plot_surface(XX, YY, ZZ, rstride=1, cstride=1, cmap=plt.cm.coolwarm) ax.set_xlabel(u'θ1', color='r')
ax.set_ylabel(u'θ2', color='g')
ax.set_zlabel('z label', color='b')
plt.show()

python画图的更多相关文章

  1. python画图—黑板客老师课程学习

    1.介绍 把每个图都看作一个对象,图中的每一个部分也是对象.——所有的一切都是对象. 工具——ipython notebook 是python里边用的最多的2D&3D的会图库,开源免费库,使用 ...

  2. Python画图笔记

    matplotlib的官方网址:http://matplotlib.org/ 问题 Python Matplotlib画图,在坐标轴.标题显示这五个字符 ⊥ + - ⊺ ⨁,并且保存后也能显示   h ...

  3. Python画图matplotlib展示图中中文乱码

    在用python的 matplotlib 画图的时候,在图表上面有中文乱码问题,如下的: 解决过程: 平台:windows,python2.7步骤一:打开设置文件 import matplotlib ...

  4. python画图设置坐标轴大小

    在console端输入python语句,会一句输一行,而且不保留你所做的操作,但是每一句之间加一个分号就能很好的解决. import pylab as Plot Plot.xlim(-150, 150 ...

  5. python 画图工具matplotlib 去掉坐标轴和坐标的方法

    1. 去掉坐标轴的方法: plt.axis('off') 2.去掉刻度的方法: plt.xticks([]) plt.yticks([]) 以上语句需要将其置于 plt.show() 之前,plt.i ...

  6. 数字的可视化:python画图之散点图sactter函数详解

    最近开始学习python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  7. python 画图

    1.根据实际图形,用符号画出原来图形 from PIL import Image import argparse #命令行输入参数处理 parser = argparse.ArgumentParser ...

  8. Python画图工具matplotlib的安装

    今天在机子上安装matplotlib遇到一些问题,特将此记录下来,供大家分享以少走弯路. 1:下载matplotlib 去官网上下载你所须要的版本号http://matplotlib.org/down ...

  9. linux 使用 Python 画图工具matplotlib 提示display 错误

    import matplotlib.pyplot as plt Traceback (most recent call last): File "<stdin>", l ...

  10. python画图matplolib

    http://python.jobbole.com/85106/ 1.画二维图 2.画三维图 我的电脑只能在jupyter notebook上面运行才能看的到,常规import库 %matplotli ...

随机推荐

  1. hdu 1004 Let the Balloon Rise

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  2. 自己赚钱送女友iPhone做惊喜

    都说谈恋爱是件费时费力又费钱的事情,你要给女朋友准备各种节日的惊喜,你要给女朋友买她喜欢的裙子,你要请女朋友吃各种美味的食物......但是也别抱怨,一个男人若是连自己女朋友的这点物质要求都满足不了的 ...

  3. Linux超快速安装Ruby on Rails

    Linux超快速安装Ruby on Rails 时间 2014-11-25 11:45:11 Flincllck Talk 原文  http://www.flincllck.com/quick-ins ...

  4. ORA-12637解决问题

    今天用Oracle客户端连接服务端时,总是连接不上,错误信息:ORA-12637,问题解决如下: 找到 本地 SQLNET.ORA 文件 打开: # sqlnet.ora Network Config ...

  5. linux虚拟机上不了网--桥接方式--问题一直未解决

    转载的:可是自己的虚拟机就是上不了网,无线网卡该配的也配了还是不行,如果真有台物理机器就行了,省了好多事:但是模拟性能时肯定不行了:有人知道是什么原因不? 虚拟机网络模式 无论是vmware,virt ...

  6. 《写给大忙人看的java se 8》笔记

    现在才来了解java8,是不是后知后觉了点? 新的编程技术,个人不喜欢第一时间跟进. 待社区已有实践积淀再切入似乎更划算些? 一点点精明的考虑. 不多说,上代码. //读<写给大忙人看的java ...

  7. linux和windows下的自动ftp脚本(shell bat)

    一.先来看linux下的: 复制代码 代码如下: #! /bin/bashcd /ftp/CURRENTDATE=` date +%Y%m%d `YESTERDAY=` date -d yesterd ...

  8. angularJS之$watch的一个小介绍

    现在最近公司项目使用angularJS进行开发:以前也接触过但是不多,趁着现在熟悉回来. 如题,angular中$watch也是我们在开发的时候需要的各种监听: $watch接收3个参数,第一个是对象 ...

  9. 简述id,instancetype和__kindof的区别

    id: 好处:可以调用任何对象方法 坏处:不能进行编译检查 + (id)person; instancetype 好处:自动识别当前类的对象 坏处:不会提示返回的类型 + (instancetype) ...

  10. mongoose 的 model,query:增删改查

    简介 mongoose是node.js的一个操作mongodb的模块,比起之前mongodb模块,只需要在开始时连接,不需要手动关闭,十分方便. 连接mongodb 首先你需要安装mongodb.有了 ...