列出当前环境所有已经安装的第三方库的名称和其版本号:
C:\Users\jacky\Desktop>pip3 freeze
cycler==0.11.0
et-xmlfile==1.1.0
kiwisolver==1.3.1
matplotlib==3.3.0
numpy==1.19.5
openpyxl==3.1.2
pandas==1.1.5
Pillow==8.4.0
pyparsing==3.1.1
python-dateutil==2.8.2
pytz==2023.3
six==1.16.0
xlrd==1.2.0
xlwt==1.3.0
C:\Users\jacky\Desktop>
######
#coding=utf-8
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True) #解决数据输出时列名不对齐的问题
Key_index = ['李大杰','小红','Jacky','Lily','zhuohua wu']
Key_columns = ['语文成绩']
Key_data=[[110],[66],[108],[115],[106]]
df = pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)
## 把结果导出到指定的xlsx文件的工作表:
df.to_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1',index=True,header=True) #保留索引(行标题)、列标题
脚本运行的结果:(假如目标Excel文件存在则覆盖,不存在则自动创建)
######
#coding=utf-8
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)
df = pd.read_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1') #导入指定的xlsx文件的工作表
print(df)
print("-" * 10)
## 修改一个列标题:
df.rename(columns={'Unnamed: 0':'姓名'},inplace=True)
print(df)
print("-" * 10)
## 不输出索引:
df = df.to_string(index=False)
print(df)
脚本运行的结果:
######(绘制线形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #正常显示负号
df = pd.read_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1') #导入指定的xlsx文件的工作表
print(df)
## 绘制线形图:
plt.title("语文成绩的分析比较") #图形标题
x = df['Unnamed: 0']
y = df['语文成绩']
plt.plot(x,y)
plt.show() #显示图形
脚本运行的结果:
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导出的函数
Key_columns = ['姓名','语文成绩']
Key_data=[['李大杰',110],['小红',66],['Jacky',100],['zhuohua wu',90]]
df_1 = pd.DataFrame(data=Key_data,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df_1)
## 把结果导出到指定的xlsx文件的工作表:
df_1.to_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1',index=False,header=True) #不保留索引(行标题),但保留列标题
def func2(): #自定义导入的函数
df_2 = pd.read_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1') #导入指定的xlsx文件的工作表
print(df_2)
func3(df_2) #func3()调用了func2()的一个变量,并且func3()会自动执行
def func3(df_2): #绘制线形图
plt.title("语文成绩的分析比较") #图形标题
x = df_2['姓名']
y = df_2['语文成绩']
plt.plot(x,y)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.show()
if __name__ == '__main__':
func1() #执行func1()
print("-" * 10)
print("-" * 10)
func2() #执行func2()
脚本运行的结果:(假如目标Excel文件存在则覆盖,不存在则自动创建)
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导出的函数
Key_columns = ['姓名','年龄','语文成绩','数学成绩']
Key_data=[['李大杰',18,60,110],['小红',19,77,66],['Jacky',20,80,100],['zhuohua',20,70,115]]
df_1 = pd.DataFrame(data=Key_data,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df_1)
## 把结果导出到指定的xls文件:
df_1.to_excel('D:/mybook-2.xls',sheet_name='工作表-1',index=False,header=True) #不保留索引(行标题),但保留列标题
def func2(): #自定义导入的函数
df_2 = pd.read_excel('D:/mybook-2.xls',sheet_name='工作表-1') #导入指定的xls文件的工作表
print(df_2)
func3(df_2) #func3()调用了func2()的一个变量,并且func3()会自动执行
def func3(df_2): #绘制线形图
plt.title("语文成绩、数学成绩的分析比较") #图形标题
x = df_2['姓名'] #x轴的点的值
y1 = df_2['语文成绩'] #第一条数据线的y轴的点的值(linestyle='--' :双划线)
plt.plot(x,y1,label='语文成绩',color='red',linewidth=1.0,linestyle='--')
y2 = df_2['数学成绩'] #第二条数据线的y轴的点的值(linestyle='-' :实线)
plt.plot(x,y2,label='数学成绩',color='green',linewidth=1.0,linestyle='-')
plt.legend() #显示图例(label)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.grid(True,linestyle=':',color='red',alpha=0.6) #显示网格线
plt.show()
if __name__ == '__main__':
func1() #执行func1()
print("-" * 10)
print("-" * 10)
func2() #执行func2()
脚本运行的结果:(假如目标Excel文件存在则覆盖,不存在则自动创建)
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1') #导入指定的xlsx文件的工作表
print(df_1)
func2(df_1) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_1): #绘制竖向条形图
plt.title("语文成绩的分析比较",fontsize=18,loc='right') #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
x = df_1['姓名']
y = df_1['语文成绩']
Color=['blue'] #条形的填充颜色
plt.bar(x,y,color=Color)
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook-2.xls',sheet_name='工作表-1') #导入指定的xls文件的工作表
print(df_1)
func2(df_1) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_1): #绘制竖向条形图
plt.title("语文成绩、数学成绩的分析比较",fontsize=18,loc='center') #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
N = len(df_1) #获取DataFrame对象的总行数
X = np.arange(N)
Labels = df_1['姓名'] #x轴的点的值
y1 = df_1['语文成绩']
y2 = df_1['数学成绩']
bar_width = 0.3 #条形的宽度
plt.bar(X, y1, bar_width,label='语文成绩',color='red')
plt.bar(X + bar_width, y2, bar_width, label='数学成绩',tick_label=Labels,color='blue')
plt.legend() #显示图例(label)
plt.grid(axis='y',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的y轴
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook-2.xls',sheet_name='工作表-1') #导入指定的xls文件的工作表
print(df_1)
func2(df_1) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_1): #绘制竖向条形图
plt.title("语文成绩、数学成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
N = len(df_1) #获取DataFrame对象的总行数
X = np.arange(N)
Labels = df_1['姓名'] #x轴的点的值
y1 = df_1['语文成绩']
y2 = df_1['数学成绩']
bar_width = 0.4 #条形的宽度
plt.bar(X, y1, bar_width,label='语文成绩',color='red')
plt.bar(X + bar_width, y2, bar_width, label='数学成绩',tick_label=Labels,color='blue')
#设置每个柱子上的文本标签:(语文成绩的y轴的点的值)
for a,b in zip(X,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9,color='blue',alpha=0.9)
#设置每个柱子上的文本标签:(数学成绩的y轴的点的值)
for a,b in zip(X,y2):
plt.text(a+bar_width,b,b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)
plt.legend() #显示图例(label)
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1') #导入指定的xlsx文件的工作表
print(df_1)
func2(df_1) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_1): #绘制横向条形图
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18,loc='left') #图形标题
plt.xlabel('分数') #x轴名称
plt.ylabel('姓名') #y轴名称
x = df_1['语文成绩']
y = df_1['姓名']
Color=['yellow'] #条形的填充颜色
# height 条形的宽度, width 条形的长度
plt.bar(x=0,bottom=y,height=0.6,width=x,orientation="horizontal",color=Color)
#设置每个柱子上的文本标签:(x轴的点的值)
for a,b in zip(x,y):
plt.text(a,b,a,ha='center',va='bottom',fontsize=12,color='blue',alpha=0.9)
plt.grid(axis='x',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的x轴
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1') #导入指定的xlsx文件的工作表
print(df_1)
func2(df_1) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_1): #绘制横向条形图
df_1 = df_1.set_index(['姓名']) #设置指定列的数据为索引
Data={'语文成绩':df_1['语文成绩']}
Result_1 = pd.DataFrame(Data,index=df_1.index) # df_1.index 为DataFrame对象的所有索引
Result_1.index.name = '姓名' #y轴名称
Result_1.columns.name = '学科成绩:' #图例的标题
Result_1.plot.barh(figsize=(10,8)) # figsize=(10,8) :自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18,loc='center') #图形标题
plt.grid(axis='x',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的x轴
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook-2.xls',sheet_name='工作表-1') #导入指定的xls文件的工作表
print(df_1)
func2(df_1) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_1): #绘制横向条形图
df_1 = df_1.set_index(['姓名']) #设置指定列的数据为索引
Data={'语文成绩':df_1['语文成绩'],'数学成绩':df_1['数学成绩']}
Result_1 = pd.DataFrame(Data,index=df_1.index) # df_1.index 为DataFrame对象的所有索引
Result_1.index.name = '姓名' #y轴名称
Result_1.columns.name = '学科成绩:' #图例的标题
Result_1.plot.barh(figsize=(10,8)) # figsize=(10,8) :自定义窗体的宽和高
plt.title("语文成绩、数学成绩的分析比较",fontsize=20) #图形标题
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行后的图形效果:
######(绘制饼形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook-2.xls',sheet_name='工作表-1') #导入指定的xls文件的工作表
print(df_1)
print("-" * 10)
df_2 = df_1.loc[(df_1['姓名']=='小红')]
print(df_2)
func2(df_2) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_2): #绘制饼形图
plt.title("小红的语文成绩、数学成绩的分析比较") #图形标题
Result_1 = df_2.iloc[0,2] #获取第1行第3列的值
Result_2 = df_2.iloc[0,3] #获取第1行第4列的值
Labels = ['语文','数学']
Data = [Result_1,Result_2]
Colors=['red','gold']
plt.pie(Data,labels = Labels,colors = Colors,labeldistance = 1.02,autopct = '%.1f%%',#百分比保留一位小数
startangle = 90,radius = 0.5,center = (0.2,0.2),textprops = {'fontsize':9,'color':'k'},pctdistance = 0.6)
plt.legend(title='成绩的图例:',frameon=True) #显示图例(自定义图例标题,并且保留图例边框)
plt.axis('equal')
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行的结果:
脚本运行后的图形效果:
######(绘制饼形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook-2.xls',sheet_name='工作表-1') #导入指定的xls文件的工作表
print(df_1)
print("-" * 10)
df_2 = df_1.loc[(df_1['姓名']=='Jacky')]
print(df_2)
func2(df_2) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_2): #绘制饼形图
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("Jacky的语文成绩、数学成绩的分析比较") #图形标题
Result_1 = df_2.iloc[0,2] #获取第1行第3列的值
Result_2 = df_2.iloc[0,3] #获取第1行第4列的值
Labels = ['语文','数学']
Data = [Result_1,Result_2]
Colors=['red','gold']
plt.pie(Data,labels = Labels,colors = Colors,labeldistance = 1.02,autopct = '%.2f%%',#百分比保留两位小数
startangle = 90,radius = 0.5,center = (0.2,0.2),textprops = {'fontsize':9,'color':'k'},
wedgeprops={'width':0.3,'edgecolor':'k'}, #绘制外环
pctdistance = 0.6)
plt.legend(title='成绩的图例:',loc='lower left',frameon=False) #显示图例(自定义图例标题、位置,并且不保留图例边框)
plt.axis('equal')
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行的结果:
脚本运行后的图形效果:
######(绘制面积图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1') #导入指定的xlsx文件的工作表
print(df_1)
func2(df_1) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_1): #绘制面积图
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
x = df_1['姓名']
y1 = df_1['语文成绩']
plt.stackplot(x,y1,colors=['green'])
plt.legend(['语文成绩'],loc='upper right',frameon=False) #显示图例(自定义图例的内容、位置,并且不保留图例边框)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行的结果:
脚本运行后的图形效果:
######(绘制面积图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook-2.xls',sheet_name='工作表-1') #导入指定的xls文件的工作表
print(df_1)
func2(df_1) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_1): #绘制面积图
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
x = df_1['姓名']
y1 = df_1['语文成绩']
plt.stackplot(x,y1,colors=['green'])
plt.legend(['语文成绩'],title='学科成绩:',loc='upper left',frameon=True) #显示图例(自定义图例的内容、标题、位置,并且保留图例边框)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行的结果:
脚本运行后的图形效果:
######(绘制面积图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
df_1 = pd.read_excel('D:/mybook-2.xls',sheet_name='工作表-1') #导入指定的xls文件的工作表
print(df_1)
func2(df_1) #func2()调用了func1()的一个变量,并且func2()会自动执行
def func2(df_1): #绘制面积图
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩、数学成绩的分析比较",fontsize=18) #图形标题
x = df_1['姓名'] #x轴的点的值
y1 = df_1['语文成绩']
y2 = df_1['数学成绩']
plt.stackplot(x,y1,y2,colors=['green','red'])
plt.legend(['语文成绩','数学成绩'],title='学科成绩:',loc='upper left',frameon=False) #显示图例(自定义图例的内容、标题、位置,并且不保留图例边框)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.show()
if __name__ == '__main__':
func1() #执行func1()
脚本运行的结果:
脚本运行后的图形效果:(可以看到y轴上的各个数据值会自动进行叠加)
######(绘制散点图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
global df_1 #使用关键字global,把局部变量变为全局变量
df_1 = pd.read_excel('D:/mybook_1.xlsx',sheet_name='Sheet_1') #导入指定的xlsx文件的工作表
print(df_1)
def func2(): #绘制散点图
plt.figure(figsize=(10,8),facecolor='white') #自定义窗体的宽和高、背景颜色
plt.title("语文成绩的分析比较",fontsize=18,loc='center') #图形标题
x = df_1['姓名']
y = df_1['语文成绩']
plt.plot(x,y,'ro',color='blue')
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.show()
if __name__ == '__main__':
func1() #执行func1()
print("-" * 10)
print("-" * 10)
func2() #执行func2()
脚本运行的结果:
脚本运行后的图形效果:
######(绘制散点图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
def func1(): #自定义导入的函数
global df_1 #使用关键字global,把局部变量变为全局变量
df_1 = pd.read_excel('D:/mybook-2.xls',sheet_name='工作表-1') #导入指定的xls文件的工作表
print(df_1)
def func2(): #绘制散点图
plt.figure(figsize=(10,8),facecolor='yellow') #自定义窗体的宽和高、背景颜色
plt.title("语文成绩的分析比较",fontsize=18,loc='center') #图形标题
x = df_1['姓名']
y = df_1['语文成绩']
plt.scatter(x,y,color='red')
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.show()
if __name__ == '__main__':
func1() #执行func1()
print("-" * 10)
print("-" * 10)
func2() #执行func2()
脚本运行的结果:
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
## 绘制线形图:
x = [1,2,3,4,5,6]
y = [2,4,3,5,8,2]
plt.plot(x,y)
plt.grid(True,linestyle=':',color='gold',alpha=0.6) #显示网格线
plt.show() #显示图形
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
x = [1,2,3,4,5,6]
y = [2,4,3,5,8,2]
plt.plot(x,y,color='red')
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
x = [1,2,3,4,5,6]
y = [2,4,3,5,8,2]
plt.plot(x,y,color='red',linewidth=1.0,marker='o',linestyle=':') #marker='o':实心圆标记
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
x = [1,2,3,4,5,6]
y = [2,4,3,5,8,2]
plt.plot(x,y,color='red',linewidth=1.0,marker='o',mfc='w',linestyle=':') #marker='o' + mfc='w':空心圆标记
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
x = [1,2,3,4,5,6]
y = [2,4,3,5,8,2]
plt.plot(x,y,label='语文成绩',color='brown',linewidth=1.0,marker='+',linestyle=':') #marker='+':加号标记
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18,loc='center') #图形标题
x = [1,2,3,4,5,6]
y = [2,4,3,5.5,8.45,2]
## 设置每个数据点上的文本标签:(y轴的点的值)
for a,b in zip(x,y):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9)
plt.plot(x,y,label='语文成绩',color='brown',linewidth=1.0,marker='^',linestyle=':') #marker='^':上三角标记
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6),facecolor='yellow') #自定义窗体的宽和高、背景颜色
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
x = [1,2,3,4,5,6]
y = [2,4,3,5.5,8.4,2]
## 设置每个数据点上的文本标签:(y轴的点的值)
for a,b in zip(x,y):
plt.text(a,b,'%.0f'%b,ha='center',va='bottom',fontsize=9) #数值不保留小数
plt.plot(x,y,label='语文成绩',color='brown',linewidth=1.0,marker='v',linestyle=':') #marker='v':下三角标记
plt.legend(loc='upper left') #显示图例(自定义图例的位置)
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("语文成绩、数学成绩的分析比较",fontsize=18) #图形标题
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y1 = [2,4,3,5,8,2] #第一条数据线的y轴的点的值(linestyle=':' :虚线)
plt.plot(x,y1,label='语文成绩',color='red',linewidth=1.0,linestyle=':')
y2 = [2,4,9,5,8,4] #第二条数据线的y轴的点的值(linestyle='-.' :点划线)
plt.plot(x,y2,label='数学成绩',color='green',linewidth=1.0,linestyle='-.')
plt.legend() #显示图例(label)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.grid(axis='x',linestyle=':',color='brown',alpha=0.6) #显示网格线,但不显示网格线的x轴
plt.show()
脚本运行后的图形效果:
######(绘制线形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩、数学成绩的分析比较",fontsize=20) #图形标题
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y1 = [2,4,3,5,8,2.5] #第一条数据线的y轴的点的值(linestyle=':' :虚线)
## 设置每个数据点上的文本标签:(第一条数据线的y轴的点的值)
for a,b in zip(x,y1):
plt.text(a,b,'%.1f'%b,ha='center',va='bottom',fontsize=9) #数值保留一位小数
plt.plot(x,y1,label='语文成绩',color='red',linewidth=1.0,linestyle=':')
y2 = [2,4,9,5,8,4.45] #第二条数据线的y轴的点的值(linestyle='-.' :点划线)
## 设置每个数据点上的文本标签:(第二条数据线的y轴的点的值)
for a,b in zip(x,y2):
plt.text(a,b,'%.1f'%b,ha='center',va='bottom',fontsize=9)
plt.plot(x,y2,label='数学成绩',color='green',linewidth=1.0,linestyle='-.')
plt.legend() #显示图例(label)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.grid(axis='y',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的y轴
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18,loc='center') #图形标题
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80,20] #y轴的点的值
plt.bar(x,y)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80,25] #y轴的点的值
plt.bar(x,y,label='语文成绩',color='red')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18,loc='left') #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80,25] #y轴的点的值
plt.bar(x,y,label='语文成绩',color='red',width=0.4) # width :条形的宽度
plt.legend() #显示图例(label)
plt.grid(axis='y',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的y轴
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18,loc='right') #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80.554,25.556] #y轴的点的值
plt.bar(x,y,color='red',width=0.8) # width :条形的宽度
#设置每个柱子上的文本标签:(y轴的点的值)
for a,b in zip(x,y):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9,color='blue',alpha=0.9)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=20,loc='right') #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [20,40,30,50,80.554,25.556] #y轴的点的值
plt.bar(x,y,color='red',width=0.8) # width :条形的宽度
#设置每个柱子上的文本标签:(y轴的点的值)
for a,b in zip(x,y):
plt.text(a,b,'%.2f'%b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)#数值保留两位小数
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
x = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
y = [2000,4000,3000,5020,8000.5,255.5] #y轴的点的值
plt.bar(x,y,label='语文成绩',color='red',width=0.8)
plt.legend() #显示图例(label)
#设置每个柱子上的文本标签;使用“format(b,',')”时,y轴的点的值会使用千位分隔符:
for a,b in zip(x,y):
plt.text(a,b,format(b,','),ha='center',va='bottom',fontsize=10,color='black',alpha=0.9)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩、数学成绩的分析比较") #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
Labels = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #x轴的点的值
N = 6
X = np.arange(N)
y1 = [20,40,30,55,80,25.5] #语文成绩的y轴的点的值
y2 = [30,40,30,50,80,75.5] #数学成绩的y轴的点的值
bar_width = 0.3 #条形的宽度
plt.bar(X, y1, bar_width,label='语文成绩',color='red')
plt.bar(X + bar_width, y2, bar_width, label='数学成绩',tick_label=Labels,color='blue')
plt.legend() #显示图例(label)
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩、数学成绩、物理成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
Labels = ['李大杰','Jacky','Lily','Happy'] #x轴的点的值
N = 4
X = np.arange(N)
y1 = [20,40,30,55] #语文成绩的y轴的点的值
y2 = [30,40,30,50] #数学成绩的y轴的点的值
y3 = [40,45,36,25] #物理成绩的y轴的点的值
bar_width = 0.3 #条形的宽度
plt.bar(X, y1, bar_width,label='语文成绩',color='red')
plt.bar(X + bar_width, y2, bar_width, label='数学成绩',tick_label=Labels,color='blue')
plt.bar(X + bar_width + bar_width, y3, bar_width, label='物理成绩',tick_label=Labels,color='yellow')
plt.legend() #显示图例(label)
plt.grid(axis='y',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的y轴
plt.show()
脚本运行后的图形效果:
######(绘制竖向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩、数学成绩、物理成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('姓名') #x轴名称
plt.ylabel('分数') #y轴名称
Labels = ['李大杰','Jacky','Lily','Happy'] #x轴的点的值
N = len(Labels)
X = np.arange(N)
y1 = [20,40,30,55] #语文成绩的y轴的点的值
y2 = [30,40,30,50] #数学成绩的y轴的点的值
y3 = [40,45,36,25] #物理成绩的y轴的点的值
bar_width = 0.3 #条形的宽度
plt.bar(X, y1, bar_width,label='语文成绩',color='red')
plt.bar(X + bar_width, y2, bar_width, label='数学成绩',tick_label=Labels,color='blue')
plt.bar(X + bar_width + bar_width, y3, bar_width, label='物理成绩',tick_label=Labels,color='yellow')
#设置每个柱子上的文本标签:(语文成绩的y轴的点的值)
for a,b in zip(X,y1):
plt.text(a,b,b,ha='center',va='bottom',fontsize=9,color='blue',alpha=0.9)
#设置每个柱子上的文本标签:(数学成绩的y轴的点的值)
for a,b in zip(X,y2):
plt.text(a+bar_width,b,b,ha='center',va='bottom',fontsize=9,color='black',alpha=0.9)
#设置每个柱子上的文本标签:(物理成绩的y轴的点的值)
for a,b in zip(X,y3):
plt.text(a+bar_width*2,b,b,ha='center',va='bottom',fontsize=9,color='blue',alpha=0.9)
plt.legend(loc='upper left') #显示图例(自定义图例的位置)
plt.grid(axis='y',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的y轴
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18,loc='center') #图形标题
plt.xlabel('分数') #x轴名称
plt.ylabel('姓名') #y轴名称
x = [20,40,30,50,80,20.5] #x轴的点的值
y = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #y轴的点的值
# height 条形的宽度, width 条形的长度
plt.bar(x=0,bottom=y,height=0.4,width=x,orientation="horizontal",color='red')
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('分数') #x轴名称
plt.ylabel('姓名') #y轴名称
x = [20,40,30,50,80,20.5] #x轴的点的值
y = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #y轴的点的值
# height 条形的宽度, width 条形的长度
plt.bar(x=0,bottom=y,height=0.6,width=x,label='语文成绩',orientation="horizontal",color='red')
plt.legend() #显示图例(label)
plt.grid(axis='x',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的x轴
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('分数') #x轴名称
plt.ylabel('姓名') #y轴名称
x = [20,40,30,50.54,80.55,20.5] #x轴的点的值
y = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #y轴的点的值
# height 条形的宽度, width 条形的长度
plt.bar(x=0,bottom=y,height=0.6,width=x,orientation="horizontal",color='yellow')
#设置每个柱子上的文本标签:(x轴的点的值)
for a,b in zip(x,y):
plt.text(a,b,a,ha='center',va='bottom',fontsize=12,color='blue',alpha=0.9)
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("语文成绩的分析比较",fontsize=18) #图形标题
plt.xlabel('分数') #x轴名称
plt.ylabel('姓名') #y轴名称
x = [20,40,30,50.54,80.55,20.5] #x轴的点的值
y = ['李大杰','Jacky','Lily','Happy','Joe','Funny'] #y轴的点的值
# height 条形的宽度, width 条形的长度
plt.bar(x=0,bottom=y,height=0.6,width=x,orientation="horizontal",color='yellow')
#设置每个柱子上的文本标签:(x轴的点的值)
for a,b in zip(x,y):
plt.text(a,b,'%.1f'%a,ha='center',va='bottom',fontsize=12,color='black',alpha=0.9) #数值保留一位小数
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
Data={'语文成绩':[20,30,80]}
Result_1 = pd.DataFrame(Data,index=['李大杰','Jacky','Lily'])
Result_1.index.name = '姓名' #y轴名称
Result_1.columns.name = '学科成绩' #图例的标题
Result_1.plot.barh()
plt.title("语文成绩的分析比较",fontsize=18,loc='left') #图形标题
plt.grid(axis='x',linestyle=':',color='purple',alpha=0.6) #显示网格线,但不显示网格线的x轴
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
Data={'语文成绩':[20,30,80],'数学成绩':[40,60,70]}
Result_1 = pd.DataFrame(Data,index=['李大杰','Jacky','Lily'])
Result_1.index.name = '姓名' #y轴名称
Result_1.columns.name = '学科成绩:' #图例的标题
Result_1.plot.barh()
plt.title("语文成绩、数学成绩的分析比较",fontsize=18,loc='right') #图形标题
plt.show()
脚本运行后的图形效果:
######(绘制横向条形图)
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
Data={'语文成绩':[20,30,80],'数学成绩':[40,60,70],'物理成绩':[30,90,70]}
Result_1 = pd.DataFrame(Data,index=['李大杰','Jacky','Lily'])
Result_1.index.name = '姓名' #y轴名称
Result_1.columns.name = '学科成绩:' #图例的标题
Result_1.plot.barh(figsize=(8,6)) # figsize=(8,6) :自定义窗体的宽和高
plt.title("语文成绩、数学成绩、物理成绩的分析比较",fontsize=18) #图形标题
plt.show()
脚本运行后的图形效果:
######(绘制饼形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("苹果一周销量情况(百分比)") #图形标题
Labels = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun'] #一周中的每一天
Data = [18,20.2,5.6,15.3,20,15,15] #一周中每一天的销量值
Colors=['red','yellow','slateblue','green','magenta','cyan','darkorange']
plt.pie(Data, #绘图数据
labels = Labels, #设置区域标签
colors = Colors, #设置饼图的自定义填充色
labeldistance = 1.02, #设置各扇形标签(图例)与圆心的距离
autopct = '%.1f%%', #百分比保留一位小数
startangle = 90, #设置饼图的初始角度
radius = 0.5, #设置饼图的半径
center = (0.2,0.2), #设置饼图的原点
textprops = {'fontsize':9,'color':'k'}, #设置文本标签的属性值
pctdistance = 0.6) #设置百分比标签与圆心的距离
plt.axis('equal') #设置x、y轴的尺寸相等,使饼形图为正圆形
plt.show()
脚本运行后的图形效果:
######(绘制饼形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6),facecolor='white') #自定义窗体的宽和高、背景颜色
Labels = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun'] #一周中的每一天
Data = [18,20.2,5.6,15.3,20,15,15] #一周中每一天的销量值
plt.title("苹果一周销量情况(百分比)") #图形标题
Colors=['red','yellow','slateblue','green','lawngreen','pink','gold']
Explode = (0.1,0,0.1,0,0,0,0) #第一、三个标签分离(饼图分离)
plt.pie(Data, #绘图数据
labels = Labels, #设置区域标签
colors = Colors, #设置饼图的自定义填充色
labeldistance = 1.02,
autopct = '%.2f%%', #百分比保留两位小数
startangle = 90,radius = 0.5,center = (0.2,0.2),
textprops = {'fontsize':9,'color':'k'},
explode = Explode, #饼图分离
pctdistance = 0.6)
plt.legend() #显示图例(label)
plt.axis('equal')
plt.show()
脚本运行后的图形效果:
######(绘制饼形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
Labels = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun'] #一周中的每一天
Data = [18,20.2,5.6,15.3,20,15,15] #一周中每一天的销量值
plt.title("苹果一周销量情况(百分比)") #图形标题
Colors=['red','yellow','slateblue','green','lawngreen','pink','gold']
plt.pie(Data, #绘图数据
labels = Labels, #设置区域标签
colors = Colors, #设置饼图的自定义填充色
labeldistance = 1.02,
autopct = '%.3f%%', #百分比保留三位小数
startangle = 90,radius = 0.5,center = (0.2,0.2),
textprops = {'fontsize':9,'color':'k'},
shadow = True, #饼图阴影
pctdistance = 0.6)
plt.legend(title='星期数:',frameon=True) #显示图例(自定义图例标题,并且保留图例边框)
plt.axis('equal')
plt.show()
脚本运行后的图形效果:
######(绘制饼形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
Labels = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun'] #一周中的每一天
Data = [18,20.2,5.6,15.3,20,15,15] #一周中每一天的销量值
plt.title("苹果一周销量情况(百分比)") #图形标题
Colors=['red','yellow','slateblue','green','lawngreen','pink','gold']
Explode = (0,0.1,0,0,0,0,0) #第二个标签分离(饼图分离)
plt.pie(Data, #绘图数据
labels = Labels, #设置区域标签
colors = Colors, #设置饼图的自定义填充色
labeldistance = 1.02,
autopct = '%.0f%%', #百分比不保留小数
startangle = 90,radius = 0.5,center = (0.2,0.2),
textprops = {'fontsize':9,'color':'k'},
explode = Explode, #饼图分离
shadow = True, #饼图阴影
pctdistance = 0.6)
plt.legend(title='星期数',loc='lower right',frameon=False) #显示图例(自定义图例标题、位置,并且不保留图例边框)
plt.axis('equal')
plt.show()
脚本运行后的图形效果:
######(绘制饼形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
Labels = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun'] #一周中的每一天
Data = [18,20.2,5.6,15.3,20,15,15] #一周中每一天的销量值
plt.title("苹果一周销量情况(百分比)") #图形标题
Colors=['red','yellow','slateblue','green','lawngreen','pink','gold']
plt.pie(Data, #绘图数据
labels = Labels, #设置区域标签
colors = Colors, #设置饼图的自定义填充色
labeldistance = 1.02,
autopct = '%.1f%%', #百分比保留一位小数
startangle = 90,radius = 0.5,center = (0.2,0.2),
textprops = {'fontsize':9,'color':'k'},
wedgeprops={'width':0.3,'edgecolor':'k'}, #绘制外环
pctdistance = 0.6)
plt.legend(title='星期数:',loc='lower left',frameon=True) #显示图例(自定义图例标题、位置,并且保留图例边框)
plt.axis('equal')
plt.show()
脚本运行后的图形效果:
######(绘制饼形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
Labels = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun'] #一周中的每一天
Data = [18,20.2,5.6,15.3,20,15,15] #一周中每一天的销量值
plt.title("苹果一周销量情况(百分比)") #图形标题
Colors=['red','yellow','slateblue','green','lawngreen','pink','gold']
Explode = (0,0.1,0,0.1,0,0,0) #第二、四个标签分离(饼图分离)
plt.pie(Data, #绘图数据
labels = Labels, #设置区域标签
colors = Colors, #设置饼图的自定义填充色
labeldistance = 1.02,
autopct = '%.2f%%', #百分比保留两位小数
startangle = 90,radius = 0.5,center = (0.2,0.2),
textprops = {'fontsize':9,'color':'k'},
explode = Explode, #饼图分离
wedgeprops={'width':0.3,'edgecolor':'k'}, #绘制外环
pctdistance = 0.6)
plt.legend(title='星期数:',loc='lower left',frameon=False) #显示图例(自定义图例标题、位置,并且不保留图例边框)
plt.axis('equal')
plt.show()
脚本运行后的图形效果:
######(绘制饼形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("苹果一周销量情况(百分比)",loc='left') #图形标题
Labels_1 = ['Mon','Tues','Wed','Thur']
Labels_2 = ['Fri','Sat','Sun']
Data_1 = [18,20.2,5.6,15.3]
Data_2 = [20,15,15]
Colors_1 = ['red','yellow','slateblue','green']
Colors_2 = ['lawngreen','pink','gold']
legend_text = Labels_1 + Labels_2
#绘制外环:
plt.pie(Data_1,labels=Labels_1,autopct='%.1f%%',radius=1,pctdistance=0.85,colors=Colors_1
,wedgeprops=dict(linewidth=2,width=0.3,edgecolor='w'))
#绘制内环:
plt.pie(Data_2,autopct='%.2f%%',radius=0.7,pctdistance=0.7,colors=Colors_2,
wedgeprops=dict(linewidth=2,width=0.4,edgecolor='w'))
plt.legend(legend_text,title='星期数:',frameon=True) #显示图例(自定义图例的内容、标题,并且保留图例边框)
plt.axis('equal')
plt.show()
脚本运行后的图形效果:
注释:
外环的百分比和内环的是分开计算的。
######(绘制饼形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(10,8)) #自定义窗体的宽和高
plt.title("苹果一周销量情况(百分比)",loc='right') #图形标题
Labels_1 = ['Mon','Tues','Wed','Thur']
Labels_2 = ['Fri','Sat','Sun']
Data_1 = [18,20.2,5.6,15.3]
Data_2 = [20,15,15]
Colors_1 = ['red','yellow','slateblue','green']
Colors_2 = ['lawngreen','pink','gold']
legend_text = ['Monday','Tues','Wed','Thur','Fri','Sat','Sun']
#绘制外环:
plt.pie(Data_1,labels=Labels_1,autopct='%.1f%%',radius=1,pctdistance=0.85,colors=Colors_1
,wedgeprops=dict(linewidth=2,width=0.3,edgecolor='w'))
#绘制内环:
plt.pie(Data_2,autopct='%.2f%%',radius=0.7,pctdistance=0.7,colors=Colors_2,
wedgeprops=dict(linewidth=2,width=0.4,edgecolor='w'))
plt.legend(legend_text,title='星期数',loc='upper left',frameon=False) #显示图例(自定义图例的内容、标题、位置,并且不保留图例边框)
plt.axis('equal')
plt.show()
脚本运行后的图形效果:
注释:
外环的百分比和内环的是分开计算的。
######(绘制面积图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("各位同学的语文成绩的分析比较",fontsize=20,loc='center') #图形标题
x = ['李大杰','Jacky','Lily','Happy']
y1 = [60,90,50.5,80]
plt.stackplot(x,y1,colors=['green'])
plt.legend(['语文成绩']) #显示图例(自定义图例的内容)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.show()
脚本运行后的图形效果:
######(绘制面积图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各位同学的多门学科的成绩的比较",fontsize=20,loc='left') #图形标题
x = ['李大杰','Jacky','Lily','Happy']
y1 = [6,9,5,8]
y2 = [3,2,5,4]
plt.stackplot(x,y1,y2,colors=['green','red'])
plt.legend(['语文成绩','数学成绩'],title='学科成绩:',loc='upper left',frameon=True) #显示图例(自定义图例的内容、标题、位置,并且保留图例边框)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.show()
脚本运行后的图形效果:(可以看到y轴上的各个数据值会自动进行叠加)
######(绘制面积图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6)) #自定义窗体的宽和高
plt.title("各位同学的多门学科的成绩的比较",fontsize=18,loc='right') #图形标题
x = ['李大杰','Jacky','Lily','Happy']
y1 = [6,9,5,8]
y2 = [3,2,5,4]
y3 = [1,3,2,3]
plt.stackplot(x,y1,y2,y3,colors=['green','red','pink'])
plt.legend(['语文成绩','数学成绩','物理成绩'],loc='upper left') #显示图例(自定义图例的内容、位置)
plt.xlabel('姓名') #显示x轴名称
plt.ylabel('分数') #显示y轴名称
plt.show()
脚本运行后的图形效果:(可以看到y轴上的各个数据值会自动进行叠加)
######(绘制散点图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6),facecolor='white') #自定义窗体的宽和高、背景颜色
plt.title("苹果一周销量情况(公斤)") #图形标题
x = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun']
y = [2,4,3,5,8,2,6]
plt.plot(x,y,'ro',color='blue')
plt.grid(True,linestyle=':',color='purple',alpha=0.6) #显示网格线
plt.xlabel('星期数') #显示x轴名称
plt.ylabel('销量') #显示y轴名称
plt.show()
脚本运行后的图形效果:
######(绘制散点图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(8,6),facecolor='yellow') #自定义窗体的宽和高、背景颜色
plt.title("苹果一周销量情况(公斤)") #图形标题
x = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun']
y = [2,4,3,5,8,2,6]
plt.scatter(x,y,color='red')
plt.grid(True,linestyle=':',color='brown',alpha=0.6) #显示网格线
plt.xlabel('星期数') #显示x轴名称
plt.ylabel('销量') #显示y轴名称
plt.show()
脚本运行后的图形效果:
######(绘制箱形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
x = [1,2,3,5,7,8]
plt.boxplot(x)
plt.show()
脚本运行后的图形效果:(箱形图会把数据分成四部分)
注释:
下四分位数为数据的25%分位点所对应的值(Q1);
中位数为数据的50%分位点所对应的值(Q2);
上四分位数为数据的75%分位点所对应的值(Q3);
上限的计算公式为:Q3+1.5(Q3-Q1)
下限的计算公式为:Q1-1.5(Q3-Q1)
######(绘制箱形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("语文成绩的分析比较") #图形标题
x = [60,20,53,60,70.5,99]
plt.boxplot(x,labels=['语文成绩'])
plt.show()
脚本运行后的图形效果:
注释:
当数据值大于箱形图的上限或者小于箱线图的下限时,都被判定为异常值。
######(绘制箱形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("数学成绩、语文成绩的分析比较") #图形标题
x1 = [1,2,3,5,7,8]
x2 = [60,20,53,60,70.5,99]
plt.boxplot([x1,x2],labels=['数学成绩','语文成绩'])
plt.show()
脚本运行后的图形效果:
######(绘制箱形图)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title("数学成绩、语文成绩、物理成绩的分析比较") #图形标题
x1 = [1,2,3,5,7,8]
x2 = [60,20,53,60,70.5,99]
x3 = [60,20,53,60,70.5,80]
plt.boxplot([x1,x2,x3],labels=['数学成绩','语文成绩','物理成绩'])
plt.show()
脚本运行后的图形效果:
######(在一个窗体中绘制多个子图表)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(14,12),facecolor='pink') #自定义窗体的宽和高、背景颜色
#第一个图形:(绘制线形图)
plt.subplot(2,2,1) #2行2列中的第1个图形
plt.title("苹果(Apple)的销量情况") #第一个图形的标题
x1 = ["一月份","二月份","三月份","四月份"]
y1 = [3,8,9,5]
plt.plot(x1,y1,label='Apple',color='red',linewidth=1.0,marker='o',linestyle='--')
plt.xlabel('月份')
plt.ylabel('销量(斤)')
plt.grid(True,linestyle=':',color='red',alpha=0.6) #第一个图形显示网格线
#第二个图形:(绘制竖向条形图)
plt.subplot(2,2,2) #2行2列中的第2个图形
plt.title("语文成绩的分析比较",fontsize=18,loc='center') #第二个图形的标题
x2 = ['李大杰','Jacky','Lily','Happy','Joe']
y2 = [20,40,30,55,80]
plt.xlabel('姓名')
plt.ylabel('分数')
plt.bar(x2,y2)
#第三个图形:(绘制饼形图)
plt.subplot(2,2,3) #2行2列中的第3个图形
plt.title("苹果一周销量情况(百分比)") #第三个图形的标题
Labels = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun'] #一周中的每一天
Data = [18,20.2,5.6,15.3,20,15,15] #一周中每一天的销量值
colors=['red','yellow','slateblue','green','magenta','cyan','darkorange']
plt.pie(Data,labels = Labels,colors = colors,labeldistance = 1.02,autopct = '%.1f%%',
startangle = 90,radius = 0.5,center = (0.2,0.2),textprops = {'fontsize':9,'color':'k'},pctdistance = 0.6)
plt.legend(loc='lower left') #第三个图形显示图例(自定义图例的位置(左下方))
plt.axis('equal')
plt.show() #显示图形
脚本运行后的图形效果:
######(在一个窗体中绘制多个子图表)
#coding=utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(14,12),facecolor='gold') #自定义窗体的宽和高、背景颜色
#第一个图形:(绘制线形图)
plt.subplot(2,2,1) #2行2列中的第1个图形
plt.title("苹果(Apple)的销量情况") #第一个图形的标题
x1 = ["一月份","二月份","三月份","四月份"]
y1 = [3,8,9,5]
plt.plot(x1,y1,label='Apple',color='red',linewidth=1.0,marker='o',mfc='w',linestyle='-.')
plt.xlabel('月份')
plt.ylabel('销量(斤)')
plt.legend(loc='upper left') #第二个图形显示图例(label),位置在左上方
plt.grid(True,linestyle=':',color='red',alpha=0.6) #第一个图形显示网格线
#第二个图形:(绘制竖向条形图)
plt.subplot(2,2,2) #2行2列中的第2个图形
plt.title("语文成绩的分析比较",fontsize=18,loc='right') #第二个图形的标题
x2 = ['李大杰','Jacky','Lily','Happy','Joe']
y2 = [20,40,30,70,55]
plt.xlabel('姓名')
plt.ylabel('分数')
plt.bar(x2,y2,label='语文成绩',color='red')
plt.legend(loc='upper right') #第二个图形显示图例(label),位置在右上方
#第三个图形:(绘制饼形图)
plt.subplot(2,2,3) #2行2列中的第3个图形
plt.title("苹果一周销量情况(百分比)") #第三个图形的标题
Labels = ['Mon','Tues','Wed','Thur','Fri','Sat','Sun'] #一周中的每一天
Data = [18,20.2,5.6,15.3,20,15,15] #一周中每一天的销量值
colors=['red','yellow','slateblue','green','magenta','cyan','darkorange']
plt.pie(Data,labels = Labels,colors = colors,labeldistance = 1.02,autopct = '%.1f%%',
startangle = 90,radius = 0.5,center = (0.2,0.2),textprops = {'fontsize':9,'color':'k'},pctdistance = 0.6)
plt.legend(loc='lower right') #第三个图形显示图例(自定义图例的位置(右下方))
plt.axis('equal')
#第四个图形:(绘制面积图)
plt.subplot(2,2,4) #2行2列中的第4个图形
plt.title("各位同学的多门学科成绩的比较") #第四个图形的标题
x = ['李大杰','Jacky','Lily','Happy']
y1 = [6,9,5,8]
y2 = [3,2,5,4]
y3 = [1,3,2,3]
plt.stackplot(x,y1,y2,y3,colors=['green','red','pink'])
plt.legend(['语文成绩','数学成绩','物理成绩'],loc='upper left') #第四个图形显示图例(自定义图例的内容、位置(左上方))
plt.xlabel('姓名')
plt.ylabel('分数')
plt.show() #显示图形
脚本运行后的图形效果:
相关文章:
Pandas的基础
Pandas的数据转换
Windows下Python3使用绘图库Matplotlib
机器学习Scikit-Learn
Pandas+Excel+绘图库Matplotlib+Seaborn图表 |