
python
Panda_1875
这个作者很懒,什么都没留下…
展开
-
pyplot的绘图转换为numpy矩阵
1.核心原理height_default, dpi_default= (4.8, 100) fig = plt.figure()plt.plot(x, y)fig.canvas.draw()fig_str = fig.canvas.tostring_rgb()data = np.frombuffer(fig_str, dtype=np.uint8).reshape((int(height_default*dpi_default), -1, 3)) / 255.0主要步骤为:(1)创原创 2021-10-03 15:53:41 · 1909 阅读 · 1 评论 -
避免pyplot出现Fail to allocate bitmap报错的方法
1. 问题复现当重复绘图(主要是重复创建figure)之后,即使只是在函数内部的局部变量有定义,或者已经使用plt.close()关闭绘图,pyplot内依然保留部分内容,但具体是哪一部分暂时没找到。下面是来自Github的bug复现片段:import matplotlib.pyplot as pltimport numpy as npimage = np.random.randn(256, 256, 3)image= np.array(image/image.max()*255, dtype原创 2021-09-17 14:59:44 · 1922 阅读 · 0 评论 -
解决matplotlib在windows下缩放不兼容导致的绘图模糊问题
1. 原因window应用缩放模糊也是祖传的了,一般的解决方法是:[右键点击软件]->[属性]->[兼容性设置]->[更改高DPI行为]->[勾选"替代高DPI缩放行为",并选择"应用程序"]matplotlib的问题在于找到需要修改兼容性设置的"应用程序"。2. 解决方法对"python.exe"执行以上操作即可python.exe的路径可以通过cmd找到:打开该目录,[右键点击对应版本的python.exe]->[属性]->[兼容性设置]->[更改原创 2021-08-27 11:26:49 · 806 阅读 · 0 评论 -
基于python的掺杂介质六面体nastran网格生成脚本
1.效果图1.1 网格Mesh1Mesh_1Mesh1Mesh2Mesh_2Mesh21.2 应力(使用COMSOL求解)missesmissesmisses应力切应力3.程序import numpy as npimport scipy.interpolate as siimport matplotlib.pyplot as pltN_origin= 10 # 初始矩阵尺寸N_inter= 50 # 插值之后矩阵尺寸t_0=原创 2021-08-01 22:34:30 · 1182 阅读 · 1 评论 -
lammps .eam势文件 metal单位制转real单位制的python程序
1.程序# 1 eV/mol = 1.6021766208×10^-19 J# 1 J*6.02214076×10^23 = J/mol# 1KJ/mol = 0.2389029576186153 Kcal/molC= 1.6021766208*6.02214076*10*0.2389029576186153file_name_read = "Cu_u3.eam"file_name_write = "/home/zxy/Documents/lammps/eam_test/Cu_u3_rea原创 2021-07-25 11:08:58 · 1420 阅读 · 4 评论 -
基于python与scipy拟合椭圆
1.效果2. 原理椭圆有个性质:椭圆上的点到椭圆两焦点的距离为常数。令:1、椭圆上的点到两焦点的距离之和为 LtargetL_{target}Ltarget2、两焦点坐标为(xfocus,1 ,yfocus,1),(xfocus,2 ,yfocus,2)(x_{focus,1}\,,y_{focus,1}),(x_{focus,2}\,,y_{focus,2})(xfocus,1,yfocus,1),(xfocus,2,yfocus,2)3、nnn个样本点坐原创 2021-06-23 11:20:56 · 6515 阅读 · 11 评论 -
查找曲线峰值并使用梯度下降法拟合为幂函数
1.用途用于查看曲线趋势(衰减规律等)2.效果此处拟合为 的形式3.脚本PS:直接运行的图可能不太好看,因为需要载入调整过的style文件,即第47行的 # plt.style.use("zxy")import numpy as npimport matplotlib.pyplot as pltdata= [ 0.6510, 0.6583, 0.6630, 0.6702, 0.6782, 0.6870, 0.7...原创 2021-05-09 11:40:59 · 1473 阅读 · 0 评论 -
python 计算牛顿差商,计算并化简牛顿插值多项式
1. 程序1.1 导入库import numpy as npimport sympy as sy1.2 函数def NewtonInt(x_value, y_value): """ 计算牛顿插值差商表 :param x_value: x序列 :param y_value: y序列 :return: 差商表矩阵, 字符串插值多项式 """ N=len(x_value) res= np.zeros((N, N)) re原创 2021-03-28 19:10:30 · 1859 阅读 · 1 评论 -
python 牛顿迭代法求解非线性方程有限区间内所有实数数值解
1. 引言上一篇文章python 二分法求解非线性方程所有实数解,初步实现了对非线性方程解的查找。由于采用的是二分法,收敛速度较慢,这里改进为牛顿迭代,并对收敛速度进行对比。2.程序2.1 调用库import numpy as npimport matplotlib.pyplot as plt2.2 求解程序def solveFun(fun, min_x=0, max_x=1, n_step=1000, max_lter=64, max_error= 1e-6, plot=Fa原创 2021-03-04 16:54:39 · 1609 阅读 · 1 评论 -
python 二分法求解非线性方程所有实数解
1. 导入库import numpy as npimport matplotlib.pyplot as plt2.求解方法def solveFun(fun, min_x=0, max_x=1, n_step=1000, max_lter=64, plot=False, print_log=False): """ :param fun: 需要求解的函数 :param min_x: 自变量求解区间下限 :param max_x: 自变量求解区间上限 :p原创 2021-03-03 22:12:29 · 2825 阅读 · 4 评论 -
matplotlib.pyplot 绘制曲线的一些参数设置
1. 概述pyplot是替代matlab的一个很好的选择,不过默认的曲线绘图不够美观,这里对一些细节参数进行了修改,以供各位参考。2. 绘图效果对比修改前(右图)与修改后(左图)对比 注:图中曲线数据来源是对文献Hu Chengzhi, Tang Dawei, Lv Jizu, et al. Molecular dynamics simulation of frictional properties of Couette flow with striped superhyd原创 2020-09-19 15:46:49 · 2362 阅读 · 0 评论 -
一个提取lammps的log文件中的数据并绘图的python程序
1. 程序及结果1.1 程序# -*- coding:utf-8 -*-import reimport numpy as npimport matplotlib.pyplot as pltfile_name= "log.lammps" # log 文件名jump_step= 20 # 需要跳过的step数,主要用于忽略势能最小化或弛豫产生的输出数据max_lines= 1原创 2020-08-04 09:20:34 · 3639 阅读 · 5 评论