python可视化:常用图表绘制

可视化图表

  • 欢迎大家观看我所分享的一些可视化图表
    • 散点图
    • 曲线图
    • 柱状图
    • 条形图
    • 直方图
    • 多数据并列柱状图
    • 堆积柱状图
    • 多数据平行条形图
    • 堆积条形图
    • 饼状图
    • 环形图
    • 气泡图
    • 棉棒图
    • 箱线图
    • 极线图
    • 误差棒图
    • 子图划分
    • 坐标轴共享
    • 等高线图
    • 词云图

欢迎大家观看我所分享的一些可视化图表

这是我所学的一些关于python可视化 的图表绘制。如果你想参考学习如何使用matplotlib库绘制图表, 可以仔细阅读这篇文章,了解一下matplotlib库的基本语法知识。

散点图

import matplotlib.pyplot as plt
import numpy as np 

#数据准备
x = np.linspace(0,2*np.pi,100)
y = np.sin(x) + np.random.random(len(x))

#绘图
plt.scatter(x,y,c='b')    # 绘制各个散点(蓝色)
plt.plot(x,np.sin(x)+0.5,'-.r')     # 绘制一条红色曲线
plt.plot(x,y,'g')     # 连接各个散点(绿色)

# 图形展示
plt.show()

python可视化:常用图表绘制_第1张图片

import matplotlib.pyplot as plt
import numpy as np 

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False

#matplot11b画图中中文显示会有问题,需要这两行设置默认字体
plt.xlabel('x')
plt.ylabel('Y')
plt.xlim(xmax=9, xmin=0)
plt.ylim(ymax=9, ymin=0)

#画两条(0-9)的坐标轴并设置轴标签x,y
#随机产生300个平均值为2,方差为1,2的浮点数,即第一簇点的x轴坐标
x1 = np.random.normal(2,1.2,300)

#随机产生300个平均值为2,方差为1,2的浮点数,即第一簇点的y轴坐标
y1 = np.random.normal(2, 1.2, 300)
x2 = np.random.normal(7.5, 1.2, 300)
y2 = np.random.normal(7.5, 1.2, 300)
colors1 = '#00cED1'  #左下角点的颜色
colors2 = '#DC143C'  #右下角点的颜色
area = np.pi*4**2    #点面积

# 绘制散点图
plt.scatter(x1,y1,s=area,c=colors1,alpha=0.4,label='类别A')
plt.scatter(x2,y2,s=area,c=colors2,alpha=0.4,label='类别B')
plt.plot([0,9.5],[9.5,0],linewidth='0.5',color='#000000')
plt.legend()

# 图形展示
plt.show()

python可视化:常用图表绘制_第2张图片

# 绘制散点图

import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(8,4))

# x,y的目的是生成100个0到1之间的随机数
x = np.random.random(100)
y = np.random.random(100)

# s可设置每个散点的大小,c可设置每个散点的颜色
plt.scatter(x,y,s = x*100, c=y, marker=(5,1) ,\
           alpha=0.8, lw =2 , facecolors='none')

# 设置x轴和y轴的最小值为0,最大值为1
plt.xlim(0,1)
plt.ylim(0,1)

plt.show()

python可视化:常用图表绘制_第3张图片

曲线图

import matplotlib.pyplot as plt
import numpy as np 

x = np.linspace(1,10,100)
y = np.cos(x)
z = np.sin(x)

plt.subplot(311)             #第一个图:红色直线
plt.plot(x,x,'r:')

plt.subplot(312)
plt.plot(x,y,c='b',ls=':')   #第二个图:蓝色曲线

plt.subplot(313)
plt.plot(x,z,c='g',ls=':')   #第三个图:绿色曲线

plt.show()

python可视化:常用图表绘制_第4张图片

柱状图

import matplotlib.pyplot as plt 
import numpy as np   

# 定义柱子个数
n = 10
x = np.arange(n) # 标示在x轴上的定性数据的类别
hig = np.random.random(n)  # 每种定性数据的类别的数量

# 调用bar函数绘制柱状图(黄色)
plt.bar(x,hig,facecolor='#FFF69F')  
for i in range(n):
    plt.text(x[i],hig[i],'%0.3f'%hig[i],ha='center',va='bottom')
   
# 调用bar函数绘制柱状图(蓝色)
plt.bar(x,-hig,facecolor='#9999ff')
for i in range(n):
    plt.text(x[i],-hig[i],'%0.3f'%hig[i],ha='center',va='top')
    
