>백엔드 개발 >파이썬 튜토리얼 >Python을 사용하여 학술 논문 차트를 그리는 방법

Python을 사용하여 학술 논문 차트를 그리는 방법

高洛峰
高洛峰원래의
2017-03-08 09:41:072207검색

논문에는 다양한 형태의 차트가 있습니다. 일반적으로 사용되는 처리 도구로는 Excel, MATLAB, Python이 있습니다. Excel의 자체 처리 방식에는 두 가지 결함이 있습니다.

1. 데이터가 너무 많으면 눈이 휘둥그래지기 쉽습니다.

2. 서브플롯 기능이나 일괄 처리가 필요한 경우 MATLAB이나 Python을 사용하는 것이 더 편리합니다.

3. 엑셀로 처리한 다이어그램의 아름다움은 종이 다이어그램의 표준과는 거리가 멀습니다. MATLAB과 Python의 플롯 기능을 비교해 보면 Python은 그래프의 미학적 관점에서 약간의 이점이 있습니다. 다음에서는 Excel에서 Python으로 데이터를 추출하고 Python의 matplotlib 라이브러리를 사용하여 그래프를 그리는 과정을 간략하게 소개합니다.

1. Excel에서 Python으로 데이터를 가져오는 방법:

이 섹션에서는 주로 Excel에서 데이터를 가져오는 방법을 소개합니다. Excel에서 Python으로 데이터를 가져옵니다. 원본 데이터는 .txt 또는 .out 파일에 있을 수 있으며 데이터는 더 복잡합니다. 먼저 MATLAB 또는 Python을 사용하여 데이터를 처리하고 일부를 포함하여 Excel에 저장할 수 있습니다. 나중에 편리하게 그리기 위해 간단한 계산, 배열 등을 사용하거나 Python을 사용하여 .txt의 데이터를 직접 추출합니다(여기서는 자세한 소개 없음). 주요 방법은 Python의 xlrd 라이브러리를 사용하는 것이며 프로세스는 다음과 같습니다.

# 导入xlrd库
import xlrd
# 读取指定Excel文件(此处为excel_dir)中的数据
data=xlrd.open_workbook(excel_dir)
# 读取指定data中某sheet(此处命名为sheetname)中的数据
table=data.sheet_by_name(sheetname)
#读取table中某一列的数据
needs=table.col_values(0)

몇 가지 설명이 필요한 사항이 있습니다.

1. excel_dir 및 시트 이름을 어떻게 정의합니까?

excel_dir은 문자열(예: ' ' 또는 " ") 형식으로 작성해야 하며, .xls 또는 .xlsx와 같은 Excel 접미사로 끝나야 합니다. 관리자 데스크톱의 이름 result.xls 파일은 다음과 같이 작성할 수 있습니다.

excel_dir = 'C:\Users\Administrator\Desktop\result.xls'data=xlrd.open_workbook(excel_dir)

시트 이름을 정의하는 방법은 다음과 같습니다. 또한, 인덱스를 통해서도 시트를 정의할 수 있습니다. 순차 읽기 방식:

table = data.sheets()[0]       #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取

2. 시트의 데이터를 읽는 방법 특정 셀이나 행?

표시된 프로세스는 시트의 특정 열의 데이터를 읽는 것입니다. 마찬가지로 특정 행의 데이터는

입니다.
table.col_values(i)

특정 셀 데이터를 읽는 명령은 다음과 같습니다:

table.cell(i,j).value

3. 행 읽기 또는 특정 데이터 열을 선택할 때 데이터의 범위는 어떻게 되나요?

예를 들어 시트의 표가 다음과 같으면 4×3 표의 데이터를 읽습니다.

Python을 사용하여 학술 논문 차트를 그리는 방법

즉, B열의 데이터를 읽으려면 다음 코드를 실행해야 합니다.

table.col_values(1)

로 작성합니다. 참고: Python은 0부터 세기 시작하므로 열 번호는 1이 되어야 합니다. 이때 포함되는 정보는 다음과 같습니다. is: [u'' ,u'',4,u'']

