Heim  >  Artikel  >  Backend-Entwicklung  >  Bringen Sie Ihnen Schritt für Schritt bei, wie Sie die Funktion plot() zum Zeichnen von Bildern in Python verwenden

Bringen Sie Ihnen Schritt für Schritt bei, wie Sie die Funktion plot() zum Zeichnen von Bildern in Python verwenden

WBOY
WBOYnach vorne
2022-06-15 11:51:027563Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über Python. Er stellt hauptsächlich verwandte Themen zur Verwendung der Funktion plot() zum Zeichnen von Bildern vor, einschließlich des grundlegenden Verständnisses und der Verwendung dieser Funktion sowie der Datenvisualisierungszeichnungen und ihrer Grundfunktionen Schauen wir uns die Parametereinstellungen an. Ich hoffe, dass sie für alle hilfreich sind.

Bringen Sie Ihnen Schritt für Schritt bei, wie Sie die Funktion plot() zum Zeichnen von Bildern in Python verwenden

Empfohlenes Lernen: Python-Video-Tutorial

1. Die Funktion plot() verstehen

Bei der Verwendung von Python für die Datenvisualisierungsprogrammierung ist die Matplotlib-Bibliothek eine häufig verwendete Bibliothek eines Drittanbieters, die wir zum Plotten von Daten verwenden . Es enthält verschiedene Funktionen, also verschiedene Arten von Grafiken. Um die Funktionen in der Matplotlib-Bibliothek verwenden zu können, müssen Sie das Format der von der Funktion benötigten Daten verstehen. Dies ist auch der Schwerpunkt unserer Untersuchung der Matplotlib-Bibliothek.

Verwenden Sie die Funktion plot() direkt zum Zeichnen von Bildern, was für allgemeine einfache Daten gilt. Wir können die Listendaten direkt zeichnen, indem wir die Funktion plot() direkt aufrufen. Die direkte Verwendung der Funktion plot() beim anfänglichen Lernen kann uns dabei helfen, die Parameter und Grundlagen der Funktion für das nachfolgende Grafiklernen zu legen.

Zusammensetzung des Matplotlib-Diagramms:

  • Abbildung (Leinwand)
  • Achsen (Koordinatensystem)
  • Achse (Koordinatenachse)
  • Diagramm (plot(), scatter(), bar(),...)
  • Titel, Beschriftungen,...

Verwenden Sie direkt die Funktion plot(), um das Diagramm wie folgt zu zeichnen:

plt.plot(x, y, fmt='xxx', linestyle=, marker=, color=, linewidth=, markersize=, label=, )

wobei x, y die horizontalen und vertikalen Koordinaten darstellen, fmt = '#color#linestyle#marker' bedeutet jeweils Klassenparameter.

(1) Linienstil: Dieses Feld ist der Stil der Linie. Parameterform: Zeichenfolge

gestrichelte Liniegestrichelte Liniegepunktete Liniedrahtlos(2 ) Linienbreite: Dieser Parameter ist die Dicke der Linie. Die Dicke hängt vom eingestellten Wert ab. (3) Marker: Punktstil, String Marker Punkt markieren '.'store
'--'
'-.'
':'
' '

','

pixel

'^' 'v' '>' '<'oben, unten, links und rechtwinklige Dreiecke' 1' '2' '3' '4'Oben, unten, links und rechts dreizackige Linie'o'rund's' 'D 'Quadrat'p' Fünfeck'h' 'H'Hexagon'*'Pentagramm'+' x'Kreuz '_' Horizontale Linie'' (4) Markierungsgröße: die Größe des Punktes, Parameterform: numerischer Wertcolor (Punkt-, Linienfarbe)Stringcolor'r'red
(5) Farbe: Passen Sie die Farbe an der Linie und des Punktes, der Zeichenfolge, des Parameterformzeichens String

'g'

green ??

schwarz 白
'k'
'w'

此处颜色参数还可以有二进制,十进制等表示方法,同时对于颜色,RGB是三原色

(6)label:图例,legend文字

二、plot()函数基本运用

使用plot()函数时需要导入对应的库,导入库后我们在未有数据的情况下直接画图,直接画图会隐式创建Figure,Axes对象。

import matplotlib.pyplot as plt
plt.plot()

 下面通过构造数据绘制简单图形

首先数据构造,设置参数,参数也可以在将数据填入plot()函数的时候设置。

# 导入包
import matplotlib.pyplot as plt
import numpy as np
# 构造数据
# 位置 (2维:x,y一一对应)
x = np.linspace(0, 2 * np.pi, 200)  # 从0到2pi的200个值
y = np.sin(x)                       # 从sin(0)到sin(2pi)的200个值
# 颜色(0维)
c = 'red'
c = 'r'
c = '#FF0000'
# 大小(0维): 线宽
lw = 1

画出图形

# 生成一个Figure画布和一个Axes坐标系
fig, ax = plt.subplots()
# 在生成的坐标系下画折线图
ax.plot(x, y, c, linewidth=lw)
# 显示图形
plt.show()

图形展示:

给定两组数据,建立y与x的关系试,使用plot函数进行画图,本次画图线条选用点虚线形式,粗细选用1,点选用方形,点大小选用值为10,图例为‘1234’

