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

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

Mar 08, 2017 am 09:41 AM
python

論文内のグラフにはさまざまな形式があり、一般的に使用される処理ツールには 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中文网!

 


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

Python hourglassグラフ図面:可変未定義エラーを避ける方法は? Python hourglassグラフ図面:可変未定義エラーを避ける方法は? Apr 01, 2025 pm 06:27 PM

Python:Hourglassグラフィック図面と入力検証この記事では、Python NoviceがHourglass Graphic Drawingプログラムで遭遇する可変定義の問題を解決します。コード...

Pythonクロスプラットフォームデスクトップアプリケーション開発:どのGUIライブラリが最適ですか? Pythonクロスプラットフォームデスクトップアプリケーション開発:どのGUIライブラリが最適ですか? Apr 01, 2025 pm 05:24 PM

Pythonクロスプラットフォームデスクトップアプリケーション開発ライブラリの選択多くのPython開発者は、WindowsシステムとLinuxシステムの両方で実行できるデスクトップアプリケーションを開発したいと考えています...

GoogleとAWSはパブリックピピイメージソースを提供していますか? GoogleとAWSはパブリックピピイメージソースを提供していますか? Apr 01, 2025 pm 05:15 PM

多くの開発者はPypi(PythonPackageIndex)に依存しています...

Pythonで大規模な製品データセットを効率的にカウントしてソートするにはどうすればよいですか? Pythonで大規模な製品データセットを効率的にカウントしてソートするにはどうすればよいですか? Apr 01, 2025 pm 08:03 PM

データの変換と統計:大規模なデータセットの効率的な処理この記事では、製品情報を含むデータリストを別の含有しているものに変換する方法を詳細に紹介します...

Pythonの高解像度画像の処理を最適化して、正確な白い円形領域を見つける方法は? Pythonの高解像度画像の処理を最適化して、正確な白い円形領域を見つける方法は? Apr 01, 2025 pm 06:12 PM

白い領域を見つけるためにPythonで高解像度の画像を処理する方法は? 9000x7000ピクセルの高解像度画像の処理、2つの写真を正確に見つける方法...

PythonでFTPサーバーに接続するときにエンコードのファイル名の問題を解決する方法は? PythonでFTPサーバーに接続するときにエンコードのファイル名の問題を解決する方法は? Apr 01, 2025 pm 06:21 PM

Pythonを使用してFTPサーバーに接続する場合、指定されたディレクトリでファイルを取得してダウンロードする際に、特にFTPサーバーのテキストをダウンロードする際に問題が発生する可能性があります。

See all articles