前言

Python一般使用Matplotlib制作统计图形,用它自己的说法是‘让简单的事情简单,让复杂的事情变得可能'。用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统计图形,这些图形可以导出为多种具有出版质量的格式。此外,它和ipython结合使用,确实方便,谁用谁知道!本文将介绍利用python中的matplotlib画一颗心,感兴趣的朋友们下面来一起看看吧。

安装matplotlib

首先要安装matplotlib

pip install matplotlib

windows用户可以去官网下载安装。官网看到matpltlib的作者John Hunter (1968-2012)刚去世不久,在此感谢他创造了这样一个强大的绘图工具。

上代码

#!/usr/bin/env python3

from mpl_toolkits.mplot3d import Axes3D

from matplotlib import cm

from matplotlib.ticker import LinearLocator, FormatStrFormatter

import matplotlib.pyplot as plt

import numpy as np

def heart_3d(x,y,z):

return (x**2+(9/4)*y**2+z**2-1)**3-x**2*z**3-(9/80)*y**2*z**3

def plot_implicit(fn, bbox=(-1.5, 1.5)):

''' create a plot of an implicit function

fn ...implicit function (plot where fn==0)

bbox ..the x,y,and z limits of plotted interval'''

xmin, xmax, ymin, ymax, zmin, zmax = bbox*3

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

A = np.linspace(xmin, xmax, 100) # resolution of the contour

B = np.linspace(xmin, xmax, 40) # number of slices

A1, A2 = np.meshgrid(A, A) # grid on which the contour is plotted

for z in B: # plot contours in the XY plane

X, Y = A1, A2

Z = fn(X, Y, z)

cset = ax.contour(X, Y, Z+z, [z], zdir='z', colors=('r',))

# [z] defines the only level to plot

# for this contour for this value of z

for y in B: # plot contours in the XZ plane

X, Z = A1, A2

Y = fn(X, y, Z)

cset = ax.contour(X, Y+y, Z, [y], zdir='y', colors=('red',))

for x in B: # plot contours in the YZ plane

Y, Z = A1, A2

X = fn(x, Y, Z)

cset = ax.contour(X+x, Y, Z, [x], zdir='x',colors=('red',))

# must set plot limits because the contour will likely extend

# way beyond the displayed level. Otherwise matplotlib extends the plot limits

# to encompass all values in the contour.

ax.set_zlim3d(zmin, zmax)

ax.set_xlim3d(xmin, xmax)

ax.set_ylim3d(ymin, ymax)

plt.show()

if __name__ == '__main__':

plot_implicit(heart_3d)

效果是这个样子,挺有意思的:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流。

本文标题: 利用python画一颗心的方法示例

本文地址: http://www.cppcns.com/jiaoben/python/178042.html

如何用python画心形_利用python画一颗心的方法示例相关推荐

  1. python画一颗心_利用python画一颗心的方法示例

    前言 Python一般使用Matplotlib制作统计图形,用它自己的说法是'让简单的事情简单,让复杂的事情变得可能'.用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统 ...

  2. python过去日期_利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

  3. 如何用python制作画像_利用Python搭建用户画像系统

    用户画像是当下很多企业都会提及的概念,多数情况下会和大数据以及营销挂钩.本文将对用户画像的相关知识进行进行简单的介绍,并利用Python去实现一个简单的用户画像系统. 1.什么是用户画像 用户画像可以 ...

  4. 数据挖掘 python roc曲线_利用scikitlearn画ROC曲线实例

    一个完整的数据挖掘模型,最后都要进行模型评估,对于二分类来说,AUC,ROC这两个指标用到最多,所以 利用sklearn里面相应的函数进行模块搭建. 具体实现的代码可以参照下面博友的代码,评估svm的 ...

  5. python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合

    本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...

  6. python照片墙地图_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  7. python图色检测_利用python打开摄像头及颜色检测方法

    最近两周由于忙于个人项目,一直未发言了,实在是太荒凉了....,上周由于项目,见到Python的应用极为广泛,用起来也特别顺手,于是小编也开始着手学习Python,-下面我就汇报下今天的学习成果吧 小 ...

  8. python音频聚类_利用python的KMeans和PCA包实现聚类算法

    题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚类,聚成普通驾驶类型,激进类型和超冷静型3类 . 利用Python的scikit-learn包中的Kmeans算法 ...

  9. python mysql 分页_利用python对mysql表做全局模糊搜索并分页实例

    在写django项目的时候,有的数据没有使用模型管理(数据表是动态添加的),所以要直接使用mysql.前端请求数据的时候可能会指定这几个参数:要请求的页号,页大小,以及检索条件. "&quo ...

最新文章

  1. nstimer循环引用_NSTimer定时器进阶——详细介绍,循环引用分析与解决
  2. python截图识别文字_用百度ocr+微信截图实现文字识别
  3. 嵩天python123测试6_神华化工股票
  4. 【Java数据结构与算法】第三章 双向链表和约瑟夫问题
  5. 【janio】janio 官网 翻译 Janino 是一个超小、超快的 Java 编译器
  6. linux连接FreeBSD虚拟机的mysql
  7. POJO中使用ThreadLocal实现Java嵌套事务
  8. linux ssh客户端_Linux终端连接Linux服务器
  9. You must install signalwire-client-c to build mod_signalwire。
  10. Atlantis poj1151 线段树扫描线
  11. 华为服务器装系统怎么选pxe,服务器设置pxe启动
  12. 墨卡托投影参数设置_[转载]MRT投影参数设置及原理
  13. Linux系统不同颜色文件代表什么意思?绿色、蓝色、白色、红色等代表的意义是什么?
  14. sel在c语言,iOS 你所不知道的SEL
  15. 程序员提高自身能力的N种方式
  16. 计算机系统(六):应用层(上篇)
  17. 解决:Type com.alibaba.android.arouter.routes.ARouter$$Group$$home is defined multiple times
  18. 虚幻4引擎开发使用感受
  19. PyMC3 概率编程入门
  20. 最重要的财富——信用:守信重于生命

热门文章

  1. 阿里张勇:针对平台经济的管理非常及时和必要|钛媒体直击乌镇
  2. 如何使用Spring Boot促进java开发?高级java架构师为您详解!
  3. 中国重型搅拌机市场深度研究分析报告
  4. php参考文献2018近三年,2018年论文参考文献标准格式
  5. 行为树 Behavior Tree 原理 一
  6. 零基础学软件测试基础篇---什么是软件测试
  7. android 8(O)预装APP到data/app目录
  8. 疯狂的采药(采药升级版)
  9. 非root查看手机数据库和SharedPreferences的方法
  10. Codeforces Round #682 (Div. 2)