plt.show()

python可视化:常用图表绘制_第5张图片

import matplotlib.pyplot as plt 
plt.rcParams['font.family'] = 'FangSong'

x = [1,2,3,4,5]
y = [6,10,4,5,1]
y1 = [2,6,3,8,5]

# 绘制柱状图(绿色)
plt.bar(x,y,color='#66c2a5',align='center', \
        tick_label=['A','B','C','D','E'])

# 绘制柱状图(蓝色)
plt.bar(x,y1,align='center',bottom=y,color='#8da0cb')  
# 两个bar函数都有一个共同的x,这意味它们会处于同一个柱子

plt.legend(['班级A','班级B'])  # 绘制标签
plt.show()

python可视化:常用图表绘制_第6张图片

import matplotlib.pyplot as plt 
plt.rcParams['font.family'] = 'FangSong'

x = np.arange(5)
y = [6,10,4,5,1]
y1 = [2,6,3,8,5]

bar_width = 0.35
tick_label = ['A','B','C','D','E']

plt.bar(x,y,bar_width,color='r',align='center',alpha=0.5)
plt.bar(x+bar_width,y1,bar_width,color='k',align='center',alpha=0.5)

plt.xlabel('测试难度')   # X轴显示字体
plt.ylabel('试卷份数')   # Y轴显示字体

plt.xticks(x+bar_width/2,tick_label)  # 在X轴绘制字体
plt.legend(['班级A','班级B'])     # 绘制标签

plt.show()

python可视化:常用图表绘制_第7张图片

条形图

import matplotlib.pyplot as plt 
plt.rcParams['font.family'] = 'FangSong'

x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]

# 绘制条形图
plt.barh(x,y,align='center',color='c',tick_label= \
        ['q','a','c','e','r','j','b','p'],hatch='/')

plt.xlabel('箱子重量(kg)',fontsize=20)  # X轴字体设置
plt.ylabel('箱子编号',fontsize=20)     # y轴字体设置

plt.show()

python可视化:常用图表绘制_第8张图片

import matplotlib.pyplot as plt 
import numpy as np

x = np.linspace(0,5,5)
y = np.random.randint(0,20,size=5)

# 左1,是柱状图
axes = plt.subplot(121)
axes.bar(x,y)

# 右一,是条形图
axes2 = plt.subplot(122)
axes2.barh(x,y)

plt.show()

python可视化:常用图表绘制_第9张图片

直方图

import matplotlib.pyplot as plt 
import numpy as np 

# np.random.seed(0)的作用是使得随机数据可预测,当我们设置相同的seed,每次生成的随机数相同
np.random.seed(0)

# np.random.normal()的意思是一个正态分布
# mu:正态分布的均值,对应着这个分布的中心。
# sigma:正态分布的标准差,对应分布的宽度,sigma越大,正态分布的曲线越矮胖,sigma越小,曲线越高瘦。
# size: 数值的个数
mu,sigma = 100,20
a = np.random.normal(mu,sigma,size=100)

# a代表100个正太分布的数值,20代表着条形个数,density=0代表着得到的直方图不归一化。
# 总体的意思是:将这100个数值放在这20个箱子里面
plt.hist(a,20,density=0,histtype='bar',edgecolor='k',facecolor='r',alpha=0.75)
plt.title('Histogram')

plt.show()

python可视化:常用图表绘制_第10张图片

import matplotlib.pyplot as plt 
import numpy as np 

np.random.seed(0)
mu,sigma = 100,20
a = np.random.normal(mu,sigma,size=100)

# density=1代表着得到的直方图归一化,也就是Y轴显示的是百分比
plt.hist(a,20,density=1,histtype='stepfilled',facecolor='b',alpha=0.75)
plt.title('Histogram')

plt.show()

python可视化:常用图表绘制_第11张图片

多数据并列柱状图

import matplotlib.pyplot as plt 
import numpy as np 
plt.rcParams['font.family'] = 'FangSong'

x = np.linspace(1,21,20)  #x表示第几位同学,这里表示有20位同学
y1 = np.random.randint(70,90,20)    #随机生成20个成绩在70分到90分的整数
y2 = np.random.randint(30,59,20)    #随机生成20个成绩在30分到59分的整数
y3 = np.random.randint(60,85,20)    #随机生成20个成绩在60分到85分的整数 

