import matplotlib.pyplot as plt
import pandas as pd
# 1. 折线图。
## 将y=xlnx和y=lnx-x画到一张图上,设定横坐标范围
def f(X):
return np.log(x)-x
def f2(x):
return x*np.log(x)
## 取x
x = np.linspace(0.01, 10, 100)
y = f(x)
y2 = f2(x)
## 开始画图
plt.plot(x, y, label = 'y=lnx-x')
plt.plot(x, y2, label = 'y=xlnx')
plt.xlim(-1, 15) # 设定x的范围
plt.ylim(-10,20) # 设定y的范围
plt.legend(fontsize=20)
plt.titile('两个常见函数', fontsize=20)
# 2.柱状图
pokemon = pd.read_csv('Pokemon_chinese.csv')
pokemon.info() # Data columns (total 13 columns)
t1 = pokemon.种类1.value_counts() #
# Water 28
# Normal 22
# Poison 14
# Grass 22
# ....
t1.plot(kind = 'bar', rot = 45) # 使用柱状图查看value_counts的分布
# rot 表示x轴标签旋转45°
## 或者使用plt
plt.bar(pokemon.种类1.value_counts().index, pokemon.种类1.value_counts())
plt.xticks(rotation=45)
# 3.直方图
plt.hist(pokemon.血量, bins=20) # 血量这一列 等距分成20块的条形图
# 4.散点图
## 绘制出攻击和防御的散点图,不同的等级用不同什么颜色
plt.scatter(pokemon.攻击, pokemon.防御, c=pokemon.进化阶段, cmap='rainbow', s=100)
c是颜色渐变, cmap是颜色,s是点大小
# 5.箱型图
plt.figure(dpi=200)
plt.boxplot([pokemon.血量, pokemon.攻击, pokemmon.防御, pokemon.速度,],
labels = ['血量', '攻击', '防御', '速度'])
# 这里的labels就是在x轴上的标签
## 对种类分组,计算不同种类小精灵 攻击情况
pokemon.groupby('种类1').mean()['攻击'].sort_values(ascending=False)
5种图的实例练习
最新推荐文章于 2022-04-30 07:47:38 发布