그리고 테이블의 크기는 각 시트에 의해 결정되며 Excel 테이블에 여러 개의 테이블이 있는 경우 시트의 경우 목록 길이가 다를 수 있습니다.

4. 특정 열에서 2~5개의 행을 가져오려면 어떻게 해야 하나요?

table.col_values(i)[1:5]

5. 마지막 숫자를 얻으려면 코드를 어떻게 작성해야 하나요?

각 행/열의 데이터 유형이 다를 수 있으므로 첫 번째 열에는 숫자가 4개만 있고 두 번째 열에는 숫자가 9개, 가장 높은 열에는 숫자가 있는 경우가 발생할 수 있습니다. 100숫자 비슷한 상황에서 컬럼을 반올림하는 명령을 직접 사용하면 목록에 u''가 섞여서 다음 도면에서 오류가 발생합니다. 이 경우 다음 방법을 사용할 수 있습니다.

a_col=table.col_values(i)
a=a_col[0,a_col.index(u'')]

단, 행 수를 제어하는 ​​열에는 이 명령을 사용할 수 없으니 주의하세요. 그렇지 않으면 오류가 보고됩니다. 이 명령을 사용할지 여부를 식별하는 명령문입니다.

2. Python을 사용하여 그림을 그리는 방법:

여기서는 matplotlib 라이브러리를 사용하여 그리는 방법을 소개합니다. 먼저 matplotlib 라이브러리를 가져와야 합니다.

import numpy as npimport matplotlib.pyplot as plt

그리는 방법은 다음과 같습니다. 매우 간단하며 일반적인 과정은 다음과 같습니다.

# 绘图命令,1为图号,并设置figsize
fig_drift= plt.figure(1,figsize=(12,4))
# 设置数据在x轴和y轴的坐标,以及颜色、标签等属性,此处用了两组数据
plt.plot(drift[0], story,"g-",label='$Damped$')
plt.plot(drift[1], story,"r-.",label='$Undamped$')
# 设置x轴和y轴的标签
plt.xlabel('Drift')
plt.ylabel('Storey')
# 选择显示数据组标签
plt.legend()
# 设置x轴和y轴的间隔及范围
plt.xticks((0.000,0.005,0.010,0.015))
plt.yticks(range(1,5,1))
# 设置图名
plt.title('minor')


몇 가지 필요한 사항 설명하자면:

1. 여러 장의 그림을 그리는 방법은 무엇인가요?

매우 간단합니다. 사진 번호 이름을 설정한 후

ax2 = plt.subplot(132)
plt.sca(ax2)

를 입력하세요.

后面的命令与前述一致,值得一提的是,plt.subplot(131)指的是绘制一个含有1×3子图的图,且ax1代表的是第2张图,而plt.sca(ax2)表示选择该子图。

2.设置x轴、y轴以及其他命令如何判断是赋予哪张图的属性呢?

matplotlib会直接将该属性赋予上一plot对象。

3.如何绘制散点图?

把pl.plot(x, y)改成pl.plot(x, y, 'o')即可。

4.其他一些设置参数:

# 设置x轴和y轴的上下限
pl.xlim(i, j)
pl.ylim(m,n)
# 显示图
pl.show()
# 保存图,自动存为png格式
plt.savefig(dir+name.png,dpi=600)

除此之外还支持设置x轴(y轴)坐标显示,绘制饼状图、直方图等功能,在此不再一一介绍。

 

三.说点题外话:

曾经看过一句话:“世界上没有烂语言,只有写语言的烂人”。

每种语言各自有其优势,也有其劣势,在此不做过多评价。如何利用语言实现绘图或达到更多目标,在于我们如何选择。恰到好处地使用for或def、class等语句,能使一段代码如虎添翼,写在这里,作为给自己的提醒:遇到问题先明确方法、形成体系再进入编写,不要盲目地将看似正确的语言进行强行拼凑,返工率极高。

更多Python을 사용하여 학술 논문 차트를 그리는 방법相关文章请关注PHP中文网!

 


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.