Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie Python zum Zeichnen wissenschaftlicher Papierdiagramme

So verwenden Sie Python zum Zeichnen wissenschaftlicher Papierdiagramme

高洛峰
高洛峰Original
2017-03-08 09:41:072169Durchsuche

Zu den häufig verwendeten Verarbeitungstools gehören Excel, MATLAB und Python. Die Selbstverarbeitungsmethode von Excel weist zwei Mängel auf:

1. Wenn es zu viele Daten gibt, verdreht man in Excel leicht die Augen.

2 ist bequemer, MATLAB oder Python zu verwenden; Die Schönheit der von Excel verarbeiteten Diagramme ist weit vom Standard der Papierdiagramme entfernt. Beim Vergleich der Plotfunktionen von MATLAB und Python hat Python aus ästhetischer Sicht einen leichten Vorteil. Im Folgenden wird kurz der Prozess des Extrahierens von Daten aus Excel in Python und die Verwendung der Matplotlib-Bibliothek von Python zum Zeichnen von Diagrammen vorgestellt.

1. So importieren Sie Daten aus Excel in Python:

In diesem Abschnitt wird hauptsächlich beschrieben, wie Sie Daten aus Excel importieren Excel in Python. Importieren Sie die Daten in Python (die Originaldaten befinden sich möglicherweise in einer TXT- oder .out-Datei, und die Daten sind komplizierter. Sie können die Daten zunächst mit MATLAB oder Python verarbeiten und in Excel speichern, einschließlich einiger Einfache Berechnungen, Anordnungen usw. zum späteren bequemen Zeichnen oder direkte Verwendung von Python zum Extrahieren der Daten in .txt (keine detaillierte Einführung hier). Die Hauptmethode besteht darin, die XLRD-Bibliothek von Python zu verwenden. Der Prozess ist wie folgt:

Darunter einige Punkte, die erklärt werden müssen:

# 导入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. Wie definiere ich excel_dir und sheetname?

excel_dir sollte im Format einer Zeichenfolge geschrieben werden (d. h. „“ oder „“) und mit einem Excel-Suffix wie .xls oder .xlsx enden, z Name auf dem Administrator-Desktop Die Datei für result.xls kann wie folgt geschrieben werden:

excel_dir = 'C:\Users\Administrator\Desktop\result.xls'data=xlrd.open_workbook(excel_dir)
Die Methode zum Definieren des Blattnamens ist die Das gleiche wie oben. Darüber hinaus verfügt das Blatt auch über die Lesemethode durch Indexsequenz:

table = data.sheets()[0]       #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取
2. So lesen Sie die Daten einer bestimmten Zelle oder Zeile?

Der gezeigte Prozess besteht darin, die Daten einer bestimmten Spalte in einem Blatt zu lesen. Ebenso sind die Daten einer bestimmten Zeile:

table.col_values(i)
Der Befehl zum Lesen bestimmter Zelldaten lautet:

table.cell(i,j).value
3. Lesen Welchen Bereich haben die Daten, wenn Daten aus einer bestimmten Zeile oder Spalte abgerufen werden?

Zum Beispiel: Wenn die Tabelle in einem Blatt wie folgt lautet, werden die Daten in der 4×3-Tabelle gelesen.

So verwenden Sie Python zum Zeichnen wissenschaftlicher PapierdiagrammeDas heißt, wenn Sie die Daten in Spalte B lesen möchten, sollte der Code geschrieben werden als

table.col_values(1)
Hinweis: Python beginnt mit dem Zählen bei 0, daher sollte die Spaltennummer 1 sein. Die Informationen sind unter enthalten Diesmal ist: [u '',u'',4,u'']

Und beachten Sie, dass die Abmessungen der Tabelle von jedem Blatt bestimmt werden, und zwar wenn es sich um eine Excel-Tabelle handelt Wenn mehrere Blätter vorhanden sind, können die Listenlängen unterschiedlich sein.

4. Was ist, wenn Sie 2-5 Zeilen aus einer bestimmten Spalte erhalten möchten?

table.col_values(i)[1:5]
5 Wenn Sie die letzte Nummer erhalten möchten, wie sollten Sie den Code schreiben?

Da der Datentyp jeder Zeile/Spalte unterschiedlich sein kann, kann es vorkommen, dass die erste Spalte nur 4 Zahlen hat, während die zweite Spalte 9 Zahlen hat und die höchste Spalte schon 100 Zahlen Wenn Sie in ähnlichen Situationen den Befehl direkt zum Runden der Spalte verwenden, wird u'' in die Liste eingemischt, was zu Fehlern in der nächsten Zeichnung führt. In diesem Fall können Sie die folgende Methode verwenden:

a_col=table.col_values(i)
a=a_col[0,a_col.index(u'')]
Bitte beachten Sie jedoch, dass dieser Befehl nicht für Spalten verwendet werden kann, die die Anzahl der Zeilen steuern, da sonst ein Fehler gemeldet wird andere Beurteilungsanweisungen, um festzustellen, ob dieser Befehl verwendet werden soll.

2. So verwenden Sie Python zum Zeichnen:

Hier stellen wir die Methode zum Zeichnen mit der Matplotlib-Bibliothek vor. Sie sollten zuerst die Matplotlib-Bibliothek importieren:

import numpy as npimport matplotlib.pyplot as plt
Die Zeichnung Die Methode ist ungefähr sehr einfach. Der Prozess ist wie folgt:

# 绘图命令,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')


Ein paar Punkte, die erklärt werden müssen:

1. Wie zeichnet man mehrere Bilder?

Es ist ganz einfach: Geben Sie direkt nach dem Festlegen des Bildnummernnamens Folgendes ein:

后面的命令与前述一致,值得一提的是,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等语句,能使一段代码如虎添翼,写在这里,作为给自己的提醒:遇到问题先明确方法、形成体系再进入编写,不要盲目地将看似正确的语言进行强行拼凑,返工率极高。

更多So verwenden Sie Python zum Zeichnen wissenschaftlicher Papierdiagramme相关文章请关注PHP中文网!

 


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn