用python画 pareto front
用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"
- 以下是使用pycharm画出的图形

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

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

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

用python画 pareto front的更多相关文章
- 沉淀再出发:用python画各种图表
沉淀再出发:用python画各种图表 一.前言 最近需要用python来做一些统计和画图,因此做一些笔记. 二.python画各种图表 2.1.使用turtle来画图 import turtle as ...
- python画樱花
用python画简单的樱花 代码如下: import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): ...
- python 画小猪佩奇
转自:python画个小猪佩奇 # -*- coding: utf-8 -*- """ Created on Mon May 20 11:36:03 2019 @auth ...
- python 画3D的高斯曲线
用python画3D的高斯曲线,我想如果有多个峰怎么画? import numpy as npimport matplotlib.pyplot as pltimport mathimport mpl_ ...
- python画一只佩奇
用python画一只佩奇 from turtle import* def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 sethead ...
- 利用python画出动态高优先权优先调度
之前写过一个文章. 利用python画出SJF调度图 动态高度优先权优先调度 动态优先权调度算法,以就绪队列中各个进程的优先权作为进程调度的依据.各个进程的优先权在创建进程时所赋予,随着进程的推进或其 ...
- 【python画圆】pip安装库时出现Read timed out.解决办法
昨天第一次用python画圆,当时并没有安装numpy库(导入数据包)和matplotlib库(导入图形包),于是尝试用pip安装库 首先,我先更新了pip,如下图: 顺便附上成功截图: 然后安装nu ...
- python画柱状图并且输出到html文件
import matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltfrom Cstring import StringIO y ...
- python画出心形图
程序员表达爱的方式真是多种多样.比如,用python来画一个心型,献给梦中的情人,代码如下: from turtle import * pensize(1) pencolor('red') fillc ...
随机推荐
- java中的String要点解析
String类使我们经常使用的一个类,经常用来表示字符串常量. 字符串一旦被创建赋值,就不能被改变,因为String 底层是数组实现的,且被定义成final类型.我们可以看String源码. /** ...
- POJ - 3252 - Round Numbers(数位DP)
链接: https://vjudge.net/problem/POJ-3252 题意: The cows, as you know, have no fingers or thumbs and thu ...
- CSS3中的display:grid网格布局介绍
1.网格布局(grid): 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局; 2.基本概念: 容器和项目,如图所示: <div class="content&qu ...
- (尚012)Vue表单数据的自动手集(表单数据提交,需要收集表单数据)
自动收集,就是我一输入数据,就自动收集,等我点击提交按钮的时候,数据就收集好了 1.使用v-model对表单数据自动收集 1)text/textare----单行/多行输入框 2)checkbox-- ...
- C# 中文序列按笔画排序
问题:给定一串含中文的序列,按首字符的笔画数排序 因为默认是按拼音来排序的, 借助Globalization命名空间,包含定义区域性相关信息的类,这些信息包括语言,国家/地区,正在使用的日历,日期.货 ...
- Ubuntu下彻底卸载默认安装的mysql,自己手动下载安装MYSQL
彻底卸载: sudo apt-get autoremove --purge mysql-server-5.7 sudo apt-get remove mysql-common sudo rm -rf ...
- BZOJ 2333: [SCOI2011]棘手的操作
题目描述 真的是个很棘手的操作.. 注意每删除一个点,就需要clear一次. #include<complex> #include<cstdio> using namespac ...
- 关灯问题II 状压DP
关灯问题II 状压DP \(n\)个灯,\(m\)个按钮,每个按钮都会对每个灯有不同影响,问最少多少次使灯熄完. \(n\le 10,m\le 100\) 状压DP的好题,体现了状压的基本套路与二进制 ...
- 10分钟用Python爬取最近很火的复联4影评
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! <复仇者联盟4:终局之战>已经上映快三个星期了,全球票房破24亿美元,国内票房破40亿人民币. 虽然现在热度逐渐下降,但是我们还 ...
- 三层交换+DHCP实验详解