#画布的大小为15*10
plt.figure(figsize=(15,10))
# x表示第几位同学,y1表示这位同学的语文成绩,alpha表示透明度
plt.bar(x,y1,width=0.25,color='c',label='语文',alpha=0.7) 
# x表示第几位同学,y2表示这位同学的数学成绩,alpha表示透明度
plt.bar(x+0.25,y2,width=0.25,color='r',label='数学',alpha=0.7)
# x表示第几位同学,y3表示这位同学的英语成绩,alpha表示透明度
plt.bar(x+0.50,y3,width=0.25,color='b',label='英语',alpha=0.7)

# 设置及格成绩参考线,颜色为灰色
plt.axhline(y=60,c='gray',ls='--',lw=2,alpha=0.6)
# 设置语文的平均成绩,颜色为天蓝色
plt.axhline(y=np.mean(y1),color='c',ls='--')
# 设置数学的平均成绩,颜色为红色
plt.axhline(y=np.mean(y2),color='r',ls='--')
# 设置英语的平均成绩,颜色为蓝色
plt.axhline(y=np.mean(y3),color='b',ls='--')

#设置x轴的刻度为1到20,x的值居中
plt.xticks(x+0.25,range(1,21))

plt.title('20个同学的考试成绩图')  #标题
plt.xlabel('学号')  # x标签
plt.ylabel('成绩')  # y标签
plt.legend()

plt.show()

python可视化:常用图表绘制_第12张图片

堆积柱状图

import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(1,21,20)   #x表示第几位同学,这里表示有20位同学
y1 = np.random.randint(70,90,20)   #随机生成20个成绩在70分到90分的整数
y2 = np.random.randint(30,59,20)   #随机生成20个成绩在30分到59分的整数
y3 = np.random.randint(60,85,20)   #随机生成20个成绩在60分到85分的整数

# x表示第几位同学,y1表示这位同学的语文成绩,alpha表示透明度
plt.bar(x,y1,color='c',label='语文',alpha=0.5) 
# x表示第几位同学,y2表示这位同学的数学成绩,alpha表示透明度
plt.bar(x,y2,bottom=y1,color='r',label='数学',alpha=0.5)
# x表示第几位同学,y3表示这位同学的英语成绩,alpha表示透明度
plt.bar(x,y3,bottom=y1+y2,color='b',label='英语',alpha=0.5)

# 设置分割线,这条线表示这个班的(语文与数学与英语成绩)的总和的平均分
plt.axhline(y=np.mean(y1+y2+y3),\
           c='k',ls=':',alpha=0.5)  

#设置x轴的刻度为1到20,x的值居中
plt.xticks(x,range(1,21)) 

plt.title('20个同学的考试成绩图')  #标题
plt.xlabel('学号')  #x标签
plt.ylabel('成绩')  #y标签
plt.legend()

plt.show()

python可视化:常用图表绘制_第13张图片

多数据平行条形图

import matplotlib.pyplot as plt 
import numpy as np 
plt.rcParams['font.family'] = 'FangSong'

y = np.linspace(1,21,20)   #y表示第几位同学,这里表示有20位同学
x1 = np.random.randint(70,90,20)   #随机生成20个成绩在70分到90分的整数
x2 = np.random.randint(30,59,20)   #随机生成20个成绩在30分到59分的整数
x3 = np.random.randint(60,85,20)   #随机生成20个成绩在60分到85分的整数 

#leng = np.arange(len(x)) 

#画布的大小为20*15
plt.figure(figsize=(20,15))  
# y表示第几位同学,x1表示这位同学的语文成绩,alpha表示透明度
plt.barh(y,x1,height=0.25,color='c',label='语文',alpha=0.7) 
# y表示第几位同学,x2表示这位同学的数学成绩,alpha表示透明度
plt.barh(y+0.25,x2,height=0.25,color='r',label='数学',alpha=0.7)
# y表示第几位同学,x3表示这位同学的英语成绩,alpha表示透明度
plt.barh(y+0.50,x3,height=0.25,color='b',label='英语',alpha=0.7)

# 设置及格成绩参考线,颜色为灰色
plt.axvline(x=60,c='gray',ls='--',lw=2,alpha=0.6)   
#设置语文的平均成绩,颜色为天蓝色
plt.axvline(x=np.mean(x1),color='c')  
#设置数学的平均成绩,颜色为红色
plt.axvline(x=np.mean(x2),color='r')
#设置英语的平均成绩,颜色为绿色
plt.axvline(x=np.mean(x3),color='g')

#设置y轴的刻度为1到20,y的值居中
plt.yticks(y+0.25,range(1,21))

