开发者学堂课程【Python 常用数据科学库:课时名称】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/546/detail/7499
条形图
内容介绍
一、画两个不同的条形图
二、图形填充
一、画两个不同的条形图
In [1]: import numpy as np
Import matplotlib
Matplotlib.use(’nbagg’)
Import matplotlib.py plot as plt
设置随机种子、x 值、y 值:
In [2]: np.random seed(0)
x = np.arrange(5)
y = np.random.rand
fig.axes = plt.subplots(ncols = 2)
可以横着画,也可以竖着画
v_bars = axes[0].bar (x,y,color=‘red’)
没有 matplotlib inline 就需要 plt.show
h_bars = axes[1],barh(x,y,color=‘red’)
plt.show()
就得到了两个图,一横一竖
把数值给为一个带正一个带负:
In [9]: np.random seed(0)
x = np.arrange(5)
y = np.random.random.randint(-5,5,5)
fig.axes = plt.subplots(ncols = 2)
v_bars = axes[0].bar (x,y,color=‘red’)
h_bars = axes[1],barh(x,y,color=‘red’)
plt.show()
[0 -5 -2 -2 2]
还可以对第一第二条轴加线:
In [10]: np.random seed(0)
x = np.arrange(5)
y = np.random.random.randint(-5,5,5)
fig.axes = plt.subplots(ncols = 2)
v_bars = axes[0].bar (x,y,color=‘red’)
h_bars = axes[1],barh(x,y,color=‘red’)
axes[0].axhline (0,color=‘grey’,line width=2)
axes[1].axvline (0,color=‘grey’,line width=2)
plt.show()
[0 -5 -2 -2 2]
在0处分别得到横竖两条线
还可以指定额外参数(大于0与小与0颜色不一致):
In [11]: fig.ax = plt.subplots()
v_bars = ax.bar(x,y,color=‘lightblue’)
If height < 0:
设定边缘颜色为深红色
bar.set(edge color = ‘ darkred’,color =‘green’,line width = 3)
plt.show
自定义出来的图为大于0的部分为蓝色,小于0的部分为绿色
二、图形填充
In [12]: x = np.random randn(100).cumsum()
y = np.linspace(0,10,100)
fig.ax = plt.subplots()
ax.fill_between (x,y,color=‘lightblue’)
plt.show
再举一个例子:
In [15]: x = np.linspzce(0,10,200)
y1 = 2*x +1
y2 = 3*x +1.2
Y_mean = 0.5*x*np.cos(2*x) + 2.5*x +1.1
fig.ax = plt.subplots()
ax.showfill_between(x,y,color=’ red’)
ax.plot(x,y_mean,color=‘ black’)
plt.show
就对红色的线进行了填充,得到了新的结果