解决python的matplotlib不显示动图

解决python的matplotlib不显示动图


问题:当在pycharm中使用matplotlib绘制动态条形图时,显示的图像为空白,如下:

空白图
我的代码:
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

# 指定字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用中文黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 加载各省近10年GDP数据
df1 = pd.read_csv("GDP.csv", index_col=0)

# 选择10省市的GDP数据
top10 = df1.iloc[0:, :10]

# 创建画布和绘图区
fig, ax = plt.subplots(figsize=(10, 6), dpi=100)


# 绘制基本条形图
def update(year):
    # 清空绘图区
    ax.clear()
    # 准备条形图数据并排序
    data = top10.loc[year].sort_values()
    # 绘制条形图
    ax.barh(data.index, data.values,color=['r', 'g', 'b', 'c', 'm', 'yellow', 'orange', 'yellowgreen', 'gold', 'hotpink'])

    # 各省的GDP数值
    for i, name in enumerate(data.index):
        value = data[name]
        dx = data.max() / 100
        # 各省gdp数值
        ax.text(value + dx, i, value, fontsize=12)
        # 省市名称
        name_x = value - len(name) * dx * 2.5
        if name_x > 0:
            ax.text(name_x, i, name, fontsize=12)

    # 添加年份
    ax.text(0.8, 0.3, year, transform=ax.transAxes, fontsize=20)
    # 设置x轴刻度
    ax.xaxis.set_ticks_position('top')
    # 添加标题
    ax.text(0, 1.06, 'GDP数值', transform=ax.transAxes, fontsize=12)
    ax.text(0.4, 1.08, '10省市GDP对比 ', transform=ax.transAxes, fontsize=20)
    # 调整网格
    ax.grid(axis='x')
    # 不显示边框
    plt.box(False)


# 创建动画
animation = FuncAnimation(fig, update, frames=top10.index)
# update(top10.index[0])
plt.show()

GDP.csv的内容
时间,北京市,天津市,河北省,山西省,内蒙古自治区,辽宁省,吉林省,黑龙江省,上海市,江苏省,浙江省,安徽省,福建省,江西省,山东省,河南省,湖北省,湖南省,广东省,广西壮族自治区,海南省,重庆市,四川省,贵州省,云南省,西藏自治区,陕西省,甘肃省,青海省,宁夏回族自治区,新疆维吾尔自治区
2021年,40269.6,15695,40391.3,22590.2,20514.2,27584.1,13235.5,14879.2,43214.9,116364.2,73515.8,42959.2,48810.4,29619.7,83095.9,58887.4,50012.9,46063.1,124369.7,24740.9,6475.2,27894,53850.8,19586.4,27146.8,2080.2,29801,10243.3,3346.6,4522.3,15983.6
2020年,35943.3,14008,36013.8,17835.6,17258,25011.4,12256,13633.4,38963.3,102807.7,64689.1,38061.5,43608.6,25782,72798.2,54259.4,43004.5,41542.6,111151.6,22120.9,5566.2,25041.4,48501.6,17860.4,24555.7,1902.7,26014.1,8979.7,3009.8,3956.3,13800.7
2019年,35445.1,14055.5,34978.6,16961.6,17212.5,24855.3,11726.8,13544.4,37987.6,98656.8,62462,36845.5,42326.6,24667.3,70540.5,53717.8,45429,39894.1,107986.9,21237.1,5330.8,23605.8,46363.8,16769.3,23223.8,1697.8,25793.2,8718.3,2941.1,3748.5,13597.1
2018年,33106,13362.9,32494.6,15958.1,16140.8,23510.5,11253.8,12846.5,36011.8,93207.6,58002.8,34010.9,38687.8,22716.5,66648.9,49935.9,42022,36329.7,99945.2,19627.8,4910.7,21588.8,42902.1,15353.2,20880.6,1548.4,23941.9,8104.1,2748,3510.2,12809.4
2017年,29883,12450.6,30640.8,14484.3,14898.1,21693,10922,12313,32925,85869.8,52403.1,29676.2,33842.4,20210.8,63012.1,44824.9,37235,33828.1,91648.7,17790.7,4497.5,20066.3,37905.1,13605.4,18486,1349,21473.5,7336.7,2465.1,3200.3,11159.9
2016年,27041.2,11477.2,28474.1,11946.4,13789.3,20392.5,10427,11895,29887,77350.9,47254,26307.7,29609.4,18388.6,58762.5,40249.3,33353,30853.5,82163.2,16116.6,4090.2,18023,33138.5,11792.4,16369,1173,19045.8,6907.9,2258.2,2781.4,9630.8
2015年,24779.1,10879.5,26398.4,11836.4,12949,20210.3,10018,11690,26887,71255.9,43507.7,23831.2,26819.5,16780.9,55288.8,37084.1,30344,28538.6,74732.4,14797.8,3734.2,16040.5,30342,10541,14960,1043,17898.8,6556.6,2011,2579.4,9306.9
2014年,22926,10640.6,25208.9,12094.7,12158.2,20025.7,9966.5,12170.8,25269.8,64830.5,40023.5,22519.7,24942.1,15667.8,50774.8,34574.8,28242.1,25881.3,68173,13587.8,3449,14623.8,28891.3,9173.1,14041.7,939.7,17402.5,6518.4,1847.7,2473.9,9264.5
2013年,21134.6,9945.4,24259.6,11987.2,11392.4,19208.8,9427.9,11849.1,23204.1,59349.4,37334.6,20584,22503.8,14300.2,47344.3,31632.5,25378,23545.2,62503.4,12448.4,3115.9,13027.6,26518,7973.1,12825.5,828.2,15905.4,6014.5,1713.3,2327.7,8392.6
2012年,19024.7,9043,23077.5,11683.1,10470.1,17848.6,8678,11015.8,21305.6,53701.9,34382.4,18341.7,20190.7,12807.7,42957.3,28961.9,22590.9,21207.2,57007.7,11303.6,2789.4,11595.4,23922.4,6742.2,11097.4,710.2,14142.4,5393.1,1528.5,2131,7411.8

解决方法:

依次点击File->setting,然后在搜索栏中输入“Scien”,找到“Python Scientific”,点击去之后,把“Show plots in tool window”对应的勾取消掉,如下。

操作

这样之后就可以运行动态条形图了

动态条形图_01
动态条形图_02

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值