plt.title('成绩多数据并列条形图')
plt.xlabel('成绩')
plt.ylabel('学号')
plt.legend()

plt.show()

python可视化:常用图表绘制_第14张图片

堆积条形图

import matplotlib.pyplot as plt 
import numpy as np 
plt.rcParams['font.family'] = 'FangSong'

y = np.linspace(1,21,20)   #x表示第几位同学,这里表示有20位同学
x1 = np.random.randint(70,90,20)   #随机生成20个成绩在70分到90分的整数
x2 = np.random.randint(30,59,20)   #随机生成20个成绩在30分到59分的整数
x3 = np.random.randint(60,85,20)   #随机生成20个成绩在60分到85分的整数

# y表示第几位同学,x1表示这位同学的语文成绩,alpha表示透明度
plt.barh(y,x1,color='c',label='语文',alpha=0.7) 
# y表示第几位同学,x2表示这位同学的数学成绩,alpha表示透明度
plt.barh(y,x2,left=x1,color='r',label='数学',alpha=0.7)
# y表示第几位同学,x3表示这位同学的英语成绩,alpha表示透明度
plt.barh(y,x3,left=x1+x2,color='b',label='英语',alpha=0.7)

# 设置分割线,这条线表示这个班的(语文与数学与英语成绩)的总和的平均分
plt.axvline(x=np.mean(x1+x2+x3),\
           c='k',ls=':',alpha=0.5)  

#设置y轴的刻度为1到20,y的值居中
plt.yticks(y,range(1,21)) 

plt.title('成绩多数据并列条形图')  #标题
plt.xlabel('成绩')  #x标签
plt.ylabel('学号')  #y标签
plt.legend()

plt.show()

python可视化:常用图表绘制_第15张图片

饼状图

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'FangSong'

# labels代表标签,data代表要绘制的数据
labels = ['A', 'B', 'C', 'D', '其他']
data = [0.45, 0.25, 0.15, 0.05, 0.10]

# explode的第二个是0.2,代表偏出圆心0.2个位置
plt.pie(data, labels=labels, autopct='%1.2f%%',explode=(0, 0.2, 0, 0, 0))
plt.legend()
plt.show()

python可视化:常用图表绘制_第16张图片

环形图

import matplotlib.pyplot as plt
import numpy as np

data1 = [40, 15, 20, 10, 15]
data2 = [30, 25, 15, 20, 10]
label = ['苹果','橘子','梨','香蕉','桃子']
color = ['c','r','g','b','m']

# autopct: 控制饼图内百分比设置
# pctdistance: 指定autopct的位置刻度
# textprops: 此处为设置百分比字体颜色为白色
# wedgeprops :参数字典传递给wedge对象用来画一个饼图。
# 大饼图 r=1,百分比显示保留一个小数点
wedges1, text1 ,autotext1 = plt.pie(data,colors=color,autopct='%.1f%%', \
                                    pctdistance=0.85, \
                                    textprops = dict(color='w'), \
                                    wedgeprops=dict(width=0.4, \
                                                    edgecolor='w'))

# 小饼图 r=0.6,百分比显示保留一个小数点
wedges2, text2 ,autotext2 = plt.pie(data2,colors=color,autopct='%.1f%%', \
                                    radius=0.6, \
                                    pctdistance=0.75, \
                                    textprops = dict(color='w'), \
                                    wedgeprops=dict(width=0.4, \
                                                   edgecolor='w'))

plt.legend(wedges1,label,title='水果销售额占比')
plt.show()

python可视化:常用图表绘制_第17张图片

气泡图

import matplotlib.pyplot as plt
import numpy as np

#这两行代码解决plt中文显示的问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

#输入产量与温度以及降雨量数据
production = [1125, 1725, 2250, 2875, 2900, 3750, 4125]  #产量
tem = [6, 8, 10, 13, 14, 16, 21]     #温度
rainfall = [25, 40, 58, 68, 110, 98, 120]     #降雨量

colors = np.random.rand(len(tem)) #颜色数组

# 如果气泡大小不明显,还可以用数字辅助表达
for i in range(7):
    plt.text(tem[i],production[i],rainfall[i],ha='center',va='top',fontsize=15)

#画气泡图,气泡的大小为降雨量的大小
plt.scatter(tem, production, s=rainfall, c=colors)  

plt.title('降雨量的大小用气泡的大小表示')
plt.xlabel('温度') 
plt.xticks(tem)   #设置x轴的刻度为tem里的每一个数
plt.ylabel('产量')

