暑期实践第二十九天 2022-8-1

今日正式进入可视化分析图表学习环节

数据分析图表的类型包括条形图、柱状图、折线图、饼图、散点图、面积图、环形图、雷达图等

一张完整的图表一般包括:画布、图表标题、绘图区、数据系列、坐标轴及标题、图例、文本标签、网格线。

1.图表的常用设置

主要包括颜色设置、线条样式、标记样式、设置画布、坐标轴、添加文本标签、设置标题和图例、添加注释文本、调整图表与画布边缘间距以及其他设置等。

1.1基本绘图plot函数

Matplotlib基本绘图主要使用plot函数

matplotlib.pyplot.plot(x,y,format_string,**kwargs)

x: x轴数据

y: y轴数据

format_string: 控制曲线格式的字符串,包括颜色、线条样式和标记样式

绘制简单的折线图

import matplotlib.pyplot as plt
x = range(1, 15, 1)
y = range(1, 42, 3)
plt.plot(x, y)
plt.show()

 下面导入Excel体温表的数据,绘制体温折线图

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('体温.xls')
x = df['日期']
y = df['体温']
plt.plot(x, y)
plt.show()

输出结果

 1.1.1颜色设置

color参数可以设置线条颜色,通用颜色值自行查询。

其他颜色可以通过十六进制字符串指定,或者通过颜色名称指定。

1.1.2线条样式

linestyle: 可选参数,可以设置线条的样式,设置值如下:

“-”: 实线,默认值

“--”:双划线

“-.”: 点划线

“:”:虚线

1.1.3标记样式

maker: 可选参数, 可以设置标记样式。

‘.’    点标记
‘,’    像素标记
‘o’    圆标记
‘v’    倒三角标记
‘^’    正三角标记
‘<’    左三角标记
‘>’    右三角标记
‘1’    下箭头标记
‘2’    上箭头标记
‘3’    左箭头标记
‘4’    右箭头标记
‘s’    正方形标记
‘p’    五边形标记
‘*’    星形标记
‘h’    六边形标记 1
‘H’    六边形标记 2
‘+’    加号标记
‘x’    X 标记
‘D’    菱形标记
‘d’    窄菱形标记
‘|’    竖直线标记
‘_’    水平线标记
 

在上述体温表中设置颜色以及样式

plt.plot(x, y, color='m', linestyle='-', marker='o', mfc='w')

输出结果

 1.2 设置画布

在Matplotlib中可以使用figure方法设置画布大小、分辨率、颜色和边框等

matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

num:图像编号或名称,数字为编号:字符串为名称,可以通过该参数激活不同的画布

figsize:指定画布的宽和高, 单位为英寸

dpi:指定绘图对象的分辨率,即每英寸包含多少个像素,默认值为80.像素越大,画布越大。

facecolor:背景颜色。

edgecolor:边框颜色。

frameon:是否显示边框。默认值为True,绘制边框;如果为False,则不绘制边框。

自定义一个5X3的白色画布,代码如下

import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(5, 3), facecolor='yellow')
df = pd.read_excel('体温.xls')
x = df['日期']
y = df['体温']
plt.plot(x, y, color='m', linestyle='-', marker='o', mfc='w')
plt.show()

输出结果

 1.3设置坐标轴

1.3.1x轴、y轴标题

设置x轴和y轴的标题主要使用xlabel函数和ylabel函数

import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(5, 3), facecolor='yellow')
df = pd.read_excel('体温.xls')
x = df['日期']
y = df['体温']
plt.plot(x, y, color='m', linestyle='-', marker='o', mfc='w')
plt.xlabel('2020年2月')
plt.ylabel('基础体温')
plt.rcParams['font.sans-serif']=['SimHei']   #解决中文乱码
plt.show()

输出结果

注意两个可能出现的问题

(一)中文乱码

plt.rcParams['font.sans-serif']=['SimHei']   #解决中文乱码

 (二)负号不显示

plt.rcParams['axes.unicode_minus'] = False

1.3.2坐标轴刻度

默认情况下的横坐标和纵坐标显示的值有时可能达不到我们的要求,需要借助xticks函数和yticks函数分别对x轴和y轴的值进行设置。

xticks(locs, [labels], **kkwargs)

locs:数组,表示x轴上的刻度。

labels:也是数组,默认值和locs相同。locs表示位置,而labels则决定该位置上的标签,如果赋予了labels空值,则x轴将只有刻度而不会显示任何值

plt.xticks(range(1, 15, 1))  #设置为1到15的连续数字

 上述举例中的日期格式看起来不是很直观,下面将x轴刻度标签直接改为“日”

dates=['1日','2日','3日','4日','5日',
       '6日','7日','8日','9日','10日',
       '11日','12日','13日','14日']
plt.xticks(range(1,15,1),dates)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值