用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 ...
随机推荐
- test20190526 Noip 模拟赛 4
调整(tweak) [问题描述] 已给定一个 N个点 M条边的有向图,点编号为1到N,第i条边为 (ui,vi), 权值为 wi. 你可以进行一次操作,使得任意条边的权值变成非负整数.要求进行尽量少的 ...
- 拉格朗日插值matlab实现
已给sin0.32=0.314567,sin0.34=0.333487,sin0.36=0.352274,用线性插值及抛物插值计算sin0.3367的值并估计截断误差. 1. 线性插值 clc;cle ...
- Django REST framework认证权限和限制 源码分析
1.首先 我们进入这个initial()里面看下他内部是怎么实现的. 2.我们进入里面看到他实现了3个方法,一个认证,权限频率 3.我们首先看下认证组件发生了什么 权限: 啥都没返回,self.per ...
- 3、HDFS架构和YARN架构
HDFS 架构图 HDFS 服务功能 NameNode NameNode是主节点,存储文件的元数据如文件名,文件目录,文件属性(生成时间.副本数.文件权限),以及每个文件的块列表和块所在的DataNo ...
- SIGAI机器学习第十八集 线性模型2
之前讲过SVM,是通过最大化间隔导出的一套方法,现在从另外一个角度来定义SVM,来介绍整个线性SVM的家族. 大纲: 线性支持向量机简介L2正则化L1-loss SVC原问题L2正则化L2-loss ...
- [LuoguP1462]通往奥格瑞玛的道路
题目链接 题意简述:现在有一个图,每经过一个点就会交钱,走一条路就会扣血.在血量>0的前提下,要从1走到n点,并且要求路径上交钱的最大值最小. 解题思路:首先最大值最小,我们选择二分.目前有两个 ...
- noi.ac #32 快速排序归并排序应用
\(des\) 给定长度为 \(n\) 的数组,要求翻转一段区间 \([l, r]\) 使其升序排列. 要求 \(\sum r - l + 1 <= 2e7\) \(sol\) 考虑快速排序,每 ...
- RS译码的描述
在描述Reed-Solomon码的译码时,需要确定错误多项式的系数,然后进行搜索.通常,错误多项式的最高次数与错误的符号数相同. 如: λ(X)= λ0+ λ1X+ ...+ λνXν. 设该RS码最 ...
- go type别名和定义类型区别
package main import ( "fmt" ) type person struct { age int name string } func (p person)te ...
- KillTimer不能放在析构函数,可以放在DestroyWindow函数里
转自 https://www.cnblogs.com/huking/archive/2009/11/27/1612201.html KillTimer&析构函数 析构函数中不能用KillTim ...