plt.show()

python可视化:常用图表绘制_第18张图片

棉棒图

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,30,20)
y = np.random.randn(20)

markerline, stemlines, baseline = plt.stem(x,y,linefmt='-', \
                                        markerfmt='o',basefmt='--',label='棉棒图')

# 如果气泡大小不明显,还可以用数字辅助表达
for i in range(20):
    plt.text(x[i],y[i],'%.2f'%y[i],ha='center',va='top',fontsize=10)

#设置棉棒头的颜色
plt.setp(markerline, color='c')
plt.legend()
plt.show()

python可视化:常用图表绘制_第19张图片

箱线图

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family'] = 'Fangsong'
plt.rcParams['axes.unicode_minus'] = False 
plt.figure(figsize=(10,5),facecolor='white')

Chinese = np.random.randint(60,90,size=100)   #随机生成100位同学的语文成绩
English = np.random.randint(75,110,size=100)  #随机生成100位同学的语文成绩
Math = np.random.randint(60,80,size=100)      #随机生成100位同学的语文成绩
History = np.random.randint(70,90,size=90)    #随机生成100位同学的语文成绩
Geography = np.random.randint(75,95,size=90)  #随机生成100位同学的语文成绩

Course = [Chinese, English, Math, History, Geography]
whis= 1.5
wid=0.3   #箱体
labels=["语文","英语","数学","历史","地理"]
colors=['white','white','white','white','white']   

#设置箱体的中位线为橙色,均值为三角形 
box=plt.boxplot(Course, whis=whis, labels=labels,\
                 vert=True,widths=wid, patch_artist=True,\
                medianprops={'color':'orange',"linestyle":"solid","linewidth":3},\
               showmeans=True)

# 给每个箱体配置颜色
for patch, color in zip(box ['boxes'], colors):
    patch.set_facecolor(color)

# 显示每个箱体的最大值,最小值,均值
for i in range(5):
    plt.text(i+1,max(Course[i]),max(Course[i]),ha='center',va='bottom',fontsize=15)
    plt.text(i+1,min(Course[i]),min(Course[i]),ha='center',va='top',fontsize=15)
    plt.text(i+1,np.mean(Course[i]),'%.2f' % np.mean(Course[i]),ha='center',va='top',fontsize=10)

plt.ylabel("成绩")
plt.xlabel("科目")
plt.title("100位同学的期末考试成绩的箱线图展示")
plt.grid(axis='y', ls=':',lw=2,c='black', alpha=0.5)

plt.show()

python可视化:常用图表绘制_第20张图片

极线图

import numpy as np
import matplotlib.pyplot as plt
barSlices = 12

# 设置极角从0到360°,有12个
theta = np.linspace(0.0,np.pi*2,barSlices,endpoint=False)   
# 让第13个极角与第12个极角重合,从而完成拼接
theta1 = np.concatenate((theta,[theta[0]])) 

# 设置极径的大小为0到30之间,共12个极径
r = 30*np.random.rand(barSlices)  
# 让第13个极径与第12个极径重合,从而完成拼接
r1 = np.concatenate((r,[r[0]])) 

plt.polar(theta1,r1,color='chartreuse',marker='*',mfc='b',ms=10,linewidth=3)
plt.show()

python可视化:常用图表绘制_第21张图片

误差棒图

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.1,0.6, 6)
y = np.exp(x)

# 设置x轴数据点的误差范围为:x-0.02 < x < x+0.02
# 设置y轴数据点的误差范围为:y-0.2 < y < y+0.2
plt.errorbar(x,y, fmt= "bo:", yerr=0.2,xerr=0.02)
plt.xlim(0,0.7)
plt.show()

python可视化:常用图表绘制_第22张图片

子图划分

import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt
gs = gridspec.GridSpec(3,3)

# 横向选中第1行,纵向覆盖所有列
ax1 = plt.subplot(gs[0,:]) 

# 横向选中第2行,纵向覆盖所有列直到倒数第一列
ax2 = plt.subplot(gs[1, :-1])

# 横向选中第2,3行,纵向选中倒数第一列
ax3 = plt.subplot(gs[1:,-1])

# 横向选中第3行,纵向选中第一列
ax4 = plt.subplot(gs[2,0])

# 横向选中第3行,纵向选中第2列
ax5 = plt.subplot(gs[2,1])

