为啥会有这篇博客
每次做可视化总会想到一个问题,咋画图?
这次有空把几个比较常见的图的常用方法记录下来,供日后查阅。
饼图
在matlibplot.plot中有函数pie()。该函数就是用来绘制饼图的函数。
下面为使用示例:
代码
import matplotlib.pyplot as plt
# sizes 为数据大小
# explode 字面意思 就是每段 饼向外扩张的程度
# labels 是每个数据的标签名
# autopct 可以设置数据保留几位小数 '%1.0f%%'为零位 '%1.1f%%'位一位
# shadow 是否设置引用
# startangle 在二维立体坐标系哪个度数开始
labels = ['data1', 'data2', 'data3', 'data4', 'data5', 'data6']
sizes = [2, 5, 12, 70, 2, 9]
explode = (0, 0, 0, 0.2, 0, 0)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.0f%%', shadow=True, startangle=150)
# 设置 标题
plt.title("Example Pie")
plt.show()
效果
折线图
在matplotlib.plot中绘制折线图的函数为 plot()。
代码
import matplotlib.pyplot as plt
import numpy as np
# 生成从1到7之间7个数位等差
x_data = np.linspace(1, 7, 7)
# 获取生成的1行7列的第一行 数据范围是 [-10,10]
y_data = np.random.randint(-10, 10, [1, 7])[0]
# x_data 为横坐标 y_data 为纵坐标 color是颜色 linewidth 设置宽度 linestyle 设置样式
plt.plot(x_data, y_data, color='red', linewidth=2.0, linestyle='--')
plt.show()
#
效果
柱状图
在matplotlib.plot中绘制柱状图的函数为 bar()。
代码
import matplotlib.pyplot as plt
import numpy as np
x1 = np.random.randint(-5, 5, [1, 10])[0]
y1 = np.random.randint(0, 100, [1, 10])[0]
# 第一个为数量 第二个第三个分别是数值与标签
plt.bar(range(len(x1)), x1, tick_label=y1)
plt.show()
效果
散点图
在matplotlib.plot中绘制散点图的函数为 scaater()。
代码
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 10, 10)
y = np.random.rand(10)
# x y 分别是横纵坐标
plt.scatter(x, y)
plt.show()
效果
热力图
在matplotlib.plot中绘制热力图的函数为imshow()。
代码
import numpy as np
import matplotlib.pyplot as plt
# 生成一个10行10列的矩阵
x = np.random.rand(100).reshape(10,10)
# x为原数据
# cmap = plt.cm.hot 从黑平滑过度到红、橙色和黄色的背景色,然后到白色
# vmin是数据最小值 vmax是数据最大值
plt.imshow(x, cmap=plt.cm.hot, vmin=0, vmax=1)
# 显示颜色过渡刻度
plt.colorbar()
plt.show()
效果