import matplotlib.pyplot as plt
x = [1,2,3]
y = [1,2,3]
y = x
plt.plot(x,y,linestyle=':', linewidth=1, marker='d', markersize=10, label='1234')
plt.legend()

作出图片如下;

 下面我们引用numpy的linspace函数生创建均匀分布序列,然后对x,y建立数值关系,由此来创建图画。

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-100,100,10)
y = x**2 + 2*x +1
plt.plot(x,y,'g-.o')

作出如下图案,由此可见,我们对于图形的设置方面,在我们熟练以后如果没有粗细的设置可以直接缩减再一个字符串里面

以上都是简单图形的讲解,我们现在通过一个简单的对数据DataFrame进行作图,在往后的数据可视化中我们需要对数据进行处理后再进行可视化。下面我们通过正、余弦函数进行作图。

#导入包
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

#使用linspace()方法构成数据
x = np.linspace(0, 2 * np.pi, 50)  # 
y1 = np.sin(x)
y2 = np.cos(x)
#转化数据形式
df = pd.DataFrame([x,y1,y2]).T
#对列重新命名
df.columns = ['x','sin(x)','cos(x)']
#数据写入图像,命名图例
plt.plot(df['x'],df['sin(x)'],label='sin(x)')
plt.plot(df['x'],df['cos(x)'],label='cos(x)')
plt.legend()

我们通过numpy的linspace方法生成数据再通过pandas对数据进行DataFrame化再带入plot()函数,此处需要讲的就是图例的命名方法,通过在函数中写入label参数,确定图例的标签,再通过legend()函数生成图例,在后续的学习中也会讲到图例的位置、形式等的运用。

 

 三、plot()函数数据可视化画图以及图元基本参数设置

通过绘制世界人口变化曲线图了解基本图元参数设置,本次绘图过程主要是先通过对人口数据导入,了解数据构造,再进配置画图参数最后完成图形的制作,其中基本的图元参数用于别的图形也适用,在这儿学会了我们只需要了解数据结构,构造成图形所要的数据结构就可以就行画出自己想要的图形。

首先进行数据导入,了解数据结构形式。为了学习方便,选用jupyter notebook进行可视化图形讲解。

import pandas as pd
datafile = r'world_population.txt'  # 打开文件
df = pd.read_csv(datafile)  #读取数据
df.head()#展示前面部分数据

以下就是基本的数据样式,由年份和人口数量组成

 这里做了基本的图元设计,也就是对于画布的设置,前面我们所学函数参数都是对于图形中间的设置,我们构成一个可视化界面是通过画布+画中图形样式组成一个完整的可视化界面。

画布界面有画布大小,画布像素,画布界面,画布边框等设置。

import matplotlib.pyplot as plt
# 画布
fig = plt.figure(figsize=(6,4),  # inches
                 dpi=120, # dot-per-inch
                 facecolor='#BBBBBB',
                 frameon=True, # 画布边框
                )  
plt.plot(df['year'],df['population'])

# 标题
plt.title("1960-2009 World Population")

构成一个完整的可视化图像除了图例还有图像的标题,我们可以通过title()方法设置英文标题,中文标题要通过以下代码才能实现,因此我们如果是做中文项目在导入包以后就可以写上设置中文代码的代码串。

# 设置中文字体
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置字体为简黑(SimHei)
plt.rcParams['font.sans-serif'] = 'FangSong'  # 设置字体为仿宋(FangSong)

 当然,除了这种比较简单的图形之外我们还能对图形进行优化设置,将数据显示的更加的精美和美观,对图形优化便于实际报告中的演示也是我们现在必不可少的的一环。

import matplotlib.pyplot as plt

# 设置中文字体
plt.rcParams['axes.unicode_minus'] = False    # 不使用中文减号
plt.rcParams['font.sans-serif'] = 'FangSong'  # 设置字体为仿宋(FangSong)

# 画布
fig = plt.figure(figsize=(6,4),  # inches
                 dpi=120, # dot-per-inch
                 facecolor='#BBBBBB',
                 frameon=True, # 画布边框
                )  
plt.plot(df['year'],df['population'],'b:o',label='人口数')

# 中文标题
plt.title("1960-2009 世界人口")

# 字体字典
font_dict=dict(fontsize=8,
              color='k',
              family='SimHei',
              weight='light',
              style='italic',
              )

# X轴标签
plt.xlabel("年份", loc='center', fontdict=font_dict)   # loc: 左中右 left center right

# Y轴标签
plt.ylabel("人口数",loc='top', fontdict=font_dict)  # loc: 上中下 top center bottom

# X轴范围
plt.xlim((2000,2010))  # X轴的起点和终点

# Y轴范围
plt.ylim(6e9,7e9) # Y轴的起点和终点

# X轴刻度
plt.xticks(np.arange(2000,2011))

# X轴刻度
plt.yticks(np.arange(6e9,7e9+1e8,1e8))

# 图例
plt.legend()
# plt.legend(labels=['人口'])

# 网格线
plt.grid(axis='y')  # axis: 'both','x','y'

 上述代码,对x轴,y轴的刻度、标签、字体进行定义,对图例、网格线等也做出了参数的设置,最后做出的图形如下图:

推荐学习:python视频教程

Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen Schritt für Schritt bei, wie Sie die Funktion plot() zum Zeichnen von Bildern in Python verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen