>  기사  >  백엔드 개발  >  Python에서 플롯() 함수를 사용하여 그림을 그리는 방법을 단계별로 가르칩니다.

Python에서 플롯() 함수를 사용하여 그림을 그리는 방법을 단계별로 가르칩니다.

WBOY
WBOY앞으로
2022-06-15 11:51:027614검색

이 글은 python에 대한 관련 지식을 제공하며, 이 기능에 대한 기본적인 이해와 사용법, 데이터 시각화 도면 및 기본 기능을 포함하여 그림을 그리는 데 플롯() 기능을 사용하는 것과 관련된 사항을 주로 소개합니다. 아래의 매개변수 설정을 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.

Python에서 플롯() 함수를 사용하여 그림을 그리는 방법을 단계별로 가르칩니다.

추천 학습: python 비디오 튜토리얼

1.plot() 함수 이해하기

데이터 시각화 프로그래밍을 위해 Python을 사용할 때 matplotlib 라이브러리는 데이터를 플롯하는 데 일반적으로 사용되는 타사 라이브러리입니다. . 여기에는 다양한 기능, 즉 다양한 유형의 그래픽이 포함되어 있습니다. matplotlib 라이브러리의 기능을 사용하려면 해당 기능에 필요한 데이터 형식을 이해해야 합니다. 이는 matplotlib 라이브러리 연구의 초점이기도 합니다.

일반적인 단순 데이터를 위한 그림을 직접 그리려면 Plot() 함수를 사용하세요. 플롯() 함수를 직접 호출하여 목록 데이터를 직접 그릴 수 있습니다. 초기 학습에서 플롯() 함수를 직접 사용하면 후속 그래픽 학습을 위한 함수의 매개변수와 기초를 마련하는 데 도움이 될 수 있습니다.

matplotlib 그래프 구성:

  • 그림(캔버스)
  • Axes(좌표계)
  • Axis(좌표축)
  • Graph(plot(), Scatter(), bar(),...)
  • Title, Labels,...

plot() 함수를 직접 사용하여 다음과 같이 그림을 그립니다.

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

여기서 x, y는 가로 및 세로 좌표를 나타내며, fmt = '#color#linestyle#marker'는 각각을 의미합니다. 클래스 매개변수.

(1) linestyle: 이 필드는 선의 스타일입니다. 매개변수 형식: 문자열

linestyle(선 스타일)
linestyle 매개변수 Line Shape
'-' solid line
'--' 점선
'-.' 점선
':' 점선
' 무선

(2 ) linewidth: 이 매개변수는 선의 두께입니다. 매개변수 형식: 숫자 값

(3) 마커: 포인트 스타일, 문자열

marker(포인트 스타일)
marker 마크 포인트
'.' store
',' pixel
'^' 'v' '>'<' 위, 아래, 왼쪽 및 직각삼각형
' 1' '2' '3' '4' 상하좌우 삼각선
'o' round
's' 'D ' square
'p' 펜타곤
'h' 'H' 헥사곤
'*' Pentagram
'+' 'x' 크로스
'_' 수평선
' '

(4) markersize : 점의 크기, 매개변수 형식 : 숫자값

(5) color : 색상 조정 선과 점, 문자열, 매개변수 형식 문자 String

color(점, 선 색상)
String color
'r' red
'g' green
'b' 파랑
'y' yellow
'c' green
'm' product
'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视频教程

위 내용은 Python에서 플롯() 함수를 사용하여 그림을 그리는 방법을 단계별로 가르칩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제