numpy和matplotlib学习

plot()

1. 折线图

1.1 生成数据

  1. numpy.linspace(0, 2, 100)
linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

在[start,end]的范围中返回num个等间距的值。
endpoint:True or False. Default : true.
True:end] 闭区间, 否则 end) 开区间

  1. numpy.random.rand()
random.rand(d0, d1, ..., dn)

参数d代表纬度 rand(3,2) 生成3行2列数组.
无参数时返回一个数
数据大小为 [0,1) 浮点数

  1. numpy.random.randint()
random.randint(low, high=None, size=None, dtype=int)
randowInt_X = np.random.randint(0,20,10) #[0,20) size = 10
randowInt_Y = np.random.randint(5,size = 10) # [0,5)

print(randowInt_X)
print(randowInt_Y)

#[ 4  9 16 19  8  6  8 14 12  2]
#[3 1 2 1 3 3 1 3 4 2]
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

x = np.linspace(0, 2, 100)

# plot([x], y)
plt.plot(x, x, label='linear')
plt.plot(x, x ** 3, label='cubic')

# x轴
plt.xlabel('x label')
# y轴
plt.ylabel('y label')
# 标题
plt.title("Simple Plot")
# 显示标签
plt.legend()
plt.show()

在这里插入图片描述

1.2 读取数据

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

# 读取excel
df = pd.read_excel("E:/Master/a.xlsx", "Sheet1", engine='openpyxl')

# plot([x], y)
plt.plot(df['People'], df['Needs'], label='Place A')

# x轴
plt.xlabel('People')
# y轴
plt.ylabel('Needs')
# 标题
plt.title("A title")
# 显示标签
plt.legend()
plt.show()

在这里插入图片描述

由于pandas版本过高或者excel版本高,会报错.解决:

  1. 后缀.xlsx 改成 .xls (不靠谱)
  2. pd.read_excel()参数加上engine=‘openpyxl’

2.plot参数

参数接收值说明默认值
x,yarrayx y轴数据
colorstring折线的颜色None
markerstring折线上数据点处的类型None
linestylestring折线类型-
linewidth数值折线粗细1
alpha0~1 浮点折线透明度None
labelstring数据标签None

2.1 两种写法

lineX = np.linspace(0,30,30)
randomX = np.random.rand(30) * 80 + 20
randomY = np.random.rand(30) * 200 + 100

# 1.强迫症写法,写上参数.
plt.plot(lineX,randomY,color = 'deeppink',label='red one',linewidth = 2,marker='o')
plt.plot(lineX,randomX,color = 'goldenrod',label='blue one',linewidth = 3,marker='h')
# 2.简写 (颜色+点类型+折线类型): (color,marker,linestyle),
# 下面2个是一样的
plt.plot(lineX,lineX*2,'y8-.')
plt.plot(lineX,lineX*2,color = 'yellow', marker = '8', linestyle='-.')

简写:颜色只能表示部分

标记符 - 颜色标记符 - 颜色标记符 - 颜色标记符 - 颜色
y : 黄色k : 黑色w : 白色b : 蓝色
g : 绿色r:红色c : 亮青色m : 锰紫色

2.2 常用参数

  1. linestyle
LinestyleDescription
‘-’ or ‘solid’solid line 实线
‘–’ or ‘dashed’dashed line 虚线
‘-.’ or ‘dashdot’dash-dotted line 点横线
‘:’ or ‘dotted’dotted line 点虚线
‘None’ or ’ ’ or ‘’draw nothing 无线
  1. maker
makerdescription
.小圆
o大圆
,像素(几乎看不到)
v倒三角
^正三角
s正方形
*五角星

饼图 pie()

import matplotlib.pyplot as plt

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
# 设置分离的距离,0表示不分离
explode = (0, 0.1, 0, 0)
# size[]: 比例, explode[]: 和圆心的距离
# labels[]: 标签, autopct: format. autopct='%1.1f%%\\100%%'->15.0%\100%
# shadow:boolean 阴影(立体效果), startangle:旋转角度
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
  shadow=True, startangle=90)
# Equal aspect ratio 保证画出的图是正圆形
plt.axis('equal')
plt.show()

参考:Python干货:分享Python绘制六种可视化图表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值