示例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 示例的更多相关文章

  1. python强大的绘图模块matplotlib示例讲解

    Matplotlib 是 Python 的绘图库.作为程序员,经常需要进行绘图,在我自己的工作中,如果需要绘图,一般都是将数据导入到excel中,然后通过excel生成图表,这样操作起来还是比较繁琐的 ...

  2. 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 ...

  3. matplotlib basic and boxplot

    ============================================matplotlib 绘图基础========================================= ...

  4. python数据分析scipy和matplotlib(三)

    Scipy 在numpy基础上增加了众多的数学.科学及工程常用的库函数: 线性代数.常微分方程求解.信号处理.图像处理.稀疏矩阵等: Matplotlib 用于创建出版质量图表的绘图工具库: 目的是为 ...

  5. Matplotlib基本使用简介

    目录 Matplotlib基本使用简介 1. Matplotlib简介 2. Matplotlib操作简介 Matplotlib基本使用简介 1. Matplotlib简介   Matplotlib是 ...

  6. python基础全部知识点整理,超级全(20万字+)

    目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https:// ...

  7. 巩固复习(Hany驿站原创)_python的礼物

    Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https://www ...

  8. 如何使用Python 进行数据可视化

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 在进行数据分析的时候,经常需要将数据进行可视化,以方便我们对数据的认识和理解. 0,Matplotl ...

  9. Matplotlib常用示例入门

    一.Matplotlib介绍 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过 Matplotlib,开发者可以仅需要几行 ...

随机推荐

  1. AJAX三

    三.ajax 4.代参数的get方法 ①服务器 ②ajax代码 xhr.open("get",url,true) url="/demo/get_login?uname=& ...

  2. [原创][开源] SunnyUI.Net 开发日志:ListBox 增加跟随鼠标滑过高亮

    QQ群里,寸目说,ListBox鼠标移动时,当前行需要焦点,我想了想,不难实现啊 不就是在鼠标移动时重绘Item嘛,何况选中的Item已经改了颜色了. 见UIListBox代码: protected ...

  3. 《机器学习_07_03_svm_核函数与非线性支持向量机》

    一.简介 前两节分别实现了硬间隔支持向量机与软间隔支持向量机,它们本质上都是线性分类器,只是软间隔对"异常点"更加宽容,它们对形如如下的螺旋数据都没法进行良好分类,因为没法找到一个 ...

  4. tcp/ip 学习笔记zz

    http://blog.csdn.net/goodboy1881/category/204448.aspx 坚持看!

  5. Java switch case语句

    switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch case 语句语法格式如下: switch(expression){ case value : ...

  6. Centos慢慢长大(一)

    1.写在前面 这将是一个系列性的文章.可能更多的是记录我在学习的过程中的一些感悟吧.我想强调的是在这一系列文章里我会从最小化的安装开始,然后逐渐的增加需要安装的软件.就象一个婴儿的诞生,慢慢的学走路. ...

  7. 关于 conda中的 lxml 无法导入 etree 问题

    找到你conda的安装目录下\Lib\site-packages下的两个文件夹lxml和lxml-4.3.4.dist-info,将这两个文件夹删除. 执行命令pip install lxml 重新安 ...

  8. JavaScript变量语法扩展

    1.更新变量 一个变量被重新赋值后,它原有的值会被覆盖,变量值将会以最后一次赋值为准. 2.同时声明多个变量 var   age = 18 , address ='火影村' , gz = 2000 ; ...

  9. jQuery基础总计

    框架概述 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法.框架是完成某种功能的半成品,框架是将我们日常的繁琐的代码进行抽取,并提供出更加简洁,功能更加 ...

  10. json工具--org.json.jar

    org.json可以解析json.把对象包装成json.API文档:http://resources.arcgis.com/en/help/arcobjects-java/api/arcobjects ...