饼图代码:
import matplotlib.pyplot as plt
labels='Frogs','Hogs','Dogs','Logs'
sizes=[15,30,45,10]
explode=(0,0.1,0,0)
plt.pie(sizes,explode=explode,labels
=labels,autopct='%1.1f%%',shadow=Fal
se,startangle=90)
plt.show()
直方图
import matplotlib.pyplot as plt
import numpy as np
ages=[1,2,3,4,4,5,67,78,69,80]
bins=[i for i in range(0,131,10)]
plt.hist(ages,bins,rwidth=0.96)
双柱图
import numpy as np
import matplotlib.pyplot as plt
x1=np.arange(0,8,2)
y1=[15,30,25,10]
x2=np.arange(1,8,2)
y2=[30,25,10,15]
plt.bar(x1,y1,color="r",width=0.5)
plt.bar(x2,y2,color="g",width=0.5)
柱形折线图
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(8)
y=[15,30,25,10,20,34,33,18]
plt.bar(x,y,color="r",width=0.5)
plt.plot(x,y,"b",marker="*")
for xl,yy in zip(x,y):
plt.text(xl,yy+1,str(yy),ha='center'
,va='bottom')
plt.show()
心形图(线形图)
import matplotlib.pyplot as plt
import numpy as np
x,y =np.loadtxt("线形图
形.txt",delimiter=",",unpack=True)
plt.plot(x,y,color='r')
plt.show()
散点图
import matplotlib.pyplot as plt
plt.figure()
x=[2,1,2,3,4,5]
y=[1,2,3,5,4,3]
plt.scatter(x,y,s=60,c='r',marker='o
')
plt.show()
路径
import os
print(os.path.abspath('.'))
中美双折线图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-
serif']=['SimSun']
%config
InlineBackend.figure_format="retina"
x,y1,y2=np.loadtxt("E:/中美人均寿
命.txt",delimiter=",",unpack=True)
plt.plot(x,y1)
plt.plot(x,y2)
plt.title("中美两国人均预期寿命变化
趋势",size=24)
plt.xlabel("x-年份")
plt.ylabel("y-人均寿命")
label=["中国","美国"]
plt.legend(label,loc='lower right')
plt.show()
词云
import jieba
import wordcloud
import matplotlib.pyplot as plt
file=open("xxx.txt",encoding='g
bk')
str=file.read()
file.close()
removes=["和","的"]
str_list=jieba.lcut(str)
text=" ".join(str_list)
cloud=wordcloud.WordCloud(font_path=
"simhei" , stopwords=removes, bac
kground_color="pink").generate(text)
plt.imshow (cloud)
plt.axis("off" )
#plt.savefig(“xxx.jpg”)
堆叠柱形图、纵向柱形图
import numpy as np
import matplotlib.pyplot as plt
plt.rc('font',family='SimHei',size=1
5)
plt.title("男女爱好人数分布图")
num =
np.array([14325,9403,13227,18651])
ratio =
np.array([0.75,0.6,0.22,0.1])
men = num * ratio
women = num * (1-ratio)
x = ['足球','游泳','看剧','逛街']
width=0.66
idx = np.arange (len(x))
print(idx)
plt.bar(idx,men,width,color='red',la
bel='男性用户' )
plt.bar(idx,women,width,bottom=men,c
olor='blue',label='女性用户')
plt.xlabel('应用类别')
plt.ylabel('男女分布')
plt.xticks(idx,x,rotation=40)
for a,b in zip(idx,men):
plt.text(a,b+0.05,'%.0f' % b,
ha='center',va=
'bottom',fontsize=12)
for a,b,c in zip(idx,women,men):
plt.text(a,b+c+50,'%.0f' % b,
ha='center',va=
'bottom',fontsize=12)
plt.legend()
plt.show()
多簇(并列)
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-
serif']=['SimSum']#设置字体
plt.title("不同学校专业招生人数分布
图");#图表题
x=np.arange(5)
y1=[400,170,160,90,50]
y2=[300,180,150,70,90]
bar_width=0.4
tick_label=["计算机","机械","电子","
管理","物理"]
plt.bar(x,y1,bar_width,color="r",ali
gn="center",label="学校 A")
plt.bar(x+bar_width,y2,bar_width,col
or="y",align="center",label="学校 B")
plt.xlabel("专业")
plt.ylabel("招生人数")
plt.xticks(x+bar_width/2,tick_label)
plt.legend()
plt.show()
条形图
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']
=['SimSum'] #设置字体
name=['图片 URL','商品标题','折扣价
','原价','地址','销量','商品链接']
df =
pd.read_excel('list.xlsx',header=1,
names=name)#theader=I,指定第一行作为
列名
df.head()
df.shape
df=df[["商品标题","原价"]]
df.head() #切片
data=df.sort_values(by=["原价
"],ascending=False) #降序排序
data.head(10)
data.index=data["商品标题"]
data.head(12)
var=data["原价"][:10]
var
type(var)
plt.figure(figsize=(10,5))
plt.title("原价最贵的物品
",fontsize=18)
plt.xlabel("原价",fontsize=10)
plt.xlabel("商品标题",fontsize=10)
var.plot(kind="barh",stacked=True,al
pha=0.7)
plt.show()