用python画 pareto front

觉得有用的话,欢迎一起讨论相互学习~Follow Me

2D pf

  1. import os
  2. import matplotlib.pyplot as plt
  3. import numpy as np
  4. def Read_Files(filename):
  5. X_axis = [] # X
  6. Y_axis = [] # Y
  7. with open(filename, 'r') as f:
  8. for line in f.readlines():
  9. x = line.split(" ")[0]
  10. y = line.split(" ")[1]
  11. X_axis.append(float(x))
  12. Y_axis.append(float(y))
  13. f.close()
  14. return X_axis, Y_axis
  15. def plot_PF(X_axis, Y_axis):
  16. # 可以通过c 参数设置颜色
  17. # T = np.arctan2(Y_axis, X_axis)
  18. # plt.scatter(X_axis, Y_axis, s=2, c=T, alpha=0.5)
  19. plt.scatter(X_axis, Y_axis, s=20, alpha=0.5)
  20. plt.savefig(Figname + '.png', dpi=600)
  21. plt.show()
  22. Filename = './data/CIHS1_hType_circle.pf'
  23. Figname='CIHS1_hType_circle'
  24. X_axis, Y_axis = Read_Files(Filename)
  25. T = np.arctan2(Y_axis, X_axis)
  26. plot_PF(X_axis, Y_axis)

3D pf

  1. import os
  2. import matplotlib.pyplot as plt
  3. import numpy as np
  4. from mpl_toolkits.mplot3d import Axes3D
  5. def Read_Files(filename):
  6. X_axis = [] # X
  7. Y_axis = [] # Y
  8. Z_axis = [] # Z
  9. with open(filename, 'r') as f:
  10. for line in f.readlines():
  11. # print(line)
  12. x = line.split("\t")[0] # 注意,这里不是使用空格,而是使用Tab制表符进行分割
  13. # print(x)
  14. y = line.split("\t")[1]
  15. # print(y)
  16. z = line.split("\t")[2]
  17. # print(z)
  18. X_axis.append(float(x))
  19. Y_axis.append(float(y))
  20. Z_axis.append(float(z))
  21. f.close()
  22. return X_axis, Y_axis, Z_axis
  23. def plot_PF(X_axis, Y_axis, Z_axis):
  24. ax = plt.figure().add_subplot(111, projection='3d')
  25. # c 设置颜色,alpha设置透明度,s设置点的大小
  26. ax.scatter(X_axis, Y_axis, Z_axis, c='b', alpha=0.5, s=3)
  27. plt.savefig(Figname + '.png', dpi=600)
  28. plt.show()
  29. Filename = './data/hType_sphere.pf'
  30. Figname = 'hType_sphere'
  31. X_axis, Y_axis, Z_axis = Read_Files(Filename)
  32. plot_PF(X_axis, Y_axis, Z_axis)

Note

  • 如果使用Pycharm的图片展示,则画出来的3D图形是不能够旋转的,此时必须关闭pycharm的"Show plots in tool windows"

https://blog.csdn.net/u013555719/article/details/83896790

  • 以下是使用pycharm画出的图形

  1. “File—>Settings”,打开Settings窗口。

  2. 找到“Python Scientific”,去除右边候选框中的勾号。

  • 用上述步骤后使用python原生画图工具显示的图形

用python画 pareto front的更多相关文章

  1. 沉淀再出发:用python画各种图表

    沉淀再出发:用python画各种图表 一.前言 最近需要用python来做一些统计和画图,因此做一些笔记. 二.python画各种图表 2.1.使用turtle来画图 import turtle as ...

  2. python画樱花

    用python画简单的樱花 代码如下: import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): ...

  3. python 画小猪佩奇

    转自:python画个小猪佩奇 # -*- coding: utf-8 -*- """ Created on Mon May 20 11:36:03 2019 @auth ...

  4. python 画3D的高斯曲线

    用python画3D的高斯曲线,我想如果有多个峰怎么画? import numpy as npimport matplotlib.pyplot as pltimport mathimport mpl_ ...

  5. python画一只佩奇

    用python画一只佩奇 from turtle import* def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 sethead ...

  6. 利用python画出动态高优先权优先调度

    之前写过一个文章. 利用python画出SJF调度图 动态高度优先权优先调度 动态优先权调度算法,以就绪队列中各个进程的优先权作为进程调度的依据.各个进程的优先权在创建进程时所赋予,随着进程的推进或其 ...

  7. 【python画圆】pip安装库时出现Read timed out.解决办法

    昨天第一次用python画圆,当时并没有安装numpy库(导入数据包)和matplotlib库(导入图形包),于是尝试用pip安装库 首先,我先更新了pip,如下图: 顺便附上成功截图: 然后安装nu ...

  8. python画柱状图并且输出到html文件

    import matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltfrom Cstring import StringIO y ...

  9. python画出心形图

    程序员表达爱的方式真是多种多样.比如,用python来画一个心型,献给梦中的情人,代码如下: from turtle import * pensize(1) pencolor('red') fillc ...

随机推荐

  1. strtol函数的用法——字符串转长整形

    /* strtol example */ #include <stdio.h> /* printf */ #include <stdlib.h> /* strtol */ in ...

  2. BurpSuite Intruder模块匹配返回包内容

    很多时候burpsuite intruder爆破我们是看返回包的长度,那么如何根据返回包的内容来做筛选呢? 这里我用的本地某cms环境做个演示 Intruder模块怎么用的不用介绍了吧 直接进入正题 ...

  3. YAML_18 ansible 判断和循环

    标准循环 模式一 - name: add several users user: name={{ item }} state=present groups=wheel with_items: - te ...

  4. am335x system upgrade kernel can(八)

    1      Scope of Document This document describes can bus hardware design and can bus driver developm ...

  5. RS码的突发纠错能力

    RS码便于纠突发错误.所谓突发错误,是指burst errors. 即一长串连续位出错.例如 0011XXXX1010. 其中X表示出错.如果是GF(2^4)中定义的RS码,则可以由一个符号错误纠正. ...

  6. 数据结构实验之排序三:bucket sort (SDUT 3400)

    桶排序: #include <stdio.h> #include <string.h> int a[5555555]; int main() { int n,m; scanf( ...

  7. 《自制编程语言--基于C语言 郑钢》学习笔记

    <自制编程语言>学习笔记 本仓库内容 <自制编程语言>源码 src/sparrow.tgz <自制编程语言>读书笔记 docs/* <自制编程语言>样章 ...

  8. svn乌龟怎么用

    0601 首先右键SVN-checkout 0602 其他地方可以不用修改,Version处可以修改,表示从指定版本号开始,点击OK. 0603 就会直接下载,如果改变的话,就会由绿色变成红色. 06 ...

  9. EM算法 学习笔记

    转载请注明出处: http://www.cnblogs.com/gufeiyang 首先考虑这么一个问题.操场东边有100个男生,他们的身高符合高斯分布.操场西边有100个女生,她们的身高也符合高斯分 ...

  10. 数据结构Java版之二叉查找树(七)

    二叉查找树(BST : BInary Search Tree) 二叉查找树的性质: 1.每一个元素有一个键值 2.左子树的键值都小于根节点的键值 3.右子树的键值都大于根节点的键值 4.左右子树都是二 ...