python – 绘制目录中的所有数据文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 绘制目录中的所有数据文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2343字,纯文字阅读大概需要4分钟。
内容图文
![python – 绘制目录中的所有数据文件](/upload/InfoBanner/zyjiaocheng/732/55f360af6b85411f93a771801c7ccf81.jpg)
我试图将我的所有数据文件绘制在python目录中,然后保存生成的图.我不是在尝试编写高效的python代码(不幸的是):只对现在绘制数据感兴趣.
我是python的新手,我的目标是在我的论文中组织数字.
所以使用下面的代码,这就是我想要做的:
>我用glob列出所有.dat文件
>我使用文件名填充数组
>我遍历这个文件名数组和plot_surface每个数据文件
我试图绘制的数据是here
在我身上吐出的错误是:
错误
File "/home/dnaneet/Research/test_collection/dftdata/profile2.py", line 59, in <module>
plot(x, y, z)
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2286, in plot
ret = ax.plot(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 3783, in plot
for line in self._get_lines(*args, **kwargs):
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 317, in _grab_next_args
for seg in self._plot_args(remaining, kwargs):
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 278, in _plot_args
raise ValueError, 'third arg must be a format string'
ValueError: third arg must be a format string
Python代码
06001
题
这是因为我的压痕不好还是在这里发生了更加险恶的事情?我该怎么做才能纠正这些错误?
我不太了解python并且一直试图摆脱mathematica(因为我将毕业,再也买不起世界上的mathematicas或matlabs).
SE上提供的先前代码:
修改后的代码(基于答案)
06002
解决方法:
一些清理建议(你的任务很简单,我认为有一些不必要的操作):
>不要迭代列表的索引,迭代列表本身;
>摆脱样板代码(打印,raw_input仅用于确认等)
>利用数组创建例程.
>不要创建仅在一个地方调用的函数.
>避免多次导入,或者从模块导入*,因为它已经导致名称冲突.
这是您的程序的修改版本,我相信它可以实现相同的结果.它不是您的问题的解决方案,而是一系列小改进(或我认为是改进):
import os
import glob
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
for fname in glob.glob('*profile*.dat'):
z = numpy.loadtxt(fname)
x,y = np.meshgrid(range(z.shape[0]), range(z.shape[1]))
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(x, y, z, rstride=5, cstride=5,cmap="binary",linewidth=0.1)
ax.set_zlim3d(0.0,4.0)
ax.set_xlabel('X',fontsize=16,fontweight="bold")
ax.set_ylabel('Y',fontsize=16,fontweight="bold")
ax.set_zlabel('h(X,T)',fontsize=16,fontweight="bold")
plt.savefig(os.getcwd()+fname+'.pdf',figsize=(5,5),dpi=600)
plt.savefig(os.getcwd()+fname+'.pdf',figsize=(5,5),dpi=600)
您可以选择在最后两行中使用:
plt.savefig(os.path.join(os.getcwd, "%s.pdf" % fname), figsize=(5,5), dpi=600)
内容总结
以上是互联网集市为您收集整理的python – 绘制目录中的所有数据文件全部内容,希望文章能够帮你解决python – 绘制目录中的所有数据文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。