ホームページ > バックエンド開発 > Python チュートリアル > Python を使用して学術論文のグラフを描く方法

Python を使用して学術論文のグラフを描く方法

高洛峰
リリース: 2017-03-08 09:41:07
オリジナル
2180 人が閲覧しました

論文内のグラフにはさまざまな形式があり、一般的に使用される処理ツールには Excel、MATLAB、Python が含まれます。Excel の自己処理方法には 2 つの欠点があります。

1. Excel は「目を丸くする」のが簡単です

2. subplot 関数またはバッチ処理を使用する必要がある場合は、MATLAB または Python を使用する方が便利です

3. Excelで処理されたグラフの美しさと論文グラフの標準の間。 MATLAB と Python のプロット関数を比較すると、グラフの美しさの観点からは Python が若干有利です。以下では、Excel から Python にデータを抽出し、Python の matplotlib ライブラリを使用してグラフを描画するプロセスを簡単に紹介します。

1. Excel から Python にデータをインポートする方法:

このパートでは主に 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)
ログイン後にコピー

sheetname に対して定義されたメソッドは上記と同じです。さらに、シートにはインデックス順序による読み取りメソッドもあります:

table = data.sheets()[0]       #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取
ログイン後にコピー

2。 . 特定のセルまたは特定のデータ行を読み取るにはどうすればよいですか?

示されているプロセスは、特定のシートの特定の列のデータを読み取ることです。同様に、特定の行のデータは次のとおりです。 3. データの特定の行または列を読み取るとき、データの範囲はどれですか?

例: あるシートのテーブルが以下の場合、4×3のテーブルのデータが読み込まれます。

つまり、列 B のデータを読み取りたい場合、コードは

table.col_values(i)
ログイン後にコピー

のように記述する必要があります。 注: Python は 0 からカウントを開始するため、列番号はは 1 である必要があります。この時点で含まれる情報は次のとおりです: [u'',u'',4,u'']Python を使用して学術論文のグラフを描く方法 また、テーブルのサイズは各シートによって決定されることに注意してください。Excel テーブルの場合は、複数のシートがある場合、リストの長さが異なる場合があります。

4. 特定の列から 2 ~ 5 行を取得したい場合はどうすればよいでしょうか?

table.cell(i,j).value
ログイン後にコピー

5. 最後の番号を取得したい場合、コードはどのように記述すればよいでしょうか?

各行/列のデータ型は異なる可能性があるため、次の場合、最初の列には 4 つの数値しか含まれず、2 番目の列には 9 つの数値が含まれ、最大の列には 100 の数値が含まれる場合があります。列を切り上げるコマンドによりリストに u'' が混入し、次の描画でエラーが発生します。この場合、次の方法を使用できます:

table.col_values(1)
ログイン後にコピー

このコマンドは行数を制御できないことに注意してください。制御しない場合は、このコマンドを使用するかどうかを判断するための他の判断ステートメントを作成できます。

2. 描画に Python を使用する方法:

ここでは、描画に matplotlib ライブラリを使用する方法を紹介します。まず、matplotlib ライブラリをインポートする必要があります:

table.col_values(i)[1:5]
ログイン後にコピー

描画方法 一般的なプロセスは次のとおりです:

a_col=table.col_values(i)
a=a_col[0,a_col.index(u'')]
ログイン後にコピー

いくつかの点を説明します:

1. 複数の絵を描くには?

とても簡単です。写真番号の名前を設定した直後に、次のように入力します:


import numpy as npimport matplotlib.pyplot as plt
ログイン後にコピー

后面的命令与前述一致,值得一提的是,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中文网!

 


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート