代码已详细注释

画图基本步骤
(1)导包;
(2)中文显示;
(3)读入数据;
(4)提取所需列和行数据标签;
(5)设置画布尺寸及分辨率;
(6)设置相关参数。

1-折线图绘制

# -*- coding: utf-8 -*-
"""
Created on Mon Jun 27 22:31:08 2022

@author: Administrator
"""

import numpy as np
import pandas as pd
from pylab import yticks#设置y轴刻度使用
from module import *
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']='SimHei' #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

df=pd.read_excel('D:/Users/Administrator/Desktop/期末论文/主播及其粉丝数.xlsx')

#print(df)
x,y = df['主播'],df['粉丝数']
fig = plt.figure(figsize=(40,20),dpi=240)#画布尺寸
sub = fig.add_subplot()#面向对象画图

plt.xticks(rotation=45)#45度旋转
plt.grid()#网格化
yticks(np.linspace(300,2500,15,endpoint=False))#设置y轴刻度
#第一个参数位起始值,第二个为坐标终止,第三个为分成几分
#plt.text()

for a, b in zip(x, y):
    plt.text(a, b, b, ha='center', va='bottom', fontsize=15)#plt.text()方法显示数据纵坐标数据
#plt.text(a, b, "b", ha='center', va='bottom', fontsize=20)

plt.xlabel('主播')#添加横标签
plt.legend('粉丝数')#标签
plt.ylabel('数量(万)')#添加纵标签
plt.title('各大主播及其粉丝数量折线图')#添加图表标题

plt.tick_params(axis='y',

                 labelsize=12, # y轴字体大小设置
                 color='r',    # y轴标签颜色设置  
                 labelcolor='b', # y轴字体颜色设置
                 direction='in' # y轴标签方向设置
                  ) 
plt.tick_params(axis='x',
                 labelsize=12, # x轴字体大小设置
                 color='r',    # x轴标签颜色设置  
                 labelcolor='b', # x轴字体颜色设置
                 direction='in' # x轴标签方向设置
                  ) 

sub.plot(x,y,'r.--')#红线点-连接
plt.show()

python绘制折线图修改背景 python制作折线图_python绘制折线图设置标签

折线图和柱状图的组合图

# -*- coding: utf-8 -*-
"""
Created on Tue Jun 28 20:15:57 2022

@author: Administrator
"""

import numpy as np
import pandas as pd
from pylab import yticks#设置y轴刻度使用
from module import *
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']='SimHei' #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

df=pd.read_excel('D:/Users/Administrator/Desktop/期末论文/主播作品及其收听数.xlsx')

#print(df)
x,y1,y2 = df['标题'],df['总集数'],df['总收听数']
fig = plt.figure(figsize=(60,20),dpi=440)#画布尺寸及分辨率


plt.xticks(rotation=45)#45度旋转
plt.title('各大主播及其粉丝数量组合图')#添加图表标题

ax1 = fig.add_subplot(111)#面向对象画图
ax1.bar(
        x=df['标题'],
        height=df['总集数'],
        width = 0.8, #柱形图的宽度
        color='green', #填充颜色
        alpha = 0.8, #透明度,值越小越透明
        edgecolor='black', #图形边缘颜色
        label='集数')

ax1.set_ylim([0,6000])
#ax1.set_yticks(np.linspace(300,6000,20,endpoint=False))
ax1.set_ylabel('更新总集数',fontsize=20)
ax1.set_title('各大主播及其粉丝数量折线图',fontsize=20)
ax1.set_xticks(df['标题'])
#ax1.set_xtickslabel(df['标题'].astype('str'),rotation=90)

ax2=ax1.twinx()#跟ax1共用一个x轴,组合图使用
ax2.plot(
        df['标题'],
        df['总收听数'],
        #linewidth = 0.6,#折线图的粗细
        color='red',
        alpha = 0.8,
        marker='o',
        label='收听数')

ax2.set_ylim([0,80])
ax2.set_ylabel('总收听数',fontsize=20)
fig.legend(loc=(0.85,0.85))#标签位置

plt.show()

运行结果图

python绘制折线图修改背景 python制作折线图_python_02