最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

用python画 pareto front

互联网 admin 8浏览 0评论

用python画 pareto front

用python画 pareto front

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

2D pf

import os
import matplotlib.pyplot as plt
import numpy as npdef Read_Files(filename):X_axis = []  # XY_axis = []  # Ywith 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_axisdef 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 Axes3Ddef Read_Files(filename):X_axis = []  # XY_axis = []  # YZ_axis = []  # Zwith 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_axisdef 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画出的图形
  1. “File—>Settings”,打开Settings窗口。
  2. 找到“Python Scientific”,去除右边候选框中的勾号。
  • 用上述步骤后使用python原生画图工具显示的图形

用python画 pareto front

用python画 pareto front

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

2D pf

import os
import matplotlib.pyplot as plt
import numpy as npdef Read_Files(filename):X_axis = []  # XY_axis = []  # Ywith 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_axisdef 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 Axes3Ddef Read_Files(filename):X_axis = []  # XY_axis = []  # YZ_axis = []  # Zwith 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_axisdef 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画出的图形
  1. “File—>Settings”,打开Settings窗口。
  2. 找到“Python Scientific”,去除右边候选框中的勾号。
  • 用上述步骤后使用python原生画图工具显示的图形

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论