matplotlib 示例
示例1
import numpy as np
import matplotlib.pyplot as plt
#plt.rcParams['font.family'] = ['sans-serif']
#用来正常显示中文标签
plt.rcParams['font.sans-serif'] = ['Simhei']
#用来正常显示负号
plt.rcParams['axes.unicode_minus']=False t = np.arange(1,10, 0.05)
x = np.sin(t)
y = np.cos(t) # 绘制一个圆形散点图的示例
#定义一个图像窗口
plt.figure(figsize=(6,5))
#绘制一条线
plt.plot(x,y,'r-.')
#使坐标轴相等
plt.axis('equal')
plt.xlabel('正弦')
plt.ylabel('余弦')
plt.title('一个圆形')
#显示图像
plt.show()
示例2
import numpy as np
import matplotlib.pyplot as plt
##subplot()绘制多个子图 #生成X
x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)
#生成Y
y1 = np.cos(2*np.pi*x1) * np.exp(-x1)
y2 = np.cos(2*np.pi*x2)
##绘制第一个子图
plt.subplot(2, 1, 1)
plt.plot(x1, y1,'y-o')
plt.title('A Tale of 2 Subplots')
plt.ylabel('Damped oscillation')
##绘制第二个子图
plt.subplot(2,1, 2)
plt.plot(x2,y2,'r-o')
plt.xlabel('time(s)')
plt.ylabel('Undamped')
plt.show()
示例3
#直方图
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats #example data
mu = 100 #分布的均值
sigma = 15 #分布的标准差
x = mu + sigma * np.random.randn(10000) #直方图的条数
num_bins = 50
#绘制直方图
n,bins,patches=plt.hist(x,num_bins,density=1, color='g',alpha=0.5)
#添加一个最佳拟合和曲线
y = stats.norm.pdf(bins, mu, sigma) #返回关于数据的 pdf 数值(概率密度函数)
plt.plot(bins,y,'r--')
plt.xlabel('Smarts')
plt.ylabel('Probability')
#在图中添加公式需要使用 latex 的语法($$)
plt.title('Histogram of IQ : $\mu=100$ , $\sigma=15$')
#调整图像的间距,防止 轴数值与 label 重合
plt.subplots_adjust(left=0.15)
plt.show() print("Bind:\n",bins)
坑:plt.hist中原来的normed没有了,替换成了density,否则画不出来。
示例4
#matplotlib 绘制三维图像
import numpy as np
from matplotlib import cm
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D #生成数据
delta = 0.2
x = np.arange(-3,3, delta)
y = np.arange(-3,3, delta)
X, Y = np.meshgrid(x,y)
Z = X**2 + Y**2
x = X.flatten()
#返回一维的数组,但该函数只能适用于 numpy 对象( array 或者 mat)
y = Y.flatten()
z = Z.flatten()
fig = plt.figure(figsize=(12,6))
ax1 = fig.add_subplot(121 , projection='3d')
ax1.plot_trisurf(x,y,z, cmap=cm.jet , linewidth=0.01)
#cmap 指颜色,默认绘制为 RGB(A )颜色空间, jet 表示”蓝 红”颜色
plt.title("3D")
ax2 = fig.add_subplot(122)
cs= ax2.contour(X, Y, Z, 15 , cmap='jet')
#注意这里是大写 X,Y,Z 15 代表的是显示等高线的密集程度,数值越大,画的等
#高线数就越多
ax2.clabel(cs,inline=True,fontsize=10,fmt='%1.1f')
plt.title('Contour')
plt.show()
示例5
#三维图像+各个轴的投影等高线
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm
fig= plt.figure (figsize=(8 , 6))
ax= fig.gca(projection='3d')
#生成 维测试数据
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)
cset = ax.contour(X, Y, Z, zdir='z', offset=-100 , cmap=cm.coolwarm)
cset = ax.contour(X, Y, Z, zdir='x', offset=-40 , cmap=cm.coolwarm)
cset=ax.contour(X, Y, Z, zdir= 'y',offset=40 , cmap=cm.coolwarm)
ax.set_xlabel('x')
ax.set_xlim (-40 , 40)
ax.set_ylabel ('Y')
ax.set_ylim(-40 , 40)
ax.set_zlabel ('z')
ax.set_zlim (-100 , 100)
plt.show()
示例6
import numpy as np
import matplotlib . pyplot as plt
#生成数据
n_groups = 5 #组数
#平均分和标准差
means_men = (20 , 35 , 30 , 35 , 27)
std_men = (2 , 3 ,4 ,1 , 2)
means_women = (25 , 32 , 34 , 20 , 25)
std_women = (3 , 5 , 2 , 3 , 3)
#条形图
fig , ax= plt.subplots()
#生成 0, 1. 2, 3 , ..
index= np.arange (n_groups)
bar_width = 0.35 #条的宽度
opacity= 0.4
error_config = {'ecolor': '0.3'}
#条形图中的第一类条
rectsl = plt.bar(index , means_men , bar_width,
alpha = opacity,
color ='b',
yerr = std_men,
error_kw = error_config,
label = 'Men')
#条形图中的第二类条
rects2 = plt.bar(index +bar_width , means_women , bar_width,
alpha = opacity,
color = 'r',
yerr = std_women,
error_kw = error_config,
label = 'Women')
plt.xlabel('Group')
plt.ylabel('Scores')
plt. title('Scores by group and gender')
plt.xticks(index + bar_width, ('A','B','C','D','E'))
plt.legend()
#自动调整 subplot 的参数给指定的填充区
plt.tight_layout()
plt.show()
示例7
#饼图
import matplotlib.pyplot as plt
#切片将按顺时针方向排列并绘制
labels = 'Frogs','Hogs','Dogs','Logs' #标注
sizes = [15 , 30 , 45 , 10] #大小
colors = ['yellowgreen','gold','lightskyblue','lightcoral'] #颜色
# 0.1代表第二个块从圆中分离出来
explode = (0 ,0, 0, 0.1)
#绘制饼图
plt.pie(sizes, explode=explode , labels=labels, colors=colors,
autopct = '%1.1f%%', shadow=True , startangle=90)
plt.axis('equal')
plt.show()
示例8
#气泡图(散点图〉
import matplotlib.pyplot as plt
import pandas as pd
#导入数据
df_data= pd.read_csv("https://github.com/sileixinhua/Python_data_science_by_iris/
blob/master/iris.csv")
print(df_data.head()) #作图
fig , ax = plt.subplots()
#设置气泡图颜色 colors =15* ["yellowgreen","gold","green","blue","red","black",
'lightskyblue','lightcoral','yellow','pink'] #创建气泡图 SepalLength x, SepalWidth ,同时设置 PetalLength 为气
#泡大 ,并设置颜色透明度等
ax.scatter(df_data['sepal_length'],df_data['sepal_width'],s= df_data['petal_length']*100,color = colors,alpha = 0.6)
#第三个变 表明根据[ PetalLength ]门 00 数据显示气泡的大小
ax.set_xlabel ('sepal_length(cm)')
ax.set_ylabel ('epal_width(cm)')
ax.set_title ('petal_length(cm)*100')
#显示网格
ax.grid(True)
fig.tight_layout()
plt.show()
matplotlib 示例的更多相关文章
- python强大的绘图模块matplotlib示例讲解
Matplotlib 是 Python 的绘图库.作为程序员,经常需要进行绘图,在我自己的工作中,如果需要绘图,一般都是将数据导入到excel中,然后通过excel生成图表,这样操作起来还是比较繁琐的 ...
- matplotlib示例
plt.plot 内只有一个列表示例 import matplotlib.pyplot as plt lst = [4.53,1.94,4.75,0.43,2.02,1.22,2.13,2.77] p ...
- matplotlib basic and boxplot
============================================matplotlib 绘图基础========================================= ...
- python数据分析scipy和matplotlib(三)
Scipy 在numpy基础上增加了众多的数学.科学及工程常用的库函数: 线性代数.常微分方程求解.信号处理.图像处理.稀疏矩阵等: Matplotlib 用于创建出版质量图表的绘图工具库: 目的是为 ...
- Matplotlib基本使用简介
目录 Matplotlib基本使用简介 1. Matplotlib简介 2. Matplotlib操作简介 Matplotlib基本使用简介 1. Matplotlib简介 Matplotlib是 ...
- python基础全部知识点整理,超级全(20万字+)
目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https:// ...
- 巩固复习(Hany驿站原创)_python的礼物
Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https://www ...
- 如何使用Python 进行数据可视化
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 在进行数据分析的时候,经常需要将数据进行可视化,以方便我们对数据的认识和理解. 0,Matplotl ...
- Matplotlib常用示例入门
一.Matplotlib介绍 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过 Matplotlib,开发者可以仅需要几行 ...
随机推荐
- easyui API
http://www.jeasyuicn.com/api/docTtml/index.htm
- PAT-1134 Vertex Cover (图的建立 + set容器)
A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at le ...
- Poj 3013基础最短路
Description Christmas is coming to KCM city. Suby the loyal civilian in KCM city is preparing a big ...
- 【Java】手把手理解CAS实现原理
先来看看概念,[CAS] 全称“CompareAndSwap”,中文翻译即“比较并替换”. 定义:CAS操作包含三个操作数 —— 内存位置(V),期望值(A),和新值(B). 如果内存位置的值与期望值 ...
- 16-3 update语句
--打开和关闭查询窗口:ctrl+R --更新语句: --update 表名 set 列=新值,列2=新值2,... where 条件 --update语句,如果不加where条件,那么表示对表中所有 ...
- 15-2 insert语句介绍
create table TblClass ( tClassId ,) primary key, tClassName ) ) --向班级表中插入一条记录 --insert into 表名(列1,列2 ...
- 【图机器学习】cs224w Lecture 11 & 12 - 网络传播
目录 Decision Based Model of Diffusion Large Cascades Extending the Model Probabilistic Spreading Mode ...
- ssserver多出口ip
环境:centos6.10-7x(虚拟机),配置好之后至少保证能上网 需求:在一台服务器上配置多ip,并实现,用哪个ip 作为代理,访问ip138.com这类的网站的时候就返回对应的ip. 实现步骤: ...
- Cookie&Sission 部分方法
Cookie:创建Cookie:Cookie cookie = new Cookie(String cookieName,String cookieValue); cookie.setMaxAge(i ...
- 安装和换源pip
pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能 一.ubuntu安装和配置pip 1.进入终端,输入命令sudo su root ,输入密码后进入r ...