Python中有很多封装好的包可以直接使用,最近正好用到了可视化的展示模块matplotlib,感觉虽然API学起来比较复杂,但是看到画出来的图片那么漂亮当然还是心满意足的了,最近几天学习使用了柱状图、直方图、三维立体图、流形图等等,接下来会找时间分别记录一下,当做是自己学习的一个记录也希望能帮到正好需要的人。

今天主要简单了绘制一些漂亮好玩的散点图,下面是具体的实现:

#!usr/bin/env python
#encoding:utf-8
from __future__ import division
'''
__Author__:沂水寒城
功能:借助于Python绘制一些简单的漂亮的图片
'''import random
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import LogNormdef plot_beautiful(point_num=100):'''绘制简单好看的散点图'''marker_list=['.', 'v', '^' ,'<', '>', '1' ,'2', '3', '4', '8', 's', 'p', '*', 'h', 'H', '+', 'x', 'D', 'd', '_','o','None']x_list=np.random.rand(point_num) * 2 # 随机产生50个0~2之间的x坐标y_list=np.random.rand(point_num) * 2 # 随机产生50个0~2之间的y坐标colors=np.random.rand(point_num) # 随机产生50个0~1之间的颜色值area=np.pi*(10 * np.random.rand(point_num))**2  # 点的半径范围:0~15 plt.clf()startnum=421plt.figure(figsize=(16,16))for i in range(8):plt.subplot(startnum+i)plt.scatter(x_list, y_list, s=area, c=colors, alpha=0.6, marker=marker_list[i])plt.savefig('beautiful1.png')plt.clf()plt.figure(figsize=(16,16))for i in range(8):plt.subplot(startnum+i)plt.scatter(x_list, y_list, s=area, c=colors, alpha=0.6, marker=marker_list[i+8])plt.savefig('beautiful2.png')plt.clf()plt.figure(figsize=(16,12))for i in range(6):plt.subplot(321+i)plt.scatter(x_list, y_list, s=area, c=colors, alpha=0.6, marker=marker_list[i+16])plt.savefig('beautiful3.png')def plot_hist2d_log_demo(point_num=1000000,savepath='density_demo.png'):'''绘制密度标示图'''plt.clf()x_list=np.random.randn(point_num)y_list=np.random.randn(point_num)+random.randint(1,10)plt.hist2d(x_list, y_list, bins=100, norm=LogNorm())plt.colorbar()plt.savefig(savepath)if __name__ == '__main__':plot_beautiful(point_num=10000)plot_hist2d_log_demo(point_num=1000000,savepath='density_demo.png')

结果如下:

beautiful1.png

beautiful2.png

beautiful3.png

最后是我们的密度图,我没有清除上一次绘图的痕迹留作对比效果如下:

density_demo.png

个人感觉挺漂亮的,当然绘图的所有参数都是可以依据个人喜好自己调整的。下面我减少点的个数为了更好地看出来效果

beautiful1.png

beautiful2.png

beautiful3.png

density_demo.png

果然,在数据量缩小两个量级之后效果大为改变了,仅仅是觉得好玩学习使用一下,至于正式的论文或者实验报告中我当然是不敢使用这样花哨的图片的哈。

Python绘制简单漂亮好玩的散点图相关推荐

  1. python绘制训练结果曲线图和散点图、解决坐标刻度标签重复问题 、利用训练标准输出流绘制

    python绘制训练结果曲线图和散点图.解决坐标刻度标签重复问题 .利用训练标准输出流绘制 python绘制训练结果图 训练结果标准输出流 删除标准输出流中多余内容 正则表达式提取数据 绘制曲线图和散 ...

  2. python画折线图代码-python绘制简单折线图代码示例

    1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt ...

  3. python画折线图详解-python绘制简单折线图代码示例

    1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt ...

  4. python画简单图-python绘制简单彩虹图

    本文实例为大家分享了python绘制彩虹图的具体代码,供大家参考,具体内容如下 代码: from turtle import * #控制彩虹路径 def path(pen, r, g, b): pen ...

  5. python画折线图-python绘制简单折线图代码示例

    1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt ...

  6. 怎样用python绘制简单的图形_用python 画几个简单图案

    原博文 2019-11-15 09:44 − 1 turtle turtle这个库真的很好玩,用很简单几行代码就能画出好看的图案,最近无聊翻了翻之前自己画的哈哈哈哈,分享几个代码 画一个类似五颜六色的 ...

  7. python绘制简单直方图-python plotly绘制直方图实例详解

    python plt怎么绘制直方图 # /usr/bin/python# -*- coding: utf-8 -*-import numpy as npfrom matplotlib import p ...

  8. Python绘制简单的曲线图·

    1.利用Python绘制一个简单的曲线图 代码如下: import matplotlib.pyplot as plt import numpy as npX=np.linspace(0,10,100) ...

  9. python代码画简单图-python绘制简单彩虹图

    本文实例为大家分享了python绘制彩虹图的具体代码,供大家参考,具体内容如下 代码: from turtle import * #控制彩虹路径 def path(pen, r, g, b): pen ...

  10. python画图代码彩虹-python绘制简单彩虹图

    本文实例为大家分享了python绘制彩虹图的具体代码,供大家参考,具体内容如下 代码: from turtle import * #控制彩虹路径 def path(pen, r, g, b): pen ...

最新文章

  1. MyBatis之PageHelper分页操作
  2. QT-Qt获取当前时间并格式化输出及将积秒转换成时间
  3. ubuntu下编译pjsip
  4. 破除“论文至上”!两部委发文规范SCI指标使用
  5. java中自动装箱的问题
  6. 聊聊为什么 IDL 只能扩展字段而非修改
  7. 【HTML+CSS网页设计与布局 从入门到精通】第7章-class、ID选择器,CSS格式
  8. “const char *“ 类型的实参与 “char *“ 类型的形参不兼容错误的解决方法
  9. 深度学习自学(三十二):半监督焦点人物检测
  10. Linux下的定时任务Cron
  11. yii2 学习历程——添加验证码
  12. 关于周志华老师的几篇深度森林论文的介绍
  13. java期末复习题目
  14. 一文详尽移动互联网广告监测与归因
  15. 百度echart世界各国及国内省市经纬度坐标
  16. 需求工程规格说明、需求验证、需求管理
  17. 【个人网站】个人网站搭建预备工作
  18. 做大数据可视化分析的软件和工具有哪些?
  19. pythonturtle画图库使用技巧_Python画图库turtle使用方法简介
  20. 《如何高效学习》总结

热门文章

  1. 在自动驾驶技术上,一向自信满满的马斯克也承认了特斯拉的不足
  2. Zookeeper中的ACL
  3. 团队开发时该如何同步数据库变更到本地
  4. AC日记——Flag Codeforces 16a
  5. Kyoto Tycoon挂载LevelDB,编译安装篇
  6. linux、unix中的批量文件重命名
  7. java内置的四大函数式接口
  8. javaweb实现教师和教室管理系统 java jsp sqlserver
  9. winserver 08 64位安装sql05 64位提示asp版本注册
  10. 【转载】我的MYSQL学习心得-系列