# 调整子图之间的间距
# 左子图相对于整个视图边框的距离为0.08,右子图相对于整个视图边框的距离为0.95
# 子图之间,上下的距离为0.45,左右的距离为0.25
plt.subplots_adjust(left=0.08,right=0.95, wspace=0.25, hspace=0.45)
plt.show()

python可视化:常用图表绘制_第23张图片

坐标轴共享

  • 共享单一绘图区域的坐标轴
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False

fig,ax1 = plt.subplots()

t = np.arange(0.05, 10.0, 0.01)
s1 = np.exp(t)

ax1.plot(t,s1,c="b",ls="-")
ax1.set_xlabel("坐标轴")
ax1.set_ylabel("以e为底的指数函数",color="b")

# ax2为共享ax1的x轴
ax2 = ax1.twinx()
s2 = np.cos(t**2)
ax2.plot(t,s2,c="r",ls=":")
ax2.set_ylabel("余弦函数",color="r")

# 设置ax2的y轴刻度为红色
ax2.tick_params(axis="y",color="r")

plt.show()

python可视化:常用图表绘制_第24张图片

  • 共享不同子区绘图区域的坐标轴
import matplotlib.pyplot as plt
import numpy as np

x1 = np.linspace(0,2*np.pi,400)
y1 = np.cos(x1**2)

x2 = np.linspace(0.01,10,100)
y2 = np.sin(x2)

x3 = np.random.rand(100)
y3 = np.linspace(0,3,100)

x4 = np.arange(0,6,0.5)
y4 = np.power(x4,3)

fig,ax = plt.subplots(2,2)

ax1 = ax[0,0]
ax1.plot(x1,y1)
ax2 = ax[0,1]
ax2.plot(x2,y2)
ax3 = ax[1,0]
ax3.scatter(x3,y3)
ax4 =ax[1,1]
ax4.scatter(x4,y4)

plt.show()

python可视化:常用图表绘制_第25张图片

  • 共享单一绘图区域的坐标轴
import matplotlib.pyplot as plt
import numpy as np

x1 = np.linspace(0,2*np.pi,400)
y1 = np.cos(x1**2)

x2 = np.linspace(0.01,10,100)
y2 = np.sin(x2)

x3 = np.random.rand(100)
y3 = np.linspace(0,3,100)

x4 = np.arange(0,6,0.5)
y4 = np.power(x4,3)

fig,ax = plt.subplots(2,2)

# 除去各子图间的空隙
fig.subplots_adjust(hspace=0,wspace=0)

ax1 = ax[0,0]
ax1.plot(x1,y1)
ax2 = ax[0,1]
ax2.plot(x2,y2)
ax3 = ax[1,0]
ax3.scatter(x3,y3)
ax4 =ax[1,1]
ax4.scatter(x4,y4)

plt.show()

python可视化:常用图表绘制_第26张图片

等高线图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
 
# 计算x,y坐标对应的高度值
def f(x, y):
    return (1-x/2+x**5+y**3) * np.exp(-x**2-y**2)
 
# 生成x,y的数据
n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
 
# 把x,y数据生成mesh网格状的数据,因为等高线的显示是在网格的基础上添加上高度值
X, Y = np.meshgrid(x, y)
 
# 填充等高线
C = plt.contour(X, Y, f(X, Y), 20)

# 显示图表
plt.clabel(C,inline=True,fontsize=10)
plt.show()

python可视化:常用图表绘制_第27张图片

词云图

# 呼唤(import)词云包,利用:"告白气球.txt"中存储的文本内容来制造词云。
from wordcloud import WordCloud
import matplotlib.pyplot as plt

#告白气球.txt文件,大家可以在自己电脑创建一个空白的txt文件,然后去百度复制粘贴歌词进去
filename = "告白气球.txt"    

# 读取中文文本内容
GBQQtext = open(filename,encoding='UTF-8').read()

# 生成词云图
wordcloud = WordCloud(background_color='white',font_path='C:\Windows\Fonts\simfang.ttf',mode='RGBA').generate(GBQQtext)

# 此时词云分析已经完成了。
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")

python可视化:常用图表绘制_第28张图片
以上就是我分享的一些图表,希望对刚入坑python的同学有所帮助。如果大家想某个图学详细点的话,可以自己查阅官方资料进行学习。
https://matplotlib.org/gallery/index.html
如果各位老铁觉得对自己有帮助的话,麻烦关注一下小编或者点个赞再走哦~

你可能感兴趣的:(python,数据可视化)