用python画 pareto front

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

2D pf

import os
import matplotlib.pyplot as plt
import numpy as np def Read_Files(filename):
X_axis = [] # X
Y_axis = [] # Y
with open(filename, 'r') as f:
for line in f.readlines():
x = line.split(" ")[0]
y = line.split(" ")[1]
X_axis.append(float(x))
Y_axis.append(float(y))
f.close()
return X_axis, Y_axis def plot_PF(X_axis, Y_axis):
# 可以通过c 参数设置颜色
# T = np.arctan2(Y_axis, X_axis)
# plt.scatter(X_axis, Y_axis, s=2, c=T, alpha=0.5)
plt.scatter(X_axis, Y_axis, s=20, alpha=0.5)
plt.savefig(Figname + '.png', dpi=600)
plt.show() Filename = './data/CIHS1_hType_circle.pf'
Figname='CIHS1_hType_circle'
X_axis, Y_axis = Read_Files(Filename)
T = np.arctan2(Y_axis, X_axis)
plot_PF(X_axis, Y_axis)

3D pf

import os
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D def Read_Files(filename):
X_axis = [] # X
Y_axis = [] # Y
Z_axis = [] # Z
with open(filename, 'r') as f:
for line in f.readlines():
# print(line)
x = line.split("\t")[0] # 注意,这里不是使用空格,而是使用Tab制表符进行分割
# print(x)
y = line.split("\t")[1]
# print(y)
z = line.split("\t")[2]
# print(z)
X_axis.append(float(x))
Y_axis.append(float(y))
Z_axis.append(float(z))
f.close()
return X_axis, Y_axis, Z_axis def plot_PF(X_axis, Y_axis, Z_axis): ax = plt.figure().add_subplot(111, projection='3d')
# c 设置颜色,alpha设置透明度,s设置点的大小
ax.scatter(X_axis, Y_axis, Z_axis, c='b', alpha=0.5, s=3) plt.savefig(Figname + '.png', dpi=600)
plt.show() Filename = './data/hType_sphere.pf'
Figname = 'hType_sphere'
X_axis, Y_axis, Z_axis = Read_Files(Filename)
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. java中的String要点解析

    String类使我们经常使用的一个类,经常用来表示字符串常量. 字符串一旦被创建赋值,就不能被改变,因为String 底层是数组实现的,且被定义成final类型.我们可以看String源码. /** ...

  2. POJ - 3252 - Round Numbers(数位DP)

    链接: https://vjudge.net/problem/POJ-3252 题意: The cows, as you know, have no fingers or thumbs and thu ...

  3. CSS3中的display:grid网格布局介绍

    1.网格布局(grid): 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局; 2.基本概念: 容器和项目,如图所示: <div class="content&qu ...

  4. (尚012)Vue表单数据的自动手集(表单数据提交,需要收集表单数据)

    自动收集,就是我一输入数据,就自动收集,等我点击提交按钮的时候,数据就收集好了 1.使用v-model对表单数据自动收集 1)text/textare----单行/多行输入框 2)checkbox-- ...

  5. C# 中文序列按笔画排序

    问题:给定一串含中文的序列,按首字符的笔画数排序 因为默认是按拼音来排序的, 借助Globalization命名空间,包含定义区域性相关信息的类,这些信息包括语言,国家/地区,正在使用的日历,日期.货 ...

  6. Ubuntu下彻底卸载默认安装的mysql,自己手动下载安装MYSQL

    彻底卸载: sudo apt-get autoremove --purge mysql-server-5.7 sudo apt-get remove mysql-common sudo rm -rf ...

  7. BZOJ 2333: [SCOI2011]棘手的操作

    题目描述 真的是个很棘手的操作.. 注意每删除一个点,就需要clear一次. #include<complex> #include<cstdio> using namespac ...

  8. 关灯问题II 状压DP

    关灯问题II 状压DP \(n\)个灯,\(m\)个按钮,每个按钮都会对每个灯有不同影响,问最少多少次使灯熄完. \(n\le 10,m\le 100\) 状压DP的好题,体现了状压的基本套路与二进制 ...

  9. 10分钟用Python爬取最近很火的复联4影评

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! <复仇者联盟4:终局之战>已经上映快三个星期了,全球票房破24亿美元,国内票房破40亿人民币. 虽然现在热度逐渐下降,但是我们还 ...

  10. 三层交换+DHCP实验详解