第二节课Matplotlib
程序员文章站
2022-05-22 10:35:57
...
练习1
- 为了对某一产品进行合理定价,我们对此类商品进行了试销实验,价格与需求量数据如下。利用图表分析规律。
- price = [60,80,40,30,70,90,95]
- sales = [100,50,120,135,65,45,40]
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] =False
x = [60,80,40,30,70,90,95]
y = [100,50,120,135,65,45,40]
plt.figure(figsize=(13,8))
width=1.5
x_bar=np.arange(7)
plt.title('价格与需求量的关系')
plt.grid(True)
plt.bar(x,y,align='center',bottom=30,width=width,color='purple')
plt.show()
练习二
- 电影数据如下:
- movies_name = [“变身特工”,“美丽人生”,“鲨海逃生”,“熊出没·狂野大陆”]
- day_12 = [2358,399,2358,362]
- day_13 = [12357,156,2045,168]
- day_14 = [15746,312,4497,319]
需求
- 示例图如下(基本需求都需实现):
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] =False
plt.figure(figsize=(14,8))
movies_name = ["变身特工","美丽人生","鲨海逃生","熊出没·狂野大陆"]
day_12 = [2358,399,2358,362]
day_13 = [12357,156,2045,168]
day_14 = [15746,312,4497,319]
width=0.2
p1=[i-width for i in list(range(len(movies_name)))]
p2=[i for i in list(range(len(movies_name)))]
p3=[i+width for i in list(range(len(movies_name)))]
plt.bar(p1,day_12,width=width,color='red',label='d_12')
plt.bar(p2,day_13,width=width,color='yellow',label='d_13')
plt.bar(p3,day_14,width=width,color='green',label='d_14')
x_l=np.arange(len(movies_name))
x_t=["变身特工","美丽人生","鲨海逃生","熊出没·狂野大陆"]
plt.title('2020年12至14日电影票房')
# for a,b in zip(movies_name,[day_12,day_13,day_14]):
# plt.text(a,b,)
plt.legend()
def auto_label(x_po,y_po):
for x_i,y_i in zip(x_po,y_po):
plt.annotate(f"{y_i}",xy=(x_i,y_i),xytext=(x_i,y_i-0.1))
auto_label(p1,day_12)
auto_label(p2,day_13)
auto_label(p3,day_14)
plt.show()