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()
扫描二维码关注公众号,回复:
12406175 查看本文章

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()