Numpy(九): Matplotlib

NumPy Matplotlib

Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

import numpy as np 
from matplotlib import pyplot as plt 

#设置识别中文
plt.rcParams['font.family']=['STFangsong']
x = np.arange(1,85) 
y =  x * x +  5 
plt.title("哈哈") 
plt.xlabel("x axis caption") 
plt.ylabel("y axis caption")
plt.plot(x,y) 
plt.show()

以上实例中,np.arange() 函数创建 x 轴上的值。y 轴上的对应值存储在另一个数组对象 y 中。 这些值使用 matplotlib 软件包的 pyplot 子模块的 plot() 函数绘制。

图形由 show() 函数显示。

作为线性图的替代,可以通过向 plot() 函数添加格式字符串来显示离散值。 可以使用以下格式化字符。

字符 描述
'-' 实线样式
'--' 短横线样式
'-.' 点划线样式
':' 虚线样式
'.' 点标记
',' 像素标记
'o' 圆标记
'v' 倒三角标记
'^' 正三角标记
'<' 左三角标记
'>' 右三角标记
'1' 下箭头标记
'2' 上箭头标记
'3' 左箭头标记
'4' 右箭头标记
's' 正方形标记
'p' 五边形标记
'*' 星形标记
'h' 六边形标记 1
'H' 六边形标记 2
'+' 加号标记
'x' X 标记
'D' 菱形标记
'd' 窄菱形标记
'|' 竖直线标记
'_' 水平线标记

以下是颜色的缩写:

字符 颜色
'b' 蓝色
'g' 绿色
'r' 红色
'c' 青色
'm' 品红色
'y' 黄色
'k' 黑色
'w' 白色

要显示圆来代表点,而不是上面示例中的线,请使用 ob 作为 plot() 函数中的格式字符串。

import numpy as np 
from matplotlib import pyplot as plt 


plt.rcParams['font.family']=['STFangsong']
x = np.arange(1,85) 
y =  x  * x
plt.title("曲线图") 
plt.xlabel("x axis caption") 
plt.ylabel("y axis caption")
plt.plot(x,y,"ob") 
plt.show()

以下实例使用 matplotlib 生成正弦波图。

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.family']=['STFangsong']
x = np.arange(0,3 * np.pi, 0.1)
y = np.sin(x)
plt.title("正弦波")
plt.xlabel("X的值")
plt.ylabel("Y的值")
plt.plot(x, y)
plt.show()

pyplot 子模块提供 bar() 函数来生成条形图。

from matplotlib import pyplot as plt

x = [5,8,10]

y = [12,16,40]

x2 = [6,9,18]

y2 = [6,15,7]

plt.rcParams['font.family']=['STFangsong']
plt.bar(x, y, align = 'center')
plt.bar(x2, y2, color = 'r',align = 'center' )
plt.title('这是一个柱状图')
plt.xlabel("X轴的值")
plt.ylabel("Y轴的值")
plt.show()

scatter(),绘制散点图。

from matplotlib import pyplot as plt
import numpy as np

x = np.arange(0,20,0.5)
y = x * x
plt.rcParams['font.family']=['STFangsong']
plt.title('这是一个散点图')
plt.xlabel("X轴的值")
plt.ylabel("Y轴的值")
# c= y, cmap = plt.cm.Reds 根据Y轴的值设置渐变色
#edgecolor='none' 删除数据点的轮廓
#s = 40 点的尺寸
plt.scatter(x,y , c= y, cmap = plt.cm.Reds, edgecolor='none', s = 40)
plt.show()

pie()用来绘制饼图

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

labels = ['娱乐','育儿','饮食','房贷','交通','其它']
sizes = [2,5,12,70,2,9]
explode = (0,0,0,0.1,0,0)
plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=150)
plt.title("饼图示例-8月份家庭支出")
plt.show()

猜你喜欢

转载自blog.csdn.net/zcb_data/article/details/110245293