python进阶(数据分析matplotlib库 一)

python进阶(数据分析matplotlib库 一)

 

python进阶(数据分析matplotlib库 一)

python进阶(数据分析matplotlib库 一) 

python进阶(数据分析matplotlib库 一) 

 

python进阶(数据分析matplotlib库 一) 

1、导入

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']        ---------显示中文
mpl.rcParams['axes.unicode_minus'] = False
=======================================================================================
%matplotlib tk       --------图像在外部
%matplotlib inline   --------图像在内部

2、代码 

# 折线图 
# plt.plot(x,y)
# label 线条的图例
# color  颜色  颜色英文单词 或者16进制色
# linestyle 线条的形状  --虚线 - 实线 -.
# linewidth 线条的宽度
# marker  标记点形状
# 简写形式  "颜色标记点样式线条样式"


# plt.plot([1,2,3],[50,70,65])
x=np.arange(-3,3,0.5)
y=np.cos(x)
y1=np.sin(x)
plt.figure(figsize=(8,5))  # figure()  图形,可以理解为现实的画板
plt.plot(x,y,label="cos",color="red",linestyle=':',marker='o',linewidth=3)
plt.plot(x,y1,"b|-",label='sin')
plt.legend()
plt.show()  # 生成图形 
===================================================================================
# 3个人的成绩
# plt.plot()
# plt.xticks() plt.yticks() 设置刻度
# plt.xlabel()  plt.ylabel() 设置x轴y轴标签显示
# plt.xlim()  plt.ylim() 设置范围

# 在图形化界面中显示
# %matplotlib tk
# 在行内显示
# %matplotlib inline
persons=['Tom','jerry','anne']
scores=[90,88,37]
plt.plot(range(len(persons)),scores)
plt.xticks(range(len(persons)),persons) # 设置刻度  如果写了一个参数,那么就把参数的值当成刻度 ,如果写了两个值,把第一个作为绘图位置,第二个作为显示的效果
override = {
   'fontsize'            : 'small',
   'verticalalignment'   : 'center',
   'horizontalalignment' : 'left',
   'rotation':'horizontal',
    "align":"right",
}

plt.xlabel("姓名",override)
plt.ylabel("分数")
plt.ylim(0,120)
plt.title("成绩折线图")
ax=plt.gca()
ax.spines['right'].set_color("none")
ax.spines['top'].set_color("none")
plt.show()

3、实例

实例1:

plt.figure(figsize=(10,6))         ------------ 创建画板对象
inDatas = [600,700,800]
outDatas = [500,900,1000]
index = np.arange(0,len(inDatas))   ----------- 生成x轴的数字字段,建议先生成数字字段再修改为字符串字段
width = 0.2/2
x1_index = index - width/2
x2_index = index + width/2

plt.bar(x1_index,inDatas,width = width,label = '进口数据 单位/美元')
plt.bar(x2_index,outDatas,width = width,label = '出口数据 单位/美元')
plt.xticks(index,['一月份','二月份','三月份'])   ------------- 修改x轴的字段名
for i in range(len(inDatas)):          -----------标记数据数值
    plt.text(x1_index[i]-0.025,inDatas[i]+10,str(inDatas[i]))
for i in range(len(outDatas)):
    plt.text(x2_index[i]-0.025,outDatas[i]+10,str(outDatas[i]))
plt.xlabel('季度/月')       ---------x,y轴标签
plt.ylabel('数据量') 
plt.title('季度数据量')     ------------- 标题
  

ax = plt.gca()          -------------- 去掉上下框
ax.spines['top'].set_color('None')
ax.spines['right'].set_color('None')

plt.legend()          -------------- 显示图例
plt.show()            -------------- 显示图像

python进阶(数据分析matplotlib库 一)

   实例二:

 4、Series 与 DataFrame中的 .plot()方法:

inDatas = [600,700,800]
outDatas = [500,900,1000]
df_data = pd.DataFrame([inDatas,outDatas],index=['进口数据','出口数据'],columns = ['第一季度','第二季度','第三季度'])
df_data.plot(kind = 'bar')                  #  ------------------- DataFrame 对象的 .plot() 方法
plt.show()

python进阶(数据分析matplotlib库 一)